beautypg.com

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

Page 50

background image

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