您好、欢迎来到现金彩票网!
当前位置:2019跑狗图高清彩图 > 向量屏蔽 >

第8章 PIE中断系统及其应用分析

发布时间:2019-08-09 21:18 来源:未知 编辑:admin

  第8章 PIE中断系统及其应用分析_职高对口_职业教育_教育专区。第8章 PIE中断系统及其应用分析

  第8章 中断系统及其应用 2018年10月24日 主要内容 ? 中断源 ? PIE控制器概述 ? 中断向量表 ? PIE矢量表 ? 可屏蔽中断处理 ? CPU定时器 ? 举例 2018年10月24日 1、中断源 ? C28xDSP内核总计16个中断线个不 可屏蔽中断(RESET和NMI)与14个可屏蔽中断; ? 可屏蔽中断通过相应的中断使能寄存器使能或 禁止产生的中断; 2018年10月24日 1、中断源 ?在F2810和F2812处理器中,定时器1和定时器2 预留给实时操作系统DSP/BIOS使用,其中断分配 给INT14和INT13,用户在程序中不可以修改; 2018年10月24日 1、中断源 ?其余12个可屏蔽中断直接连接在外设中断扩展模 块,供外部中断和处理器内部的外设单元使用; 2018年10月24日 1、中断源 ? 两个不可屏蔽中断RESET和NMI各自占用独立 的专用中断,同时NMI中断也可以选择同定时器1 复用INT13; 2018年10月24日 2018年10月24日 ? CPU一共支持16个中断(RESET、NMI、 INT1~INT14);其中RESET、NMI是不可屏蔽中 断;INT1~INT14是可屏蔽中断(INT13、INT14留 给实时操作系统); 2018年10月24日 ? 用户可以操作修改的中断是INT1~INT12,其中 每一个中断组又复用了8个外设中断;所以外设中 断一共有96个; 2018年10月24日 2、PIE中断扩展 ? 28x的每个外部设备都能产生1个或多个中断; 但由于CPU并不能同时处理所有的外设中断请求; ? 因此需要一个PIE控制器对这些外设和外部管脚 的中断请求进行仲裁; ? PIE矢量表用来存放每一个中断服务的地址;不 论是复用还是非复用的中断都对应着一个矢量表; 2018年10月24日 ? 实际用户可以修改使用的外设中断只有45个 2018年10月24日 2.1 中断操作流程 包含三部分中断 外设级中断、PIE级中断、CPU级中断 2018年10月24日 2.1 中断操作流程 2018年10月24日 1) 外设级中断 ? 外部设备中断事件发生,则其对应的寄存器 中的中断标志位被设为1(Interrupt Flag: IF); ? 若相应的中断使能位(Interrupt Enable: IE)被 设为1,则外部设备向PIE控制器发出一个中 断请求; ? 若中断被使能,则中断请求提交给PIE,IF仍为1; ? 若中断未被使能,则IF仍为1,直至软件清0; ? 外设寄存器中的IF位需手动清0; 2018年10月24日 1) 外设级中断 ? 外设级中断通过IFR与IER使能控制; ? 注意:外设寄存器的中断标志必须采用软件 进行清零; 返回 2018年10月24日 2) PIE级中断 ? PIE模块复用8个外设中断引脚向CPU申请中断; 这些中断被分为12组,每组有一个中断信号向 CPU申请中断; ? 例如:PIE第1组复用CPU的中断1(INT1); ? PIE第12组复用CPU的中断12(INT12); ?其余不复用的中断则直接向CPU提出请求; ? 对于复用中断,在PIE模块内每组中断有相应的 中断标志位(PIEIFRx.y)和使能位(PIEIERx.y) ? 除此之外,每组PIE中断(INT1~INT12)有一个 响应标志位(PIEACKx) 2018年10月24日 2) PIE级中断 ? 一旦PIE控制器有中断请求,相应的中断标志位 被置1(PIEIFRx.y); ? 如果相应的PIE中断使能位(PIEIERx.y)被置1, 则PIE检查相应的PIEACKx位以确定CPU是否准 备响应该中断; ? 如果PIEACKx清零,则PIE向CPU发出中断请 求;如果PIEACKx置1,则PIE将等待直到 PIEACKx被清0才向CPU发出中断请求; 返回 2018年10月24日 3) CPU级中断 ? 一旦向CPU请求中断,相应于INTx的CPU级中 断标志位(IFR)置1。中断标志位锁存到IFR后, 只有CPU中断使能寄存器(IER)或调试中断使能 寄存器(DBGIER)和全局中断屏蔽位(INTM)被使 能时才会响应中断请求; 2018年10月24日 3) CPU级中断 ? CPU级使能可屏蔽中断采用CPU中断使能寄存 器(IER)还是中断调试使能寄存器(DBGIER)与中 断处理方式有关。 ? 标准处理模式下,不使用中断调试使能寄存器 (DBGIER); ? 当F281x使用实时调试且CPU被停止时,才使用中 断调试使能寄存器(DBGIER),此时INTM不起作用; 2018年10月24日 3) CPU级中断 ? 中断标志寄存器(IFR) 中断使能寄存器(IER) 全局中断屏蔽使能(INTM) 2018年10月24日 4)中断优先级 ? CPU中断的优先级:由高到低分别为RS, NMI,INT1~INT14; ? PIE控制每组8个中断的优先级:由高到低为 INTx.1~INTx.8。 2018年10月24日 5) PIE寄存器及其地址 PIE寄存器地址:0x0000 0CE0~0x00000CFF PIECTRL(PIE控制寄存器):0x0000 0CE0 PIEACK(PIE响应寄存器):0x0000 0CE1 PIEIER1:0x0000 0CE2 PIEIFR1:0x0000 0CE3 … … PIEIER12:0x0000 0CF8 PIEIFR12:0x0000 0CF9 保留:0x0000 0CFA~0x0000 0CFF 2018年10月24日 2018年10月24日 3 中断向量 ? 中断向量的分配 ? 中断向量的映射方式 2018年10月24日 3.1 中断向量的分配 ? PIE支持96个中断,每个中断都有自己的中 断向量存放在RAM中,构成整个系统的中断 向量表,如表8.2所示; ? 在相应中断时,CPU将自动地从中断向量表 中获取相应的中断向量; ? CPU获取中断向量和保存重要的寄存器需要 花费9个CPU时钟周期,因此CPU能够快速地 响应中断; 2018年10月24日 3.1 中断向量的分配 ? 复用中断模式在使用中断过程中多个中断源共 用一条中断线,每条中断线连接地中断向量都在 中断向量表中占32位地址空间,用来存放中断服 务程序的入口地址; ? 中断复用程序必须处理所有输入的中断请求, 这就要求编程人员在服务程序的入口处采用软件 方法将这些中断分离开,以便能够正确地处理; ? 但软件分离的方法势必会影响中断的响应速度, 因此,在实时性要求高的应用中不能使用。因此 就涉及到如何加快中断服务程序的问题。 2018年10月24日 2018年10月24日 3.2 中断向量的映射方式 ? 在F2812中采用外设中断扩展模块(PIE)以 加快中断服务程序; ? 中断向量表可以映射到5个不同的存储空 间。实际应用中,只使用PIE中断向量表映 射; ? PIE中断向量映射地址:0x0000D00 ~ 0x0000 0DFF, 共256字长度数据空间; ? 中断向量映射配置表: 2018年10月24日 3.2 中断向量的映射方式 ? 根据上面的表格可以知道:控制位的不同设 置,中断向量表有不同的映射方式。 2018年10月24日 3. PIE中断向量表:见表8.6(P129) 2018年10月24日 4 可屏蔽中断处理 ? 可屏蔽中断的响应过程实质上是中断产生、使 能到处理的过程。 ? 使能/禁止复用外设中断 ? PIE寄存器: PIECTRL、PIEIFR PIEIER、PIEACK ? 外设向CPU发出的复用中断请求 2018年10月24日 处理流程:某个可屏蔽中断产生后 ? 首先将中断标志寄存器(IFR)置位为1 ? 单独使能IER和全局使能INTM 涉及到的寄存器:IFR、IER、INTM 2018年10月24日 4.1 PIE配置及控制寄存器 ………………………………… 2018年10月24日 PIEVECT:这些位表明获取PIE矢量表的起始地址; ENPIE:使能PIE模块 ? ENPIE=1表明所有矢量都从PIE矢量表中获取; ? ENPIE=0时表明所有数量都从boot ROM或外部 接口zone 7中获取; 2018年10月24日 PIEACKx:每一位对应一个中断 BIT 0对应INT1; BIT 11对应INT12 2018年10月24日 这些寄存器位表明中断是否产生 x=1~12;INTx表示CPU INT1~INT12 2018年10月24日 这些寄存器位表明是否使能中断 2018年10月24日 4.2 CPU中断涉及的寄存器 IFR、IER、DBGIER、INTM 2018年10月24日 4.2 CPU中断涉及的寄存器 ? 中断使能寄存器 ? 中断使能设置:置1使能中断 IER = 0x0008; //使能中断INT4 IER&= 0xFFF7;//禁止中断INT4 ?系统复位或CPU中断响应后,CPUIFR将自动清零 2018年10月24日 4.2 CPU中断涉及的寄存器 ? 全局中断使能 ? 全局中断使能设置:置1时禁止所有的中断 asm(“CLRC INTM”); //使能全局中断 asm(“SETC INTM”); //禁止全局中断 2018年10月24日 5 定时器中断应用举例 5.1 定时器基本操作 ? F2812有三个32位CPU定时器(TIMER0/1/2) ? TIMER1/2预留给实时操作系统使用 TIMER0可以供给用户使用 ? 定时器的功能框图如下图 2018年10月24日 2018年10月24日 5.2 定时器工作原理 ? 工作时钟 ? 若处理器采用30MHz的外部时钟,经过锁相 环10/2倍频后,系统的时钟工作在150MHz; ? 定时器选择SYSCLKOUT作为定时器时钟, 所以工作频率也是150MHz; 2018年10月24日 5.2 定时器工作原理 ? 计数原理 ? 当定时器被使能(TCR.Bit4=0),定时器时钟 经过预定标计数器(PSCH:PSC)递减计数,预 定标计数器产生下溢后向定时器的32位计数 器(TIMH:TIM)借位; ? 定时器计数器(TIMH:TIM)递减计数,当产 生溢出后,会向CPU发送中断; 2018年10月24日 5.2 定时器工作原理 ? 装载值 ?预定标计数器(PSCH:PSC)产生溢出后,使用 分频寄存器(TDDRH:TDDR)中的值重新装载; ? 定时器计数器(TIMH:TIM)产生溢出后,使用 32位周期寄存器(PRDH_PRD)中的值重新装载; 2018年10月24日 5.3 定时器中断结构 2018年10月24日 5.4 定时器寄存器 1. 定时器寄存器地址名称 0x0000 0C18~0C3F 保留 2018年10月24日 2. 定时器控制寄存器(TCR) 每个字段含义 见教材P136 2018年10月24日 3. 定时器预定标寄存器(TPR) 2018年10月24日 4. 定时器计数器(TIM) 2018年10月24日 4. 定时器周期寄存器 2018年10月24日 8.6 定时器中断应用举例 具体见教材P139 2018年10月24日

http://bluecaleel.com/xiangliangpingbi/331.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有