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.

TCAN1043-Q1: To know which CAN device makes the system wake up

Part Number: TCAN1043-Q1
Other Parts Discussed in Thread: TCAN1043

Hi sir,

My customer is using 12 sets CAN transceiver, if we need to know which set remote CAN device makes the system wake up, how does system recognize it?

I saw below table in datasheet, does it mean the system MCU have to read nFAULT flag on all 12 set CAN transceiver after it was wake up by remote CAN ECU?

Thank you.

  • Hello,

    Apologies for the long explanation, but the answer to this relatively brief question relies on some broader system-level understanding. 

    The wake up pulse (WUP) recognition on our CAN transceivers is able to detect bus activity while the transceiver is in a low power state. When this activity is detected, the transceiver will indicate to the controller (using RXD) or enable a local voltage regulator (INH) depending on the feature-set of the device. At this point, the transceiver has simply relayed that some data appeared on the bus, but (for most devices) it is unaware of the nature of the data or where it originated. 

    The wake signal from the transceiver is often used to power-on or wake the CAN controller from a low-power state. Once the controller is active, it can begin to monitor and interpret the data on the CAN bus and respond if necessary. This is normally the point where the ECU would be able to identify the source of the bus wake event, as the ECU that woke the system would continue transmitting data until the relevant nodes have acknowledged its message. 

    A secondary wake source would be a local wake up (LWU) from the WAKE input pin on some transceivers. This wake source is generally a piece or hardware that is near or on the same board as the transceiver such as a push-button or ignition switch. This wake event serves the same purpose to wake the controller from a low-power or power-off state in order to service the wake event. In this case, it may be necessary for the local node to generate its own wake pulse on the CAN bus in order to wake the rest of the system. 

    In order for the MCU to determine whether a wake event came from the CAN bus (WUP) or from local hardware via the WAKE pin (LWU), the nFAULT output can be used in the way described in the table you shared. During the MCU's power-up sequence, this pin may be read to proceed appropriately based on if the wake event originated from the CAN bus or from local hardware if the methods of handling this sources differ. If the startup sequence would not be modified based on the source of the wake event, then this step may be skipped. 

    Let me know if this explanation makes sense and if you have any more questions.

    Regards,
    Eric Schott

  • Hi Eric,

    Thanks for your response.

    Based your answer,  MCU can monitor the nFault output this pin to recognize wake-up source.But we still have further questions that need your help to reply:

    1. What’s the default status of nFAULT pin in Normal mode? Is it high?
    2. Will nFAULT status be cleared when system was exiting Standby Mode and going to Normal Mode?
    3. Will nFAULT status be cleared when system was exiting Normal Mode and going to Sleep Mode?
    4. When system wake-up and back to Normal mode, how to recognize the reading high on nFAULT pin is the default value or WAKERQ flag set by wake-up event?

    Please help to clarify it, thanks.

    Frank

  • Hi Eric,

               Here comes some supplementary explanation from Quanta for your reference, we want to understand nFault_Pin8 detail behavior , please refer to as below information.

    1. If TCAN1043 from sleep mode entering to normal mode by wake up source with cable.
    2.  a. VCCIO/VCC from 0V to 3V3/5V0. b. Enable (Pin 6) keep low.
    3.  a. CAN_no.6 wake up IC : ERR(nFault_Pin8) pin will keep high even VCCIO/VCC from 0V to 3V3/5V0. and enable pin keep Low.                                                             b. Other CANs not wake up IC: ERR(nFault_Pin8) pin will keep low even VCCIO/VCC from 0V to 3V3/5V0 and enable pin keep Low
  • Hi Frank,

    The nFAULT pin can indicate the presence of different status conditions for the device. When all of these statuses are cleared, the pin is in a high state. When one or more of these status conditions is set, the nFAULT pin asserts low. 

    Because there are many sources for this pin being set, there are different ways to clear the indicator. This allows the system to recognize what status is being indicated by seeing how the status is cleared. For example, after the device wakes from sleep mode due to a wake up event, the nFAULT and RXD pins be asserted low. At this point, the controller can shift the transceiver into normal mode by driving EN = nSTB = high. If this transition causes the nFAULT pin to go high, the wake source was from the CAN bus. If instead nFAULT remains low after the transition to normal mode, then the wake event occurs on the WAKE pin or from a POR condition. All of these indicators and clear methods are listed in table 9-1 on the datasheet. 

    Is the above description of events from observed tests? Or is this a hypothetical question? After a wake up signal from the CAN bus, nFAULT (and RXD) should remain asserted low until the device transitions into normal mode (nSTB = EN = high). If these tests observe different behavior, we can look further into this. Please capture waveforms of the nFAULT, EN, nSTB, and INH pins (trigger off of INH rising edge). I would like to see if there's any point where the device may be put into normal mode for some amount of time. 

    Are there any biasing resistors on the EN and nSTB signal line? Both of these have internal pull-downs in the transceiver IC, so I'd like to know if this default state is being changed externally. 

    Regards,
    Eric Schott

  • Hi Eric,

    Thanks for your reply. it does answer our question.

    My measurement result meets your statement. The nFAULT pin goes low after waking up by remote ECU via CAN BUS. The RX pin has the same behavior.

    So after woke up by CAN Transceiver, we can have MCU polled nFAULT pin of all CAN Transceiver to recognize where is the source generate to send out remote wake-up event, is it correct?

  • Hi Frank,

    Thanks for the confirmation and test data. I'm glad the information has been helpful.

    Yes. Polling the nFAULT flag of all TCAN1043s before moving to Normal mode will allow the MCU to determine which CAN bus is the source of the wake up signal. 

    Regards,
    Eric Schott