CAN bus is a 2-wire differential bus using NRZ encoding and has two states:
Recessive state (logic 1)
Dominant state (logic 0)
The network is multimaster. When two or more nodes attempt to transmit at the same time, a non-destructive arbitration technique guarantees messages are sent in order of priority and no messages are lost
The message transmission is multicast. Data messages transmitted are identifier based, not address based
Content of message is labeled by the identifier that is unique throughout the network (for example, rpm, temperature, position, pressure, etc.)
All nodes on network receive the message and each performs an acceptance test on the identifier. If message is relevant, it is processed, otherwise it is ignored
The unique identifier also determines the priority of the message (the lower the numerical value of the identifier, the higher the priority is)
Data is transmitted and received using message frames, consisting of: