The information of the car CAN bus includes two parts: the information part and the data part.
The first two bytes are the information part, the first one is the identifier, and the first 8 bits of the identifier are used as the receiving judgment, which should include the destination address of this packet.
Then think of the RTR bit (should be set to 0), and finally the 4-bit DLC. DLC is the data length bit, which is the actual length of the transmitted data, in bytes.
The remaining 8 bytes are the data part. For the actual data to be sent, please refer to the following figure:
When transmitting data, the unit that sends the message is called the sender of the message. The unit is always the transmitter before the bus is idle or lost. If the unit is a message transmitter and the bus is not in an idle state, the unit is the receiver.
For the message sender and receiver, the actual effective time of the message is different. For the sender and the sender, if there is no error until the end of the frame, it is valid for the sender message. If the message is corrupted, it will be allowed to be sent automatically in the order of priority. In order to compete with other messages for CAN bus access, once the bus is idle, retransmission starts immediately. For the receiver, if there is no error until the last bit of the end of the frame, it is valid for the receiver message.
The frame start, arbitration field, control field, data field, and CRC sequence that make up a frame are all encoded by bit stuffing rules. When the transmitter detects 5 consecutive consecutive identical values in the transmitted bit stream, it automatically inserts a complement bit in the actually transmitted bit stream. The remaining bits of the data frame and the remote frame are in a fixed format and are not padded. Error frames and overload frames are also fixed formats and are not padded.
The data frame carries the data from the transmitter to the receiver, and the remote frame is sent through the CAN bus unit to send the data frame with the same identifier. The error frame is sent by any unit that detects the CAN bus error, and the overload frame is used to provide the current frame. The additional delay of the subsequent and subsequent data frames, the data frame and the remote frame are separated from the current frame by the interframe space.