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.

TMS320F280039: CAN communication transmission failed

Part Number: TMS320F280039

In the application scenario of the charging module, there has been a communication failure issue with TMS320F280039. Specifically, there is a 120ms fixed data frame sent within the module, which is not affected by other data frames. When a communication failure occurs, the data frame disappears and CAN communication fails. The value of the CAN_ES register is 231, where the TxOk bit value is 0 and the LEC bit value is 7. We also tested the connection between the DSP chip pins and the hardware circuit and found that the DSP chip did not send out data frames. How should we conduct further investigation?

  • Hello,

    Thanks for providing the CAN_ES register value.  Is it possible to probe the CAN bus with a CAN analyzer (PeakCAN or scope) to see if the frame is actually visible in the CAN bus?

    Regards,

    Joseph

  • Thank you for your advice,

    We tested the waveforms of the H and L terminals of the chip's CAN, and when communication failed, no data was sent out on the waveform, and there was no high or low level change in the waveform. Under normal circumstances, there would be a 120ms interval between high and low level changes. We use the CAN_sendMessage function to load and send data frames. After this function, we will determine whether the value of CAN_ES.bit.TxOk is TRUE. In the event of a communication failure, TxOk is not set to TRUE and there are no data frames on the CAN waveform.

  • Hello,

    Sorry, i missed the first detail on CAN_ES value.  If it is 231 (0xE7), it means that these bits were set: Boff, EWarn, EPass.  Node is in bus off state and error counters have reached the threshold limit of 255.  

    There is likely a repeated transmission problem/error that caused the error counter to saturate.  You can also check the value of CAN_ERRC register to see what the errors counts are.  Maybe also take scope shots of the frame to confirm that that there are no distortions and see if the frame is acknowledged by a receiving node.

    Regards,

    Joseph