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.

AM3358: CAN error

Part Number: AM3358
Other Parts Discussed in Thread: AM3352

My customer has occasionally CAN error(AM3358 Linux report bus error or bus off) in their system, captured waveform as below with CAN Scope. may several hours to half day can reproduce.

There are 7 devices on the CAN bus, 2 AM3352, 5 M4 based device. 

From below waveform, the signal should change to another voltage level, but it is middle voltage, Would you please help analysis what can result in this abnormal?

We checked Oscillator meet requirement,  and modified PLL configuration to be same as latest Processor SDK setting. It doesn't help this issue.

  • Please post what software is used, and which version. By the way, CAN_H and CAN_L are signals on the physical CAN bus, after the CAN transceiver, and checking this is beyond the scope of support of AM335x devices. Please post the processor CAN_TX and CAN_RX waveforms.
  • Biser,

    SDK6.x, the Kernel is 3.2. fairly old.

    The waveform captured by CAN Scope, as it is occasionally issue, long time to reproduce, and hard to capture the abnormal signal on CAN_TX, CAN_RX.

  • Hello Tony,

    My apologies. I just saw this thread which was assigned to me. Have you solved this problem?
  • QJ,

    I let them try another CAN transceiver as well, it will take time.

    At the same time, I check if there is experience from other user.

    From the waveform, how do you think this issue related to transceiver or AM335x CAN module?

  • Hi Tony,

    What is the waveform of using another transceiver?

    The CAN bus has two logical states: dominant and recessive. The dominant state occurs when a logic low level is transmitted from MCU TXD pin (input of the transceiver). The recessive state corresponds to a logic high level on the MCU transmit pin TXD.

    In the recessive state both the CANH and CANL bus pins are biased to the same level: ~2.5V. During the dominant state, the CANH bus pin is biased to a higher voltage potential (~3.5V) and the CANL bus pin is biased to a lower voltage potential (~1.5V).

    The voltage levels of CANH and CANL in your post are different. Does transceiver use the same ground of MCU?
  • QJ,

    Customer said there are 7 nodes in the system, it is hard to maintain constant voltage level in the CAN bus, as long as the differential value between CANH and CANL meet requirement should be OK.

    Captured some error log as below. 

    Is there knew issue of the CAN driver in this SDK version: ti-sdk-am335x-evm-05.06.00.00 (Kernel 3.2.0).

    Customer did not change the CAN receiver as the receiver is a mature device used widely, proved stable and reliable.

  • This thread has been closed. The root cause is that two nodes use the same ID.