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.

[FAQ] What is a WUP and how does a CAN transceiver send and receive a WUP on the BUS?

Other Parts Discussed in Thread: TCAN1043A-Q1


Any CAN transceiver that has an Inhibit (INH) pin will also have a sleep mode. The purpose of the INH pin is to be able to automatically turn off the voltage regulator for your MCU/Board. This will put the entire ECU board into it's lowest power state any time the CAN device enters sleep mode. For the rest of this discussion I will be referencing our simplest CAN transceiver with sleep mode the TCAN1043A-Q1. Once the CAN device has been put into sleep mode it has 2 ways that it can exit sleep. The first way is through a pin state change. A device like the TCAN1043A-Q1 has an EN pin and a nSTB pin. By changing the logic state of these pins you can exit sleep mode. 

The other way to exit sleep is through a Wake Source. The TCAN1043A has two wake sources a Local Wake Up (LWU) through the WAKE pin and a Wake Up Pattern (WUP) on the CAN bus. If the WAKE pin sees a falling or a rising edge on the pin it will trigger a LWU and transition the device into standby mode. The other WAKE source on the TCAN1043A is a WUP through the bus. When the TCAN1043A goes to sleep it disables it's high speed receiver and enables a low power receiver that is designed to only respond to a WUPs.

What is a Wake Up Pattern?                                                     

The WUP is a filtered dominant pulse, followed by a filtered recessive pulse, followed by a filtered dominant pulse.

Filtered in this case means that the pulse has to last a certain amount of time. The device is filtering out any pulse that is too short. For the TCAN1043A the filter time is:

So if the dominant pulse or recessive pulse is shorter than 1.8 us it can be filtered out. If there are pulses that are filtered out they don't affect the WUP recognition. For instance, if you receive a filtered dominant then a filtered recessive the device is waiting for a final filtered dominant to complete the WUP. If a dominant pulse comes in that is too short the device just ignores it and it will still be waiting for the final filtered dominant pulse. Once the device sees the final filtered dominant pulse it will automatically transition out of sleep mode and into standby mode.

How to Send a Wake Up Pattern on the Bus                          

Before going into how to send a WUP on the CAN bus, keep in mind that in most applications your CAN transceiver has TXD and RXD connected to a CAN controller. Most of the time it will not be connected to an MCU where you can toggle TXD low and high for the filter time. This means that you have to send your WUP through dominant and recessive bits that you load onto your CAN controller. For most system designers this means that WUPs are sent on the bus through CAN messages.

Now how do we know if our CAN message has a WUP within it? If our filter time is at maximum 1.8 us, our shortest bit time has to be 1.8 us for it to be considered a filtered pulse. A bit time of 1.8 us works out to about 555 kbps. What this means, is that if you were to send any CAN message at a speed less than 555 kbps every single bit would be considered a filtered bit and your device would receive multiple WUP across the entire message. Now if you are communicating at a speed faster than 555 kbps you are going to need multiple dominant bits in a row to make a filtered dominant pulse. You will also need multiple recessive bits in row to make a filtered recessive pulse. So depending on how your message is set up you can have a WUPs at many communication speeds faster than 555 kbps. But, if you are using CAN FD, in most cases your WUP will come during your arbitration phase where the speed is much slower. 

How to Receive a Wake Up Pattern on the Bus                       

Now that we know that a regular CAN message can wake up a CAN transceiver through a WUP let's look at how a designer can use this to their advantage. If you wanted to wake up a device you could just send a "dummy" CAN Frame at 500 kbps to make sure that your device is awake. But that would be inefficient especially if your CAN transceiver never went to sleep and is still in normal mode. So what a system designer does, is they send the intended CAN Frame over and over again until the intended CAN transceiver ACKS and receives that message. Let's look at how that might work. If your CAN transceiver is in normal mode and awake the first CAN message will be received and ACK-ed. The CAN controller sending the original CAN frame will see the ACK and stop sending that frame.

Now if your CAN transceiver is in sleep mode the first CAN frame that is sent will contain a WUP and your device will transition to standby mode. The CAN controller will see the NACK and will automatically send the message again. This is known as automatic re-transmission and is a common feature on many CAN Controllers. Now, while the CAN controller is automatically re-transmitting, the CAN device needs to wait for the INH pin to turn on the voltage regulator, wait for the MCU to initialize, and then wait for the MCU to transition it to normal mode. This whole time the CAN controller has sent any number of message waiting to see an ACK. Since there is a variable amount of time for initialization, any time you exit sleep mode, the number of CAN messages that have to be sent is also variable. That is why automatic re-transmission is so useful. No matter how long it takes for the CAN transceiver to enter normal mode and ACK the CAN controller will keep sending that message. When the CAN transceiver is finally in normal mode it will be able to finally receive the message intended for it and can proceed from there.


If you have any other questions about WUPs please feel free to post that question on this forum and one of our application engineers will be in touch with you.