DSP原理与应用PrinciplesandApplicationsofDSP主讲教师:韩阳Michael2013-4-12北京化工大学BUCT信息科学与技术学院本科课程教学EEE32501TVERSIONEEE32501T201001-0302COPYRIGHT©2010CEEE&MIC2013.2.25ALLRIGHTSRESERVED.2第3章TMS320F2812中断系统中断是CPU对系统发生的某个事件作出一种反应,CPU暂时终止正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的原程序,中断请求信号是由硬件或软件驱动的信号。第3章TMS320F2812中断系统3第3章TMS320F2812中断系统中断系统是系统输入/输出部分中非常重要的一个部分,通常需要由软硬件构成的中断系统模块对系统中的多个中断源进行管理和控制。其中硬件部分主要负责接收中断源发出的各种中断请求,并按照某种方式响应其请求,然后将系统控制权交给特定的中断服务程序;软件部分主要负责识别中断源的类型并按其类型处理特定的中断请求。第3章TMS320F2812中断系统43.1TMS320F2812中断的基本原理与结构TMS320F2812的中断管理分为三级:外设级中断管理PIE(PeripheralInterruptExpansion,PIE,外设中断扩展)级中断管理CPU级中断管理53.1TMS320F2812中断的基本原理与结构TMS320F2812支持32个CPU级中断源,并支持软件和硬件两种中断。软件中断:由INTR、ORIFR或TRAP指令激发。硬件中断:外部中断——由外部中断引脚上的信号触发。内部中断——由片内外设的信号触发。C28X中断源EVandNon-EVPeripherals(EV,ADC,SPI,SCI,McBSP,CAN)内部中断源外部中断源XINT1XINT2PDPINTxRSXNMI_XINT13NMIC28xCOREINT1INT13INT2INT3INT12INT14RS•••PIE(PeripheralInterruptExpansion)TINT2TINT1TINT073.1TMS320F2812中断的基本原理与结构TMS320F2812外设级中断管理主要负责外设内部的中断源的屏蔽与使能。PIE级中断管理主要负责将各种已使能的外设中断进行分组管理并形成最终的CPU中断请求。CPU级中断管理主要负责处理直接向CPU申请的中断请求,这些中断请求分别来自PIE外设中断模块、外部中断引脚和片内32位的CPU定时器。操作顺序:首先由某个事件引起外设产生中断请求并传送到PIE模块。MUXC28×CPU96Interrupts外设(SPI,SCI,McBSP,CAN,EV,ADC)(41个中断源)看门狗低功耗模式中断控制XINT1CR(15:0)XINT1CTR(15:0)中断控制XINT2CR(15:0)XINT2CTR(15:0)CPU定时器0CPU定时器2(用于RTOS)CPU定时器1(用于RTOS)中断控制XNMICR(15:0)XNMICTR(15:0)GPIOMUXINT1~INT12PIEWAKEINTWDINTLPMINT†TINT0TINT2TINT1选择使能XNMI_XINT13XINT1XINT2INT14INT13NMIIFR中断标志寄存器可屏蔽中断处理过程101(IFR)“Latch”INT1INT2INT14CoreInterruptC28xCore(INTM)“GlobalSwitch”(IER)“Switch”中断使能寄存器(INTM以及IER被使能了才能响应)103.1TMS320F2812中断的基本原理与结构TMS320F2812支持32个CPU级中断源,并支持软件和硬件两种中断。软件中断:由INTR、ORIFR或TRAP指令激发。硬件中断:外部中断——由外部中断引脚上的信号触发。内部中断——由片内外设的信号触发。113.1TMS320F2812中断的基本原理与结构硬件中断和软件中断从CPU管理的角度又分为可屏蔽中断和不可屏蔽中断两类:可屏蔽中断:均为硬件中断,可以用软件设置使它们禁止(屏蔽)或允许(不屏蔽或使能)。当硬件设备或外部引脚成功地请求了可屏蔽中断时,与其相应的一个或几个标志被激活,无论处理器此后是否响应此中断,这些标志都被设置为1。不可屏蔽中断:不能被软件禁止,包括所有的软件中断和非法指令中断ILLIGAL、硬件复位中断和硬件中断。对于此类中断,F2812总是要响应并从主程序转移到中断服务程序。123.1TMS320F2812中断的基本原理与结构TMS320F2812对于中断的处理主要分为下列4个步骤:⑴硬件中断或软件中断提出中断请求。⑵F2812在能够响应中断的情况下响应中断请求。⑶保存现场,为执行中断服务程序作好准备。⑷执行中断服务子程序133.2PIE中断扩展TMS320F2812片内含有丰富的外设,各个外设根据不同的事件可以产生一个或多个不同优先级的外设级中断请求.F2812CPU级管理的中断数量是有限的,它支持17个CPU级中断请求,1个非屏蔽中断(NMI)和16个可屏蔽中断(INT1~INT14,RTOSINT及DLOGINT)。如果多个外设事件触发中断请求,仅仅依靠F2812CPU是很难处理的,因此在TMS320F2812系统中通过一个专门的外设中断扩展控制器模块PIE(PeripheralInterruptExpansion)来实现这些外设多路中断的管理。MUXC28×CPU96Interrupts外设(SPI,SCI,McBSP,CAN,EV,ADC)(41个中断源)看门狗低功耗模式中断控制XINT1CR(15:0)XINT1CTR(15:0)中断控制XINT2CR(15:0)XINT2CTR(15:0)CPU定时器0CPU定时器2(用于RTOS)CPU定时器1(用于RTOS)中断控制XNMICR(15:0)XNMICTR(15:0)GPIOMUXINT1~INT12PIEWAKEINTWDINTLPMINT†TINT0TINT2TINT1选择使能XNMI_XINT13XINT1XINT2INT14INT13NMICPU来自外设或外部中断源PIEACKxIFR(15:12)(标志)IER(15:12)IFR(11:0)IER(11:0)PIEIERx(7:0)PIEIFRx(7:0)INT13INT14DLOGINTRTOSINTINT1INT2INT12INT11MUXMUX...............(使能)(使能)(标志)INTxINTx.1INTx.2INTx.3INTx.4INTx.5INTx.6INTx.7INTx.810全局使能INTM163.2PIE中断扩展在PIE模块中,外设可屏蔽中断被分为12组,每组占用一个CPU级中断,如PIE第1组占用INT1,PIE第2组占用INT2,…PIE第12组占用INT12,其中直接连接到CPU上的中断不复用,直接将中断请求传递至CPU。对于复用的中断源,在PIE模块内每组PIE中断有相应的中断标志位(PIEIFRx,y)、中断使能位(PIEIERx,y)和一个中断响应标志位(PIEACK)。173.2PIE中断扩展1)外设向PIE控制器提出中断请求当外设向PIE控制器提出中断请求,相应的PIE中断标志位(PIEIFRx,y)将被置1,如果相应的中断使能位(PIEIERx,y)也置为1有效,则PIE将检查相应的中断响应标志位(PIEACKx)以确定CPU是否准备好响应该中断请求。如果中断响应标志位(PIEACKx)被清零,PIE将向CPU发出中断请求,如果中断响应标志位(PIEACKx)被置1,PIE将持续等待直到中断响应标志位(PIEACKx)被清零后才向CPU发出中断请求。183.2PIE中断扩展2)PIE模块向CPU发出中断请求如果PIE模块向CPU发出中断请求,相应的CPU级中断标志寄存器(IFR)中对应位将置1,中断标志位锁存到标志寄存器后,当CPU中断使能寄存器(IER)或中断调试使能寄存器(DBGIER)相应的使能位和全局中断屏蔽位(INTM)被使能时,CPU将最终接收到来自外设经PIE发来的中断请求,进入中断响应流程,执行相应的中断服务程序。193.2PIE中断扩展TMS320F2812中断处理模式在标准中断处理模式下,不使用调试中断使能寄存器(DBGIER);只有在使用F2812实时调试模式(Real-timeDebug)且CPU被停止时,才使用调试中断使能寄存器(DBGIER),这种情况下中断总开关INTM不起作用。特别地,若F2812采用实时调试模式而CPU仍然正常运行时,则采用标准的中断处理模式。中断处理模式相应标志标准中断处理模式INTM=0且IER对应位为1实时调试模式且CPU停机IER对应位为1且DBGIER为1203.3中断向量表3.3.1中断向量的分配TMS320F2812中断向量表TMS320F2812支持包括复位在内的32位的中断向量,每一个中断向量是一个22位的地址,这个地址是对应的中断服务程序ISR的入口地址。每一个32位的中断向量存放在一个连续的地址空间中,其中中断向量的低16位(LSB)存放在该地址的低16位,中断向量的高16位(MSB)存放在该地址的高16位。当一个中断被确定后,它所对应的22位的中断向量将被取出,而该地址所对应的高10位被忽略。213.3中断向量表3.3.2中断向量表的映射TMS320F2812中断向量表F2812采用PIE扩展外部中断,其实质是将中断向量表范围扩展,使得96个可能产生的中断都有各自独立的32位中断入口地址。在F2812中,中断向量表可以映射到5个不同的存储空间,而在实际应用中F2812只使用PIE中断向量表映射部分(VMAP=1且ENPIE=1)。F2812中断向量表映射主要由映射模式控制位/信号控制。223.4可屏蔽中断TMS320F2812中断系统中的可屏蔽中断可以用软件设置使它们禁止(屏蔽)或允许(使能),主要包括:14个通用中断(INT1~INT14)CPU数据标志中断(DLOGINT)CPU实时操作系统中断(RTOSINT)其中INT1~INT14是通用GPIO中断,CPU数据标志中断(DLOGINT)和CPU实时操作系统中断(RTOSINT)只用于实时仿真。233.4可屏蔽中断F2812中由相应的控制寄存器支持中断机制,这组中断控制寄存器主要包括:中断标志寄存器(IFR)中断使能寄存器(IER)调试中断使能寄存器(DBGIER)3.4可屏蔽中断RTOSINTDLOGINTINT14INT13INT12INT11INT10INT9INT8INT7INT6INT5INT4INT3INT2INT11514131211109801234567R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0中断标志寄存器(IFR)3.4可屏蔽中断中断使能寄存器(IER)RTOSINTDLOGINTINT14INT13INT12INT11INT10INT9INT8INT7INT6INT5INT4INT3INT2INT11514131211109801234567R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=03.4可屏蔽中断调试中断使能寄存器(DBGIER))RTOSINTDLOGINTINT14INT13INT12INT11INT10INT9INT8INT7INT6INT5INT4INT3INT2INT11514131211109801234567R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R/W=0R