BAT32G1x9 user manual | Chapter 22 CAN control
939 / 1149
Rev.1.02
22.11
Power-saving mode
22.11.1
CAN sleep mode
CAN sleep mode can be used to set the CAN controller to standby mode to reduce power consumption.
The CAN module can enter CAN sleep mode from all operating modes. The release of the CAN sleep mode
returns the CAN module to the operating mode before entering CAN sleep mode
In CAN sleep mode, the CAN module does not transmit messages even if the transfer request is issued
or suspended.
(1)
Enter CAN sleep mode
The CPU issues a CAN sleep mode conversion request by writing 01B to the PSMODE [1:0] bit of the
CnCTRL register.
This conversion request is Acknolwdgeed only under the following conditions.
- The CAN module is already operating in the following modes
- Normal operating mode
- Normal mode of operation with ABT
- Only accept modes
- Single-shot mode
- Self-test mode
- Stop mode in all of the above operating modes
- The CAN bus is idle
(bit 4 in interframe space is invisible)
Note
- There are no pending transfer requests
Note: If the CAN bus is fixed as dominant, requests transitioning to CAN sleep mode will be in a
pending state.
In addition, the transition from CAN stop mode to CAN sleep mode is also independent of the
CAN bus state.
Note: If a sleep mode request is pending and a message is received in the mailbox at the same
time, the sleep mode request is not canceled, but is executed as soon as the message
store is complete. If the CPU will perform an RX interrupt, this may result in FCAN in sleep
mode. Therefore, if the interrupt is in sleep mode, the interrupt must use the MBON flag to
check access to the packet buffer as well as to the receive history list register
If any of the above conditions are not met, the CAN module will run as follows:
- If the request enters CAN sleep mode from initialization mode, the CAN sleep mode conversion request
is ignored and the CAN module remains in initialization mode.
- If the CAN bus state is not bus idle (i.e. the CAN bus state is transmit or receive), the CAN sleep mode cannot
be immediately converted to CAN sleep mode when requested in one of the operating modes. In this case, the
CAN sleep mode transition request remains suspended until the CAN bus state becomes bus idle (bit 4 of the
interframe space is the recessive bit). During the time from the can sleep mode request to the successful
conversion, the PSMODE [1:0] bit remains 00B. When the module enters CAN sleep mode, the PSMODE [1:0]
bit is set to 01B. .
- If a transition request to initialization mode and a request to transition to CAN sleep mode are issued at the
same time while the CAN module is in one of the operating modes, the request for initialization mode transition
is enabled. The CAN module enters initialization mode at a predetermined time. At this point, the CAN sleep
mode request does not remain pending, but is ignored.
- Even if both initialization mode and sleep mode are not requested at the same time (that is, the first request is
not granted when the second request is issued), the initialization request has priority over the sleep mode
request. When you request initialization mode, the sleep mode request is canceled. When a pending request
for the initial mode appears, the subsequent requests for the sleep mode are deleted when published.