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.

TCAN1145-Q1: Selective wakeup, WUP and WUF timing

Part Number: TCAN1145-Q1

Tool/software:

Hi Team,

I have configured the selective wake registers to wakeup the transceiver from sleep mode when the CAN ID :0x123, DLC = 8, Data byte 7 mask = 0x01 standard CAN is received. This is working as expected. However, below observation is made during the testing.

1. Configure all the selective wake related registers as per the above configurations and baudrate etc.

2. Set DATA_MASK_EN

3. Set SWCFG

4. Enable SW_EN bit

5. Change to NORMAL mode via SPI

6. Change to STANDBY mode via SPI

7. Change to SLEEP mode immediately via SPI

8. Send the invalid WUF -> device doesn't wakeup

9. Send valid WUF once -> device doesn't wakeup

10. Send valid WUF twice with a gap of around 1 sec between them -> device doesn't wakeup

11. Send valid WUF twice with a gap of around 800ms between them -> device wakes up.

Even when I send the invalid WUF followed by valid WUF within 800ms gap between them, the device wakes up. However, if the delay between these 2 frames are more, the device doesn't wakeup with the valid WUF as well. This observation leads to the below queries.

As per the manual, for the selective wakeup, we need to send WUP followed by WUF to completely transitions to STANDBY mode. Otherwise, if the tSILENCE (around 1.2s) expires the device switch back to low power mode.



1. Does that mean in our testing, the 1st CAN frame sent is considered as a WUP and the transceiver expects the next valid WUF within tSILENCE? Is that the reason, the test works for step 11 but not for step 10?

2. tSILENCE is between 0.6 to 1.2s. What I observed is if I send the WUF within 840ms, the device wakes up else it doesn't. Is this the expected behavior considering the tSILENCE value is till 1.2sec?

3. The INT_1 register bits CANINT, CANSLNT, CANTO are set when I read after the wakeup (even when I send consecutive WUF frames without making the tSILENCE expiry after sending 1st WUP). CANINT is expected. However, why does the bits CANSLNT and CNTO are set? After the device enters sleep, the wakeup frame is continuously sent every 100ms from test environment.

Regards,

Punith Chandra

  • Hi Punith,

    1. Does that mean in our testing, the 1st CAN frame sent is considered as a WUP and the transceiver expects the next valid WUF within tSILENCE? Is that the reason, the test works for step 11 but not for step 10?

    Yes you are correct here. While in Sleep mode with the bus inactive, the TCAN1145 will turn off its internal oscillator and go into a "deep sleep" mode to save power leaving only the low power WUP receiver on. When the device detects CAN activity (the WUP), it will activate this oscillator and go into an active listening mode. At this point the device is decoding CAN frames and searching for the correct WUF. If the bus goes back to an idle state for long enough (tSILENCE) the device will return to deep sleep to save power and another WUP will be needed to allow the device to begin decoding CAN frames again. 

    2. tSILENCE is between 0.6 to 1.2s. What I observed is if I send the WUF within 840ms, the device wakes up else it doesn't. Is this the expected behavior considering the tSILENCE value is till 1.2sec?

    This specification grantees that if the frames are sent within 600ms of each other, then the second frame will arrive in time to be decoded. This will remain true across all operating conditions including supply voltage and temperature. However this time does shift with changing operating conditions and is going to be longer in some cases. At one corner it is possible for 1.2 seconds to elapse between the frames and the second one still be recognized. However if the temperature or supply voltage is changed, this same test may result in a non-wakeup. To plan for this in a system to guarantee a wake up, ensure that the WUF arrives at the transceiver at most 600ms after the initial frame is sent. As an example if the system did not want the device to wake up on the second frame, then 1.2 seconds should be given between frames to ensure the device will never recognize the second frame. 

    3. The INT_1 register bits CANINT, CANSLNT, CANTO are set when I read after the wakeup (even when I send consecutive WUF frames without making the tSILENCE expiry after sending 1st WUP). CANINT is expected. However, why does the bits CANSLNT and CNTO are set? After the device enters sleep, the wakeup frame is continuously sent every 100ms from test environment.

    The CANSLNT flag is active in all modes including Normal mode - this flag was likely set during the initial setup of the test and not cleared before the test was run and the values were recorded. Given your description of the test timing where frames are sent immediately after the transition to Sleep mode with SW active, I don't expect CANTO to be set. 

    Are you clearing the device interrupts before initiating the test? Is the CAN activity occurring continuously during setup or does it only begin once the TCAN1145 is put into Sleep mode. Could there be any delay introduced by the coordination of the device controlling the state of the TCAN1145 and the system that is generating the CAN frames?

    Regards,
    Eric Schott

  • Hi

    Thank you for the detailed explanation.

    For #3, yes, the device interrupts are being read and cleared continuously during run time just before the transceiver is put into STANDBY mode from NORMAL. Also, the ECU keeps sending the Tx CAN message during the run time. Once the transceiver enters SLEEP mode, there won't be any Tx messages since the ECU is powered OFF and the test environment starts sending the WUF continuously every 100ms. Do you suspect if the CANSLNT/CANTO bit would be set when the device enters SLEEP mode and there is no bus activity? With the above conditions, I don't think CANSLNT and CANTO to be set unless the WUP is received and there is no WUF detected, and the transceiver moves back to deep sleep mode.

  • Hi Punith,

    I agree with your understanding here. It sounds like the test here has the CAN bus active in normal mode and remains active after the transition into sleep mode with no significant gap that would satisfy the CANSLNT condition. This flag should only be set when the CAN bus is idle for ~1 second. Based on your description this would not occur in the system. 

    I would recommend capturing a scope shot of the CAN bus during the transition from Normal mode to Sleep mode to check the timing that is actually seen by the CAN transceiver. If it is possible to capture the register states during this time as well to see when they may change that would also be helpful information. 

    Is the customer actively using either of these register states in their current system design or is these more of a curiosity as to the function of these registers

    Regards,
    Eric Schott