Rainbow Electronics AT91CAP9S250A User Manual

Page 695

Advertising
background image

695

6264A–CAP–21-May-07

AT91CAP9S500A/AT91CAP9S250A

Figure 39-8. Enabling Low-power Mode

39.6.5.2

Disabling Low-power Mode

The CAN controller can be awake after detecting a CAN bus activity. Bus activity detection is
done by an external module that may be embedded in the chip. When it is notified of a CAN
bus activity, the software application disables Low-power Mode by programming the CAN
controller.

To disable Low-power Mode, the software application must:

– Enable the CAN Controller clock. This is done by programming the Power

Management Controller (PMC).

– Clear the LPM field in the CAN_MR register

The CAN controller synchronizes itself with the bus activity by checking for eleven consecutive
“recessive” bits. Once synchronized, the WAKEUP signal in the CAN_SR register is set.

Depending on the corresponding mask in the CAN_IMR register, an interrupt is generated
while WAKEUP is set. The SLEEP signal in the CAN_SR register is automatically cleared
once WAKEUP is set. WAKEUP signal is automatically cleared once SLEEP is set.

If no message is being sent on the bus, then the CAN controller is able to send a message
eleven bit times after disabling Low-power Mode.

If there is bus activity when Low-power mode is disabled, the CAN controller is synchronized
with the bus activity in the next interframe. The previous message is lost (see

Figure 39-9

).

SLEEP

(CAN_SR)

MRDY

(CAN_MSR1)

LPM

(CAN_MR)

LPEN= 1

CAN BUS

MRDY

(CAN_MSR3)

Mailbox 1

Mailbox 3

Arbitration lost

WAKEUP

(CAN_SR)

0x0

CAN_TIM

Advertising