第五课-ADSP处理器PLL 中断管理和工作模式.ppt

第五课-ADSP处理器PLL 中断管理和工作模式.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ADSP处理器的中断和异常处理 概述 ADSP-BF533处理器的事件控制器处理到达处理器的所有的同步和异步事件。事件处理支持嵌套和优先级。嵌套允许同时激活多个事件的服务程序。优先级保证高优先级事件的响应可以抢占较低优先级事件的响应。控制器支持5种不同类型的事件: 仿真:仿真事件使处理器进入仿真模式,允许通过JTAG接口命令和控制处理器。 复位:此事件使处理器复位。 不可屏蔽中断(NMI):NMI事件可以由软件“看门狗”定时器或者处理器的NMI输入信号产生的。NMI事件经常用作断电指示,有序地进行系统关闭工作。 异常:异常是与程序执行同步发生的事件,即指令执行完之前可能会产生异常。例如数据对准违规、未定义指令等情况都将导致异常。 中断:中断是与程序执行异步发生的事件,由定时器、外设、输入引脚等引起,也可以由软件指令触发。每个事件都有一个相应的保存返回地址的寄存器和一个相应的从事件返回指令。一个事件被触发后,处理器当前状态被保存在管理员堆栈内。 ADSP-BF533处理器的事件控制器包括2个部分,内核事件控制器(CEC)和系统中断控制器(SIC)。内核事件控制器和系统中断控制器协同工作来控制优先级和控制所有系统事件。从概念上讲,来自外设的中断进入到SIC,然后被直接发送到CEC的通用中断中处理。 内核事件控制器(CEC) 除专用中断和异常事件外,CEC还支持9个通用中断(IVG15-7)。这些通用中断中,推荐将优先级最低的2个中断(IVG15-14)留作软件中断,剩下的7个优先级中断分别用于ADSP-BF533处理器的外设。下表描述了CEC的事件、事件向量表(EVT)的名称及优先级 最高级 中断源 中断向量号 核事件名称 优先级高低 硬件仿真器 0 EMU 最低级 复位 1 RST 无标志中断 2 NM 异常 3 EVSW 禁用 4 Reserved 硬件错误 5 IVHW 核定时器 6 IVTMR 通用7 7 IVG7 通用8 8 IVG8 通用9 9 IVG9 通用10 10 IVG10 通用11 11 IVG11 通用12 12 IVG12 通用13 13 IVG13 通用14 14 IVG14 通用15 15 IVG15 中断优先级 系统中断控制器(SIC) 系统中断控制器为来自多个外设的中断源提供至CEC通用中断输入的映射和路由。尽管ADSP-BF533处理器提供了默认的映射,用户仍可以通过改写中断设置寄存器(IAR)的值,来改变中断事件的映射和优先权。 SIC的中断源和至CEC的默认映射 事件控制 ADSP-BF533处理器为用户提供了非常灵活的机制来控制事件的处理。在CEC中,有3个寄存器用于调整和控制事件。如下所示,每个寄存器都是16位宽度: CEC中断锁存寄存器(ILAT):ILAT寄存器用于指示事件已被锁存。处理器锁存事件后相应的位置1,事件被系统接受后该位清0。该寄存器被控制器自动刷新,但仅当其相应的IMASK位被清除时可写。 CEC中断屏蔽寄存器(IMASK):IMASK寄存器控制发生的事件是否被屏蔽。当IMASK寄存器的相应位置1时,事件不被屏蔽,发生后由CEC处理。该位清0将屏蔽事件,即使该事件已被锁存在ILAT寄存器中,处理器也不会处理该事件。在管理员模式下,该寄存器可以被读写。 CEC中断等待寄存器(IPEND):IPEND寄存器跟踪所有嵌套的事件。IPEND寄存器中的相应位置1表示事件当前处于活动状态或嵌套在某一级。该寄存器被控制器自动刷新,但是在管理员模式下才能读取。 SIC使用4个32位中断控制和状态寄存器,来进一步控制事件的处理。 系统中断分配寄存器(SIC_IARx):设置外设中断源的优先级,只需将其映射到一定的内核通用中断级别上。有可能出现多个中断源被映射到一个级别上,这时它们在硬件上没有优先级,是逻辑或的关系,需要由软件来确定它们的优先级。 通用中断 写到SIC_IARx中的值 IVG7 0 IVG8 1 IVG9 2 IVG10 3 IVG11 4 IVG12 5 IVG13 6 IVG14 7 IVG15 8 外设中断源映射到特定中断级别上写在SIC_IARx中的值 系统中断状态寄存器(SIC_ISR):当SIC检测到一个外设产生中断请求信号时,SIC_ISR中的相应位置1,而当中断请求信号无效时,SIC_ISR中的相应位清零。 SIC中断屏蔽寄存器(SIC_IMASK):此寄存器控制每个外设中断事件是否被屏蔽。当寄存器的相应位置1时,事件不被屏蔽,发生后由系统处理。该位清0将屏蔽外设事件,使之不被处理。 SIC中断唤醒使能寄存器(SIC_IWR):通过使能该寄存器中的相应位,当事

文档评论(0)

a13355589 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档