




已阅读5页,还剩77页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
24.05.2020,1,嵌入式系统原理,4.5基于S3C44B0X应用开发介绍,4.5.1S3C44B0X时钟电源管理的功能及应用开发4.5.2S3C44B0X存储控制器功能及应用开发4.5.3S3C44B0XI/O端口功能及应用开发4.5.4S3C44B0X中断控制器功能及应用开发4.5.5S3C44B0XUART接口功能及应用开发,4.5.3S3C44B0XI/O端口功能及应用开发,S3C44B0XI/O功能概述S3C44B0XI/O功能及应用描述,(1)I/O端口在嵌入式系统中的功能概述,I/O接口是主机与外围设备之间交换信息的连接部件。I/O接口有两种编址方式。,(2)I/O端口的功能概述,4.5.3S3C44B0XI/O端口功能及应用开发,S3C44B0XI/O功能概述S3C44B0XI/O功能及应用描述,3、S3C44B0XI/O端口应用编程,1)端口初始化voidport_init(void)/CAUTION:Followtheconfigurationorderforsettingtheports./1)settingvalue/2)settingcontrolregister/3)configurepull-upresistor./PORTAGROUP/9876543210/A24A23A22A21A20A19A18A17A16A0/0111111111rPCONA=0 x1ff;,/PORTBGROUP/109876543210/CS5/CS4/CS3/CS2/CS1GPB5GPB4/SRAS/SCASSCLKSCKE/EXTNICUSBIDESMCNCNCSdramSdramSdramSdram/?OutOut?/11111001111rPDATB=0 x7ff;rPCONB=0 x1cf;,2、IO端口读写代码,voidled_display(intnLedStatus)f_nLedState=nLedStatus;/changetheledscurrentstatusif(nLedStatus/off,将GPC8位清零,其他位不变,将GPC的D8位置1,其他位不变,if(nLedStatus/off,将GPC9位清零,其他位不变,将GPC的D9位置1,其他位不变,将GPF的D4位清零,其他位不变,,将GPF的D4位置1,其他位不变,将GPF的D3位清零,其他位不变,,将GPF的D3位置1,其他位不变,4.5基于S3C44B0X应用开发介绍,4.5.1S3C44B0X时钟电源管理的功能及应用开发4.5.2S3C44B0X存储控制器功能及应用开发4.5.3S3C44B0XI/O端口功能及应用开发4.5.4S3C44B0X中断控制器功能及应用开发4.5.5S3C44B0XUART接口功能及应用开发,对通用计算机而言,中断控制包括:中断请求管理、中断使能/禁能、中断优先级分配、中断优先级判定、中断屏蔽/解除屏蔽、中断响应、现场保护和恢复等等。中断控制由CPU内部的中断处理逻辑和寄存器,以及外部的中断控制器接口芯片完成。从功能角度看,嵌入式处理器与通用处理器的中断控制器拥有基本相同的功能,只是实现细节不同。,1、中断控制器概述,应用程序,用户ISR,应用程序,时间轴,中断请求,中断响应时间,保存现场,恢复现场,1、中断控制器概述,1、中断控制器概述,ARM系列处理器有两种中断请求类型:普通中断请求IRQ快速中断请求FIQ,IRQ中断请求InterruptRequest也叫IRQ异常,属于普通中断请求。由nIRQ引脚上的低电平触发。IRQ中断请求的优先级低于FIQ,当FIQ信号进入时,IRQ被暂停执行。,IRQ普通中断请求,FIQ快速中断请求,FIQ中断请求FastInterruptRequest也叫FIQ异常,属于快速中断请求。用于高速数据传输和通道处理在ARM工作模式下,FIQ拥有充足的私用寄存器。无需程序员在编程时考虑节省寄存器,从而减小了任务切换时的开销。,S3C44BOX具有30个中断源,包括1个看门狗定时器,6个定时器,6个UART,8个外部,4个DMA,2个RTC,1个ADC,1个IIC和1个SIO共30个中断。S3C44BOX内置的中断控制器可以接收来自30个中断源的请求。S3C44B0X支持新的中断处理模式称为矢量中断模式。中断控制器的角色,就是响应来自FIQ(快速中断请求)或IRQ(普通中断请求)的中断,并请求内核对中断进行处理。多个中断请求发生时,由硬件优先级逻辑确定应该有哪个中断得到服务,同时硬件逻辑使中断向量表的跳转指令加载到(0X18或0X1C)位置,在该位置执行跳转指令使程序跳到相应的中断服务线程,因此相对于传统的ARM的软件方法能够大大减少中断进入延时。,2、中断控制器功能及应用描述,(2)S3C44B0X的中断源,EINT4,EINT5,EINT6和EINT7是S3C44B0X处理器的外部中断请求引脚,它们共用同一个中断请求源。因此,ISR(中断服务子程序)要通过读取EXTINTPND30寄存器来区别这4个中断源,并在处理结束时通过将EXTINTPND30中对应位写1来清除该位。,S3C44B0X“线或”的4个外部中断源,S3C44B0X的中断源优先级,上面的表的栏目序号代表了中断源的中断优先级。例如:EINT0,外部中断0的中断优先级为1,是具有最高优先级的中断源在例如:INT_ADC,AD转换操作结束中断的中断优先级为26,它的中断优先级最低。,中断源优先级产生模块,S3C44B0X的中断优先级判优小结,S3C44B0X优先级产生模块的内部结构如下一页幻灯片插图所示。图中主单元(主群)的中断源优先级定义:1mGA、mGB、mGC、mGDmGKAmGKB;2mGA、mGB、mGC、mGD之间优先级可以通过对I_CMST寄存器编程设定或者可轮询图中从单元(从群)的中断源优先级定义:sGA、sGB、sGC、sGDsGKAsGKB;sGA、sGB、sGC、sGD之间优先级可以通过对I_PSLV寄存器编程设定或者可轮询。,向量中断模式下IRQ,以EINT2中断为例,IRQ处理流程如下:,EINT2中断信号,0X18,0X20,执行ldrpc,handlerEINT2,转到handlerEINT2handlerhandleEINT2处执行。handlerEINT2此为宏指令,包括:保存工作状态,运行handleEINT2,恢复工作状态,handleEINT2就是相应中断处理函数的首地址,分支指令使跳转,中断控制器为每一个中断源的中断向量地址生成一条转移机器指令。例如,如果EINT0是IRQ,则中断控制器产生一条转移指令,它从0 x18转移到0 x20。这样,中断控制器就产生一条0 xEA000000的机器指令。用户程序代码必须为转移指令确定转移地址,让每一个向量地址上的转移指令转移到所对应的ISR(中断服务子程序)。与向量地址相对应的转移机器指令按照下面的方法计算:,向量中断模式的转移机器指令=0 xEA000000+(-0 x08)2)例如:定时器0中断以向量中断模式处理,跳转到它的ISR的转移指令位于0 x00000060。ISR的起始地址是0 x10000,则存放在向量地址0 x00000060的转移指令计算算式如下:0 xEA000000+(0 x10000-0 x60-0 x8)2)=0 xEA000000+0 x3FE6=0 xEA003FE6这就是说0 xEA003FE6的32位机器指令将被写入0 x00000060地址。这个机器指令通常由汇编器自动产生,无需程序员按照上面的方法计算。,44BINIT.s给出的S3C44B0X一级中断向量表地址分布,特殊功能寄存器,中断控制寄存器中断挂起寄存器中断模式寄存器中断屏蔽寄存器IRQ向量模式相关寄存器IRQ从群优先级寄存器IRQ主群优先级寄存器当前IRQ从群优先级寄存器当前IRQ主群优先级寄存器IRQ中断服务挂起寄存器IRQ/FIQ中断挂起清零寄存器,中断控制寄存器INTCON,寄存器位0为FIQ使能位,1为IRQ使能位2选择矢量中断模式还是普通模式,中断挂起寄存器INTPND,共26位,每一位对应一个中断源,当中断请求产生时,相应的位就设置为1如果几个中断源同时发出中断请求,不管有没有被屏蔽,相应的挂起位置1,优先级寄存器根据优先级来响应优先级最高的中断服务程序中必须对中断挂起清零寄存器I_ISPC,F_ISPC写1来清除挂起是只读寄存器,中断挂起寄存器INTPEN,中断模式寄存器INTMOD,共26位每一位对应一个中断源当模式位设置为1时,对应的中断以FIQ模式来处理当模式位设置为0时,对应的中断以RIQ模式来处理,中断屏蔽寄存器INTMSK,每一位都对应一个中断源(除了全局和保留位)屏蔽位为1时,对应的中断被屏蔽屏蔽位为0时,对应的中断正常执行如果全局屏蔽位设置为1,所有的中断都不执行,注意如果使用了矢量中断模式,在中断服务程序中改变了中断屏蔽寄存器的值,这时并不能屏蔽相应的中断原因:中断在中断屏蔽寄存器之前已经被中断挂起挂起寄存器锁定.解决方法:在改变中断屏蔽寄存器后,再清除相应的挂起位,IRQ向量模式相关寄存器,从单元中的4个可编程的中断源(sGn)的优先级由I_PSLV决定主单元通过I_PMST来决定4个从单元和2个中断源的优先级I_ISPR显示当前优先级最高的中断源I_CSLVI_CMST(当前优先级寄存器)I_IPSCF_IPSC(清除寄存器),IRQ向量相关寄存器,从群优先级寄存器I_PSLV,决定每个从群中4个中断源的优先级即使相应的中断源没有用到,也须配置不同的优先级,幻灯片7,1,主群优先级寄存器I_PMST,决定4个从群的优先级,当前IRQ主群优先级寄存器I_CMST,表示从群中各中断源当前的优先级,当前IRQ从群优先级寄存器I_CSLV,表示从群中各中断源当前的优先级,IRQ中断服务挂起寄存器I_ISPR,0=不响应1=现在响应虽然有多个中断挂起位被打开,但只有1位发生作用,IRQ/FIQ中断挂起清零寄存器I_ISPC/F_ISPC,清除中断挂起位INTPND1清除未响应的中断请求0不变在中断服务程序末尾,相应的挂起位必须被清零,外部中断的应用,1.I/O口设置首先对PG口的工作模式进行设置,要让PG4-7工作在外部中断输入状态。因此,要将PG口设置在功能3模式下,采用语句:rPCONG=11111111xxxxxxxxB;如果希望采用内部上拉,则语句为:rPUPG=0000 xxxxB。,外部中断的应用,2.外部中断触发模式设置利用外部中断控制寄存器来设置外部中断的触发模式由于采用电平触发容易引起重复触发,因此建议采用下降沿或上升沿触发,不同触发方式的语句如下:采用下降沿触发时:rEXTINT=01x01x01x01xxxxxxxxxxxxxB;采用上升沿触发时:rEXTINT=10 x10 x10 x10 xxxxxxxxxxxxxB;采用边沿触发时:rEXTINT=11x11x11x11xxxxxxxxxxxxxB;采用低电平触发时:rEXTINT=000000000000 xxxxxxxxxxxxB;,外部中断的应用,3中断寄存器设置将
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度缝纫行业国际市场拓展与品牌合作合同
- 2025年北京智能家居系统安装废弃物规范处理与再利用合同
- 2025年新型农村分布式光伏发电项目施工与长期运维服务合同
- 2025年企业内部采购流程标准化与合同管理智能化升级合同
- 2026届四川省广安遂宁资阳等七市化学高二第一学期期末综合测试试题含答案
- 针纺织品公司员工保密协议
- 2025-2030中国护目镜行业现状调查与前景展望分析报告
- 土方施工及运输方案
- 2025年租赁服务行业研究报告及未来行业发展趋势预测
- 充电桩安装项目预算与成本控制方案
- 2025年三级仓储管理员(图书管理)职业技能鉴定《理论知识》考试真题(后附答案及解析)
- 2025至2030中国电动和手动工具行业市场深度研究与战略咨询分析报告
- 水泥预制品销售合同范本2025年
- 征信条例管理办法
- 机关事业单位工作人员绩效考核表
- 0-6岁儿童心理行为发育问题预警征象筛查表条目及释义
- 安全生产管理人员考核试题(答案)
- 小学教师安全教育(法律法规)培训材料6篇汇编
- 心房颤动患者的健康宣教
- 初升高家长会课件
- 2025年福建中考历史试题答案讲解及备考指导课件
评论
0/150
提交评论