S3C2410中文手册第9章 IO端口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第九章I/O端口
概述
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)寄存器控制EINT[23:16]这8个外部中断的过滤器时间。
EINTMASK控制EINT[23:4]这20个外部中断的屏蔽与否。
注:复位后,这些中断默认都是被屏蔽掉的。
只有EINT[23:4]这20个外部中断受EINTPENDn寄存器控制,可以通过向寄存器的相应位写入“1”来清零这一位。
通用状态寄存器(GSTATUSn)。