NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. 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.
General Guidelines for Reducing I/O Power Consumption
Contents
- 1 Guidelines to achieve minimum I/O power consumption.
- 1.1 The following General Recommendations should always be implemented.
- 1.2 When configuring a pin as GPIO, the recommendations for obtaining the lowest power consumption are the following:
- 1.3 For the pins that are unable to be configured as GPIOs or those which might/might-not have internal pull up (IPU) or internal pull down (IPD) resistors, the recommendations for these pin state configuration are:
Guidelines to achieve minimum I/O power consumption.[edit]
The following General Recommendations should always be implemented. [edit]
- No floating pins (an input pin with nothing driving/pulling it high or low)
- No toggling pins (input or output)
- No pins driving in the direction opposite of the Internal pull up/down resistors
- No bus contention with other external ICs (no pins driving opposing values on the same bus)
NOTE: The easiest method to implement the above recommendations is to configure the pins as GPIOs via the System PINMUX registers.
When configuring a pin as GPIO, the recommendations for obtaining the lowest power consumption are the following:[edit]
- If a pin is not connected to anything
- If pin does have an internal (IPU/IPD) resistor
- Either: You can set the pin as an output and drive it in the same direction as the internal pull resistor or
- You can leave the GPIO configured as an input if there is an IPU/IPD.
- If pin does not have an internal (IPU/IPD) resistor.
- The pin can be driven either high or low.
- The pin can be driven either high or low.
- If pin does have an internal (IPU/IPD) resistor
- If a pin is connected to an external pull resistor
- Set the pin as an output and drive it in the same direction as the external pull resistor.
- If a pin is connected to an external driver
- If pin does have an internal (IPU/IPD) resistor.
- Ideally, set the external driver to drive the bus in the same direction as the internal pull resistor on the device pin that it is connected to.
- If pin does not have an internal (IPU/IPD) resistor.
- Prevent external driver from toggling the value of this pin
- Pin can be externally driven either high or low.
- If pin does have an internal (IPU/IPD) resistor.
- If a pin is connected to an external receiver.
- If pin does not have an internal (IPU/IPD) resistor.
- Set the device pin as an output and the pin can be driven either high or low.
- If pin does have an internal (IPU/IPD) resistor.
- Drive the pin in the same direction as the internal pull resistor.
- If pin does not have an internal (IPU/IPD) resistor.
How to configure a pin as GPIO and control its behavior:
- Ensure that the PSC clk to the GPIO module is enabled.
- Set the pin’s corresponding bit in the System PINMUX registers to the GPIO setting.
- Set the direction of the GPIO pin in the GPIO Direction Registers (DIRn) of the GPIO module.
- If configured as an output, set the desired output value of the GPIO by using the GPIO OUT/SET/CLEAR registers.
Note: The deepsleep mode will preserve this GPIO register settings even after disabling the PSC clk to the GPIO module.
For the pins that are unable to be configured as GPIOs or those which might/might-not have internal pull up (IPU) or internal pull down (IPD) resistors, the recommendations for these pin state configuration are:[edit]
In General:[edit]
- If a pin is not connected to anything
- If internal pull (IPU/IPD) resistor exists.
- Leave it disconnected.
- If pin does not have an internal(IPU/IPD) resistor and is not driven low/high at reset
- Connect an external pull resistor.
- If internal pull (IPU/IPD) resistor exists.
- If a pin is connected to an external pull resistor
- Just make sure that the external pull resistor does not oppose the defult state of the pin.
- If a pin is connected to an external driver
- If pin does not have an internal (IPU/IPD) resistor.
- Prevent external driver from toggling the value of this pin
- Pin can be externally driven either high or low.
- If pin does have an internal (IPU/IPD) resistor.
- Ideally, set the external driver to drive the bus in the same direction as the internal pull resistor on the device pin that it is connected to.
- If pin does not have an internal (IPU/IPD) resistor.
- If a pin is connected to an external receiver
- If internal pull resistor (IPU/IPD) exist.
- Ensure that no external pull resistors oppose Internal pull resistor.
- If no internal pull resistor (IPU/IPD) exist.
- The pin should be driven either high or low with an external pull resistor.
- If internal pull resistor (IPU/IPD) exist.