第8章 PIE中断系统及其应用_第1页
第8章 PIE中断系统及其应用_第2页
第8章 PIE中断系统及其应用_第3页
第8章 PIE中断系统及其应用_第4页
第8章 PIE中断系统及其应用_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、第第8章章 中断系统及其应用中断系统及其应用主要内容主要内容v 中断源中断源v PIE控制器概述控制器概述v 中断向量表中断向量表v PIE矢量表矢量表v 可屏蔽中断处理可屏蔽中断处理v CPU定时器定时器v 举例举例1、中断源、中断源p C28xDSP内核总计内核总计16个中断线,其中包括个中断线,其中包括2个不个不可屏蔽中断可屏蔽中断(RESET和和NMI)与与14个可屏蔽中断;个可屏蔽中断;p 可屏蔽中断通过相应的中断使能寄存器使能或可屏蔽中断通过相应的中断使能寄存器使能或禁止产生的中断;禁止产生的中断;1、中断源、中断源p在在F2810和和F2812处理器中,定时器处理器中,定时器1和

2、定时器和定时器2预留给实时操作系统预留给实时操作系统DSP/BIOS使用,其中断分配使用,其中断分配给给INT14和和INT13,用户在程序中不可以修改;,用户在程序中不可以修改; 1、中断源、中断源p其余其余12个可屏蔽中断直接连接在外设中断扩展模个可屏蔽中断直接连接在外设中断扩展模块,供外部中断和处理器内部的外设单元使用;块,供外部中断和处理器内部的外设单元使用; 1、中断源、中断源p 两个不可屏蔽中断两个不可屏蔽中断RESET和和NMI各自占用独立各自占用独立的专用中断,同时的专用中断,同时NMI中断也可以选择同定时器中断也可以选择同定时器1复用复用INT13; p CPU一共支持一共支

3、持16个中断个中断(RESET、NMI、INT1INT14);其中;其中RESET、NMI是不可屏蔽中是不可屏蔽中断;断;INT1INT14是可屏蔽中断是可屏蔽中断(INT13、INT14留留给实时操作系统给实时操作系统); p 用户可以操作修改的中断是用户可以操作修改的中断是INT1INT12,其中,其中每一个中断组又复用了每一个中断组又复用了8个外设中断;所以外设中个外设中断;所以外设中断一共有断一共有96个;个; 2、PIE中断扩展中断扩展p 28x的每个外部设备都能产生的每个外部设备都能产生1个或多个中断;个或多个中断;但由于但由于CPU并不能同时处理所有的外设中断请求并不能同时处理所

4、有的外设中断请求;p 因此需要一个因此需要一个PIE控制器对这些外设和外部管脚控制器对这些外设和外部管脚的中断请求进行仲裁;的中断请求进行仲裁;p PIE矢量表用来存放每一个中断服务的地址;不矢量表用来存放每一个中断服务的地址;不论是复用还是非复用的中断都对应着一个矢量表论是复用还是非复用的中断都对应着一个矢量表;p 实际用户可以修改使用的外设中断只有实际用户可以修改使用的外设中断只有45个个 2.1 中断操作流程包含三部分中断包含三部分中断外设级中断、外设级中断、PIE级中断、级中断、CPU级中断级中断2.1 中断操作流程1) 外设级中断v 外部设备中断事件发生,则其对应的寄存器外部设备中断

5、事件发生,则其对应的寄存器中的中断标志位被设为中的中断标志位被设为1(Interrupt Flag: IF);v 若相应的中断使能位若相应的中断使能位(Interrupt Enable: IE)被被设为设为1,则外部设备向,则外部设备向PIE控制器发出一个中控制器发出一个中断请求;断请求; 若中断被使能,则中断请求提交给若中断被使能,则中断请求提交给PIE,IF仍为仍为1; 若中断未被使能,则若中断未被使能,则IF仍为仍为1,直至软件清,直至软件清0;v 外设寄存器中的外设寄存器中的IF位需手动清位需手动清0;1) 外设级中断p 外设级中断通过外设级中断通过IFR与与IER使能控制使能控制;p

6、 注意:外设寄存器的中断标志必须采用软件注意:外设寄存器的中断标志必须采用软件进行清零进行清零;返回2) PIE级中断v PIE模块复用模块复用8个外设中断引脚向个外设中断引脚向CPU申请中断;申请中断;这些中断被分为这些中断被分为12组,每组有一个中断信号向组,每组有一个中断信号向CPU申请中断;申请中断; 例如:例如:PIE第第1组复用组复用CPU的中断的中断1(INT1); PIE第第12组复用组复用CPU的中断的中断12(INT12);其余不复用的中断则直接向其余不复用的中断则直接向CPU提出请求;提出请求;v 对于复用中断,在对于复用中断,在PIE模块内每组中断有相应的模块内每组中断

