Quote:
Originally Posted by RyanN
CAN uses differential signaling for communication, meaning one wire goes logic low while the other wire goes logic high. What this does is allow the CAN controllers to detect signaling errors do to electromagnetic interference (EMI), and attempt to resend the message.
|
That isn't exactly correct. Differential signaling causes any effects of EMI to be nullified, since the EMI (nominally) affects both wires equally. So if CAN is looking for a voltage differetial of 5 Volts, it does not matter if a 20 V EMI signal is superimposed upon both wires, the difference is still 5 volts.
Error detection is performed with mechanisms like a CRC checksum.
Twisted wires help maintain a constant impedance, important towards suppressing reflections, which can cause data errors.