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: Wake from Sleep not possible after non NM frames

Part Number: TCAN1145-Q1

Tool/software:

Hello,

We are using the "selective wakeup" feature and we have observed a specific behavior that we cannot solve and require support.

The CAN ID for the Wake-up Frame (WUF) is set to 0x500 in Tresos configuration, and this frame is used as the NM message.

 

  1. The ECU goes to sleep.
  2. An NM message is sent then ECU wakes up. -Expected behavior
  3. NM message is stop sent then ECU goes back to sleep.
  4. A Non-NM message (any Application Rx message) is sent out then  ECU remains in sleep and does not wake up.-Expected behavior
  5. An NM message is sent to ECU. The ECU still remains in sleep and does not wake up, which is unexpected behavior.

 

In summary, after going to sleep, we send the NM message and the cluster wakes up. However, if it was send another message (different than NM), the cluster doesn't wake up and gets stuck in some state that even NM is not able to wake up the cluster.

 

We found that the CAN transceiver hardware registers did not contain valid detection data and CAN transceiver stays in sleep mode after step 5, when the NM message was sent on the bus.

 

INT1_1 register(51h)should have value 0x40 when the NM message is sent to ECU but the value remains at 0x00 and CAN transceiver stays in sleep mode

  • Hi Iulian,

    Would you try to clear the CANINT interrupt after first wakeup? It is recommended to clear this interrupt every time before go back to sleep mode.

    Let me know if this works

    Regards,

    Sean

  • Hi Sean,

    In the current software, yes we do clear the CANINT interrupt after first wakeup and every wakeup and we do clear this interrupt every time before go back to sleep mode.

    The current issue only when the non Wake-up Frame (WUF) the cluster doesn't wake up and gets stuck in some state that even Wake-up Frame (WUF) is not able to wake up the cluster.

    NT1_1 register(51h)should have value 0x40 when the Wake-up Frame (WUF) message is sent to ECU but the value remains at 0x00 and CAN transceiver stays in sleep mode ag point 5 above.

    We would need to understand in details what is causing the Cantransciever chip not able to detect Wake-up Frame (WUF)when the non Wake-up Frame (WUF) is sent before Wake-up Frame (WUF]is sent on the bus.

    Br,
    Shrinidhi

  • Hi Shrinidhi,

    Yes INT_1 remains 0x00 because it's not successfully waked up, thus the CANINT flag is not set.

    May I know that for step 4 and 5, is the WUF sent followed non WUF immediately? Or there is a time period between the two frame sent?

    Also, could you confirm the WUF in step 5 is sent at the configured data rate as SW_CONFIG_1?

    Regards,

    Sean

  • Hi Sean,

    There is a delay in steps 4 and 5. The Wake-Up Frame (WUF) is sent out approximately 2 seconds after the non-Wake-Up Frame (non-WUF), rather than immediately.

    The WUF in step 5 is sent out with the configured data rate of 500 kbps, which is the same as the data rate configured in the CAN transceiver (cantrcv) driver configuration.

    As mentioned, the issue only occurs when the non-WUF is sent before the WUF. Otherwise, the CAN transceiver detects the WUF after sleep every time if we don’t send a non-WUF in between.

    Br,

    Shrinidhi

  • Hi Shrinidhi,

    That 2 seconds time period would be too long, so the low power receiver is deactivated. Please note that a valid WUP (can be any CAN frame) is needed to trigger the receiver monitoring WUF. If a WUF is not detected before tSLIENCE timer expired, the WUF receiver will be inactive and you need to send a WUP again, followed by a matched WUF.

    Regards,

    Sean

  • Hi Sean,

    • Even if we send a WUP again, followed by a matched WUF, we don’t wake up. Cantrcv is stuck in some state after Step 4 to Step 5 from the above ticket description.
    • Irrespective of timing, if we don’t send Non-WUF first followed by WUF, the issue is not observed, and every time we wake up.
    • Why does the issue happen only when the Non-WUF is sent first followed by WUF? What causes Cantrcv to get stuck and not be able to wake up even with the valid WUP and WUF?
      You can find the trace screenshot 0x555h WUP and WUF (0x500h)

    Br,

    Shrinidhi

  • Hi Shrinidhi,

    Did you sent the WUF “immediately" after Non-WUF? Or still having that 2 seconds delay?

    A WUP (or any bus activity) is required to enable the selective receiver in sleep mode. This is because the selective wake receiver consumes more power than the low power receiver, so the selective wake receiver will remain off until bus activity is detected. 

    Is it possible to capture waveforms of the CANH and CANL signals during this test? Let's consider two different cases:

    step 2: Only one WUF is send and successfully wakeup.

    Is there any bus activity before sending the WUF? My guess is the controller can actually sent not only one frame, it is possible that the controller send the WUF again if no ACK bit is received, thus can you please capture the CAN bus waveforms, along with the INH output?

    step 4 and 5: WUF is send after a non-WUF, but no wakeup.

    Again, please capture waveform I mentioned above, it is possible that the controller actually didn't send the WUF, it continuously to send non-WUF due to not receiving ACK bit, then the WUF is never detected.

    Regards,

    Sean

  • Problem has been solved, thank you.