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.

TMS320F2800137: TMS320F2800137RHB

Part Number: TMS320F2800137

Tool/software:

Hi,

We are facing issue using GPIO_3_CANA_RX for CAN communication(TMS320F2800137RHB), an error interrupt is received from the controller after initialization of CAN module. Instead, if we use GPIO_5_CANA_RX in place of GPIO_3_CANA_RX there seems to be no problem. Faced the same issue while using TMS2800137PM(SDK). So kindly offer us some advice on what might be causing this problem.

Thanks and Regards 

Sohan Gowda M

  • Hi Sohan,

    What is the particular set of initialization that you are running for CAN?  Can you please share?

    Thanks,

    Joseph

  • We have initialized GPIO_5_CANA_RX and GPIO_4_CANA_TX pins. CANA_BASE, 40MHZ clock frequency 50Kb bitrate, 20 bit-time. Now the CAN channel is working proper but after initial 2 interrupts from controller, an CAN controller error is read(0x000000E5) from status register after which no interrupts are received at GPIO_5_CANA_RX. What does this error - 0x000000E5 mean. The complete CAN initialization is in the below snippet.

    So kindly offer us some advice on what might be causing this problem

  • Hi Sohan,

    If the value 0x000000E5 is read from CAN_ES register, it indicates several errors that causes the communication to stop.  First is that the CAN bus is forced to go bus off due to several errors.  Second, there is a bit 0 error where CAN is trying to send a bit '0' but bus is reading back bit '1'.  These errors may happen if there is noise in the bus or if there is mismatch in CAN bit timings.  Double check your setup to ensure timing and CAN bus have no issue.

    Regards,

    Joseph

  • Hi Joseph,

    Thank you for your quick response. I will try changing the bit timings and check.

    Thanks and Regards

    Sohan Gowda M

  • Hi Joseph,

    Thank you for your valuable suggestion.

    The issue is resolved after re-checking and correcting (increasing resistance across CANH and CANL) the CAN bus.