ZHCS898O October 2003 – March 2019 TMS320F2801 , TMS320F28015 , TMS320F28016 , TMS320F2802 , TMS320F2806 , TMS320F2808 , TMS320F2809
PRODUCTION DATA.
请参考 PDF 数据表获取器件具体的封装图。
On the 280x, the GPIO MUX can multiplex up to three independent peripheral signals on a single GPIO pin in addition to providing individual pin bit-banging IO capability. The GPIO MUX block diagram per pin is shown in Figure 6-16. Because of the open-drain capabilities of the I2C pins, the GPIO MUX block diagram for these pins differ. See the TMS320x280x, 2801x, 2804x DSP system control and interrupts reference guide for details.
The 280x supports 34 GPIO pins. The GPIO control and data registers are mapped to Peripheral Frame 1 to enable 32-bit operations on the registers (along with 16-bit operations). Table 6-16 shows the GPIO register mapping.
NAME | ADDRESS | SIZE (x16) | DESCRIPTION |
---|---|---|---|
GPIO CONTROL REGISTERS (EALLOW PROTECTED) | |||
GPACTRL | 0x6F80 | 2 | GPIO A Control Register (GPIO0 to 31) |
GPAQSEL1 | 0x6F82 | 2 | GPIO A Qualifier Select 1 Register (GPIO0 to 15) |
GPAQSEL2 | 0x6F84 | 2 | GPIO A Qualifier Select 2 Register (GPIO16 to 31) |
GPAMUX1 | 0x6F86 | 2 | GPIO A MUX 1 Register (GPIO0 to 15) |
GPAMUX2 | 0x6F88 | 2 | GPIO A MUX 2 Register (GPIO16 to 31) |
GPADIR | 0x6F8A | 2 | GPIO A Direction Register (GPIO0 to 31) |
GPAPUD | 0x6F8C | 2 | GPIO A Pull Up Disable Register (GPIO0 to 31) |
Reserved | 0x6F8E –
0x6F8F |
2 | Reserved |
GPBCTRL | 0x6F90 | 2 | GPIO B Control Register (GPIO32 to 35) |
GPBQSEL1 | 0x6F92 | 2 | GPIO B Qualifier Select 1 Register (GPIO32 to 35) |
GPBQSEL2 | 0x6F94 | 2 | Reserved |
GPBMUX1 | 0x6F96 | 2 | GPIO B MUX 1 Register (GPIO32 to 35) |
GPBMUX2 | 0x6F98 | 2 | Reserved |
GPBDIR | 0x6F9A | 2 | GPIO B Direction Register (GPIO32 to 35) |
GPBPUD | 0x6F9C | 2 | GPIO B Pull Up Disable Register (GPIO32 to 35) |
Reserved | 0x6F9E –
0x6F9F |
2 | Reserved |
Reserved | 0x6FA0 –
0x6FBF |
32 | Reserved |
GPIO DATA REGISTERS (NOT EALLOW PROTECTED) | |||
GPADAT | 0x6FC0 | 2 | GPIO Data Register (GPIO0 to 31) |
GPASET | 0x6FC2 | 2 | GPIO Data Set Register (GPIO0 to 31) |
GPACLEAR | 0x6FC4 | 2 | GPIO Data Clear Register (GPIO0 to 31) |
GPATOGGLE | 0x6FC6 | 2 | GPIO Data Toggle Register (GPIO0 to 31) |
GPBDAT | 0x6FC8 | 2 | GPIO Data Register (GPIO32 to 35) |
GPBSET | 0x6FCA | 2 | GPIO Data Set Register (GPIO32 to 35) |
GPBCLEAR | 0x6FCC | 2 | GPIO Data Clear Register (GPIO32 to 35) |
GPBTOGGLE | 0x6FCE | 2 | GPIO Data Toggle Register (GPIO32 to 35) |
Reserved | 0x6FD0 –
0x6FDF |
16 | Reserved |
GPIO INTERRUPT AND LOW POWER MODES SELECT REGISTERS (EALLOW PROTECTED) | |||
GPIOXINT1SEL | 0x6FE0 | 1 | XINT1 GPIO Input Select Register (GPIO0 to 31) |
GPIOXINT2SEL | 0x6FE1 | 1 | XINT2 GPIO Input Select Register (GPIO0 to 31) |
GPIOXNMISEL | 0x6FE2 | 1 | XNMI GPIO Input Select Register (GPIO0 to 31) |
Reserved | 0x6FE3 –
0x6FE7 |
5 | Reserved |
GPIOLPMSEL | 0x6FE8 | 2 | LPM GPIO Select Register (GPIO0 to 31) |
Reserved | 0x6FEA –
0x6FFF |
22 | Reserved |
GPAMUX1/2(3)
REGISTER BITS |
DEFAULT AT RESET
PRIMARY I/O FUNCTION (GPxMUX1/2 BITS = 0,0) |
PERIPHERAL
SELECTION 1(1) (GPxMUX1/2 BITS = 0,1) |
PERIPHERAL
SELECTION 2 (GPxMUX1/2 BITS = 1,0) |
PERIPHERAL
SELECTION 3 (GPxMUX1/2 BITS = 1,1) |
---|---|---|---|---|
GPAMUX1 | ||||
1–0 | GPIO0 | EPWM1A (O) | Reserved(2) | Reserved(2) |
3–2 | GPIO1 | EPWM1B (O) | SPISIMOD (I/O) | Reserved(2) |
5–4 | GPIO2 | EPWM2A (O) | Reserved(2) | Reserved(2) |
7–6 | GPIO3 | EPWM2B (O) | SPISOMID (I/O) | Reserved(2) |
9–8 | GPIO4 | EPWM3A (O) | Reserved(2) | Reserved(2) |
11–10 | GPIO5 | EPWM3B (O) | SPICLKD (I/O) | ECAP1 (I/O) |
13–12 | GPIO6 | EPWM4A (O) | EPWMSYNCI (I) | EPWMSYNCO (O) |
15–14 | GPIO7 | EPWM4B (O) | SPISTED (I/O) | ECAP2 (I/O) |
17–16 | GPIO8 | EPWM5A (O) | CANTXB (O) | ADCSOCAO (O) |
19–18 | GPIO9 | EPWM5B (O) | SCITXDB (O) | ECAP3 (I/O) |
21–20 | GPIO10 | EPWM6A (O) | CANRXB (I) | ADCSOCBO (O) |
23–22 | GPIO11 | EPWM6B (O) | SCIRXDB (I) | ECAP4 (I/O) |
25–24 | GPIO12 | TZ1 (I) | CANTXB (O) | SPISIMOB (I/O) |
27–26 | GPIO13 | TZ2 (I) | CANRXB (I) | SPISOMIB (I/O) |
29–28 | GPIO14 | TZ3 (I) | SCITXDB (O) | SPICLKB (I/O) |
31–30 | GPIO15 | TZ4 (I) | SCIRXDB (I) | SPISTEB (I/O) |
GPAMUX2 | ||||
1–0 | GPIO16 | SPISIMOA (I/O) | CANTXB (O) | TZ5 (I) |
3–2 | GPIO17 | SPISOMIA (I/O) | CANRXB (I) | TZ6 (I) |
5–4 | GPIO18 | SPICLKA (I/O) | SCITXDB (O) | Reserved(2) |
7–6 | GPIO19 | SPISTEA (I/O) | SCIRXDB (I) | Reserved(2) |
9–8 | GPIO20 | EQEP1A (I) | SPISIMOC (I/O) | CANTXB (O) |
11–10 | GPIO21 | EQEP1B (I) | SPISOMIC (I/O) | CANRXB (I) |
13–12 | GPIO22 | EQEP1S (I/O) | SPICLKC (I/O) | SCITXDB (O) |
15–14 | GPIO23 | EQEP1I (I/O) | SPISTEC (I/O) | SCIRXDB (I) |
17–16 | GPIO24 | ECAP1 (I/O) | EQEP2A (I) | SPISIMOB (I/O) |
19–18 | GPIO25 | ECAP2 (I/O) | EQEP2B (I) | SPISOMIB (I/O) |
21–20 | GPIO26 | ECAP3 (I/O) | EQEP2I (I/O) | SPICLKB (I/O) |
23–22 | GPIO27 | ECAP4 (I/O) | EQEP2S (I/O) | SPISTEB (I/O) |
25–24 | GPIO28 | SCIRXDA (I) | Reserved(2) | TZ5 (I) |
27–26 | GPIO29 | SCITXDA (O) | Reserved(2) | TZ6 (I) |
29–28 | GPIO30 | CANRXA (I) | Reserved(2) | Reserved(2) |
31–30 | GPIO31 | CANTXA (O) | Reserved(2) | Reserved(2) |
GPBMUX1 | ||||
1–0 | GPIO32 | SDAA (I/OC) | EPWMSYNCI (I) | ADCSOCAO (O) |
3–2 | GPIO33 | SCLA (I/OC) | EPWMSYNCO (O) | ADCSOCBO (O) |
5–4 | GPIO34 | Reserved(2) | Reserved(2) | Reserved(2) |
The user can select the type of input qualification for each GPIO pin via the GPxQSEL1/2 registers from four choices:
Due to the multi-level multiplexing that is required on the 280x device, there may be cases where a peripheral input signal can be mapped to more then one GPIO pin. Also, when an input signal is not selected, the input signal will default to either a 0 or 1 state, depending on the peripheral.