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.

TCAN4551-Q1: CANSLNT register is set even "Fail Safe Mode" is disable

Part Number: TCAN4551-Q1

Hi, support team

 

I have an issue with CAN transmitting. 

After configuring the chip by referring to "TCAN4551_UserGuide.pdf". 
I'm able to config the MRAM address and store the CAN packet into the MRAM successfully.

However, when I config the chip into the normal mode and transmit, there is no transmission. 

Findings:

1. Enter into normal mode, before transmit request:

     1. Read address 0820h, return 0x000004A0
     2. Read address 1044h, return 0x0000070F
     3. Read address 1050h, return 0x00000000

2. Enter into normal mode, right after transmit request:

     1. Read address 0820h, return 0x000004A0
     2. Read address 1044h, return 0x0000077B
     3. Read address 1050h, return 0x09800800

Questions:
1. Based on the datasheet, "Fail-Safe Mode" require to enable only CANSLNT will be set to 1. Is there any other factor that will set CANSLNT without enabling "Fail-Safe Mode"?

2. I did not configure the CAN timing. (using default settings). Will it cause this issue?

Regards,

John

  • Hi John,

    Thanks for the information and included register values. Based on the flags that are set, it appears that the controller is reporting that no node acknowledged (ACKed) the transmitted message. The indicator of this is primarily the value of the last error code (LEC[2:0]) in the protocol status register (h1044). A value of 3 (0b011) maps to AckError.

    Are there any other active nodes present in your setup? If not, you should still be able to see the CAN frame appear on the CAN bus using an oscilloscope. 

    To answer your listed questions:
    1. The failsafe mechanism for this device is based on the SWE timer timing out the CANSLNT flag causing it to begin counting. CANSLNT will automatically be set if there is no CAN communication detected for around 1 second. This process can be disabled by disabling the SWE timer (SWE_DIS in Device Config Register h0800). 
    2. The default timings should not cause a problem. However, if you are to communicate with a second node (and have that node ACK), the two will need to be configured for the same data rates. 

    Let me know if you have any more questions.

    Regards,
    Eric Schott