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