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.

TCAN4550: CAN error and not FD configuration question

Part Number: TCAN4550


Dear all,

If I want to set the CAN bus for 500kbps and not in FD mode, are the following settings correct?

/* Configure the CAN bus speeds */
    TCAN4x5x_MCAN_Nominal_Timing_Simple TCANNomTiming = {0};    // 500k arbitration with a 40 MHz crystal ((40E6 / 2) / (32 + 8) = 500E3)
    TCANNomTiming.NominalBitRatePrescaler = 2;
    TCANNomTiming.NominalTqBeforeSamplePoint = 32;
    TCANNomTiming.NominalTqAfterSamplePoint = 8;

    TCAN4x5x_MCAN_Data_Timing_Simple TCANDataTiming = {0};      
    TCANDataTiming.DataBitRatePrescaler = 2;   
    TCANDataTiming.DataTqBeforeSamplePoint = 32;    
    TCANDataTiming.DataTqAfterSamplePoint = 8;      

    /* Configure the MCAN core settings */
    TCAN4x5x_MCAN_CCCR_Config cccrConfig = {0};                 // Remember to initialize to 0, or you'll get random garbage!
    cccrConfig.FDOE = 0;                                   // CAN FD mode enable
    cccrConfig.BRSE = 0;                                 // CAN FD Bit rate switch enable
When I send or receive can data I get the following CAN errors through listening to the nINT and reading the registers:
CANERR
CANSLNT
GLOBALERR
M_CAN_INT
and the
MCAN TSW error.
Could someone tell me why?

I have two TCAN4550s connected together and configured in the same way. They receive their send out CAN messages, but I get these errors.

  • Hi Michael,

    We will get back to you later today on this.

    Max

  • Hi Michael,

    The configuration settings you shared above look consistent with what you are trying to set up. The errors you are encountering are CAN silent (CANSLNT) and Timestamp Wraparound (TSW). The other flags are indicators that these two flags are set. 

    The CAN silent interrupt may trigger when the device goes into a standby mode from lack of activity. Are you receiving this error during active communication of the device or after some time where communication has stopped? This is also possible if there was significant time between the device being reset or initialized and when communication begins. 

    Timestamp Wraparound is an indicator that a wraparound has occurred in the timestamp counter in register 'h1024. Could you share how you have configured this function in the timestamp counter configuration register 'h1020? 

    The configuration you shared similar to what is used in the demo code for the device. Are you using a modified version of this code? If so, could you share what other parts have been modified that relate to these errors?

    Regards,
    Eric

  • Hi Eric,

    Thanks for clarifying these errors. Are my timing settings from above setting the bus to 500kbps? Is this at least correct?

    h1020 is set to 0x00000002. Is this a problem since I don't use CAN FD?

    I will share the code later if still needed. Could you answer another question?

    If I initialize the TCAN4550, everything is fine, they hold the CAN_H and CAN_L  at about 2.5V.

    However, when I send a CAN message through one of them, I get the following errors in that order:

    CANERR

    CANSLNT

    PEA

    EW

    PEA

    EP

    PEA (forever)

    Could you tell me why? For some reasons it happens if I have both TCAN4550 connected or not. Both have a 120 Ohm resistance connected and are a fingertip away from each other.

    Is this normal since their is now acknowledgment to the send message? In any way, when I receive this message it seems there is no way back to make it work again except resetting and reconfiguring the TCAN4550.

    Help is appreciated.

  • I do understand that if there is no other node ACK the transmitted message, the TCAN4550 should go in the bus off state. However, I see it going to passive state rather fast and afterwards I get spammed by PEA errors. I don't understand why. The automatic retransmission DAR is turned on.

    Why do I receive PEA errors while the TCAN4550 is in error passive mode?

  • Hi Michael,

    The settings above look correct for 500kbps configuration.

    It is true that TCAN4550 will continue to try to send the message if no ACK is present on the bus. Are you share that both nodes are active and connected while you are receiving these erorrs?

    I think being able to look at the code will help diagnose this problem more quickly. Could you share your project with me? You can find my email by clicking on my E2E profile name. You may choose to share on E2E or privately with me. 

    Regards,
    Eric