2
\$\begingroup\$

I'm testing a CAN bus circuitry based on MAX3051. VCC is 3.3V

Two nodes are only connected on the bus. Termination resistors 120 Ohm are on each end of the bus.

When the bus is in idle state (no one is trasmitting). With respect to ground, both CANH and CANL have less than 0.5V (measured with an oscilloscope)

The bus works fine, there's a solid communication between the nodes I don't see any message being lost or anything.

I would expect the voltage on the bus during idle state to be around VCC/2.
Why is it so low?

\$\endgroup\$

2 Answers 2

3
\$\begingroup\$

On Fig 5. of the datasheet, you can see that the chip can only drive the CAN dominant state (pull CANL to GND and CANH to VCC). In the CAN recessive state, nothing is driven and the termination resistors pull the signals to close to 0V of each other, but not to ground or any other voltage. This is fine, as "The MAX3051 input common-mode range is from -7V to +12V" (in the datasheet). CAN BUS Wikipedia page: "the recessive common mode voltage must be within ±12 of common".

There are other standards like RS485, where the common mode voltage does matter, and there are extra resistors at the terminations to pull the lines to VCC/2 in the recessive state.

\$\endgroup\$
2
\$\begingroup\$

The 0.5V you measured in the recessive state of the CAN bus is called common mode voltage. It's the difference in potential between the grounds (CAN_GND) of the sending and receiving nodes.

ISO 11898 specifies a common voltage range of -2V to +7V.
The MAX3051 extends the range from -7V to +12V.

VCM = +0.5V is well within the specified range.

It's fine as long as the bus signals meet the MAX3051 specification: enter image description here

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.