Bosch, Data frame – Rainbow Electronics CAN интерфейс User Manual
Page 50

BOSCH
ROBERT BOSCH GmbH, Postfach 300240, D-7000 Stuttgart 30
Sep. 1991
Part B - page 48
REPEAT
CRCNXT = NXTBIT EXOR CRC_RG(14);
CRC_RG(14:1) = CRC_RG(13:0);
// shift left by
CRC_RG(0) = 0;
// 1 position
IF CRCNXT THEN
CRC_RG(14:0) = CRC_RG(14:0) EXOR (4599hex);
ENDIF
UNTIL (CRC SEQUENCE starts or there is an ERROR condition)
After the transmission / reception of the last bit of the DATA FIELD, CRC_RG contains
the CRC sequence.
CRC DELIMITER (
Standard Format as well as Extended Format
)
The CRC SEQUENCE is followed by the CRC DELIMITER which consists of a single
’recessive’ bit.
ACK FIELD (
Standard Format as well as Extended Format
)
The ACK FIELD is two bits long and contains the ACK SLOT and the ACK DELIMITER.
In the ACK FIELD the transmitting station sends two ’recessive’ bits.
A RECEIVER which has received a valid message correctly, reports this to the
TRANSMITTER by sending a ’dominant’ bit during the ACK SLOT (it sends ’ACK’).
ACK SLOT
All stations having received the matching CRC SEQUENCE report this within the ACK
SLOT by superscribing the ’recessive’ bit of the TRANSMITTER by a ’dominant’ bit.
ACK DELIMITER
The ACK DELIMITER is the second bit of the ACK FIELD and has to be a ’recessive’
bit. As a consequence, the ACK SLOT is surrounded by two ’recessive’ bits (CRC
DELIMITER, ACK DELIMITER).
CRC
Field
ACK Slot
ACK Delimiter
End of
Frame
ACK FIELD
Data Frame