7、有相应的中断标志位中断标志位(PIEIFRx.y)和使能位和使能位(PIEIERx.y)v 除此之外,每组除此之外,每组PIE中断中断(INT1INT12)有一个有一个响应标志位响应标志位(PIEACKx)2) PIE级中断v 一旦一旦PIE控制器有中断请求,相应的中断标志位控制器有中断请求,相应的中断标志位被置被置1(PIEIFRx.y);v 如果相应的如果相应的PIE中断使能位中断使能位(PIEIERx.y)被置被置1,则则PIE检查相应的检查相应的PIEACKx位以确定位以确定CPU是否准是否准备响应该中断;备响应该中断;v 如果如果PIEACKx清零,则清零,则PIE向向CPU发出中断

8、请发出中断请求;如果求;如果PIEACKx置置1,则,则PIE将等待直到将等待直到PIEACKx被清被清0才向才向CPU发出中断请求;发出中断请求;返回3) CPU级中断v 一旦向一旦向CPU请求中断,相应于请求中断,相应于INTx的的CPU级中级中断标志位断标志位(IFR)置置1。中断标志位锁存到。中断标志位锁存到IFR后,后,只有只有CPU中断使能寄存器中断使能寄存器(IER)或调试中断使能或调试中断使能寄存器寄存器(DBGIER)和全局中断屏蔽位和全局中断屏蔽位(INTM)被使被使能时才会响应中断请求;能时才会响应中断请求;3) CPU级中断v CPU级使能可屏蔽中断采用级使能可屏蔽中断

9、采用CPU中断使能寄存中断使能寄存器器(IER)还是中断调试使能寄存器还是中断调试使能寄存器(DBGIER)与中与中断处理方式有关。断处理方式有关。 标准处理模式下,不使用中断调试使能寄存器标准处理模式下,不使用中断调试使能寄存器(DBGIER); 当当F281x使用实时调试且使用实时调试且CPU被停止时,才使用中被停止时,才使用中断调试使能寄存器断调试使能寄存器(DBGIER),此时此时INTM不起作用不起作用;3) CPU级中断v 中断标志寄存器(中断标志寄存器(IFR) 中断使能寄存器(中断使能寄存器(IER) 全局中断屏蔽使能(全局中断屏蔽使能(INTM)4)中断优先级p CPU中断的

10、优先级:由高到低分别为中断的优先级:由高到低分别为RS,NMI,INT1INT14;p PIE控制每组控制每组8个中断的优先级:由高到低为个中断的优先级:由高到低为INTx.1INTx.8。5) PIE寄存器及其地址PIE寄存器地址:寄存器地址:0 x0000 0CE00 x00000CFF PIECTRL(PIE控制寄存器):控制寄存器):0 x0000 0CE0 PIEACK(PIE响应寄存器):响应寄存器):0 x0000 0CE1 PIEIER1:0 x0000 0CE2 PIEIFR1:0 x0000 0CE3 PIEIER12:0 x0000 0CF8 PIEIFR12:0 x00

11、00 0CF9 保留:保留:0 x0000 0CFA0 x0000 0CFF3 中断向量中断向量p 中断向量的分配中断向量的分配p 中断向量的映射方式中断向量的映射方式3.1 中断向量的分配中断向量的分配v PIE支持支持96个中断,每个中断都有自己的中个中断,每个中断都有自己的中断向量存放在断向量存放在RAM中,构成整个系统的中断中,构成整个系统的中断向量表,如表向量表,如表8.2所示;所示;v 在相应中断时,在相应中断时,CPU将自动地从中断向量表将自动地从中断向量表中获取相应的中断向量;中获取相应的中断向量;v CPU获取中断向量和保存重要的寄存器需要获取中断向量和保存重要的寄存器需要花

12、费花费9个个CPU时钟周期,因此时钟周期,因此CPU能够快速地能够快速地响应中断;响应中断;3.1 中断向量的分配中断向量的分配v 复用中断模式在使用中断过程中多个中断源共复用中断模式在使用中断过程中多个中断源共用一条中断线,每条中断线连接地中断向量都在用一条中断线,每条中断线连接地中断向量都在中断向量表中占中断向量表中占32位地址空间,用来存放中断服位地址空间,用来存放中断服务程序的入口地址;务程序的入口地址;v 中断复用程序必须处理所有输入的中断请求,中断复用程序必须处理所有输入的中断请求,这就要求编程人员在服务程序的入口处采用软件这就要求编程人员在服务程序的入口处采用软件方法将这些中断分

