DSP学习 5)中断管理和复位.ppt

  1. 1、本文档共43页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP学习 5)中断管理和复位

一、中断矢量 二、可屏蔽中断 三、非屏蔽中断 四、非法指令陷阱 五、复位操作 六、低功耗模式 七、片内外设的中断扩展 2.4 定时器中断举例 中断矢量表 中断控制寄存器初始化 main()函数 定时器中断服务程序 思考题 初始化中断矢量表 六、片内外设的中断扩展 2.使用PIEIERx寄存器去禁止中断并清除相应的PIEIFRx标志。完成外设中断的软件复位并清除PIEIFRx寄存器和IFR寄存器中的相应标志,按下列过程。 步骤1:禁止全局中断(1NTM=1)。 步骤2:置位EALLOW位。 步骤3:修改PIE向量表,将特有的外设中断暂时映像到—一个空的中断服务子程序ISR。这个空的ISR仅完成从中断指令的返回。在没有丢失来自其他外设组的任何中断的情况下,这是清除单个PIEIFRx.y位的一种安全途径。 步骤4:禁止外设寄存器的外设中断。 步骤5:使能全局中断(1NTM=0)。 步骤6:通过空的ISR子程序为那些等待来自外设的未决中断服务。 步骤7:禁止全局中断(1NTM=1)。 步骤8:修改PIE向量表,将外设向量映像到它最初的ISR。 步骤9:清除EALLOW位。 步骤10:禁止给定外设的PIEIER位。 步骤11:清除给定外设组的IFR位(这是对CPUIFR寄存器的安全操作)。 步骤12:清除PIE组的PIEACK位。 步骤13:使能全局中断。 使能和禁止多通道外设中断 第4章 中断管理和复位 从外设到CPU的多通道中断请求流程 第4章 中断管理和复位 六、片内外设的中断扩展 步骤1:任何PIE组里的外设和外部中断产生一个中断,假如外设中断已被使能,那么,该中断要求就被置入PIE模块。 步骤2:PIE模块识别PIE组x内已经录入的中断y(INTx.y),并且将相应的PIE中断标志位锁存:PIEIFRx.y=1。 步骤3:为了置位从PIE到CPU的中断要求,下列两个条件必须为真。 (1)适当的使能位必须置位(PIEIERx.y=1)。 (2)必须清除该组的PIEACKx位。 步骤4:如果步骤3中的两个条件为真,那么就在CPU建立了一个中断要求,响应位再次被置位(PIEACKx=1)。PIEACKx位将一直保持置位直至清除该位,这表示来自该组的附加中断能够被从PIE设置到CPU。 步骤5:CPU中断标志位置位(CPU IFRx=1)以标示出一个CPU级的未决的中断x。 步骤6:假如CPU中断被使能(CPU IER bitx=1或DBGIER bitx=1),全局中断屏蔽被清除(1NTM=0),那么CPU将为INTx服务。 从外设到CPU的多通道中断请求流程 第4章 中断管理和复位 六、片内外设的中断扩展 步骤7:CPU识别这个中断并自动存放有关信息,清除IER位,设置INTM,清除EALLOW。 · 步骤8:CPU从PIE要求适当的向量。 步骤9:对于多通道中断,PIE模块使用PIEIERx和PIEIFRx寄存器中的当前值去找出要使用的向量地址。有两种可能的情况: ● 该组中最高优先级中断的向量被取出,并且被用作分支地址。这个中断在PIEIERx寄存器中使能,在PIEIFRx中标示为未决的中断。在这种方式下,假如一个更高级的使能中断在步骤4之后被标示,它就会首先得到服务。 ● 如果该组中没有已经标示的中断被使能,那么PIE将响应该组中最高优先级的中断向量,即用INTx.1作为分支地址,这种操作相当于执行28x的TRAP或INT指令。 在这一点上,PIEIPRx.y位被清除,CPU转入从PIE取出的中断向量里去。 从外设到CPU的多通道中断请求流程 第4章 中断管理和复位 六、片内外设的中断扩展 PIE向量表 (见教材) 第4章 中断管理和复位 六、片内外设的中断扩展 PIE寄存器 保留 6 )x0000 0CFA )x0000 0CFF 保留 PIE,INTx组标志寄存器 1 0x0000 0CE3 ~ 0CF9 (奇数) PIEIFRx PIE,INTx组使能寄存器 1 0x0000 0CE2 ~ 0CF8 (偶数) PIEIERx X=1,2,…,12 PIE,响应寄存器 1 0x0000 0CE1 PIEACK PIE,控制寄存器 1 0x0000 0CE0 PIECTRL 描述 占用 空间 地址 名称 第4章 中断管理和复位 配置 CPU定时器0产生定时中断 每次中断LED的状态切换一次(0/1) 外设中断的编程: 1)定义使用的外设中断矢量表 2)外设级中断控制寄存器初始化--InitPieCtrl() 3)CPU级中断控制寄存器初始化--mai

文档评论(0)

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

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

1亿VIP精品文档

相关文档