6.6
Power Reduction Register
The power reduction register, PRR, provides a method to stop the clock to individual peripherals to reduce power
consumption. The current state of the peripheral is frozen and the I/O registers can not be read or written. Resources used
by the peripheral when stopping the clock will remain occupied, hence the peripheral should in most cases be disabled
before stopping the clock. Waking up a module, which is done by clearing the bit in PRR, puts the module in the same state
as before shutdown.
A full predictable behavior of a peripheral is not guaranteed during and after a cycle of stopping and starting of its clock. So
its recommended to stop a peripheral before stopping its clock with PRR register.
Module shutdown can be used in Idle mode and Active mode to significantly reduce the overall power consumption. In all
other sleep modes, the clock is already stopped.
6.6.1 Power Reduction Register - PRR
Bit
7
-
6
5
4
3
2
PRSPI
R/W
0
1
PRLIN
R/W
0
0
PRADC
R/W
0
PRCAN PRPSC PRTIM1 PRTIM0
PRR
Read/Write
Initial Value
R
0
R/W
0
R/W
0
R/W
0
R/W
0
• Bit 7 - Res: Reserved Bit
This bit is unused bit in the ATmega16/32/64/M1/C1, and will always read as zero.
• Bit 6 - PRCAN: Power Reduction CAN
Writing a logic one to this bit reduces the consumption of the CAN by stopping the clock to this module. When waking up the
CAN again, the CAN should be re initialized to ensure proper operation.
• Bit 5 - PRPSC: Power Reduction PSC
Writing a logic one to this bit reduces the consumption of the PSC by stopping the clock to this module. When waking up the
PSC again, the PSC should be re initialized to ensure proper operation.
• Bit 4 - PRTIM1: Power Reduction Timer/Counter1
Writing a logic one to this bit reduces the consumption of the Timer/Counter1 module. When the Timer/Counter1 is enabled,
operation will continue like before the setting of this bit.
• Bit 3 - PRTIM0: Power Reduction Timer/Counter0
Writing a logic one to this bit reduces the consumption of the Timer/Counter0 module. When the Timer/Counter0 is enabled,
operation will continue like before the setting of this bit.
• Bit 2 - PRSPI: Power Reduction Serial Peripheral Interface
Writing a logic one to this bit reduces the consumption of the serial peripheral interface by stopping the clock to this module.
When waking up the SPI again, the SPI should be re initialized to ensure proper operation.
• Bit 1 - PRLIN: Power Reduction LIN
Writing a logic one to this bit reduces the consumption of the UART controller by stopping the clock to this module. When
waking up the UART controller again, the UART controller should be re initialized to ensure proper operation.
• Bit 0 - PRADC: Power Reduction ADC
Writing a logic one to this bit reduces the consumption of the ADC by stopping the clock to this module. The ADC must be
disabled before using this function. The analog comparator cannot use the ADC input MUX when the clock of ADC is
stopped.
36
ATmega16/32/64/M1/C1 [DATASHEET]
7647O–AVR–01/15