Design goals
- Fault tolerant
- Reduced wire requirements
- Multi-controller
CAN Arbitration
In CAN, we have active 0’s and passive 1’s, therefore it uses an open-drain driver. Therefore, lower device IDs have a higher priority. If someone more important wants the bus, the weaker ID stops pushing its ID.
When iterating through device IDs, once a device has a 1 which pushes high impedance, it knows it is lost and stops trying to push its ID.
Expand on CAN later on application