Datasheet
www.ti.com
Functional Description of GIO Module
25.3 Functional Description of GIO Module
As shown earlier in Figure 25-1 the GIO module comprises of two separate components: an input/output
(I/O) block and an interrupt block.
25.3.1 I/O Functions
The I/O block allows each GIO terminal to be configured for use as a general-purpose input or output in
the application. The GIO module supports multiple registers to control the various aspects of the input and
output functions. These are described as follows.
• Data direction ( GIODIR)
Configures GIO terminal(s) as input or output through the GIODIRx registers.
• Data input ( GIODIN)
Reflects the logic level on GIO terminals in the GIODINx registers. A high voltage (V
IH
or greater)
applied to the pin causes a high value (1) in the data input register ( GIODIN[7:0]). When a low voltage
(V
IL
or less) is applied to the pin, the data input register reads a low value (0). The V
IH
and V
IL
values
are device specific and can be found in the device datasheet.
• Data output ( GIODOUT)
Configures the logic level to be output on GIO terminal(s) configured as outputs. A low value (0) written
to the data output register forces the pin to a low output voltage (V
OL
or lower). A high value (1) written
to the data output register (GIODOUTx) forces the pin to a high output voltage (V
OH
or higher) if the
open drain functionality is disabled (GIOPDRx[7:0]). If open drain functionality is enabled, a high value
(1) written to the data output register forces the pin to a high-impedance state (Z).
• Data set ( GIODSET)
Allows logic HIGH to be output on GIO terminal(s) configured as outputs by writing 1's to the required
bits in the GIODSETx registers. If open drain functionality is enabled, a high value (1) written to the
data output register forces the pin to a high-impedance state (Z). The GIODSETx registers eliminate
the need for the application to perform a read-modify-write operation when it needs to set one or more
GIO pin(s).
• Data clear ( GIODCLR)
Allows logic LOW to be output on GIO terminal(s) configured as outputs by writing 1s to the required
bits in the GIODCLRx registers. The GIODCLRx registers eliminate the need for the application to
perform a read-modify-write operation when it needs to clear one or more GIO pin(s).
• Open drain ( GIOPDR)
Open drain functionality is enabled or disabled using the open drain register GIOPDR[7:0] register. If
open-drain mode output is enabled on a pin, a high value (1) written to the data output register
(GIODOUTx[7:0]) forces the pin to a high impedance state (Z).
• Pull disable ( GIOPULDIS)
Disables the internal pull on GIO terminal(s) configured as inputs by writing to the GIOPULDISx
registers.
• Pull select ( GIOSPL)
Selects internal pull down or pull up on GIO terminal(s) configured as inputs by writing to the
GIOPULSELx registers.
Refer to the specific device's datasheet to identify the number of GIO ports as well as the input and output
functions supported. Some devices may not support the programmable pull controls. In that case, the pull
disable and the pull select register controls will not work.
25.3.2 Interrupt Function
The GIO module supports up to 32 terminals to be configured for generating an interrupt to the host
processor through the Vectored Interrupt Manager (VIM). The main functions of the interrupt block are:
• Select the GIO pin(s) that is/are used to generate interrupt(s)
This is done via the interrupt enable set and clear registers, GIOENASET and GIOENACLR
• Select the edge on the selected GIO pin(s) that is/are used to generate interrupt(s): rising/falling/both
1121
SPNU562–May 2014 General-Purpose Input/Output (GIO) Module
Submit Documentation Feedback
Copyright © 2014, Texas Instruments Incorporated