
CHAPTER 19 CAN CONTROLLER
User’s Manual U16541EJ4V0UD
798
19.11 Power Saving Modes
19.11.1 CAN sleep mode
The CAN sleep mode can be used to set the CAN controller to standby mode in order to reduce power
consumption. The CAN module can enter the CAN sleep mode from all operation modes. Release of the CAN sleep
mode returns the CAN module to exactly the same operation mode from which the CAN sleep mode was entered.
In the CAN sleep mode, the CAN module does not transmit messages, even when transmission requests are
issued or pending.
(1) Entering CAN sleep mode
The CPU issues a CAN sleep mode transition request by writing 01B to the C0CTRL.PSMODE1 and
C0CTRL.PSMODE0 bits.
This transition request is only acknowledged only under the following conditions.
(i) The CAN module is already in one of the following operation modes
Normal operation mode
Normal operation mode with ABT
Receive-only mode
Single-shot mode
Self-test mode
CAN stop mode in all the above operation modes
(ii) The CAN bus state is bus idle (the 4th bit in the interframe space is recessive)
Note
If the CAN bus is fixed to dominant, the request for transition to the CAN sleep mode is held
pending. Also the transition from CAN stop mode to CAN sleep mode is independent of the CAN
bus state.
(iii) No transmission request is pending
If any one of the conditions mentioned above is not met, the CAN module will operate as follows.
If the CAN sleep mode is requested from the initialization mode, the CAN sleep mode transition request
is ignored and the CAN module remains in the initialization mode.
If the CAN bus state is not bus idle (i.e., the CAN bus state is either transmitting or receiving) when the
CAN sleep mode is requested in one of the operation modes, immediate transition to the CAN sleep
mode is not possible. In this case, the CAN sleep mode transition request has to be held pending until
the CAN bus state becomes bus idle (the 4th bit in the interframe space is recessive). In the time from
the CAN sleep mode request to successful transition, the PSMODE1 and PSMODE0 bits remain 00B.
When the module has entered the CAN sleep mode, the PSMODE1 and PSMODE0 bits are set to 01B.
If a request for transition to the initialization mode and a request for transition to the CAN sleep mode
are made at the same time while the CAN module is in one of the operation modes, the request for the
initialization mode is enabled. The CAN module enters the initialization mode at a predetermined timing.
At this time, the CAN sleep mode request is not held pending and is ignored.
Even when the initialization mode and sleep mode are not requested simultaneously (i.e the first request
was not granted when a second request was made), the request for initialization has priority over the
CAN sleep mode request. The CAN sleep mode request is cancelled when the initialization mode is
requested. When a pending request for the initialization mode is present, a subsequent request for the
CAN sleep mode request is cancelled right at the point in time when it was submitted.