外设之中断、定时器_第1页
外设之中断、定时器_第2页
外设之中断、定时器_第3页
外设之中断、定时器_第4页
外设之中断、定时器_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统原理与开发第6讲2410片上外设之中断系统定时器看门狗对应教材第910章S3C2410的片上外设本讲提要132546回顾:ARM处理器的异常与中断2410的中断系统2410的RTC(略)2410的PWM定时器2410的WatchDog本讲小结PWM定时器结构时钟源为PCLK,经过2次分频第1次8位预分频,系数由寄存器TCFG0决定第2次分频系数由寄存器TCFG1决定Timer4没有输出两次分频系数均由寄存器TCFGn决定GPB/TOUT复用引脚定时器的工作原理原理如图。寄存器TCMPB决定计数比较值,即电平宽度;寄存器TCNTB决定计数初值,即计数周期。TCFG0决定第1次分频系数TCFG1决定第2次分频系数TCONTimer2-1与上面Timer3一样,顺次排下来。TCON续TCMPB、TCNTB及TCNTOPWM定时器编程举例第1步:端口引脚初始化第2步:设置分频系数第3步:设置计数初值和脉宽第4步:设置控制参数,并启动定时器总结定时器在一个工作周期(Timerinputclockcycle)内的具体工作内容主要有3个。分别是:1.对一个数值进行递减计数操作2.把递减后的数值和另一个数值进行比较操作3.计数时间到,产生中断或执行DMA操作本讲提要132546回顾:ARM处理器的异常与中断2410的中断系统2410的RTC(略)2410的PWM定时器2410的WatchDog本讲小结ARM微处理器:程序状态寄存器置0表示执行32bit的ARM指令置1表示执行16bit的Thumb指令NegativeZeroCarryOverflowIRQ中断的响应:置1:禁止响应置0:允许响应FIQ中断的响应:置1:禁止响应置0:允许响应条件标志模式控制位ARM/Thumb控制标志中断标志ARMCPU将引起异常的类型分为7种ARM微处理器:异常异常向量VectorTable异常处理过程当异常产生时,ARMcore:拷贝CPSR到SPSR_<mode>设置适当的CPSR位:改变处理器状态进入ARM态改变处理器模式进入相应的异常模式设置中断禁止位禁止相应中断(如需要)保存返回地址到LR_<mode>设置PC为相应的异常向量返回时,异常处理需要:从SPSR_<mode>恢复CPSR从LR_<mode>恢复PCNote:这些操作只能在ARM态执行.Vectortablecanbeat

0xFFFF0000onARM720T

andonARM9/10familydevicesFIQIRQ(Reserved)DataAbortPrefetchAbortSoftwareInterruptUndefinedInstructionReset0x1C0x180x140x100x0C0x080x040x00当异常出现时,异常模式分组的R14和SPSR用于保存状态,即:

R14_<exception_mode>=returnlinkSPSR_<exception_mode>=CPSRCPSR[4:0]=exceptionmodenumberCPSR[5]=0/*在ARM状态执行*/if<exception_mode>==ResetorFIQthenCPSR[6]=1/*禁止快速中断*/CPSR[7]=1/*禁止正常中断*/PC=exceptionvectoraddress当处理异常返回时,将SPSR传送到CPSR,R14传送到PC异常处理过程异常的描述:中断IRQ:当外部IRQ输入请求发生时(IRQ中断已经被使能),触发该异常。FIQ:FIQ通常被用于快速传输数据。当外部FIQ输入请求发生时(FIQ中断已经被使能),触发该异常。退出异常:SUBSPC,R14_irq,#4SUBSPC,R14_fiq,#4vector.s中汇编实现异常的初始化本讲提要132546回顾:ARM处理器的异常与中断2410的中断系统2410的RTC(略)2410的PWM定时器2410的WatchDog本讲小结2410的中断源总共56个中断源。每个都可设置成IRQ或FIQ模式;包括24个外部中断(EINT)和32个内部中断;24个EINT由通用端口GPF和GPG引脚输入;32个内部中断包括定时器、UART、触摸屏等中断处理过程中断触发标志,由中断源自动设置中断屏蔽56个中断源最高级别中断请求标志,仅1位模式设置优先级仲裁与中断相关的寄存器寄存器名字寄存器地址读写权限作用SRCPND0x4a000000R/W中断源请求标志寄存器,当中断产生后,相应位置位INTMOD0x4a000004R/W中断模式寄存器,设定IRQ或FIQ模式INTMASK0x4a000008R/W中断屏蔽寄存器,如果相应位置1则该中断屏蔽PRIORITY0x4a00000cR/W中断优先级控制寄存器INTPND0x4a000010R/W最高级中断请求寄存器,相应位对应正在执行的中断INTOFFSET0x4a000014R中断源请求偏移寄存器SUBSRCPND0x4a000018R/W子中断源请求标志寄存器INTSUBMSK0x4a00001cR/W子中断屏蔽寄存器除上述寄存器外,还有几个与外部中断相关的寄存器外部中断触发方式寄存器控制触发方式外部中断屏蔽寄存器外部中断源标志寄存器中断源触发标志寄存器EINT0-3标志在这里IRQ中断优先级的仲裁PRIORITY寄存器INTPND寄存器注意:同时最多1位为1,表示优先级最高。通过写1清除标志。INTOFFSET寄存器

表明哪个中断正在被处理使用中断的流程以定时器2中断为例,主要代码如下:

第1步,开总中断

第2步,中断源初始化

第3步,中断服务程序中断服务函数__irq关键字用来声明中断子函数中断的开/关

总中断的开关控制在CPSR寄存器中中断源的开关控制在INTMSK中清中断标志本讲提要132546回顾:ARM处理器的异常与中断2410的中断系统2410的RTC(略)2410的PWM定时器2410的WatchDog本讲小结什么是WatchDog?看门狗WatchDog是一种专门硬件,用来看护系统程序的运行,防止程序跑飞;实质是一个定时器,定时时间到,会产生系统复位信号用法:程序需要隔段时间就设置一下该定时器,让其重新从头计数,这一操作称为“喂狗”;若程序跑飞,时间到,“无人喂狗”,系统复位。2410的W

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论