CAN

Introduction

CAN is a differential signaling electrical communication bus that is commonly used in the automotive sector. The bus features two differential signal wires and a somewhat (more details below) optional GND connection. The standard datarate is 1mbps, commonly used at 5mbps today and can go even higher though generally automotive avoids this for EMI reasons. CAN vs CAN-FD is a firmware thing, but CAN-FD allows for higher speeds.

Opening Questions

How does CAN work?

CAN is a multi-controller protocol that uses differential signalling. Any CAN node in the system is able to send and receive messages. Messages have an ID, which define what node the message is intended for.

What is differential signalling?

  • Two wires: a positive and a negative. The signals on each wire are equal in amplitude but opposite in polarity. The difference in magnitude between the wires is what is read as data.

  • Some benefits:

    • Noise immunity: Since the signals are opposite, any external noise that affects both wires equally will be canceled out when the difference between the signals is measured at the receiver. This is because the noise will be the same on both wires, and when subtracted, it effectively cancels out.

    • Signal Integrity: The differential pair is less vulnerable to EMI issues because the loop area between the two wires is so small.

    • Reduced Crosstalk: There is little opportunity for crosstalk between adjacent differential pairs because the two signals of opposite polarity cancel each other out. (add detail here)

Why use CAN?

CAN is very robust and is useful for safety critical applications where reliability is needed, such as braking systems for cars. CAN ID also serves as a priority system, allowing the most important messages to be sent first.

It is also simple electrically, requiring only two wires (a differential pair). This is largely why is useful for WARG. Having less wires reduces cost, complexity, and weight.

Has built in error checking and stuff.

CAN frame:

 

image-20240605-223820.png

[add detail]

More

@Jerry Tian @Nolan Haines @Neel Patel can we please add more to this page as we are going to CAN arch i wanna be able to bring people up on it easier.

WARG Examples