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.

TCAN1144-Q1: Question of TCAN1145-Q1

Part Number: TCAN1144-Q1

Dear Team,

After the customer tested TCAN1145 in the past two days and found that the CAN IC entered normal mode,

After 5 minutes, it will automatically enter sleep mode,

Check out the spi pin from the oscilloscope and confirm that the MCU did not send any commands to the CAN IC before entering the sleep mode.

May I ask what may be causing it? Thank you!

Many Thanks,

Jimmy

  • Dear Team,

     Sorry for Typo, is  TCAN1145 , Thanks!

    Jimmy

  • Hi Jimmy,

    It sounds like the SWE timer is expiring after tINACTIVE (~5 minutes). This timer will start in normal mode when there is no activity detected on the CAN bus for tSILENCE (~1 sec), causing the CANSLNT interrupt to be set. This interrupt flag will need to be cleared in order to reset the SWE timer and prevent the device from going to sleep mode.

    Does this sound consistent with what the customer is observing?

    Regards,
    Eric Schott

  • Hi Eric,

    Thanks for your great support! Yes, you are right!

    Could you guide us how to clear this interrupt flag in order to reset the SWE timer and prevent the device from going to sleep mode.

    Thanks a lot!

    Jimmy

  • Hi Jimmy,

    The CANSLNT flag is bit 10 of the Interrupt register ('h0820). The bit can be cleared by writing a 1 to it. This will need to be done every time the bit is set from the tSILENCE timeout, which will be indicated via the nINT pin when the flag is set. Alternatively, the SWE timer can be disabled entirely using bit 1 of the Mode Control Register ('h0800). This bit will maintain its configuration through sleep mode, but will be reset during a power-on reset. 

    If you are using the drivers from the demo code (found on the device store page), clearing an interrupt can be done using the TCAN4x5x_Device_ClearInterrupts() for specific interrupts or TCAN4x5x_Device_ClearInterruptsAll() to clear all interrupts. 

    Regards,
    Eric Schott

  • Hi Eric,

    Our customer tried to complete the initialization and every frame (300ms),

    Write 0xff to 0x51 0x52 0x53 of TCAN1145,

    Clear the interrupt flag, But the situation is still the same.

    It seems we did something wrong? Could you guide us how to check this issue.

    Thanks a lot!

    Jimmy

  • Jimmy,

    Can you give the complete sequence of events with transitioning modes and clearing the interrupt registers? Also, I'd recommend setting the CANSLNT_SWE_DIS to 1. This will start the SWE timer based on tsilence timer starter and not the CANSLNT flag getting set, so CAN traffic will reset the SWE_TIMER rather than having to clear the CAN_SLNT interrupt.

    Regards,

    Eric Hackett 

  • Hi Eric,

    We resolve this problem, we wrote 0x84 in the position of 0x1C to turn off SWE,

    Thanks a lot!!

    Jimmy