- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三:中断实验
实验三 向量中断与PLL
一、实验目的
1.掌握ARM 的向量中断与非向量中断工作原理,编程实现ARM 的向量IRQ。
2.掌握LPC2103中断相关的寄存器配置方法。
3.掌握片内PLL的使用方法。
二、实验仪器设备
PC机 keil软件 ARM2103实验开发板 J-LINK仿真调试器
三、实验原理
1.向量中断 LPC2100系列ARM7微控制器的中断管理是由向量中断控制器VIC操作的。向量中断控制器具有32个中断请求输人 32个中断通道,但LPC2103只使用了19个通道号 ,可将它们设置为FIQ、向量IRQ和非向量IRQ,通过编程不同外设的向量IRQ中断优先级,可以实现动态分配调整。FIQ中断优先级最高,向量IRQ具有中等优先级,非向量IRQ的优先级最低。
快速中断请求 FIQ 具有最高优先级。如果分配给FIQ 的请求多于1 个,VIC 将结合中断请求向ARM 处理器产生FIQ 信号。当只有一个被分配为FIQ 时可实现最短的FIQ 等待时间,因为这时FIQ 服务程序不必再转移到中断服务程序中,而是直接从中断向量单元执行。但如果分配给FIQ 级的中断多于1 个,FIQ 服务程序从VIC 中读出一个字以识别产生中断请求的FIQ 中断源是哪一个。
向量IRQ 具有中等优先级。该级别可分配16 个中断请求。任意中断请求中都可分配到16 个向量IRQ slot 之一,其中slot0 具有最高优先级,而slot15 则为最低优先级。非向量IRQ 的优先级最低。
VIC 结合所有向量和非向量IRQ 向ARM 处理器产生IRQ 信号。通过读取VIC 寄存器并跳转到寄存器指向的地址来启动执行IRQ 服务程序。如果有任意一个向量IRQ 发出请求, VIC 则提供请求IRQ 服务程序的最高优先级的地址,否则提供默认程序的地址,该默认程序由所有非向量IRQ 共用。默认程序可读取任何VIC 寄存器以确定哪个IRQ 被激活。
相关的寄存器应用解释如下:
检查中断状态或中断通道
VICIRQStatus IRQ状态标志,置1的位表示对应的通道号中断有效 此通道设置为IRQ,并已使能 。只读。
VICFIQStatus FIQ状态标志,置1的位表示对应的通道号中断有效 此通道设置为FIQ,并已使能 。只读。
VICRawIntr 所有中断的状态,32个通道的中断请求/软件中断状态 不管是否使能 。只读。
中断通道IRQ或FIQ选择
VICIntSelect 中断选择.即选择IRQ或FIQ中断,置1时表示对应通道设置为FIQ,否则为IRQ。读/写。
中断使能及软件中断
VICIntEnable 中断使能,置1时表示对应通道使能,否则为禁止。读/写。
VICIntEnclr 中断使能清零,置1时清除对应通道使能标志。只写。
VICSoftInt 软件中断设置,置1时表示对应通道产生中断,只能通过VICSoftClear清除软件中断标志。读/写。
VICSoftClear 软件中断清零,清除相应通道的软件中断标志。只写。
IRQ中断向量
VICVectAddr 向量中断地址,当发生向量IRQ时,此寄存器是最高优先线IRQ通道的向量地址值。读/写。
IRQ向量原地址
VICDefVectAddr 非向量中断的向量地址,当发生非向量中断时,即将此寄存器值复制到VICVectAddr中。读/写。
VICVectAddr0~l 5优先级0~15向量中断的向量地址,当有对应优先级向量IRQ中断时,将会把保存的值复制到VICVectAddr中。读/写。
向量IRQ中断优先级设置
VICVectCntl0~15 向量控制寄存器0~15,即向量优先级寄存器。可以把各个IRQ中断通道分配到不同的向量控制寄存器中,使其成为向量中断,并具有一定的优先级。读/写。设置向量中断,即是把中断通道分配到向量IRQ中断优先级寄存器中,当然对应通道必须设置为IRQ中断类型,而不能为FIQ中断类型。在VIC中,FIQ无中断优先级,也无向量地址,一般只分配一个通道为FIQ中断。VICVectCntl0~15寄存器的d5位是控制是否使能此优先级的向量功能,若复位为0,则关闭其向量功能。此向量IRQ变为非向量IRQ。
杂项
ⅥCProtection 保护使能,若最低位置为l,则只允许在特权模式下访问VIC寄存器。
VIC基本操作方法如下:
设置IRQ/FIQ中断,若是IRQ中断,则可以设置为向量中断并分配中断优先级,否则为非向量IRQ。然后可以设置中断允许,以及向量中断对应地址或非向量中断默认地址。当有中断后,若是IRQ中断,则可以读取向量地址寄存器,然后跳转到相应代码。当要退出中断时,对向量地址寄存器写0,通知VIC中断结束。当发生中断时,处理器将会切换处理器模式,同时
文档评论(0)