This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Tool/software:
In our motor control inverter equipped with a TI microcontroller: TMS320F28030 and an NXP CAN transceiver,
when bus-off occurs, a high voltage not seen during normal operation occurs in the CAN differential voltage.
(The CAN-H/CAN-L potential difference is about 1.7V, but sometimes it appears as 1.7V + 0.6V = 2.3V,
as if noise is riding on the 1.7V potential on the H side.)
If you know the cause of this phenomenon, or if a similar phenomenon has occurred in the past, please let me know.
It is possible that a non-standard node with a baud rate slightly outside the MCU's allowable error range is connected, but is there any relationship between this and the current phenomenon?
Hi Yasuhiro,
If the TX error count of a CAN node reaches 255, the CAN bus-off occurs and this node will turn off and reset itself. If the auto recovery mechanism is enabled, the CAN node will be recovered after 129 occurrences of Bus Idle (129 x 11 consecutive recessive bits). The bus-off and bus-off recovery should not increase the voltage potential of the two CAN bus lines.
The CAN bus has two logical states: dominant and recessive. When controllers send logic ‘0’, the state of the bus will be dominant, and the potential difference between CANH and CANL will be approximately 2V. When controllers send logic ‘1’, the state of the bus will be recessive, and the potential difference between CANH and CANL will be approximately 0V.
In case a noise from relay or motor causes voltage spikes on CAN bus, the spikes on both CANH and CANL wires will be of almost equal magnitude. Therefore, the potential difference between two signals with an equal magnitude of noise will be almost equal to the signals with no noise.