ZHCS889Q June 2007 – August 2022 TMS320F28232 , TMS320F28232-Q1 , TMS320F28234 , TMS320F28234-Q1 , TMS320F28235 , TMS320F28235-Q1 , TMS320F28332 , TMS320F28333 , TMS320F28334 , TMS320F28335 , TMS320F28335-Q1
PRODUCTION DATA
请参考 PDF 数据表获取器件具体的封装图。
在 2833x/2823x 器件上,除了提供独立的引脚 Bit-banging I/O 功能外,GPIO MUX 还可以将最多 3 个独立的外设信号多路复用到单个 GPIP 引脚上。每个引脚的 GPIO MUX 方框图显示在图 8-18中。由于 I2C 引脚的开漏功能,这些引脚的 GPIO MUX 方框图是不同的。有关详细信息,请参阅 TMS320x2833x、MS320x2823x 实时微控制器技术参考手册 中的“系统控制和中断”一章。
从写入 GPxMUXn 和 GPxQSELn 寄存器发生到动作有效有两个 SYSCLKOUT 周期延迟。
器件支持 88 个 GPIO 引脚。GPIO 控制和数据寄存器会映射到外设帧 1,以便在寄存器上实现 32 位运行(连同 16 位运行)。表 8-17显示了 GPIO 寄存器映射。
名称 | 地址 | 大小 (x16) | 说明 |
---|---|---|---|
GPIO 控制寄存器(受 EALLOW 保护) | |||
GPACTRL | 0x6F80 | 2 | GPIO A 控制寄存器(GPIO0 至 31) |
GPAQSEL1 | 0x6F82 | 2 | GPIO A 限定器选择 1 寄存器(GPIO0 至 15) |
GPAQSEL2 | 0x6F84 | 2 | GPIO A 限定器选择 2 寄存器(GPIO16 至 31) |
GPAMUX1 | 0x6F86 | 2 | GPIO A 多路复用器 1 寄存器(GPIO0 至 15) |
GPAMUX2 | 0x6F88 | 2 | GPIO A 多路复用器 2 寄存器(GPIO16 至 31) |
GPADIR | 0x6F8A | 2 | GPIO A 方向寄存器(GPIO0 至 31) |
GPAPUD | 0x6F8C | 2 | GPIO A 上拉禁用寄存器(GPIO0 至 31) |
保留 | 0x6F8E-0x6F8F | 2 | |
GPBCTRL | 0x6F90 | 2 | GPIO B 控制寄存器(GPIO32 至 63) |
GPBQSEL1 | 0x6F92 | 2 | GPIO B 限定器选择 1 寄存器(GPIO32 至 47) |
GPBQSEL2 | 0x6F94 | 2 | GPIOB 限定符选择 2 寄存器(GPIO48 至 63) |
GPBMUX1 | 0x6F96 | 2 | GPIO B MUX 1 寄存器(GPIO32 至 47) |
GPBMUX2 | 0x6F98 | 2 | GPIO B MUX 2 寄存器(GPIO48 至 63) |
GPBDIR | 0x6F9A | 2 | GPIO B 方向寄存器(GPIO32 至 63) |
GPBPUD | 0x6F9C | 2 | GPIO B 上拉禁用寄存器(GPIO32 至 63) |
保留 | 0x6F9E-0x6FA5 | 8 | |
GPCMUX1 | 0x6FA6 | 2 | GPIO C MUX1 寄存器(GPIO64 至 79) |
GPCMUX2 | 0x6FA8 | 2 | GPIO C MUX2 寄存器(GPIO80 至 87) |
GPCDIR | 0x6FAA | 2 | GPIO C 方向寄存器 (GPIO64 至 GPIO 87) |
GPCPUD | 0x6FAC | 2 | GPIO C 上拉禁用寄存器(GPIO64 至 87) |
保留 | 0x6FAE–0x6FBF | 18 | |
GPIO 数据寄存器(不受 EALLOW 保护) | |||
GPADAT | 0x6FC0 | 2 | GPIO A 数据寄存器(GPIO0 至 31) |
GPASET | 0x6FC2 | 2 | GPIO A 数据集寄存器(GPIO0 至 31) |
GPACLEAR | 0x6FC4 | 2 | GPIO A 数据清除寄存器(GPIO0 至 31) |
GPATOGGLE | 0x6FC6 | 2 | GPIO A 数据切换寄存器(GPIO0 至 31) |
GPBDAT | 0x6FC8 | 2 | GPIO B 数据寄存器(GPIO32 至 63) |
GPBSET | 0x6FCA | 2 | GPIO B 数据设定寄存器(GPIO32 至 63) |
GPBCLEAR | 0x6FCC | 2 | GPIO B 数据清除寄存器(GPIO32 至 63) |
GPBTOGGLE | 0x6FCE | 2 | GPIO B 数据切换寄存器(GPIO32 至 63) |
GPCDAT | 0x6FD0 | 2 | GPIO C 数据寄存器(GPIO64 至 87) |
GPCSET | 0x6FD2 | 2 | GPIO C 数据设定寄存器(GPIO64 至 87) |
GPCCLEAR | 0x6FD4 | 2 | GPIO C 数据清除寄存器(GPIO64 至 87) |
GPCTOGGLE | 0x6FD6 | 2 | GPIO C 数据切换寄存器(GPIO64 至 87) |
保留 | 0x6FD8-0x6FDF | 8 | |
GPIO 中断和低功耗模式选择寄存器(受 EALLOW 保护) | |||
GPIOXINT1SEL | 0x6FE0 | 1 | XINT1 GPIO 输入选择寄存器(GPIO0 至 31) |
GPIOXINT2SEL | 0x6FE1 | 1 | XINT2 GPIO 输入选择寄存器(GPIO0 至 31) |
GPIOXNMISEL | 0x6FE2 | 1 | XNMI GPIO 输入选择寄存器(GPIO0 至 31) |
GPIOXINT3SEL | 0x6FE3 | 1 | XINT3 GPIO 输入选择寄存器(GPIO32 至 63) |
GPIOXINT4SEL | 0x6FE4 | 1 | XINT4 GPIO 输入选择寄存器(GPIO32 至 63) |
GPIOXINT5SEL | 0x6FE5 | 1 | XINT5 GPIO 输入选择寄存器(GPIO32 至 63) |
GPIOXINT6SEL | 0x6FE6 | 1 | XINT6 GPIO 输入选择寄存器(GPIO32 至 63) |
GPIOINT7SEL | 0x6FE7 | 1 | XINT7 GPIO 输入选择寄存器(GPIO32 至 63) |
GPIOLPMSEL | 0x6FE8 | 2 | LPM GPIO 选择寄存器(GPIO0 至 31) |
保留 | 0x6FEA-0x6FFF | 22 |
寄存器位 | 外设选择 | |||||
---|---|---|---|---|---|---|
GPADIR GPADAT GPASET GPACLR GPATOGGLE |
GPAMUX1 GPAQSEL1 |
GPIOx GPAMUX1 = 0,0 |
PER1 GPAMUX1 = 0, 1 |
PER2 GPAMUX1 = 1, 0 |
PER3 GPAMUX1 = 1, 1 |
|
QUALPRD0 | 0 | 1, 0 | GPIO0 (I/O) | EPWM1A (O) | 保留 | 保留 |
1 | 3, 2 | GPIO1 (I/O) | EPWM1B (O) | ECAP6 (I/O) | MFSRB (I/O) | |
2 | 5, 4 | GPIO2 (I/O) | EPWM2A (O) | 保留 | 保留 | |
3 | 7, 6 | GPIO3 (I/O) | EPWM2B (O) | ECAP5 (I/O) | MCLKRB (I/O) | |
4 | 9, 8 | GPIO4 (I/O) | EPWM3A (O) | 保留 | 保留 | |
5 | 11, 10 | GPIO5 (I/O) | EPWM3B (O) | MFSRA (I/O) | ECAP1 (I/O) | |
6 | 13, 12 | GPIO6 (I/O) | EPWM4A (O) | EPWMSYNCI (I) | EPWMSYNCO (O) | |
7 | 15, 14 | GPIO7 (I/O) | EPWM4B (O) | MCLKRA (I/O) | ECAP2 (I/O) | |
QUALPRD1 | 8 | 17, 16 | GPIO8 (I/O) | EPWM5A (O) | CANTXB (O) | ADCSOCAO(O) |
9 | 19, 18 | GPIO9 (I/O) | EPWM5B (O) | SCITXDB (O) | ECAP3 (I/O) | |
10 | 21, 20 | GPIO10 (I/O) | EPWM6A (O) | CANRXB (I) | ADCSOCBO(O) | |
11 | 23, 22 | GPIO11 (I/O) | EPWM6B (O) | SCIRXDB (I) | ECAP4 (I/O) | |
12 | 25, 24 | GPIO12 (I/O) | TZ1(I) | CANTXB (O) | MDXB (O) | |
13 | 27, 26 | GPIO13 (I/O) | TZ2(I) | CANRXB (I) | MDRB (I) | |
14 | 29, 28 | GPIO14 (I/O) | TZ3 (I)/ XHOLD (I) | SCITXDB (O) | MCLKXB (I/O) | |
15 | 31, 30 | GPIO15 (I/O) | TZ4 (I)/ XHOLDA (O) | SCIRXDB (I) | MFSXB (I/O) | |
GPAMUX2 GPAQSEL2 |
GPAMUX2 = 0, 0 | GPAMUX2 = 0, 1 | GPAMUX2 = 1, 0 | GPAMUX2 = 1, 1 | ||
QUALPRD2 | 16 | 1, 0 | GPIO16 (I/O) | SPISIMOA (I/O) | CANTXB (O) | TZ5(I) |
17 | 3, 2 | GPIO17 (I/O) | SPISOMIA (I/O) | CANRXB (I) | TZ6(I) | |
18 | 5, 4 | GPIO18 (I/O) | SPICLKA (I/O) | SCITXDB (O) | CANRXA (I) | |
19 | 7, 6 | GPIO19 (I/O) | SPISTEA(I/O) | SCIRXDB (I) | CANTXA (O) | |
20 | 9, 8 | GPIO20 (I/O) | EQEP1A (I) | MDXA (O) | CANTXB (O) | |
21 | 11, 10 | GPIO21 (I/O) | EQEP1B (I) | MDRA (I) | CANRXB (I) | |
22 | 13, 12 | GPIO22 (I/O) | EQEP1S (I/O) | MCLKXA (I/O) | SCITXDB (O) | |
23 | 15, 14 | GPIO23 (I/O) | EQEP1I (I/O) | MFSXA (I/O) | SCIRXDB (I) | |
QUALPRD3 | 24 | 17, 16 | GPIO24 (I/O) | ECAP1 (I/O) | EQEP2A (I) | MDXB (O) |
25 | 19, 18 | GPIO25 (I/O) | ECAP2 (I/O) | EQEP2B (I) | MDRB (I) | |
26 | 21, 20 | GPIO26 (I/O) | ECAP3 (I/O) | EQEP2I (I/O) | MCLKXB (I/O) | |
27 | 23, 22 | GPIO27 (I/O) | ECAP4 (I/O) | EQEP2S (I/O) | MFSXB (I/O) | |
28 | 25, 24 | GPIO28 (I/O) | SCIRXDA (I) | XZCS6(O) | ||
29 | 27, 26 | GPIO29 (I/O) | SCITXDA (O) | XA19(O) | ||
30 | 29, 28 | GPIO30 (I/O) | CANRXA (I) | XA18(O) | ||
31 | 31, 30 | GPIO31 (I/O) | CANTXA (O) | XA17(O) |
寄存器位 | 外设选择 | |||||
---|---|---|---|---|---|---|
GPBDIR GPBDAT GPBSET GPBCLR GPBTOGGLE |
GPBMUX1 GPBQSEL1 |
GPIOx GPBMUX1 = 0, 0 |
PER1 GPBMUX1 = 0, 1 |
PER2 GPBMUX1 = 1, 0 |
PER3 GPBMUX1 = 1, 1 |
|
QUALPRD0 | 0 | 1, 0 | GPIO32(I/O) | SDAA (I/OC)(1) | EPWMSYNCI (I) | ADCSOCAO (O) |
1 | 3, 2 | GPIO33(I/O) | SCLA (I/OC)(1) | EPWMSYNCO (O) | ADCSOCBO (O) | |
2 | 5, 4 | GPIO34 (I/O) | ECAP1 (I/O) | XREADY (I) | ||
3 | 7, 6 | GPIO35(I/O) | SCITXDA (O) | XR/ W (O) | ||
4 | 9, 8 | GPIO36(I/O) | SCIRXDA (I) | XZCS0(O) | ||
5 | 11, 10 | GPIO37(I/O) | ECAP2 (I/O) | XZCS7 (O) | ||
6 | 13, 12 | GPIO38(I/O) | 保留 | XWE0(O) | ||
7 | 15, 14 | GPIO39(I/O) | XA16(O) | |||
QUALPRD1 | 8 | 17, 16 | GPIO40(I/O) | XA0/ XWE1 (O) | ||
9 | 19, 18 | GPIO41 (I/O) | XA1(O) | |||
10 | 21, 20 | GPIO42(I/O) | XA2(O) | |||
11 | 23, 22 | GPIO43(I/O) | XA3(O) | |||
12 | 25, 24 | GPIO44(I/O) | XA4(O) | |||
13 | 27, 26 | GPIO45 (I/O) | XA5(O) | |||
14 | 29, 28 | GPIO46(I/O) | XA6(O) | |||
15 | 31, 30 | GPIO47(I/O) | XA7(O) | |||
GPBMUX2 GPBQSEL2 |
GPBMUX2 = 0, 0 | GPBMUX2 = 0, 1 | GPBMUX2 = 1, 0 | GPBMUX2 = 1, 1 | ||
QUALPRD2 | 16 | 1, 0 | GPIO48 (I/O) | ECAP5 (I/O) | XD31(I/O) | |
17 | 3, 2 | GPIO49 (I/O) | ECAP6 (I/O) | XD30 (I/O) | ||
18 | 5, 4 | GPIO50 (I/O) | EQEP1A (I) | XD29 (I/O) | ||
19 | 7, 6 | GPIO51 (I/O) | EQEP1B (I) | XD28 (I/O) | ||
20 | 9, 8 | GPIO52 (I/O) | EQEP1S (I/O) | XD27 (I/O) | ||
21 | 11, 10 | GPIO53 (I/O) | EQEP1I (I/O) | XD26 (I/O) | ||
22 | 13, 12 | GPIO54 (I/O) | SPISIMOA (I/O) | XD25 (I/O) | ||
23 | 15, 14 | GPIO55 (I/O) | SPISOMIA (I/O) | XD24 (I/O) | ||
QUALPRD3 | 24 | 17, 16 | GPIO56 (I/O) | SPICLKA (I/O) | XD23 (I/O) | |
25 | 19, 18 | GPIO57 (I/O) | SPISTEA(I/O) | XD22(I/O) | ||
26 | 21, 20 | GPIO58 (I/O) | MCLKRA (I/O) | XD21 (I/O) | ||
27 | 23, 22 | GPIO59 (I/O) | MFSRA (I/O) | XD20 (I/O) | ||
28 | 25, 24 | GPIO60(I/O) | MCLKRB (I/O) | XD19(I/O) | ||
29 | 27, 26 | GPIO61 (I/O) | MFSRB (I/O) | XD18 (I/O) | ||
30 | 29, 28 | GPIO62 (I/O) | SCIRXDC (I) | XD17 (I/O) | ||
31 | 31, 30 | GPIO63 (I/O) | SCITXDC (O) | XD16 (I/O) |
寄存器位 | 外设选择 | |||
---|---|---|---|---|
GPCDIR GPCDAT GPCSET GPCCLR GPCTOGGLE |
GPCMUX1 | GPIOx 或 PER1 GPCMUX1 = 0, 0 或 0, 1 |
PER2 或 PER3 GPCMUX1 = 1, 0 或 1, 1 |
|
在其中 | 0 | 1, 0 | GPIO64 (I/O) | XD15 (I/O) |
1 | 3, 2 | GPIO65 (I/O) | XD14 (I/O) | |
2 | 5, 4 | GPIO66 (I/O) | XD13 (I/O) | |
3 | 7, 6 | GPIO67 (I/O) | XD12 (I/O) | |
4 | 9, 8 | GPIO68 (I/O) | XD11 (I/O) | |
5 | 11, 10 | GPIO69 (I/O) | XD10 (I/O) | |
6 | 13, 12 | GPIO70 (I/O) | XD9 (I/O) | |
7 | 15, 14 | GPIO71 (I/O) | XD8 (I/O) | |
在其中 | 8 | 17, 16 | GPIO72 (I/O) | XD7 (I/O) |
9 | 19, 18 | GPIO73 (I/O) | XD6 (I/O) | |
10 | 21, 20 | GPIO74 (I/O) | XD5 (I/O) | |
11 | 23, 22 | GPIO75 (I/O) | XD4 (I/O) | |
12 | 25, 24 | GPIO76 (I/O) | XD3 (I/O) | |
13 | 27, 26 | GPIO77 (I/O) | XD2 (I/O) | |
14 | 29, 28 | GPIO78 (I/O) | XD1 (I/O) | |
15 | 31, 30 | GPIO79 (I/O) | XD0 (I/O) | |
GPCMUX2 | GPCMUX2 = 0, 0 或 0, 1 | GPCMUX2 = 1, 0 或 1, 1 | ||
在其中 | 16 | 1, 0 | GPIO80 (I/O) | XA8 (O) |
17 | 3, 2 | GPIO81 (I/O) | XA9 (O) | |
18 | 5, 4 | GPIO82 (I/O) | XA10 (O) | |
19 | 7, 6 | GPIO83 (I/O) | XA11(O) | |
20 | 9, 8 | GPIO84 (I/O) | XA12 (O) | |
21 | 11, 10 | GPIO85 (I/O) | XA13 (O) | |
22 | 13, 12 | GPIO86 (I/O) | XA14 (O) | |
23 | 15, 14 | GPIO87 (I/O) | XA15 (O) |
通过 GPxQSEL1/2 寄存器,用户可从四个选项中为每一个 GPIO 引脚选择输入限定的类型:
器件上需要多级多路复用,因此在某些情况下,可以将外设输入信号映射到多个 GPIO 引脚。此外,当一个输入信号未被选择时,此输入信号将缺省为一个 0 或者 1 状态,依外设而定。