




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2005.88.1 中断概述及中断源中断概述及中断源 8.2 PIE-外设中断扩展外设中断扩展8.3 可屏蔽中断处理流程可屏蔽中断处理流程8.4 中断向量中断向量8.5 复用中断处理的注意事项复用中断处理的注意事项8.6 定时器中断应用实例定时器中断应用实例2005.8中断(Interrupt)是由硬件或者软件所驱动的事件。它使得CPU暂停当前的主程序,转而去执行一个中断服务程序。2005.8C28x 中断源中断源u2个不可屏蔽中断个不可屏蔽中断l/RSlNMIu14个可屏蔽中断个可屏蔽中断 (INT1 INT14)每个中断源都分别对应一个中断向每个中断源都分别对应一个中断向量,中断向量其实是
2、量,中断向量其实是32位的中断位的中断入口地址,应用程序可以利用这入口地址,应用程序可以利用这些入口地址跳转到相应的中断服些入口地址跳转到相应的中断服务程序。务程序。2005.8C28X DSP 的中断源的中断源2005.8PIEPIE2812内部具有很多外设,每个外设又可以产生一个或者多个内部具有很多外设,每个外设又可以产生一个或者多个中断请求,对于中断请求,对于2812的的CPU而言,它没有足够的能力去同时而言,它没有足够的能力去同时处理所有外设的中断请求。处理所有外设的中断请求。2812的的CPU为了能够及时有效的为了能够及时有效的处理好各个外设的中断请求,特别设计了一个专门处理外设中处
3、理好各个外设的中断请求,特别设计了一个专门处理外设中断的扩展模块(断的扩展模块(the Peripheral Interrupt Expansion block),叫做外设中断控制器),叫做外设中断控制器PIE,它能够对各种中断请求源(例,它能够对各种中断请求源(例如来自于外设或者其他外部引脚的请求)做出判断以及相应的如来自于外设或者其他外部引脚的请求)做出判断以及相应的决策。决策。 8.2 Peripheral Interrupt Expansion - PIE2005.8PIE可以支持可以支持96个不同的中断,这些中断分成了个不同的中断,这些中断分成了12个组,每个个组,每个组有组有8个中
4、断,而且每个组都被反馈到个中断,而且每个组都被反馈到CPU内核的内核的12条中断线条中断线中的某一条上(中的某一条上(INT1-INT12),我们平时用到的所有的外设),我们平时用到的所有的外设中断都被归入了这中断都被归入了这96个中断中,被分布在不同的组里,这里其个中断中,被分布在不同的组里,这里其实也是用到了多路复用的原理。值得一提的是,实也是用到了多路复用的原理。值得一提的是,PIE目前只使目前只使用了用了96个终端中的个终端中的45个,其他的等待将来的功能扩展。个,其他的等待将来的功能扩展。 8.2 Peripheral Interrupt Expansion - PIE2005.88
5、.2 Peripheral Interrupt Expansion - PIE101(TINT1 / XINT13)(TINT2)2005.8PIE 寄存器寄存器reservedreservedreserved#include “DSP28_Device.h” PieCtrlRegs.PIEIFR1.bit.INTx4 = 1; /manually set IFR for XINT1 in PIE group 1 PieCtrlRegs.PIEIER3.bit.INTx5 = 1; /enable CAPINT1 in PIE group 3 PieCtrlRegs.PIEACK.all =
6、0 x0004; /acknowledge the PIE group 3 PieCtrlRegs.PIECTRL.bit.ENPIE = 1; /enable the PIE2005.82812的PIE内部的中断分布图,8列12行,总共有96个中断,黄色部分表示已经使用的中断2005.8三种中断级别:三种中断级别:外设级中断、外设级中断、PIEPIE级中断、级中断、CPUCPU级中断级中断2005.8三种中断级别:三种中断级别:外设级中断外设级中断、PIEPIE级中断、级中断、CPUCPU级中断级中断外设产生中断时,中断标志寄存器(外设产生中断时,中断标志寄存器(IFRIFR)相)相应位置应
7、位置1 1 若外设的中断使能寄存器(若外设的中断使能寄存器(IERIER)相应位也置位)相应位也置位则向则向PIEPIE发请求发请求 若没有被使能,标志位保持不变,除非若没有被使能,标志位保持不变,除非软件软件清除清除 若中断产生后才被使能,且标志位未清除,仍会若中断产生后才被使能,且标志位未清除,仍会向向PIEPIE发中断请求发中断请求2005.8PIEPIE级中断级中断当外设产生中断事件,相关中断标志位置位,中断使能位使当外设产生中断事件,相关中断标志位置位,中断使能位使能之后,外设就会把中断请求提交给我们的能之后,外设就会把中断请求提交给我们的PIE模块。模块。在前面我们已经讲到,在前面
8、我们已经讲到,PIE模块将模块将96个外设和外部引脚的中个外设和外部引脚的中断进行了分组,每断进行了分组,每8个中断为个中断为1组,一共是组,一共是12组,分别是组,分别是PIE1-PIE12。每个组的中断被多路汇集进入。每个组的中断被多路汇集进入1个个CPU中断,中断,例如例如PDPINDA,PDPINDB,XINT1,XINT2,ADCINT,TINT0,WAKEINT这这7个中断都在个中断都在PIE1组内,这些中断都汇集到组内,这些中断都汇集到CPU中断的中断的INT1;同样的,;同样的,PIE2的中断都被汇集到的中断都被汇集到CPU中断的中断的INT2,INT12组的中断都被汇集到了组
9、的中断都被汇集到了CPU中端的中端的INT12。 2005.8PIEPIE级级中断中断响应响应流程流程2005.8PIEPIE级中断级中断在在PIE级需要我们手动的地方有:级需要我们手动的地方有: u PIE中断的使能。需要使能某个外设中断,就得将其相应中断的使能。需要使能某个外设中断,就得将其相应组的使能寄存器组的使能寄存器PIEIERx的相应位进行置位;的相应位进行置位; u PIE中断的屏蔽。这是和使能相反的操作;中断的屏蔽。这是和使能相反的操作; u PIE应答寄存器应答寄存器PIEACK相关位的清除,以使得相关位的清除,以使得CPU能够能够响应同组的其他中断。响应同组的其他中断。 2
10、005.8PIEPIE级中断级中断PIE级中断和外设级中断的比较级中断和外设级中断的比较l 外设中断的中断标志位是需要手工清除的,而外设中断的中断标志位是需要手工清除的,而PIE级的中级的中断标志位都是自动置位或者清除的。断标志位都是自动置位或者清除的。l 但是但是PIE多了一个多了一个PIEACK寄存器,相当于一个通行的关寄存器,相当于一个通行的关卡,同一时间只能放一个中断过去,只有等到这个中断被响卡,同一时间只能放一个中断过去,只有等到这个中断被响应,给关卡一个放行命令之后,才能让同组的下一个中断过应,给关卡一个放行命令之后,才能让同组的下一个中断过去,被去,被CPU响应。响应。 2005
11、.8CPUCPU级中断级中断向向CPUCPU申请中断,申请中断,CPUCPU级级IFRIFR置置1 1响应中断的条件:响应中断的条件:IER/DBGIERIER/DBGIERINTMINTM相应位被使能相应位被使能 标准模式下,不使用标准模式下,不使用DBGIERDBGIER 实时调试且实时调试且CPUCPU被停止时,使用被停止时,使用DBGIERDBGIERu 此时此时INTMINTM不起作用不起作用2005.88.3 可屏蔽中断处理过程可屏蔽中断处理过程2005.8中断标志寄存器中断标志寄存器 (IFR)2005.8中断使能寄存器中断使能寄存器 (IER)2005.8中断全局使能中断全局使
12、能uINTM用来做全局的使能/禁止中断:l使能:INTM = 0l禁止:INTM = 1 (reset value)uINTM只能被汇编语言修改:2005.8中断响应过程中断响应过程2005.88.4 中断向量中断向量一个或多个中断源对应一个中断向量,中断向一个或多个中断源对应一个中断向量,中断向量量放在放在RAMRAM中的中断向量表中的中断向量表两种可行的方案:两种可行的方案:A A 每组(每组(8 8个)共用一个中断向量(软件分离)个)共用一个中断向量(软件分离)B B 每个每个PIEPIE级中断用一个中断向量级中断用一个中断向量1 1 中断向量的分配中断向量的分配2005.88.4 中断
13、向量中断向量1 1 中断向量的分配中断向量的分配 获取中断向量、保存寄存器需获取中断向量、保存寄存器需9 9个时钟周期个时钟周期 复用中断模式复用中断模式,如何分离多个中断源的中断?,如何分离多个中断源的中断? 软件分离的方法影响速度,如何解决?软件分离的方法影响速度,如何解决?u 外设中断扩展模块外设中断扩展模块2005.88.4 中断向量中断向量2 2 中断向量表的重映射中断向量表的重映射PIEPIE:将中断向量表大小扩展,使得将中断向量表大小扩展,使得9696个可能产生的个可能产生的中断都有各自独立的中断都有各自独立的3232位入口地址位入口地址 须重新定位中断向量表到须重新定位中断向量
14、表到0 x00 0D000 x00 0D00地址地址 使用前必须初始化,以使用使用前必须初始化,以使用PIEPIE中断向量表中断向量表WMAP=1WMAP=1(复位时为(复位时为1 1) ENPIE=1ENPIE=1(复位时为(复位时为0 0) 2005.88.4 中断向量中断向量2005.8TMS320F2812 内存映射内存映射reservedreservedreservedreservedreservedreservedreservedXINT Zone 0 (8K)XINT Zone 1 (8K)XINT Zone 2 (0.5M)XINT Zone 6 (0.5M)XINT Zone
15、 7 (16K)MP/MC=1XINT Vector-RAM (32)MP/MC=1 ENPIE=0reservedreservedreservedreserved2005.8复位时默认中断向量表复位时默认中断向量表2005.8PIE Vector Mapping (ENPIE = 1)CPU vectors are remapped to 0 x00 0D00 in Data spacePIE vector space - 0 x00 0D00 256 Word memory in Data space RESET and INT1-INT12 vector locations are Re
16、-mapped2005.8F2812/10 PIE Interrupt Assignment Table2005.8Device Vector Mapping - Summary2005.88.5 复用中断处理的注意事项(略)复用中断处理的注意事项(略)(见教科书上的(见教科书上的8.4节节 中断源中断源 部分)部分)2005.88.6 定时器中断应用举例2005.8定时器中断应用举例2005.8定时器中断应用举例2005.81. 1. 定时器控制寄存器(定时器控制寄存器(TCRTCR)2005.82. 2. 定时器预定标寄存器(定时器预定标寄存器(TPRTPR)2005.83. 3. 定时器
17、计数器(定时器计数器(TPRTPR)2005.84. 4. 定时器周期寄存器(定时器周期寄存器(PRDPRD)2005.8本章小结 F2812的中断源及类型的中断源及类型 F2812中断源的扩展原理中断源的扩展原理 F2812中断向量的分配和映射方式中断向量的分配和映射方式 简述简述F2812可屏蔽中断的处理过程可屏蔽中断的处理过程 定时器的工作原理及中断应用定时器的工作原理及中断应用2005.8C28x CPU的中断源分类的中断源分类At the CPU level, each of the C28x interrupts, whether hardware or software, can
18、 be placed in one of the following two categories:u Maskable interrupts.These are interrupts that can be blocked (masked) or enabled (unmasked) through software.u Nonmaskable interrupts. These interrupts cannot be blocked. The C28x will immediately approve this type of interrupt and branch to the co
19、rresponding subroutine. All software-initiated interrupts are in this category.2005.8The C28x handles interrupts in four main phases:uReceive the interrupt request. Suspension of the current program sequence must be requested by a software interrupt (from program code) or a hardware interrupt (from a pin or an on-chip device).1)Approve the interrupt. The C28x must
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农村水渠建设合同范本
- 2023-2024学年人教版高中信息技术必修一第二章第三节《程序设计基本知识》教学设计
- 承包农家果园合同范本
- 劳务住宿合同范本
- 4 公民的基本权利和义务 第3课时 国家尊重和保障人权(教学设计)2024-2025学年统编版道德与法治六年级上册
- 7 什么比猎豹的速度更快 教学设计-2024-2025学年语文五年级上册统编版
- 幕墙玻璃施工合同范本
- 9心中的“110”(教学设计)-部编版道德与法治三年级上册
- 9 猎人海力布教学设计-2024-2025学年五年级上册语文统编版
- Module 1 Unit 1 Food and drinks?(教学设计)-2023-2024学年牛津上海版(试用本)英语五年级下册
- 机械基础(少学时)(第三版) 课件全套 第0-15章 绪论、带传动-气压传动
- 07J912-1变配电所建筑构造
- 纠正冤假错案申诉范文
- 锂离子电池串并联成组优化研究
- 宁夏闽宁镇:昔日干沙滩-今日金沙滩+课件-高教版(2023)中职语文职业模块
- 2023-2024学年六年级科学下册(青岛版)第2课 预防近视(教案)
- 大酒店风险分级管控和隐患排查治理双体系文件
- 解剖学知识点
- 成人手术后疼痛评估与护理-中华护理学会团体标准(2023)课件
- TD/T 1038-2013 土地整治项目设计报告编制规程(正式版)
- 2024年湘潭医卫职业技术学院单招职业适应性测试题库含答案
评论
0/150
提交评论