Arbitration Lost Error Messages

Problem/Question:

When transmitting messages, many Arbitration Lost Error frames are received.

Solution/Explanation:

Arbitration Lost Error message are a normal occurrence on CAN buses and can be safely ignored or disabled in many cases. Read below for an explanation of why they occur and if your problem falls into this category. To disable the Arbitration Lost Error messages, right click on the corresponding ECOM block and click Properties - from the properties you will see an option to disable the message.

When transmitting messages, Controller Area Network defines a unique method for how a specific node or device can get a slice of time to transmit their message on the bus. At the start of a frame, all nodes/devices who wish to transmit a message will start transmitting their first message bit all at once. As each bit is sent, the device simultaneously reads the value on the bus. If the value read is not the same value that was sent, the device backs off the bus and waits for the next frame to try sending the message again - this is known as an arbitration lost error.

In many cases, this arbitration lost error is exactly how CAN was meant to perform - The notion of dominant and recessive levels and priority are a few of the key terms that describe this behavior. Essentially the first few bits of a message define the message's priority. If two nodes are trying to send a message at the same time, and node #1 is sending a message where all the first bits are dominant (logic 0) and node #2 is sending a message where the bits are recessive (logic 1), then node #1 will "win" the arbitration battle and node #2 will have to try again at the next available time. This is because when node #2 sends its first recessive bit, it will sample the bus as a dominant state and know to back off.

Every CAN protocol uses this behavior as a means to define and prioritize each CAN packet. J1939 in specific reserves the first 3 bits of all its PGNs (J1939 CAN identifier) as the "priority" field.

Try changing the priority (the first few bits of the message) to see if the error frames go away - if they do, you know the reason and there are safe to ignore. The ECOM device will automatically retry each message until it is successfully sent, so this error message does not mean the packet was not sent.

Tags: 
General CAN Knowledgebase