




免费预览已结束,剩余33页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章 tms320c54xtm dsp中断系统,3.1 c54x中断系统概述 3.2 中断分类 3.3 中断标志寄存器(ifr)和中断屏蔽寄存器(imr) 3.4 中断响应过程 3.5 重新映射中断向量地址 3.6 中断和中断向量表 3.7 复位中断( ) 习 题,3.1 c54x中断系统概述,所谓中断是指这样一个过程:cpu正处理某件事情(执行程序)时,外部发生了某一事件并向cpu发信号请求去处理,cpu暂时中断当前工作,转去处理这一事件(进入中断服务程序),处理完再回来继续原来的工作。实现这种功能的部件称为中断系统,产生中断的请求源称为中断源。,c54x dsp支持软件中断和硬件中断。软件中断由程序指令(intr、trap、reset指令)引起。硬件中断包括外部硬件中断和内部硬件中断,分别由外部中断信号和片内外设中断信号引起。外部硬件中断如 ,内部硬件中断包括定时器、串行口、主机接口引起的中断。软件中断不分优先级,当同时有多个硬件中断时,硬件中断有优先级,c54x dsp按照中断优先级别的高低(1表示优先级最高)对它们进行服务。,3.2 中 断 分 类,c54x dsp的中断可以分成如下两大类: 第一类是可屏蔽中断。这些都是可以用软件来屏蔽或用软件来使能的硬件和软件中断源。c54x dsp最多可以支持16个用户可屏蔽中断。 第二类是不可屏蔽中断。这些中断是不能够屏蔽的。c54x dsp总是响应这一类中断。c54x dsp的非屏蔽中断包括所有的软件中断 与 和两个外部硬件中断,这两个中断可通过硬件控制也可通过软件控制。复位中断 对c54x dsp所有操作方式产生影响,而 中断不会对c54x dsp的任何操作模式产生影响。但 中断被声明时,禁止所有其他中断。,3.3 中断标志寄存器(ifr) 和中断屏蔽寄存器(imr),中断标志寄存器和中断屏蔽寄存器都是存储器映射的cpu寄存器。ifr对各硬件中断进行标志,当一个中断触发时,ifr中的相应的中断标志位置1,直到cpu识别该中断为止。imr对各硬件中断进行屏蔽或使能,某位为0表示此中断被屏蔽(禁止),某位为1表示此中断使能(以状态寄存器intm位为0为前提条件)。,图3.1所示为部分常用c54x dsp的ifr。对ifr来说,某位为1表示dsp收到了一个相应的中断请求,用软件将ifr某位置1,等效于dsp收到了一个中断请求。通常在开始某中断前,都将ifr对应位中记录的过期中断标志清0。,图3.1 c54x dsp中断标志寄存器(ifr),图3.1 c54x dsp中断标志寄存器(ifr),图3.2所示为部分常用c54x dsp的imr, 和 都不包括在imr中,imr不能控制这两个中断。,图3.2 c54x dsp中断屏蔽寄存器(imr),图3.2 c54x dsp中断屏蔽寄存器(imr),3.4 中断响应过程,1接收中断请求 一个中断由硬件器件或软件指令请求。当产生一个中断请求时,ifr寄存器中相应的中断标志位被置位。不管中断是否被处理器应答,该标志位都会被置位。当相应的中断被响应后,该标志位自动被清除。 1) 硬件中断请求 外部硬件中断由外部中断口的信号发出请求,而内部硬件中断由片内外设的信号发出中断请求。,2) 软件中断请求 软件中断由如下程序指令发出中断请求: (1) intr 该指令允许执行任何一个中断服务程序。指令操作数(k)表示cpu分支转移到哪个中断向量地址。表3.13.6列出了用于指向每个中断向量位置的操作数k。当应答intr中断时,st1寄存器的中断模式位(intm)被设置为1以禁止可屏蔽中断。 (2) trap 该指令执行的功能与intr指令一致,但不用设置intm位。,(3) reset 该指令执行一个非屏蔽软件复位,可以在任何时候被使用并将c54x dsp置于已知状态。reset指令影响st0和st1寄存器,但是不会影响pmst寄存器。 当应答reset指令时,intm位被调协为1以禁止可屏蔽中断。iptr和外设寄存器的初始化与硬件复位的初始化是不同的。,2应答中断 硬件或软件中断发送了一个中断请求后,cpu必须决定是否应答该中断请求。软件中断和非屏蔽硬件中断会立刻被应答,可屏蔽中断仅仅在如下条件满足后才被应答。 1) 最高优先级 当超过一个硬件中断同时被请求时,c54x dsp按照中断优先级响应中断请求。表3.13.6列出了部分c54x dsp的硬件中断和优先级。,2) intm位清0 st1的中断模式位(intm)使能或禁止所有可屏蔽中断。 (1) 当intm=0,所有非屏蔽中断被使能。 (2) 当intm=1,所有非屏蔽中断被禁止。 当响应一个中断后,intm位被置1。如果程序使用rete指令退出中断服务程序(isr)后,从中断返回后intm重新使能。使用硬件复位( )或执行rsbx intm指令(禁止中断)会将intm位置1。通过执行bsbx intm指令(使能中断),可以复位intm位。intm不会自动修改imr或ifr。,3) imr屏蔽位为1 每个可屏蔽中断在imr中有自己的屏蔽位。为了使能一个中断,可以将屏蔽位置1。 intr指令会强制pc到相应地址,并且获取软件向量。当cpu读取软件向量的第一个字时,它会产生 (中断应答信号)信号,而清除相应的中断标志位。 对于被使能的中断,当产生 (中断应答信号)信号时,在clkout的上升沿,地址位a6a2会指明中断号。如果中断向量驻留在片内存储器,并且用户想查看这些地址,c54x dsp必须在地址可见模式下工作(avis=1),以便中断号被译码。如果当c54x dsp处于hold模式并且hm=0时,则会产生一个中断。当 信号有效时,地址不可见。,3执行中断服务程序 当应答中断后,cpu会采取如下的操作: (1) 保存程序计数器(pc)值(返回地址)到数据存储器的堆栈顶部。程序计数器扩展寄存器(xpc)不会压入堆栈的顶部,也就是说,它不会保存在堆栈中。因此,如果isr位于和中断向量表不同的页面,用户必须在分支转移到isr之前压入xpc到堆栈中。frete指令可以从isr返回。 (2) 将中断向量的地址加载到pc。,(3) 获取位于向量地址的指令(分支转移被延时,并且用户也存储了一个2字指令或两个1字指令,则cpu也会获取这两个字)。 (4) 执行分支转移,转到中断服务程序(isr)地址(如果分支转移被延时,则在分支转移之前会执行额外的指令)。 (5) 执行isr,直到一个返回指令中止isr。 (6) 将返回地址从堆栈中弹出到pc中。 (7) 继续执行主程序。,图3.3 中断操作流程图,根据中断请求源的两种不同类型,分别描述其中断操作流程: (1) 如果请求的是一个可屏蔽中断,则操作过程如下: 设置ifr的相应标志位。 测试应答条件(intm0并且相应的imr1)。如果条件为真,则cpu应答该中断,产生一个 (中断应答信号)信号;否则,忽略该中断并继续执行主程序。 当中断已被应答后,ifr相应的标志位被清除,并且intm位被置1(屏蔽其他可屏蔽中断)。, pc值保存到堆栈中。 cpu分支转移到中断服务程序(isr)并执行isr。 isr由返回指令结束,返回指令将返回地址从堆栈中弹出给pc。 cpu继续执行主程序。,(2) 如果请求的是一个非屏蔽中断,则操作过程如下: cpu立刻应答该中断,产生一个 (中断应答信号)信号。 如果中断是由 、 或intr指令请求的,则intm位被置1(屏蔽其他可屏蔽中断)。 如果intr指令已经请求了一个可屏蔽中断,那么相应标志位被清除为0。 pc值保存到堆栈中。 cpu分支转移到中断服务程序(isr)并执行isr。 isr由返回指令结束,返回指令将返回地址从堆栈中弹出给pc。 cpu继续执行主程序。,3.5 重新映射中断向量地址,中断向量可以映射到程序存储器的任何128字页面的起始位置,除保留区域外。中断向量地址是由pmst寄存器中的iptr(9位中断向量指针)和左移两位后的中断向量序号(中断向量序号为031,左移两位后变成7位)所组成。例如,如果 被声明为低优先级,并且iptr=0001h,则中断向量的地址为00c0h,如图3.4所示。 的中断向量号为16。,图3.4 中断向量地址产生,复位时,iptr所有的位被置1(iptr=1ffh),并按此值将复位向量映射到程序存储器的511页空间。所以,硬件复位后总是从0ff80h开始执行程序。加载除1ffh之外的值到iptr后,中断向量可以映射到其他地址。例如,用0001h加载iptr,那么中断向量就被移到从0080h单元开始的程序存储器空间。 注意:硬件复位( )向量不能被重新映射,因为硬件复位会加载1到iptr所有的位,因此,硬件复位向量总是指向程序空间的ff80h位置。,3.6 中断和中断向量表,表3.1 c542 中断和优先级,表3.1 c542 中断和优先级,表3.2 c548中断和优先级,表3.2 c548中断和优先级,表3.3 c549中断和优先级,表3.3 c549中断和优先级,表3.4 c5402中断和优先级,表3.4 c5402中断和优先级,表3.5 c5410中断和优先级,表3.5 c5410中断和优先级,表3.6 tms320c5420中断和优先级,3.7 复位中断( ),复位()是一个不可屏蔽的外中断,以vc5402为例,复位后vc5402的相关内部资源设置成以下状态: * iptr=1ffh,中断矢量表位于ff80h,pc=ff80h; * pmst中的mp/位与管脚mp/电平一致; * xpc=0; * 地址总线置为ff80h,数据总线为高阻; * 所有控制线无效; * 产生信号; * intm=1,屏蔽所有中断; * ifr清0;,* 置下列状态位为初始值: arp=0 clkoff=0 hm=0 sxm=0 asm=0 cmpt=0 intm=1 tc=1 avis=0 cpl=0 ova=0 ovb=0 br
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 荆州市监利市事业单位2025年统一公开招聘笔试历年典型考题及考点剖析附带答案详解
- 随州市曾都区事业单位2025年统一公开招聘笔试历年典型考题及考点剖析附带答案详解
- 【扬州】2025年江苏扬州高新技术产业开发区下属单位招聘员额制工作人员4人笔试历年典型考题及考点剖析附带答案详解
- 张娟诗经教学课件
- 2025年西安市事业单位公开招聘(募)工作人员笔试和安排笔试历年典型考题及考点剖析附带答案详解
- 【安阳】2025年河南安阳市殷都区区直事业单位公开选调工作人员34人笔试历年典型考题及考点剖析附带答案详解
- 第七节气体钢瓶的常用标记及使用注意事项66课件
- 传统节日教学设计课件
- 小学生篮球拍球活动课件
- 小学生科学课件
- 小数乘除法竖式计算题及答案
- 2024年医院信息保密制度范本(三篇)
- 第22章 相似形 单元检测题2023-2024学年沪科版数学九年级上册
- 血管内超声IVUS简介
- DL∕T 2528-2022 电力储能基本术语
- 山东财经大学《大学英语》2022-2023学年期末试卷
- 2024年歌尔股份有限公司校园招聘考试试题完美版
- peskin量子场论课后答案(芝加哥大学版)
- 医院专家工作站合作协议书
- 2023年河北语文高考试题
- 2023年禁毒工作全年工作总结
评论
0/150
提交评论