《第8章-PIE中断系统及其应用.ppt》由会员分享,可在线阅读,更多相关《第8章-PIE中断系统及其应用.ppt(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、20 五月 2023第第8章章 PIE中断系统及其中断系统及其应用应用主要内容主要内容v 中断源中断源v PIE控制器概述控制器概述v 中断向量表中断向量表v PIE矢量表矢量表v 可屏蔽中断处理可屏蔽中断处理v CPU定时器定时器v 举例举例1、中断源、中断源p C28xDSP内核总计内核总计16个中断线,其中包括个中断线,其中包括2个不个不可屏蔽中断可屏蔽中断(RESET和和NMI)与与14个可屏蔽中断;个可屏蔽中断;p 可屏蔽中断通过相应的中断使能寄存器使能或可屏蔽中断通过相应的中断使能寄存器使能或禁止产生的中断;禁止产生的中断;1、中断源、中断源p在在F2810和和F2812处理器中,
2、定时器处理器中,定时器1和定时器和定时器2预预留给实时操作系统留给实时操作系统DSP/BIOS使用,其中断分配给使用,其中断分配给INT14和和INT13,用户在程序中不可以修改;,用户在程序中不可以修改;1、中断源、中断源p其余其余12个可屏蔽中断直接连接在外设中断扩展模个可屏蔽中断直接连接在外设中断扩展模块,供外部中断和处理器内部的外设单元使用;块,供外部中断和处理器内部的外设单元使用;1、中断源、中断源p 两个不可屏蔽中断两个不可屏蔽中断RESET和和NMI各自占用独立各自占用独立的专用中断,同时的专用中断,同时NMI中断也可以选择同定时器中断也可以选择同定时器1复用复用INT13;p
3、CPU一共支持一共支持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使能控制使能控制
6、;p 注意:外设寄存器的中断标志必须采用软件注意:外设寄存器的中断标志必须采用软件进行清零进行清零;返回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级使能可屏蔽中断采用级使能可屏蔽中断采用CP
9、U中断使能寄存中断使能寄存器器(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 x0000 0CF9 保留
11、:保留:0 x0000 0CFA0 x0000 0CFF3 中断向量中断向量p 中断向量的分配中断向量的分配p 中断向量的映射方式中断向量的映射方式3.1 中断向量的分配中断向量的分配v PIE支持支持96个中断,每个中断都有自己的中断个中断,每个中断都有自己的中断向量存放在向量存放在RAM中,构成整个系统的中断向中,构成整个系统的中断向量表,如表量表,如表8.2所示;所示;v 在相应中断时,在相应中断时,CPU将自动地从中断向量表将自动地从中断向量表中获取相应的中断向量;中获取相应的中断向量;v CPU获取中断向量和保存重要的寄存器需要获取中断向量和保存重要的寄存器需要花费花费9个个CPU时
12、钟周期,因此时钟周期,因此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 处理流程:某个可屏蔽中断产生后处理流程:某个可屏蔽中断产生后p 首先将中断标志寄存器首先将中断标志寄存器(IFR)置位为置位为1p 单独使能单独使能IER和全局使能和全局使能INTMv涉及到的寄存器:涉及到的寄存器:IFR、IER、INTM4.1 PIE配置及控制寄存器配置及控制寄存器 vvPIEVECT:这些位表明获取这些位表明获取PIE矢量表的起始地矢量表的起始地址址;vENPIE:使能使能PIE模块模块ENPIE=1表明所有矢量都从
16、表明所有矢量都从PIE矢量表中获取;矢量表中获取;ENPIE=0时表明所有数量都从时表明所有数量都从boot ROM或外部或外部接口接口zone 7中获取中获取;vPIEACKx:每一位对应一个中断:每一位对应一个中断v BIT 0对应对应INT1;v BIT 11对应对应INT12 v这些寄存器位表明中断是否产生这些寄存器位表明中断是否产生vx=112;INTx表示表示CPU INT1INT12 v这些寄存器位表明是否使能中这些寄存器位表明是否使能中断断4.2 CPU中断涉及的寄存器中断涉及的寄存器 vIFR、IER、DBGIER、INTM 4.2 CPU中断涉及的寄存器中断涉及的寄存器 p
17、 中断使能寄存器中断使能寄存器p 中断使能设置:置中断使能设置:置1使能中断使能中断vIER|=0 x0008;/使能中断使能中断INT4vIER&=0 xFFF7;/禁止中断禁止中断INT4p系统复位或系统复位或CPU中断响应后中断响应后,CPUIFR将自动清零将自动清零4.2 CPU中断涉及的寄存器中断涉及的寄存器 p 全局中断使能全局中断使能 p 全局中断使能设置:置全局中断使能设置:置1时禁止所有的中断时禁止所有的中断vasm(“CLRC INTM”););/使能全局中断使能全局中断vasm(“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
19、 定时器工作原理定时器工作原理v 计数原理计数原理 当定时器被使能当定时器被使能(TCR.Bit4=0),定时器时钟,定时器时钟经过预定标计数器经过预定标计数器(PSCH:PSC)递减计数,预递减计数,预定标计数器产生下溢后向定时器的定标计数器产生下溢后向定时器的32位计数位计数器器(TIMH:TIM)借位;借位;定时器计数器定时器计数器(TIMH:TIM)递减计数,当产递减计数,当产生溢出后,会向生溢出后,会向CPU发送中断;发送中断;5.2 定时器工作原理定时器工作原理v 装载值装载值预定标计数器预定标计数器(PSCH:PSC)产生溢出后,使用产生溢出后,使用分频寄存器分频寄存器(TDDRH:TDDR)中的值重新装载中的值重新装载;定时器计数器定时器计数器(TIMH:TIM)产生溢出后产生溢出后,使用使用32位周期寄存器位周期寄存器(PRDH_PRD)中的值重新装载中的值重新装载;5.3 定时器中断结构定时器中断结构5.4 定时器寄存器定时器寄存器1.定时器寄存器地址名称定时器寄存器地址名称 0 x0000 0C180C3F 保留保留2.定时器控制寄存器(定时器控制寄存器(TCR)v 每个字段含每个字段含义见教材义见教材P1363.定时器预定标寄存器(定时器预定标寄存器(TPR)4.定时器计数器(定时器计数器(TIM)4.定时器周期寄存器定时器周期寄存器
限制150内