Power Management Techniques
BeagleBoard-Xm Processor Support A Rich Set Of Power Management Techniques
- Dynamic Voltage Scaling
- Disable Power Rail of Modules (Ex:Disable Supply to USB-Hub)
- Dynamic Frequency Scaling
- Video Encoding And Decoding Running DSP/ARM
- Clocks Gating(Done By Kernel While Boot-up)
- Disable Unused Modules
Voltage Scaling
BeagleBoard-Xm has Dynamic Voltage Scaling Provision. VDD1 and VDD2 regulators on the TPS65950 provide SmartReflex-compliant voltage management. The SmartReflex controller in the processor interfaces with the TPS65950 counterpart through the use of a dedicated I2C bus. The processor computes the required voltage and informs the TPS65950 using the SmartReflex I2C interface.
The various components in the TPS65950 are controlled from the processor via the I2C interface. I2C_1 is used to control the TPS65950 device.
Frequency Scaling
Cpufreq framework provides support to change frequency of processor on the run. This helps to save processor power, when the load is less (processor power is proportional to frequency and square of the voltage). cpufreq framework works in conjunction with driver & governor.
- cpufreq driver provides link for framework to achieve frequency change at the hardware level.
- cpufreq governor decides frequency at which processor should run. Various governors like ondemand, userspace, performance (self descriptive names) exist in Linux Kernel.
root@beagleboard:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
conservative ondemand userspace powersave performance
root@beagleboard:~# echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governors
root@beagleboard:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
300000 600000 800000 //frequency in KHz
root@beagleboard:~# echo 600000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed
Disable Unused Modules
Example (D5 Power Led, DVI-D and RS232)
Disable Aux_3v3 on BeagleBoard-Xm : AUX_3v3 Provides Supply Rail to D5 Power LED, DVI-D , RS232 Level converter and RS232 Line Divider. Output Disable Pin of the AUX_3v3 connected to TPS65950 GPIO.1 on N12 Pin.
Connection:
TPS65950 GPIO.1 on N12 pin → LDO_EN pin on TPS2141 PWP ( AUX_3v3) →Power Rail ( D5 LED, DVI-D, RS232 Level Convertor (Txs0102dco) and RS232 Line Divider(SN65c3221) ).
AUX_3v3 supply can be turned off by Activating GPIO1 on TPS65950 to 1. Power management IC TPS65950 on BeagleBoard-Xm has Provision of communication with BeagleBoard-Xm through Specific I2C (Inter-IC) Module I2C.1. This Activating of GPIO1 on TPS65950 Done by I2C communication with BeaglBoard-Xm.
Install the i2c-tools_3.0.3-r0_armv7a.ipk package on BeagleBoard-Xm.
$opkg install i2c-tools_3.0.3-r0_armv7a.ipk
By Default GPIO.1 on TPS65950 set to 0 .
Command to set the GPIO.1 on TPS65950 to 1.
$i2c -f -y 1 0x49 0x000000a4 0x02
0x49 → Chip Address of TPS65950
0x000000a4 → SetGPIODATAOUT1 Register Address
0x02 → Value to Set GPIO.1 on TPS65950
This command test can Be Done by Verifying D5 POWER LED on Board, RS232 Communication.
This Result save Power Consumption of 120mA.
Command to RESET GPIO.1 on TPS65950
$i2c -f -y 1 0x49 0x000000a4 0x02
0x49 → Chip Address of TPS65950
0x000000a4 → ClearGPIODATAOUT1 Register Address
0x02 → Value to Set GPIO.1 on TPS65950
No comments:
Post a Comment