Why use CAN bus?

 

Q: Why use the CAN bus?
A: CAN(Controller Area Network) provides a powerful robust communications engine that is built into hardware. For real-time control applications. The deterministic nature of the CAN bus makes it a powerful tool for distributed motion control.
Here are some of CAN important traits
  • When a bus collision occurs, the higher priority message wins, and transmission continues as if nothing happened. (With Ethernet, the collision would cause both nodes to wait a random time before re-transmission, and is therefore not a deterministic bus)
  • CAN’s physical layer uses a Differential transceiver, which makes for a robust noise immune transmission medium.
  • CAN’s hardware bit-stuffs and appends checksums to message packets, to provide 100% assurance that the message a Slave received was accurate
  • CAN’s hardware will also continually re-transmit a message packet until another CAN node acknowledges the proper reception of the message packet