概述
S3C2410有117个多功能的输入输出引脚,这些端口是:
— 端口A(GPA):23个输出口 — 端口B(GPB):11个输入输出口 — 端口C(GPC):16个输入输出口 — 端口D(GPD):16个输入输出口 — 端口E(GPE):16个输入输出口 — 端口F(GPF):8个输入输出口 — 端口G(GPG):16个输入输出口 — 端口H(GPH):11个输入输出口
每个端口可以根据系统配置和设计需求通过软件配置成相应的功能。在启动主程序之前,必须定义好每个引脚的功能。如果某个引脚不用作复用功能,则可以将它配置成IO脚。
初始的引脚状态被无缝配置好的以避免产生问题。 表1 端口配置见英文版Table 9-1. S3C2410A Port Configuration
端口控制描述
端口控制寄存器(GPACON-BGHCON)
在S3C2410中,大部分端口都是复用的,因此需要决定每个引脚使用哪个功能。端口控制寄存器PnCON决定每个引脚的功能。
如果GPF0 – GPF7 and GPG0 – GPG7用于掉电模式的唤醒信号,这些端口必须被配置成中断模式。
端口数据寄存器(GPADAT-GPHDAT)
如果端口被配置成输出端口,可以向PnDAT中的相关位写入数据;如果端口被配置成输入端口,可以从PnDAT中的相关位读入数据。
端口上拉电阻寄存器(GPBUP-GPHUP)
端口上拉电阻寄存器控制每个端口组的上拉电阻的使能和禁止。当相关位为0,上拉电阻使能;当相关位为1,上拉电阻禁止;
当端口上拉电阻寄存器使能时,不管引脚选择什么功能(输入、输出、数据、外部中断等),上拉电阻都工作。
外部中断控制寄存器(EXTINTN)
24个外部中断可响应各种信号请求方式。EXTINTn寄存器可以配置如下信号请求方式:低电平触发、高电平触发、上升沿触发、下降沿触发、双边沿触发。
这8个外部中断引脚具有数字滤波器。(见EINTFLTn相关) 只有16个外部中断引脚(EINT [15:0])被用于唤醒源。
掉电模式和IO口
所有的GPIO寄存器的值在掉电模式下被保存。这在时钟功率管理模块中的掉电模式下提到。
EINTMASK不能禁止从掉电模式唤醒,但是如果EINTMASK屏蔽了EINT[15:4]中的1位,系统可以被唤醒,但是SRCPND中的EINT4_7 bit and EINT8_23 bit不会在唤醒后被置1。
IO口控制寄存器
端口A控制寄存器(GPACON/GPADAT)
注意:ADDR[15:1]并没有端口寄存器,但是有对应的引脚,它们仅用作地址总线,而且A端口默认为ADDR功能,没有内部上拉电阻。
端口B控制寄存器(GPBCON, GPBDAT, and GPBUP)
端口C-H与B类似,具体参加英文版。
MISCELLANEOUS CONTROL REGISTER (MISCCR) USB相关端口由USB主机或者设备寄存器控制。
DCLK CONTROL REGISTERS (DCLKCON)
此寄存器定义DCLKn信号,作为外部资源的时钟。如何设置DCLKn信号见下表。只有当CLKOUT[1:0]设置为发生DCLKn信号时DCLKCON寄存器才会生效。
外部中断控制寄存器(EXTINTn)
24个外部中断可响应各种信号请求方式。EXTINTn寄存器可以配置如下信号请求方式:低电平触发、高电平触发、上升沿触发、下降沿触发、双边沿触发。
由于EINT[15:0]具有滤波功能,EXTINTn引脚上的逻辑电平必须保持至少40ns,才能正确识别中断。
注意:EINT16-23可以被设置为快速中断模式,通过EXTINT2的3、7、11„„位设置,
外部中断过滤寄存器(EINTFLTn)
(EINTFLTn)寄存器控制EINT[23:16]这8个外部中断的过滤器时间。
外部中断屏蔽寄存器(EINTMASK)
EINTMASK控制EINT[23:4]这20个外部中断的屏蔽与否。
注:复位后,这些中断默认都是被屏蔽掉的。
外部中断请求寄存器(EINTPENDn)
只有EINT[23:4]这20个外部中断受EINTPENDn寄存器控制,可1”来清零这一位。
以通过向寄存器的相应位写入“
通用状态寄存器(GSTATUSn)
因篇幅问题不能全部显示,请点此查看更多更全内容