Error Detection
The MSCAN is able to detect five types of errors. They are:
1. Bit Error — detected by the MSCAN’s transmit state machine
2. Stuff Error — detected by the MSCAN’s receiver state machine
3. CRC Error — detected by the MSCAN’s receiver state machine
4. Form Error — detected by the MSCAN’s receiver state machine
5. Acknowledgement Error — detected by the MSCAN’s transmitter state machine
Bit Error
A node’s transmitter detects a bit error if the bit value monitored is different from the bit value transmitted. An exception to this is when sending a recessive [1] bit and receiving a dominant [0] bit during the arbitration field or the ACK slot. Also, a node transmitting a PASSIVE Error Flag and receiving a dominant [0] bit doesn’t interpret this as a Bit Error.
Stuff Error
Whenever five consecutive bits of equal value are transmitted, an extra bit of complementary value is automatically inserted into the bit stream. This provides edges for clock resynchronization. The receivers automatically destuff the extra bit of complementary value. So, when a receiver detects a 6th consecutive equal level value (six dominant [0] bits or six recessive [1] bits) during a message field that should be encoded by bit stuffing a stuff error is detected.
CRC Error
A CRC (Cyclic Redundancy Check) error is detected by the node’s receiver if the CRC calculated by the receiver is different from the CRC received in the message.
Form Error
The node’s receiver detects a Form Error if a fixed form bit field contains one or more illegal bits. For example, a fixed form bit field would be the arbitration field which can be 12 (standard mode) / 32 (extended mode) bits in length; or the control field which has two reserved bits (r1 and r0) that need to be sent out as two dominants [0] in a row; or the CRC field which has the CRC Delimiter and needs to be a recessive [1] bit.
Acknowledgement Error
A node’s transmitter detects an Acknowledge Error if it doesn’t receive a dominant [0] bit during the ACK Slot. A dominant [0] bit in the ACK Slot indicates an acknowledgment occurred. The ACK Slot is in the Acknowledge field of the data frame. *Figure 19 provides a reminder of what the data frame consists of and shows what is inside the Acknowledge field.
*Figure 19 on page 2 of pdf
0 Comments:
Post a Comment
<< Home