The CRC Field is sent by the transmitter and verified by all receivers to ensure that a Data Frame has been correctly received. The hardware in the transmitter node uses the CRC polynomial shown here to generate a 15-bit CRC code that is followed in the CRC Field by a recessive delimiter bit. The hardware at each receiver node on the CAN network generates a CRC on the observed Data Frame, then compares it to the transmitted CRC check value. If the receiver node detects a match, it puts a dominant bit into the ACK slot. If it detects a mismatch, though, it does not transmit anything in ACK slot. Instead, it sends a ‘NO’ vote after the upcoming ACK delimiter; that is, at End of Frame.

