资源预览内容
第1页 / 共174页
第2页 / 共174页
第3页 / 共174页
第4页 / 共174页
第5页 / 共174页
第6页 / 共174页
第7页 / 共174页
第8页 / 共174页
第9页 / 共174页
第10页 / 共174页
亲,该文档总共174页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1,4.4 处理器接口电路、中断系统的设计,4.4.1 通用输入/输出接口GPIO设计 4.4.2 中断系统设计 4.4.3 串行接口设计 4.4.4 USB接口设计 4.4.5 JTAG接口设计 4.4.6 A/D转换接口设计,2,4.4.1 通用输入/输出接口GPIO,嵌入式系统的GPIO接口引脚数量较多,例如,S3C44BO有71个,S3C2410有117个,PXA255有84个GPIO管脚, PXA270有120个GPIO管脚。它们与处理器之间的连接一般不使用系统总线,而是直接连接在处理器的引脚上。每个I/O引脚可被编程设置成为普通的输入或输出状态。如被作为输入端时,该GPIO管脚可被设置工作在中断方式或查询方式。但当系统被复位后,所有的GPIO管脚的默认值为输入状态。有些GPIO管脚还通过设置具有第二功能。 每个处理器内的GPIO又分成若干个组(端口),每组称为一个I/O接口。每个接口含有10-20多个引脚不等。,1、I/O系统工作过程,I/O系统的初始化,设备打开,设备关闭,设备读,设备写,设备控制,设备管理初始化,驱动逻辑初始化,硬件抽象初始化,完成设备管理相关信息的初始化,如创建驱动程序地址表、设备名表、文件记录表等,实现系统中各驱动程序的注册,即把系统中各驱动程序注册到设备管理中,主要完成设备注册,4,I/O系统工作过程,关闭设备 系统调用close( )关闭一个不再使用的设备,关闭一个设备时,I/O系统的内部运作过程和写一个设备大致相同,不同的是I/O系统根据设备名表中的主设备号在驱动程序地址表中定位并调用驱动程序的xxx_close( )函数,然后释放文件表中的记录,返回。在此之后对该文件描述符的任何引用都将返回错误。但是随后的open( )系统调用将仍然返回该文件描述符。,6,GPLR(引脚状态寄存器):当某管脚设置为输入模式时,读GPLR(引脚状态寄存器)的内容可以反映当前GPIO管脚的状态。 GPER是探测上升沿使能的专用寄存器; GFER是探测下降沿使能的专用寄存器; GEDR是探测上升下降沿使能的专用寄存器; GAFR是设置第二功能寄存器。,7,2)GPIO的设计要求,在并行信号传输线中,一般有数据线、控制线和电源线。由于每条数据导线传输一个数据位,这时要求数据总线长度必须较短,否则长的导线会导致有较高的寄生电容值,影响数据的传输速度。 此外,并行总线中各导线长度上的小差异,也可能导致所接受的数据字各位的抵达时间不同,影响数据的准确性。 基于ARM的处理器内核和处理器核一般都没有I/O总线部件,需要通过先进微控制总线架构AMBA来扩展宏单元和总线I/O部件,为微处理器提供32位地址信号、32位数据信号和读/写、时钟、外围复位、选通等控制信号。,8,3)编址形式,ARM采用存储器与I/O统一编址的方式,即把I/O端口当作为特殊的存储器地址来对待处理。 比如S3C44B0X微处理器芯片,芯片内部具有71个通用多功能输入输出引脚,分别包含在如下7组端口中: 1个10位输出端口(端口A); 1个11位输出端口(端口B); 1个16位输入输出端口(端口C); 2个8位输入输出端口(端口D和G); 2个9位输入输出端口(端口E和F)。,9,举例,PXA27X处理器提供了120个的GPIO,其分组如下: 端口A通用目地的I/O; 端口B可选输入功能; 端口C可选输入功能; 端口D可选输入功能; 端口E可选输出功能; 端口F可选输出功能; 端口G可选输出功能。,2、S3C2410处理器GPIO设计与应用 S3C2410X有8个端口,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个输入/输出口 这些端口都具有多功能,通过引脚配置寄存器,可以将其设置为所需要的功能,如:I/O功能、中断功能等等。,1)端口寄存器及引脚配置 每一个端口都有4个寄存器,它们是:引脚配置寄存器、数据寄存器、引脚上拉寄存器等。,GPADAT寄存器为准备输出的数据 其值为23位22:0 注意: (1)当A口引脚配置为非输出功能时,其输出无意义; (2)从引脚输入没有意义。,(1)端口A寄存器及引脚配置,端口A寄存器及引脚配置,GPBDAT-为准备输出或输入的数据 其值为11位10:0 GPBUP-端口B上拉寄存器,位10:0有意义。 0:对应引脚设置为上拉1:无上拉功能 注意: 当B口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,(2)端口B寄存器及引脚配置,端口B引脚配置寄存器,GPCDAT-为准备输出或输入的数据 其值为16位15:0 GPCUP-端口C上拉寄存器,位15:0有意义。 0:对应引脚设置为上拉1:无上拉功能 注意: 当C口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,(3)端口C寄存器及引脚配置,端口C引脚配置寄存器,GPDDAT-为准备输出或输入的数据 其值为16位15:0 GPDUP-端口D上拉寄存器,位15:0有意义。 0:对应引脚设置为上拉1:无上拉功能 初始化时,15:12无上拉功能,而11:0有上拉 注意: 当D口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,(4)端口D寄存器及引脚配置,端口D引脚配置寄存器,GPEDAT-为准备输出或输入的数据 其值为16位15:0 GPEUP-端口E上拉寄存器,位15:0有意义。 0:对应引脚设置为上拉1:无上拉功能 初始化时,各个引脚都有上拉功能。 注意: 当E口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,(5)端口E寄存器及引脚配置,端口E引脚配置寄存器,GPFDAT-为准备输出或输入的数据 其值为8位7:0 GPFUP-端口F上拉寄存器,位7:0有意义。 0:对应引脚设置为上拉1:无上拉功能 初始化时,各个引脚都有上拉功能。 注意: 当F口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,(6)端口F寄存器及引脚配置,端口F引脚配置寄存器,GPGDAT-为准备输出或输入的数据 其值为16位15:0 GPGUP-端口G上拉寄存器,位15:0有意义。 0:对应引脚设置为上拉1:无上拉功能 初始化时,15:11引脚无上拉功能,其它引脚有。 注意: 当G口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,(7)端口G寄存器及引脚配置,端口G引脚配置寄存器,LCD-PEN:POWER_ENABLE,nSS0:SPI0_SELECT,GPHDAT-为准备输出或输入的数据 其值为11位10:0 GPHUP-端口H上拉寄存器,位10:0有意义。 0:对应引脚设置为上拉1:无上拉功能 注意: 当H口引脚配置为非输入/输出功能时,其寄存器中的值没有意义。,(8)端口H寄存器及引脚配置,端口H引脚配置寄存器,UCLK为USB的,(9)端口其它控制寄存器,nEN_SCKE-SCLK使能位。在电源关闭模式下对SDRAM做保护0: 正常状态 1:低电平 nEN_SCLKx-SCLKx使能位。在电源关闭模式下对SDRAM做保护 0:SCLKx= SCLK 1:低电平 nRSTCON-对nRSTOUT软件复位控制位 0:使nRSTOUT为低,0;1:使nRSTOUT为高,1,MISCCR-混合控制寄存器,USBSUSPND1-USB端口1模式 0:正常1:浮空 USBSUSPND0-USB端口0模式 0:正常1:浮空 CLKSEL1 - CLKOUT1引脚输出信号源选择 000:MPLL CLK001:UPLL CLK 010:FCLK011:HCLK100:PCLK 101:DCLK111x:保留 CLKSEL0 - CLKOUT0引脚输出信号源选择 000:MPLL CLK001:UPLL CLK 010:FCLK011:HCLK100:PCLK 101:DCLK011x:保留,USBPAD-与USB连接选择 0:与USB设备连接1:与USB主机连接 MEM_HZ_CON-MEM高阻控制位 0:Hi-Z 1:前一状态 SPUCR_L-数据口低16位15:0上拉控制位 0:上拉1:无上拉 SPUCR_H-数据口高16位31:16上拉控制位 0:上拉1:无上拉,DCLKCON-D时钟控制寄存器,DCLK1(0)CMP-DCLK1(0)低电平时间所占的比例数。 设该位值为m,m DCLK1(0)DIV。 则低、高电平持续时间的源周期数分别为: m+1、DCLK1(0)DIV-m DCLK1(0)DIV-DCLK1(0)分频值 DCLK1(0) frequency = source clock / ( DCLK1(0)DIV + 1 ),DCLKCON-D时钟控制寄存器(续),DCLK1(0)SelCK-DCLK1(0) source clock 选择 0 : 源时钟选择PCLK 1:源时钟选择UCLK ( USB ) DCLK1(0)EN-DCLK1(0) Enable 0:禁止 1:允许,主要设置各个外中断源的触发方式、滤波,(10)外中断控制寄存器,EINT07-中断请求信号触发方式选择 000:低电平触发001:高电平触发 01x:下降沿触发10 x:上升沿触发 11x:双边沿触发 第3、7、11、15、19、23、27、31位-保留,EXTINT0-外中断触发方式控制寄存器0,EINT815-中断请求信号触发方式选择 000:低电平触发001:高电平触发 01x:下降沿触发10 x:上升沿触发 11x:双边沿触发 第3、7、11、15、19、23、27、31位-保留,EXTINT1-外中断触发方式控制寄存器1,EINT1623-外中断请求信号触发方式选择 000:低电平触发001:高电平触发 01x:下降沿触发10 x:上升沿触发 11x:双边沿触发 第3、7、11、15、19、23、27、31位-为FILTEN 各引脚滤波控制位 0:禁止滤波1:使能滤波,EXTINT2-外中断控制寄存器2,主要设置各个外中断源的滤波器设置,(11)外中断滤波控制寄存器,FLTCLK1619-外中断1619滤波器时钟选择 0:PCLK 1:外部/振荡时钟(由OM引脚选择) EINTFLT1619-外中断1619滤波器宽度(频带宽度),EINTFLT2-外中断滤波控制寄存器2,FLTCLK2023-外中断2023滤波器时钟选择 0:PCLK 1:外部/振荡时钟(由OM引脚选择) EINTFLT2023-外中断2023滤波器宽度(频带宽度),EINTFLT3-外中断滤波控制寄存器3,(12)外中断屏蔽、标志寄存器,外中断屏蔽寄存器,各位: 0:允许中断1:禁止中断 注意: EINT0- EINT3不能在此被屏蔽,在SRCPND中屏蔽。,外中断标志寄存器,各位: 0:无中断请求1:有中断请求 注意:对某位写1,则清除相应标志,即清为0.,GSTATUS3、4: 复位时被清0,其它情况下其数据不变。 用户可以用于保存数据。,(13)外中断状态寄存器,nWEIT-引脚nWEIT状态 nCON-引脚nCON状态 RnB-引脚R/nB状态 nBATT_FLT-引脚nBATT_FLT状态 注意:各位的数值0、1,随着对应引脚变化。,GSTATUS0-外部引脚状态寄存器,WDTRST-上电复位控制状态 1:出现了上电复位 对该位写,则将该位清0 OFFRST-掉电模式复位状态。 1:系统出现了从掉电模式唤醒复位 对该位写,则将该位清0 PWRST-
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号