刘彦文清华大学出版社嵌入式系统原理及接口技术第7章模板.ppt
《刘彦文清华大学出版社嵌入式系统原理及接口技术第7章模板.ppt》由会员分享,可在线阅读,更多相关《刘彦文清华大学出版社嵌入式系统原理及接口技术第7章模板.ppt(73页珍藏版)》请在咨信网上搜索。
1、第7章 IO端口及中断控制器本章重点本章重点:S3C2410A I/O端口概述;I/O端口控制;I/O端口特殊功能寄存器;I/O端口程序举例。在I/O端口特殊功能寄存器中,除了讲述GPAGPH对应的寄存器外,还讲述了杂项控制寄存器、与外部中断有关的寄存器等内容。S3C2410A中断控制器概述;中断控制器操作、中断源及中断优先权产生模块;中断控制器特殊功能寄存器;中断程序举例。7.1 I/O端口概述7.1.1 I/O端口概 I/O端口概述n S3C2410A有117个多功能输入/输出端口引脚,分为如下8个端口:端口A(GPA):23个输出引脚的端口;端口B(GPB):11个输入/输出引脚的端口;
2、端口C(GPC):16个输入/输出引脚的端口;端口D(GPD):16个输入/输出引脚的端口;端口E(GPE):16个输入/输出引脚的端口;端口F(GPF):8个输入/输出引脚的端口;端口G(GPG):16个输入/输出引脚的端口;端口H(GPH):11个输入/输出引脚的端口。n初始引脚状态在7.3.1节各引脚配置寄存器中,以信号名带有下划线来表示。其他寄存器概述n在7.3.2节,讲述了特殊功能寄存器中的另外一些寄存器,这些寄存器控制某些时钟信号、外部中断请求信号的方式、外部中断屏蔽与否等等。包括:杂项控制寄存器MISCCR、DCLK控制寄存器DCLKCON、外部中断控制寄存器EXTINT0EXT
3、INT2、外部中断滤波寄存器EINTFLT2和EINTFLT3、外部中断屏蔽寄存器EINTMASK、外部中断登记寄存器EINTPEND和通用状态寄存器GSTATUS0GSTATUS4。每个寄存器的具体含义见7.3.2节。7.1.2 与I/O端口及其他寄存器相关的S3C2410A引脚信号 与I/O端口相关的S3C2410A引脚信号n端口A端口H的数据寄存器GPADATGPHDAT,与S3C2410A的117个引脚相关,每个引脚可以设置的具体功能及对应的引脚信号见7.3.1节。与其他寄存器相关的S3C2410A引脚信号 杂项控制寄存器MISCCR 在杂项控制寄存器MISCCR中,对下述引脚规定了它
4、们的信号方式:SCKE、SCLK1和SCLK0引脚信号,S3C2410A输出,在Power_OFF模式用于保护SDRAM。在寄存器MISCCR中规定了它们输出信号的方式,见表7-24,参考表5-4。nRSTOUT为外部设备Reset引脚信号,S3C2410A输出,由nRESET&nWDTRST(看门狗Reset)&SW_RESET(软件Reset)形成,在寄存器MISCCR中可以设置软件Reset,见表7-24,参考表6-1。CLKOUT1、CLKOUT0是S3C2410A输出信号,信号源可由寄存器MISCCR控制,分别从6个时钟信号中各选择1个作为输出,见表7-24,参考表6-1。引脚DAT
5、A15:0、DATA31:16由寄存器MISCCR规定了允许/禁止使用上拉电阻,见表7-24,参考表5-3。DCLK控制寄存器DCLKCON 只有在杂项控制寄存器MISCCR中,用CLKSEL1、CLKSEL0选择了S3C2410A的CLKOUT1、CLKOUT0输出引脚使用DCLK1、DCLK0作为信号源,那么DCLKCON中的参数才起作用。这些参数设置DCLKn信号高、低电平的时间长度、DCLKn的分频值等内容,见表7-25,表7-24。外部中断控制寄存器EXTINT0EXTINT2 EINT0EINT23是S3C2410A外部中断请求信号输入引脚,在外部中断控制寄存器EXTINT0EXT
6、INT2中,可以设置请求信号方式(低电平、高电平、下降沿、上升沿、2个沿),见表7-26、表7-27和表7-28。外部中断滤波寄存器EINTFLT2和EINTFLT3 EINTFLT2和EINTFLT3规定了S3C2410A外部中断请求输入引脚EINT16EINT23,所使用的滤波宽度和可选择的滤波时钟。外部中断屏蔽寄存器EINTMASK 对S3C2410A外部中断请求引脚EINT23EINT4,规定了哪一个被屏蔽或允许中断。外部中断登记寄存器EINTPEND 对S3C2410A外部中断请求引脚EINT23EINT4请求信号登记,1为有请求。通用状态寄存器GSTATUS0GSTATUS4这些寄
7、存器中,可以读取的S3C2410A的引脚状态有:nWAIT,存储器要求等待(扩展当前总线周期)信号,输入,见表7-33,参考表5-3。NCON,Nand Flash配置状态,输入,见表7-33,参考表5-29。RnB,Nand Flash Ready/Busy输入信号,见表7-33,参考表5-29。nBATT_FLT,电池状态引脚输入信号,见表7-33,参考表6-1。7.2 I/O端口控制 端口引脚配置寄存器GPACONGPHCONn在S3C2410A中,大多数引脚有多种功能。因此对每个引脚,要求确定哪一种功能被选择。端口引脚配置寄存器GPACONGPHCON确定每个引脚的功能。n如果GPF0
8、GPF7和GPG0GPG7在Power_OFF模式用作唤醒信号,那么这些端口应该配置成中断模式。端口数据寄存器GPADATGPHDATn如果端口被配置为输出端口,数据应该写到端口数据寄存器的对应位;如果端口被配置为输入端口,数据应该从端口数据寄存器的对应位读出。端口上拉(电阻)允许/禁止寄存器GPBUPGPHUPn端口上拉(电阻)允许/禁止寄存器也称为端口上拉允许/禁止寄存器。n端口上拉(电阻)允许/禁止寄存器控制每个端口上拉电阻允许/禁止。当对应位为0时,引脚的上拉电阻被允许;当对应位为1时,上拉电阻被禁止。杂项控制寄存器n杂项(miscellaneous)控制寄存器对数据总线端口DATA3
9、1:16、DATA15:0上拉电阻、USB pad和CLKOUT等进行选择。外部中断控制寄存器EXTINTn和外部中断滤波寄存器EINTFLTnnS3C2410A的24个外部中断可以由各种信号方式提出请求。由EXTINTn寄存器配置的外部中断请求信号方式有:低电平触发、高电平触发、下降沿触发、上升沿触发以及2个沿都触发。n8个外部中断引脚有数字滤波,参见7.3.2节外部中断滤波寄存器EINTFLT2和EINTFLT3。n只有16个EINT引脚EINT15:0在Power_OFF模式可以用作唤醒源。Power_OFF模式与I/O端口n在Power_OFF模式,所有GPIO寄存器值被保留。n外部中
10、断屏蔽寄存器EINTMASK不能阻止从Power_OFF模式中唤醒。但是,如果EINTMASK正屏蔽着EINT15:4中的一个,虽然唤醒能够被操作,但源登记寄存器SRCPND中的EINT4-7和EINT8-23位,在刚刚唤醒后将不设置为1。7.3 I/O端口特殊功能寄存器7.3.1 端口A端口H寄存器组 端口A寄存器组 各寄存器具体含义见表7-1和表7-2。GPACON位位描描 述述GPACON位位描描 述述GPA22220=输输出出 1=nFCEGPA10100=输输出出 1=ADDR25GPA21210=输输出出 1=nRSTOUT GPA990=输输出出 1=ADDR24GPA20200
11、=输输出出 1=nFREGPA880=输输出出 1=ADDR23GPA19190=输输出出 1=nFWEGPA770=输输出出 1=ADDR22GPA18180=输输出出 1=ALEGPA660=输输出出 1=ADDR21GPA17170=输输出出 1=CLEGPA550=输输出出 1=ADDR20GPA16160=输输出出 1=nGCS5GPA440=输输出出 1=ADDR19GPA15150=输输出出 1=nGCS4GPA330=输输出出 1=ADDR18GPA14140=输输出出 1=nGCS3GPA220=输输出出 1=ADDR17GPA13130=输输出出 1=nGCS2GPA110
12、=输输出出 1=ADDR16GPA12120=输输出出 1=nGCS1GPA000=输输出出 1=ADDR0GPA11110=输输出出 1=ADDR26表7-1 端口A引脚配置寄存器含义GPADAT位位描描 述述GPA22:022:0当当该该端口被配置端口被配置为输为输出端口出端口时时,引脚状,引脚状态态与与这这个寄存器个寄存器中的中的对应对应位相同。位相同。当当该该端口被配置端口被配置为为功能引脚功能引脚时时,读读入入值值未定未定义义表7-2 端口A数据寄存器含义 端口B寄存器组 各寄存器具体含义见表7-3、表7-4和表7-5。端口C寄存器组 各寄存器具体含义见表7-6、表7-7和表7-8。
13、端口D寄存器组 各寄存器具体含义见表7-9、表7-10和7-11。端口E寄存器组 各寄存器具体含义见表7-12、表7-13和表7-14。端口F寄存器组 各寄存器具体含义见表7-15、表7-16和表7-17。端口G寄存器组 各寄存器具体含义见表7-18、表7-19和表7-20。端口H寄存器组 各寄存器具体含义见表7-21、表7-22和表7-23。7.3.2 其他寄存器 杂项控制寄存器n杂项控制寄存器中的一些位用来对USB主机和USB设备进行控制;另外一些位用于保护SDRAM,以及对数据总线上拉电阻允许/禁止等进行控制。n杂项控制寄存器MISCCR,地址为0 x56000080,可读写,Reset
14、值为0 x10330。寄存器具体含义见表7-24。DCLK控制寄存器nDCLK控制寄存器DCLKCON,地址为0 x56000084,可读写,Reset值为0 x0。寄存器具体含义见表7-25。nDCLKCON寄存器定义DCLK0、DCLK1信号,这两个信号用作外部源时钟,DCLKn信号的低电平、高电平时间长度的关系见图7.1。n只有当CLKOUT1:0被设置成发送DCLKn信号时,DCLKCON才能够实际操作。图7.1 外部中断控制寄存器组n外部中断控制寄存器组共有3个寄存器,寄存器名分别为EXTINT0、EXTINT1和EXTINT2;地址分别为0 x56000088、0 x5600008
15、C和0 x56000090;可读写;Reset值均为0。n外部中断控制寄存器组,能够配置24个外部中断源中的每一个提出中断请求信号的方式,包括电平方式和边沿方式,同时也配置了信号的极性。n为了识别电平中断,对EINT15:0中的EXTINTn引脚合法的逻辑电平必须保持最少40ns以上。n各寄存器具体含义见表7-26、表7-27和表7-28。外部中断滤波寄存器组n外部中断滤波寄存器组共有4个寄存器,前两个保留未用。后两个寄存器分别是EINTFLT2和EINTFLT3;地址分别是0 x5600009C和0 x560000A0;可读写;Reset值均为0 x0。n2个外部中断滤波寄存器控制8个外部中
16、断EINT23:16使用的滤波时钟和滤波宽度。n各寄存器具体含义见表7-29和表7-30,表中OSC_CLK即图6.1中的XTIpll。外部中断屏蔽寄存器n外部中断屏蔽寄存器名为EINTMASK,地址为0 x560000A4,可读写,Reset值为0 x00FFFFF0。n外部中断屏蔽寄存器能够对20个外部中断源EINT23:4分别进行屏蔽,具体含义见表7-31。外部中断登记寄存器n外部中断登记寄存器EINTPEND供20个外部中断EINT23:4使用。用户能够清除EINTPEND寄存器某一指定位,方法是通过给寄存器对应位写1。n外部中断登记寄存器(external interrupt pen
17、ding register)也译作外部中断未决寄存器。n外部中断登记寄存器地址为0 x560000A8,可读写,Reset值为0 x0。n外部中断登记寄存器具体含义见表7-32。通用状态寄存器组n通用状态寄存器组由5个寄存器GSTATUS0GSTATUS4组成;地址分别为0 x560000AC、0 x560000B0、0 x560000B4、0 x560000B8和0 x560000BC;前两个寄存器为只读,后3个为可读写寄存器;Reset值分别为未定义、0 x32410000、0 x1、0 x0和0 x0。n各寄存器具体含义见表7-33、表7-34、表7-35、表7-36和表7-37。7.4
18、 I/O端口程序举例n在嵌入式系统中能够使用C语言对特殊功能寄存器进行读写,特殊功能寄存器位于S3C2410A片内。每个特殊功能寄存器都有一个固定地址,通常要在.H文件中映射特殊功能寄存器的地址。方法是对每个特殊功能寄存器对应的地址,用预处理命令define加以定义。n以下映射方法一的代码取自C/OS-的gpio.h,方法二的代码取自Linux的arch-s3c2410/s3c2410.h。方法一:#define _REG(x)(*(volatile unsigned int*)(x)#define GPIO_CTL_BASE0 x56000000#define bGPIO(p)_REG(GP
19、IO_CTL_BASE+(p)#define rMISCCRbGPIO(0 x80)/相当于#define rMISCCR(*(volatile unsigned int*)(0 x56000000+0 x80)/下同#define rDCLKCONbGPIO(0 x84)#define rEXTINT0 bGPIO(0 x88)#define rGSTATUS3bGPIO(0 xb8)#define rGSTATUS4bGPIO(0 xbc)#define rGPACONbGPIO(0 x00)#define rGPADATbGPIO(0 x04)#define rGPBCON bGPIO(
20、0 x10)#define rGPHCONbGPIO(0 x70)#define rGPHDATbGPIO(0 x74)#define rGPHUPbGPIO(0 x78)方法二:#define GPIO_CTL_BASE 0 x56000000#define bGPIO(p)_REG(GPIO_CTL_BASE+(p)#define MISCCRbGPIO(0 x80)#define DCLKCON bGPIO(0 x84)#define EXTINT0 bGPIO(0 x88)#define GSTATUS3bGPIO(0 xb8)#define GSTATUS4bGPIO(0 xbc)#
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 刘彦文 清华大学出版社 嵌入式 系统 原理 接口 技术 模板
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。