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: Sleep wake up problem in NoACK condition

Part Number: TCAN1145-Q1

Tool/software:

I am using the TCAN1145 transceiver. Suppose my ECU has only one CAN-specific frame (within a specific range) as its wake-up source, and the TCAN1145's INH pin controls the power supply of the MCU. Currently, I am conducting tests. When the wake-up message is sent normally, the ECU can be woken up, and when the wake-up message stops, the ECU can enter sleep mode as expected.

Here’s a scenario: my ECU is connected to CANoe, with two nodes on the same CAN bus. CANoe sends a wake-up frame to keep my ECU in a normal working state. At this point, if I disconnect one of the CANH or CANL lines, CANoe shows "NoACK." If I process the situation according to the normal sleep process, the board will enter sleep mode. However, after reconnecting the CANH or CANL line, the ECU cannot wake up, and even restarting CANoe does not help. The only way to resolve this is to reboot the TCAN1145 without a power cycle.

If I handle the issue by, for example, clearing the SWCFG bit (essentially disabling selective wake-up and retaining only basic CAN wake-up functionality), the ECU repeatedly enters sleep and wakes up. Once the CAN line is restored, the ECU also returns to normal operation. However, as per the TCAN1145 datasheet, disconnection of CANH or CANL (resulting in "NoACK") will not cause an error overflow in the TCAN1145. Therefore, disconnecting one of the CAN lines should not lead to error frame overflow or prevent the transceiver from sleeping normally. Logically, once the CAN line is restored, the ECU should be able to wake up normally.

On page 85 of the TCAN1145 datasheet, under the description of the SW_CONFIG_4 Register, it states:
“NOTE: Writing to any of these wake configuration registers (8'h30–8'h44, 8'h46) clears the SWCFG bit.”
Previously, I wrote to the SW_CONFIG_3 register (address 46h), which cleared the SWCFG bit, effectively disabling CAN selective wake-up. As a result, the TCAN1145 would power the MCU as long as there was any CAN activity on the bus. With only one CAN line connected, it is impossible to detect the correct wake-up frame, so the logic would power down. This causes the ECU to repeatedly power up and down.

I also attempted to force the SWCFG bit to 1 before entering sleep mode. This allowed the ECU to enter sleep mode. However, after sleeping, the ECU could no longer wake up, unless I performed a power cycle to restart the TCAN1145 (essentially rebooting the entire ECU).

Where is the problem?

  • Tony,

    Thanks for bringing your question to E2E. Your question has been assigned to an expert, but please be aware this week is a US holiday. Responses will be delayed.

    Regards,

    Eric Hackett 

  • Hi,

    Here’s a scenario: my ECU is connected to CANoe, with two nodes on the same CAN bus. CANoe sends a wake-up frame to keep my ECU in a normal working state. At this point, if I disconnect one of the CANH or CANL lines, CANoe shows "NoACK." If I process the situation according to the normal sleep process, the board will enter sleep mode. However, after reconnecting the CANH or CANL line, the ECU cannot wake up, and even restarting CANoe does not help. The only way to resolve this is to reboot the TCAN1145 without a power cycle.

    After reconnecting the CANH or CANL line, what was the procedure you use to wakeup? If you are using selective wakeup, can you please confirm CANoe was actually sending a matched WUF when the bus is active?

    Regards,

    Sean