NOTICE: The Processors Wiki will End-of-Life in December of 2020. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.

Optimizing IO Power Consumption

From Texas Instruments Wiki
Jump to: navigation, search

Leakage Mechanism By Input Pin Floating[edit]

General CMOS input buffer consists of two transistors between VCC and GND. When input buffer is driven with fixed level (H or L), one transistor is ON and another transistor is OFF. In this case, there is no leakage since either of transistors is OFF and current between VCC and GND is shut. When input pin is floating, voltage level of this pin is not fixed. Sometime, it may be 0.5VCC, 0.3VCC. In this case, both transistors will be ON with resistance. This is mechanism of leakage by input pin floating. Please refer to Figure 1.

Figure 1. Input buffer leakage.
Fig1 inputbufferleakage.jpg

Bi-directional pin case[edit]

Basically, bi-directional pin consists of two buffers, output buffer and input buffer. General output buffer has enable line to drive output line. The enable line is controlled by internal logic and this is quit dependent on device specification. When output mode, this pin is driven by output buffer and fixed level is on the line. When the pin is input mode, external device should drive the pin. When the pin is input mode and floating, leakage current occurs. Please refer to Figure 2.

Figure 2. Bidirectional buffer leakage.
Fig2 bidirectionalbufferleakage.JPG

Internal pull-up/down case[edit]

TI’ standard pull-up/down cell is current source, not actual resistance. This current source fixes voltage level when pin is floating. When pin with pull-up cell is tied to H, there is no current flow. But when this pin is fixed to L, device leakage occurs. See Figure - 3 CASE3. Also when the pin with pull-down cell is fixed to H, system leakage occurs. This is not device leakage. Refer to Figure - 3 CASE5.


Figure 3. Internal pull-up/down cell.
Fig3 internalpullupdowncell.JPG


DM3xx Case Study[edit]

EMIF data bus (ARM_D[15:0])[edit]

EMIF data bus is made up of bi-directional pins. These should be configured as inputs when there is no access to EMIF. Pull-ups/downs are required. See Figure 4.

Figure 4. EMIF data bus case.
Fig4 emifdatabuscase.JPG

GIO case[edit]

GIO is bi-directional and input mode after reset. Most of case, pull-up or down resistor is required on GIO. Only one case, pull-up or down resister is not required. See Figure - 5.

Figure 5. GIO case.
Fig5 giocase.JPG

ARM_A / EM_CE / EM_OE / EM_WE case[edit]

These signals are bi-directional signals. IO configuration of these signals depends on EXTHOST (external pin) and EMREL bit (0x30A1A:0). EMREL bit controls enable line of output buffer. When EMREL = 1, output buffer is disabled and input buffer is floating. See Figure 2. Default (after reset) value of EMREL = 0. Table - 1 shows IO configuration for these signals. Requirement of pull-up/down resistor is same as GIO case. See Figure 5.

Table 1: IO configuration for ARM_A / EM_CE / EM_OE / EM_WE

EXTHOST EMREL IO
0 0 Output
0 1 Input (Hi-Z)
1 0 Input
1 1 Input (NA)


EM_WAIT case[edit]

EM_WAIT is bi-directional signal. IO configuration of EM_WAIT is depending on EXTHOST (external pin) and WAITEN (0x0002:0). WAITEN bit controls enable line of output buffer. WAITEN = 0, output buffer is disabled and input buffer is floating. See Figure 2. Default value of WAIEN bit is 0. Table 2 shows IO configuration of EM_WAIT. Requirement of pull-up/down resistor is same as GIO case. See Figure 5.

Table 2: IO configuration of EM_WAIT

EXTHOST WAITEN IO
0 0 Input
0 1 Input (NA)
1 0 Input (Hi-Z)
1 1 Output


IO Power Optimization Guidelines from OMAP3530 TRM[edit]

In order to optimize IO power, it is important to avoid unconnected or incorrectly-pulled pins.

Guidelines for avoiding extra current leakage:

  • For input pins, use a pull up/down when possible.
  • For output pins, check existing pulls to avoid conflicts.
  • For bidirectional pins, reconfigure the pin as an output driving 0 when possible.

Figure 6. IO optimization flow chart.
Fig6 iooptimizationflowchart.JPG

The I/O pads are software-controlled by:

  • Writing to the CONTROL.CONTROL_PADCONF_X registers in the Control Module for input/output and pull up/down configuration.
  • Writing to the GPIOi.GPIO_OE registers in the GPIO module for input/output configuration.

Figure 7. OMAP3530 Padconf register description .
Fig7 omappadconf.JPG

For more information about how to configure the I/O pads, see the System Control Module chapter in the OMAP3530 Technical Reference Manual.

For more information about the GPIO module, see the General-Purpose Interface chapter in the OMAP3530 Technical Reference Manual.


E2e.jpg {{
  1. switchcategory:MultiCore=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Optimizing IO Power Consumption here.

Keystone=
  • For technical support on MultiCore devices, please post your questions in the C6000 MultiCore Forum
  • For questions related to the BIOS MultiCore SDK (MCSDK), please use the BIOS Forum

Please post only comments related to the article Optimizing IO Power Consumption here.

C2000=For technical support on the C2000 please post your questions on The C2000 Forum. Please post only comments about the article Optimizing IO Power Consumption here. DaVinci=For technical support on DaVincoplease post your questions on The DaVinci Forum. Please post only comments about the article Optimizing IO Power Consumption here. MSP430=For technical support on MSP430 please post your questions on The MSP430 Forum. Please post only comments about the article Optimizing IO Power Consumption here. OMAP35x=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Optimizing IO Power Consumption here. OMAPL1=For technical support on OMAP please post your questions on The OMAP Forum. Please post only comments about the article Optimizing IO Power Consumption here. MAVRK=For technical support on MAVRK please post your questions on The MAVRK Toolbox Forum. Please post only comments about the article Optimizing IO Power Consumption here. For technical support please post your questions at http://e2e.ti.com. Please post only comments about the article Optimizing IO Power Consumption here.

}}

Hyperlink blue.png Links

Amplifiers & Linear
Audio
Broadband RF/IF & Digital Radio
Clocks & Timers
Data Converters

DLP & MEMS
High-Reliability
Interface
Logic
Power Management

Processors

Switches & Multiplexers
Temperature Sensors & Control ICs
Wireless Connectivity