13、离开,以便能够正确地处理;方法将这些中断分离开,以便能够正确地处理;v 但软件分离的方法势必会影响中断的响应速度,但软件分离的方法势必会影响中断的响应速度,因此,在实时性要求高的应用中不能使用。因此因此,在实时性要求高的应用中不能使用。因此就涉及到如何加快中断服务程序的问题。就涉及到如何加快中断服务程序的问题。p 在在F2812中采用外设中断扩展模块中采用外设中断扩展模块(PIE)以以加快中断服务程序;加快中断服务程序;p 中断向量表可以映射到中断向量表可以映射到5个不同的存储空个不同的存储空间。实际应用中,只使用间。实际应用中,只使用PIE中断向量表映中断向量表映射;射;p PIE中断向量映

14、射地址中断向量映射地址:0 x0000D00 0 x0000 0DFF,共共256字长度数据空间;字长度数据空间;p 中断向量映射配置表:中断向量映射配置表:3.2 中断向量的映射方式中断向量的映射方式p 根据上面的表格可以知道:控制位的不同设根据上面的表格可以知道:控制位的不同设置,中断向量表有不同的映射方式。置,中断向量表有不同的映射方式。 3.2 中断向量的映射方式中断向量的映射方式3. PIE中断向量表:见表中断向量表:见表8.6(P129)4 可屏蔽中断处理可屏蔽中断处理p 可屏蔽中断的响应过程实质上是中断产生、使可屏蔽中断的响应过程实质上是中断产生、使能到处理的过程。能到处理的过程

15、。 使能使能/禁止复用外设中断禁止复用外设中断 PIE寄存器寄存器: PIECTRL、PIEIFR PIEIER、PIEACK 外设向外设向CPU发出的复用中断请求发出的复用中断请求 处理流程:某个可屏蔽中断产生后处理流程:某个可屏蔽中断产生后p 首先将中断标志寄存器首先将中断标志寄存器(IFR)置位为置位为1p 单独使能单独使能IER和全局使能和全局使能INTM涉及到的寄存器:涉及到的寄存器:IFR、IER、INTM4.1 PIE配置及控制寄存器配置及控制寄存器 PIEVECT:这些位表明获取这些位表明获取PIE矢量表的起始地址矢量表的起始地址;ENPIE:使能使能PIE模块模块ENPIE=

16、1表明所有矢量都从表明所有矢量都从PIE矢量表中获取;矢量表中获取;ENPIE=0时表明所有数量都从时表明所有数量都从boot ROM或外部或外部接口接口zone 7中获取中获取;PIEACKx:每一位对应一个中断:每一位对应一个中断 BIT 0对应对应INT1; BIT 11对应对应INT12 这些寄存器位表明中断是否产生这些寄存器位表明中断是否产生x=112;INTx表示表示CPU INT1INT12 这些寄存器位表明是否使能中断这些寄存器位表明是否使能中断4.2 CPU中断涉及的寄存器中断涉及的寄存器 IFR、IER、DBGIER、INTM 4.2 CPU中断涉及的寄存器中断涉及的寄存器

17、 p 中断使能寄存器中断使能寄存器p 中断使能设置:置中断使能设置:置1使能中断使能中断IER |= 0 x0008; /使能中断使能中断INT4IER&= 0 xFFF7;/禁止中断禁止中断INT4p系统复位或系统复位或CPU中断响应后中断响应后,CPUIFR将自动清零将自动清零4.2 CPU中断涉及的寄存器中断涉及的寄存器 p 全局中断使能全局中断使能 p 全局中断使能设置:置全局中断使能设置:置1时禁止所有的中断时禁止所有的中断asm(“CLRC INTM”);); /使能全局中断使能全局中断asm(“SETC INTM”);); /禁止全局中断禁止全局中断5 定时器中断应用举例定时器中

18、断应用举例5.1 定时器基本操作定时器基本操作p F2812有三个有三个32位位CPU定时器(定时器(TIMER0/1/2)p TIMER1/2预留给实时操作系统使用预留给实时操作系统使用 TIMER0可以供给用户使用可以供给用户使用p 定时器的功能框图如下图定时器的功能框图如下图5.2 定时器工作原理定时器工作原理v 工作时钟工作时钟 若处理器采用若处理器采用30MHz的外部时钟,经过锁的外部时钟,经过锁相环相环10/2倍频后,系统的时钟工作在倍频后,系统的时钟工作在150MHz; 定时器选择定时器选择SYSCLKOUT作为定时器时钟,作为定时器时钟,所以工作频率也是所以工作频率也是150MHz;5.2 定时器工作原理定时器工作原理v 计数

温馨提示

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

评论

0/150

提交评论