POWER MANAGEMENT

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