SLLA521B January 2022 – June 2022 TCAN1145-Q1 , TCAN1146-Q1
This application note discusses selective wake-up as per ISO 11898-2:2016 and how it enables partial networking (PN). The application note includes how PN is used, how to configure TI devices, and two set-up examples.
All trademarks are the property of their respective owners.
Controller Area Network (CAN) is a communication architecture used for reliable communication in environments that are considered to be noisy, one example being automobiles. Over time, CAN has evolved to include classic high-speed CAN as well as CAN flexible data rate (CAN FD). Classic high-speed CAN supports data rates up to 1 Mbps and although CAN FD is backwards compatible with classic high-speed CAN, it also supports data rates up to 5 Mbps and higher. CAN FD supports up to 64 bytes and a bit rate switching mode, which allows faster than 1 Mbps data transmission.
In an automotive CAN network, power is always a concern for situations when the vehicle is off or when only a few electrical control units (ECUs) need to be on during normal operation. The development of PN addresses this concern. PN is a method used to save power when both homogeneous (all ECUs capable of PN) or mixed (not all ECUs capable of PN) CAN and CAN FD networks are used. This process is accomplished by allowing bus communication, but sleeping nodes only wake on a specific CAN message or frame. PN was developed by the International Standard Organization (ISO) and is based upon the latest version of the ISO 11898-2:2016 standard.
This application note provides information using an example application. The application note focuses on what selective wake, also known as partial networking (PN), is and how it is used in an application. The register set from the TCAN1145-Q1 and TCAN1146-Q1 is provided for ease of understanding and finishes with two examples on how to program a device for PN.
Figure 2-1 represents a simplified mixed CAN FD network. ECU3 and ECU6 are partial networking capable ECUs. The rest of the ECUs are not PN capable. ECU1 and ECU8 represent the termination locations. CAN bus represents the CANH and CANL signals. PN enabled ECUs described in the following sections relate to ECU3 and ECU6 in this figure.
To understand partial networking in an application the PN capable CAN transceiver needs to be understood. Modes of operation and the impact of partial networking will be presented, followed by a deeper investigation of sleep mode and how utilizing PN creates two different levels of sleep. To understand how PN works, a brief explanation on a CAN frame is provided which will be followed up with a more detailed explanation. Lastly, information will be provided on how a mixed network similar to the simplified one provided will behave.
CAN has three main modes of operation that have a direct impact on the system power: normal mode, standby mode, and sleep mode. Normal mode is the highest power mode where CAN or CAN FD communication takes place. Standby mode is the transitional mode from sleep, where the ECU wakes up from sleep and the transceiver waits for the ECU system processor to place the CAN transceiver into normal mode. It’s important to note that standby and sleep modes do not allow data from the CAN network to be passed through to the CAN transceiver RXD pin. Lastly, sleep mode is the lowest power mode where only the CAN transceiver’s low-power receiver is active in the ECU.
When the ECUs are placed into sleep mode (low-power mode), a wake-up pattern (WUP) starts the wake up process for every node on the network. WUP is a filtered dominant pulse, followed by a filtered recessive pulse, and then by another filtered dominant pulse. WUP acts as a basic noise filtering mechanism that differentiates CAN noise from actual CAN traffic. When a CAN frame is sent over CAN, every node recognizes a WUP and transitions out of sleep mode to a higher power mode such as standby or normal modes and all CAN nodes consume current at higher levels.
When an ECU supports PN, an additional step in the wake process is required to leave sleep mode. A CAN node that supports partial networking breaks sleep mode into two states, deep sleep (CAN bus GND bias) and sleep (CAN bus 2.5 V bias). While the PN-enabled CAN transceiver is in either of these sleep states, no CAN frames are passed through to the RXD pin.
CAN ECUs are generally seen in three states: sleep mode (low current consumption, ≤ 100 µA), standby mode (higher current consumption, 10s to 100s mA), and normal mode (highest current consumption, 100s mA to several amps). Since each node uses significantly less current when it is asleep, the longer ECU is in sleep mode, the more power that can be saved. PN breaks sleep mode into two different levels, see Figure 2-2, allowing overall network current consumption to be reduced. When an ECU is in sleep mode, it is waiting to wake up, which can be accomplished by a WUP signal.
When an ECU receives a WUP, non-PN capable ECUs will wake up and transition to standby mode, whereas PN enabled ECUs will transitions to a higher sleep state, but not into standby mode. In this higher sleep state, the CAN bus bias changes from ground to 2.5 V while listening for a valid wake-up frame (WUF). This bias change is necessary for the WUF receiver to decode the CAN frames and no bus traffic is passed through to the CAN transceiver RXD pin. While the ECU is in this higher sleep state waiting for a valid WUF, only a subset of the node is awake and is consuming ~ 500 µA and not the 10s to 100s of mA that a non-PN node would be consuming.
Before the enabled PN CAN transceiver correctly receives and interprets the Wake-Up Frame (WUF), the receiver must synchronize to the CAN data rate. To save cost, the local PN transceiver uses an internal oscillator that can have a variance of ± 3% compared to the CAN controllers on the network. To properly decode CAN frames, the device must first synchronize its internal clock to the clock of the controllers sending CAN frames. This is accomplished by analyzing CAN frames and comparing the length of received bits versus its own expected length, and then making bit length adjustments. This can take several CAN frames before the PN CAN transceiver locking step is complete.
The ISO 11898-2:2016 CAN standard allows up to four CAN frames at 500 kbps or 8 CAN frames at 1 Mbps for the transceiver to lock on to the data rate, not including the first CAN frame that contains the WUP, which starts after tBias. Correct decoding of these frames is not required, and does not cause the internal frame error counter to increment. The transceiver can receive a valid WUF after it successfully syncs to the CAN data rate. See Section 3 for clarification on the wake-up frame.
During this process, CAN bus data does not get passed through to the transceiver RXD pin. Once the PN-enabled ECU receives this valid WUF, it fully wakes up and transitions to standby mode. Other nodes that did not wake from this WUF must continue to remain in Sleep mode, decoding CAN frames and looking for their matching WUF pattern. If the transceiver does not receive a valid WUF, and the ISO defined tSILENCE timer expires (timeout for bus inactivity), the ECU will re-enter deep sleep and bias the bus back to ground. Keep in mind that if other nodes are communicating, the CAN network will stay biased to 2.5 V and will no longer be in the deep sleep state but is still consuming less current than ECUs in standby or normal mode.
The ISO 11898-2:2016 standard covers the physical layer for high-speed CAN, CAN FD and PN. PN uses classical high-speed CAN for waking up an ECU but does not preclude the CAN network from using CAN FD during normal CAN traffic. CAN FD communication would typically generate a CAN error when used on a classic CAN node; the standard overcame this by using the CAN FD Format indicator (FDF) bit in the CAN packet. The FDF bit set to 1b indicates that the packet is CAN FD. This bit allows a PN-enabled CAN transceiver to determine if the frames are CAN FD.
PN-capable CAN transceivers have the ability to decide whether to indicate an error or to ignore the CAN FD frames by programming a SW_FD_PASSIVE bit. When this bit is set to 1b, CAN FD frames are ignored, which is known as CAN FD passive.
The benefit for using classical high-speed CAN for WUF is that a PN-enabled CAN transceiver does not need a precise internal clock. If a CAN FD frame was to be used, the CAN transceiver needs a 0.5% tolerant crystal to decode the WUF which adds system level cost.