DSP控制器原理与应用第5章初始化配置与中断系统课件

上传人:txadgkn****dgknqu... 文档编号:241890944 上传时间:2024-08-03 格式:PPT 页数:23 大小:240.13KB
返回 下载 相关 举报
DSP控制器原理与应用第5章初始化配置与中断系统课件_第1页
第1页 / 共23页
DSP控制器原理与应用第5章初始化配置与中断系统课件_第2页
第2页 / 共23页
DSP控制器原理与应用第5章初始化配置与中断系统课件_第3页
第3页 / 共23页
点击查看更多>>
资源描述
第第5 5章章 初始化配置与中断系统初始化配置与中断系统 系统配置寄存器系统配置寄存器系统的中断管理系统的中断管理看门狗定时器看门狗定时器第5章 初始化配置与中断系统 系统配置寄存器系统的中断管理看5.1 系统配置寄存器系统配置寄存器 5.2.1系统配置寄存器系统配置寄存器SCSR1(地址地址7018h)位位1515141413131212111110109 98 8名名 -CLKSRCCLKSRCLPM1LPM1LPM0LPM0CLKPS2CLKPS2CLKPS1CLKPS1CLKPS0CLKPS0-位位7 76 65 54 43 32 21 10 0名名 ADCADCCLKENCLKENSCISCICLKENCLKENSPISPICLKENCLKENCANCANCLKENCLKENEVBEVBCLKENCLKENEVAEVACLKENCLKEN-ILLADRILLADR位位6 6:SCISCI模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。位位5 5:SPISPI模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。位位4 4:CANCAN模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。位位3 3:EVBEVB模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。位位2 2:EVAEVA模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,使能该模时,使能该模块时钟且正常运行;当该位值为块时钟且正常运行;当该位值为0 0时,禁止该模块时钟。时,禁止该模块时钟。位位0 0:无效地址检测位。在检测到一个无效地址时,该位被置无效地址检测位。在检测到一个无效地址时,该位被置1 1。置置1 1后需要用户用软件清后需要用户用软件清0 0,清,清0 0的方法是对该位写的方法是对该位写1 1。检测到一。检测到一个非法地址将会产生一个不可屏蔽中断个非法地址将会产生一个不可屏蔽中断(NMI)(NMI)。位位1414:CLKOUTCLKOUT引脚时钟源选择位。当该位值为引脚时钟源选择位。当该位值为0 0时,时,CLKOUTCLKOUT引引脚输出脚输出CPUCPU时钟;当该位值为时钟;当该位值为1 1时,时,CLKOUTCLKOUT引脚输出看门狗时钟引脚输出看门狗时钟(WDCLK)(WDCLK)。位位13131212:低功耗选择位。这两位决定了低功耗选择位。这两位决定了CPUCPU在执行在执行IDLEIDLE指令指令时芯片进入那种低功耗模式。时芯片进入那种低功耗模式。位位7 7:模数转换模数转换(ADC)(ADC)模块的时钟使能控制位。当该位值为模块的时钟使能控制位。当该位值为1 1时,时,使能该模块时钟,以使使能该模块时钟,以使A/DA/D转换正常进行;当该位值为转换正常进行;当该位值为0 0时,禁时,禁止该模块时钟止该模块时钟(在不用在不用ADCADC时,可节约时,可节约DSPDSP的能量消耗的能量消耗)。位位11119 9:锁相环锁相环(PLL)(PLL)时钟预定标选择位。这时钟预定标选择位。这3 3位决定对输入位决定对输入时钟进行锁相倍频的系数。当时钟进行锁相倍频的系数。当CLKPS=000CLKPS=000时时4 4倍频;当倍频;当CLKPS=001CLKPS=001时时2 2倍频;当倍频;当CLKPS=010CLKPS=010时时1.331.33倍频;倍频;CLKPS=011CLKPS=011时时1 1倍频;当倍频;当CLKPS=100CLKPS=100时时0.80.8倍频;倍频;CLKPS=101CLKPS=101时时0.660.66倍频;倍频;CLKPS=110CLKPS=110时时0.570.57倍频;倍频;CLKPS=111CLKPS=111时时0.50.5倍频。倍频。退出退出5.1 系统配置寄存器 5.2.1系统配置寄存器SCSR1(5.2.2系统配置寄存器系统配置寄存器SCSR2(地址是地址是7019h)1 11 1引脚引脚引脚引脚0 01 10 00 0初初PONPONDONDONXMIFXMIFHI-ZHI-ZWDWDOVERRIDEOVERRIDEI/PI/PQUALQUAL名名 0 01 12 23 34 45 56 615157 7位位位位6 6:输入时钟限定位。当输入时钟限定位。当CAP1CAP16 6、XINT1XINT12 2、ADCSOCADCSOC等引脚等引脚被指定为特殊功能时,该位决定了输入到这些引脚信号被正确被指定为特殊功能时,该位决定了输入到这些引脚信号被正确锁存所需的最少脉冲数。当位值为锁存所需的最少脉冲数。当位值为0 0时,至少需时,至少需5 5个时钟周期;个时钟周期;当位值为当位值为1 1时,至少需时,至少需1111个时钟周期。个时钟周期。位位5 5:WDWD保护位。用户可通过软件将保护位。用户可通过软件将WDCRWDCR寄存器中的寄存器中的WDDISWDDIS控制控制位置位置1 1来禁止来禁止WDWD工作。向该位写工作。向该位写1 1可以对其清可以对其清0 0。该位为。该位为0 0时,不时,不能通过软件来禁止能通过软件来禁止WDWD;为;为1 1时,可通过软件来禁止时,可通过软件来禁止WDWD工作。工作。位位4 4:XMIFXMIF高阻控制位。它的作用是控制外部存储器的接口信号。高阻控制位。它的作用是控制外部存储器的接口信号。当位值为当位值为0 0时,所有的外部存储器接口信号时,所有的外部存储器接口信号(XMIF)(XMIF)处于正常驱动处于正常驱动模式模式(接通接通);当该位值为;当该位值为1 1时,所有的外部存储器接口信号处于时,所有的外部存储器接口信号处于高阻状态,即断开外部存储器接口信号。高阻状态,即断开外部存储器接口信号。位位3 3:引导引导ROMROM使能位。当该位值为使能位。当该位值为0 0时,使能引导时,使能引导ROMROM,地址空,地址空间间0000h0000h00FFh00FFh被片内引导被片内引导ROMROM块占用,该方式禁止使用块占用,该方式禁止使用FLASHFLASH;当位值为;当位值为1 1时,禁止引导时,禁止引导ROMROM,允许使用,允许使用FLASH,FLASH,对于对于TMS320LF2407ATMS320LF2407A片内片内FLASHFLASH程序存储器映射地址范围为程序存储器映射地址范围为0000h0000h7FFFh7FFFh。位位2 2。片内。片内/外程序存储器选择控制位,又称微处理器外程序存储器选择控制位,又称微处理器/微控制器微控制器模式选择位。可通过软件来改变该位值以改变存储器映射到片模式选择位。可通过软件来改变该位值以改变存储器映射到片内或片外。当该位值为内或片外。当该位值为0 0时,器件设置为微控制器模式,程序存时,器件设置为微控制器模式,程序存储器地址范围储器地址范围0000h0000h7FFFh7FFFh被映射到片内被映射到片内FLASHFLASH;当位值为;当位值为1 1时,时,器件设置为微处理器模式,程序存储器地址范围器件设置为微处理器模式,程序存储器地址范围0000h0000h7FFFh7FFFh被映射到片外,即系统使用片外程序存储器,用户自己外扩程被映射到片外,即系统使用片外程序存储器,用户自己外扩程序存储器件。序存储器件。位位1 10 0:单口存储器:单口存储器SARAMSARAM的程序的程序/数据空间选择控制位。当该数据空间选择控制位。当该两位为两位为0000时,地址空间被分配到外部存储器;当该两位为时,地址空间被分配到外部存储器;当该两位为0101时,时,SARAMSARAM被映射为片内程序空间;当该两位为被映射为片内程序空间;当该两位为1010时,时,SARAMSARAM被映射被映射为片内数据空间;当该两位为为片内数据空间;当该两位为1111时,时,SARAMSARAM被同时映射到片内程被同时映射到片内程序空间和片内数据空间。序空间和片内数据空间。退出退出5.2.2系统配置寄存器SCSR2(地址是7019h)1 在计算机控制系统的实际应用中,可靠性是一个非常重要在计算机控制系统的实际应用中,可靠性是一个非常重要的问题,尤其是在工业应用场合,系统抗干扰能力显得尤为突的问题,尤其是在工业应用场合,系统抗干扰能力显得尤为突出。为解决干扰问题,除了对干扰源的适当处理外,在计算机出。为解决干扰问题,除了对干扰源的适当处理外,在计算机控制系统中也应增加一些防范措施,从而避免程序控制系统中也应增加一些防范措施,从而避免程序“跑飞跑飞”或或“死机死机”现象,导致系统工作异常。现象,导致系统工作异常。为解决这个问题,在为解决这个问题,在TMS320LF240 xTMS320LF240 x芯片中增加了看门狗芯片中增加了看门狗(WD)(WD)定时电路。定时电路。WDWD监视系统软件和硬件的运行,它可以按照用监视系统软件和硬件的运行,它可以按照用户设定的时间间隔产生中断。如果软件进入非正常循环或户设定的时间间隔产生中断。如果软件进入非正常循环或CPUCPU运运行出现异常时,则行出现异常时,则WDWD定时器计数上溢,并产生系统复位信号,定时器计数上溢,并产生系统复位信号,使系统进入用户预定义的状态。使系统进入用户预定义的状态。在系统中的绝大多数异常情况都可以通过在系统中的绝大多数异常情况都可以通过WDWD的操作清除,的操作清除,故此故此WDWD设可大大提高系统的稳定性和可靠性。设可大大提高系统的稳定性和可靠性。5.3 看门狗定时模块看门狗定时模块(WD)在计算机控制系统的实际应用中,可靠性是一个非5.3.1 WD5.3.1 WD的工作原理的工作原理 5.3.1 WD的工作原理 从图中可以看出,从图中可以看出,8 8位看门狗计数器的时钟由位看门狗计数器的时钟由6 6位自由运位自由运行计数器来提供,行计数器来提供,6 6位自由运行计数器具有位自由运行计数器具有6 6个抽头,可对个抽头,可对WDCLKWDCLK时钟实现时钟实现2 2、4 4、8 8、1616、3232、6464分频,至于看门狗计数分频,至于看门狗计数器采用哪个分频信号,由看门狗控制寄存器器采用哪个分频信号,由看门狗控制寄存器WDCRWDCR低低3 3位的位值位的位值来确定。在该信号作用下,看门狗计数器作增计数。来确定。在该信号作用下,看门狗计数器作增计数。若在看门狗计数器计数溢出之前,没有进行若在看门狗计数器计数溢出之前,没有进行“喂狗喂狗”操作操作(对复位关键寄存器对复位关键寄存器WDKEYWDKEY写入正确的序列字写入正确的序列字),则会引起系统的,则会引起系统的复位,在系统复位前会产生一个附加的单周期复位,在系统复位前会产生一个附加的单周期(由由WDCLKWDCLK决定决定)延延时,复位后使系统回到一个可知的运行点。若在看门狗计数器时,复位后使系统回到一个可知的运行点。若在看门狗计数器计数溢出之前,进行了计数溢出之前,进行了“喂狗喂狗”操作,即把有效的序列字写到操作,即把有效的序列字写到WDKEYWDKEY,则可使看门狗计数器复位,以阻止系统复位。进行,则可使看门狗计数器复位,以阻止系统复位。进行“喂喂狗狗”操作的步骤是,首先把操作的步骤是,首先把55h55h写入写入WDKEYWDKEY,以使能计数的复位,以使能计数的复位操作,然后再把操作,然后再把AAhAAh写入写入WDKEYWDKEY,使看门狗计数器复位。除了,使看门狗计数器复位。除了55h55h和和AAhAAh的有效序列字外,任何其它字写入的有效序列字外,任何其它字写入WDKEYWDKEY都不会引起看门都不会引起看门狗计数器的复位。狗计数器的复位。从图中可以看出,8位看门狗计数器的时钟由6位5.3.2 WD5.3.2 WD寄存器的配置寄存器的配置 WDWD的所有寄存器都是的所有寄存器都是8 8位字宽,并且与位字宽,并且与1616位位CPUCPU外设数据外设数据总线的低总线的低8 8位相连。对位相连。对WDWD操作的设置比较简单,可通过操作的设置比较简单,可通过3 3个相个相关寄存器来配置。关寄存器来配置。1 1WDWD计数寄存器计数寄存器(WDCNTR):(WDCNTR):地址为地址为7023h 7023h WDWD计数寄存器包含看门狗计数器的计数值,复位值为计数寄存器包含看门狗计数器的计数值,复位值为0 0。2 2WDWD复位关键字寄存器复位关键字寄存器(WDKEY):(WDKEY):地址为地址为7025h7025h 当当55h55h及紧接其后的及紧接其后的AAhAAh顺序写入顺序写入WDKEYWDKEY时,则该寄存器将清时,则该寄存器将清除除WDCNTRWDCNTR寄存器中的内容。写入到寄存器中的内容。写入到WDKEYWDKEY中任何其他内容,都将中任何其他内容,都将产生一个系统复位操作。产生一个系统复位操作。5.3.2 WD寄存器的配置 WD的所有寄存3 3WDWD控制寄存器控制寄存器(WDCR):(WDCR):地址为地址为7029h7029h 76543210WDFLAGWDDISWDCHK2WDCHK1WDCHK0WDPS2WDPS1WDPS0 位位7:7:是是WDWD的标志位。该位表明了的标志位。该位表明了WDWD是否发生过系统复位信是否发生过系统复位信号。号。WDWD引发的系统复位可将该位置引发的系统复位可将该位置1 1,任何其他的系统复位事件,任何其他的系统复位事件对该位都没有影响。当该位为对该位都没有影响。当该位为0 0时,表示自上次时,表示自上次WDCNTRWDCNTR清零以来,清零以来,WDWD没有发出过系统复位信号;为没有发出过系统复位信号;为1 1时,表示自上次时,表示自上次WDCNTRWDCNTR清零以清零以来,来,WDWD已经发出过系统复位信号。已经发出过系统复位信号。位位6:6:是是WDWD的使能位。该位只有在系统配置寄存器的使能位。该位只有在系统配置寄存器SCSR2SCSR2的的WD WD OVERRIDEOVERRIDE位为位为1 1时,才可以进行写操作。该位写时,才可以进行写操作。该位写0 0时,使能看门狗;时,使能看门狗;写写1 1时禁止看门狗。时禁止看门狗。位位5-3:5-3:是看门狗校验位。当用户对是看门狗校验位。当用户对WDCRWDCR进行访问时,必须将进行访问时,必须将这这3 3位写入位写入101101,否则将引发一个系统复位事件。,否则将引发一个系统复位事件。位位2-0:2-0:是是WDWD计数器的预定标因子选择位。计数器的预定标因子选择位。3WD控制寄存器(WDCR):地址为7029h 76545.6 系统的中断管理系统的中断管理 5.6.1中断简介中断简介 在正常情况下在正常情况下CPUCPU按照程序预定的路线运行,当外围设备按照程序预定的路线运行,当外围设备(片内或片外片内或片外)有事件产生需要有事件产生需要CPUCPU来处理时,即发出中断请求来处理时,即发出中断请求信号,信号,CPUCPU暂停工作,保留现场后自动转到该中断请求对应的暂停工作,保留现场后自动转到该中断请求对应的服务子程序的入口处,执行相应事件的处理程序,待服务子服务子程序的入口处,执行相应事件的处理程序,待服务子程序运行完毕后返回断点,自动恢复现场,继续执行被打断程序运行完毕后返回断点,自动恢复现场,继续执行被打断的程序。因此中断具有随机性、可恢复性及自动处理的特点。的程序。因此中断具有随机性、可恢复性及自动处理的特点。计算机采用中断方式,可以节省计算机采用中断方式,可以节省CPUCPU资源,资源,CPUCPU可以不花可以不花时间去轮寻外围设备是否需要服务。当有多个中断源时,时间去轮寻外围设备是否需要服务。当有多个中断源时,CPUCPU对各中断的响应需按序进行,因此需要一个中断管理系对各中断的响应需按序进行,因此需要一个中断管理系统对中断源进行管理控制。中断的使用是系统设计中十分重统对中断源进行管理控制。中断的使用是系统设计中十分重要的问题,中断的设计是一个系统正常运行的关键之一。要的问题,中断的设计是一个系统正常运行的关键之一。退出退出5.6 系统的中断管理 5.6.1中断简介 在正常情软件中断:是指由指令软件中断:是指由指令INTRINTR、NMINMI、TRAPTRAP请求的中断请求的中断。硬件中断硬件中断中断中断外部中断外部中断(由外部引脚引起的中断由外部引脚引起的中断)内部中断内部中断(由片内外设的动作引发的中断由片内外设的动作引发的中断)按处理方式分按处理方式分可屏蔽中断:可屏蔽中断:是指可以通过软件将它们禁止是指可以通过软件将它们禁止(屏蔽屏蔽)或或允许允许(使能使能)的中断,这样就可以通过设置软件的方法的中断,这样就可以通过设置软件的方法屏蔽掉那些不想响应的中断。屏蔽掉那些不想响应的中断。不可屏蔽中断:不可屏蔽中断:是不能通过软件将它们禁止掉的中断,是不能通过软件将它们禁止掉的中断,不可屏蔽中断包括所有的软件中断以及两个外部引脚不可屏蔽中断包括所有的软件中断以及两个外部引脚(复复位和不可屏蔽中断位和不可屏蔽中断),这些中断总是被,这些中断总是被CPUCPU响应的。响应的。TMS320LF240 x TMS320LF240 x具有丰富的外设模块,每个外设模块都可以具有丰富的外设模块,每个外设模块都可以产生中断。为了处理众多的中断,产生中断。为了处理众多的中断,TMS320LF240 xTMS320LF240 x对可屏蔽的中对可屏蔽的中断采用了两级中断处理的方法,将数量众多的外设中断扩展断采用了两级中断处理的方法,将数量众多的外设中断扩展(PIE)(PIE)映射为具有不同优先级的中断映射为具有不同优先级的中断INT1INT1INT6INT6。退出退出软件中断:是指由指令INTR、NMI、TRAP请求的中断。硬5.6.2 中断的过程中断的过程 1 1、中断的中断服务程序采用两级层次的中断管理。、中断的中断服务程序采用两级层次的中断管理。(1)(1)从外设来的多个中断请求从外设来的多个中断请求(PIRQ)(PIRQ)在中断控制器处进行或在中断控制器处进行或运算,产生一个能被运算,产生一个能被CPUCPU直接识别的中断请求直接识别的中断请求(INTn)(INTn)。(2)(2)在外设配置寄存器中,每个产生外设中断请求的事件在外设配置寄存器中,每个产生外设中断请求的事件都有一个中断使能位和中断标志位,如果中断使能位已被都有一个中断使能位和中断标志位,如果中断使能位已被置置1 1,则会产生一个从外设到中断控制器的中断请求。,则会产生一个从外设到中断控制器的中断请求。2、为了区别不同的外设中断,为了区别不同的外设中断,DSPDSP控制器给每个中断分配了控制器给每个中断分配了一个特定的入口地址一个特定的入口地址(中断向量中断向量)。每个外设中断请求有效时。每个外设中断请求有效时都会产生唯一的外设中断向量,该中断向量被装载到外设中都会产生唯一的外设中断向量,该中断向量被装载到外设中断向量寄存器断向量寄存器(PIVR)(PIVR)里面,里面,CPUCPU应答时,从应答时,从PIVRPIVR寄存器中读取寄存器中读取相应的中断向量,并产生到该中断服务程序入口的跳转。相应的中断向量,并产生到该中断服务程序入口的跳转。退出退出5.6.2 中断的过程 1、中断的中断服务程序采用两级层次的3 3、实际上、实际上DSPDSP有有CPUCPU和外设两个向量表。和外设两个向量表。CPUCPU的向量表用来的向量表用来获取响应获取响应CPUCPU中断请求的一级通用中断服务子程序中断请求的一级通用中断服务子程序(GISR)(GISR)。外设向量表用来获取响应某一个特定外设事件的特定中断外设向量表用来获取响应某一个特定外设事件的特定中断服务子程序服务子程序(SISR)(SISR)。在。在GISRGISR中读出中读出PIVRPIVR中的值,在保存返中的值,在保存返回地址后,用回地址后,用PIVRPIVR中的值来产生一个转移到中的值来产生一个转移到SISRSISR的向量。的向量。4、需注意的是,在进入中断子程序之前,需注意的是,在进入中断子程序之前,CPUCPU只是保护断只是保护断点地址,并不保护数据。如果在中断服务子程序中使用了点地址,并不保护数据。如果在中断服务子程序中使用了主程序用到的某些内存单元,并且这些数据不允许被子程主程序用到的某些内存单元,并且这些数据不允许被子程序改变,那么对这些数据一定要进行保护。序改变,那么对这些数据一定要进行保护。保护的方法有两种,一是在子程序执行前,将要保护的保护的方法有两种,一是在子程序执行前,将要保护的一些变量数据或系统状态存放到一个特定的数据区,在子程一些变量数据或系统状态存放到一个特定的数据区,在子程序结束时再将这些数据返回给这些变量或状态寄存器;另外序结束时再将这些数据返回给这些变量或状态寄存器;另外一种方法是在子程序执行前将需保护的变量数据或系统的状一种方法是在子程序执行前将需保护的变量数据或系统的状态压入堆栈,在子程序结束时再将堆栈的内容弹出。态压入堆栈,在子程序结束时再将堆栈的内容弹出。退出退出3、实际上DSP有CPU和外设两个向量表。CPU的向量表用来 综之,当某个中断发出请求且允许中断时,则综之,当某个中断发出请求且允许中断时,则CPUCPU先将当先将当前的前的PCPC加加l l压入堆栈,即保护返回压入堆栈,即保护返回(断点断点)地址。然后,地址。然后,CPUCPU自自动地将该请求中断的向量地址送入动地将该请求中断的向量地址送入PCPC,CPUCPU便转入该请求中断便转入该请求中断的服务子程序运行。当碰到中断服务子程序的返回指令的服务子程序运行。当碰到中断服务子程序的返回指令RETRET时,时,CPUCPU自动将堆栈中的返回地址弹出到自动将堆栈中的返回地址弹出到PCPC中,恢复中断前的程序中,恢复中断前的程序继续运行。继续运行。退出退出 综之,当某个中断发出请求且允许中断时,则CPU先将当5.6.3 中断向量表和优先级分配中断向量表和优先级分配 TMS320LF240 xTMS320LF240 x利用利用CPUCPU支持的支持的6 6个可屏蔽中断,采用集中个可屏蔽中断,采用集中化的中断扩展设计来满足大量的外设中断需求。化的中断扩展设计来满足大量的外设中断需求。TMS320LF2407TMS320LF2407的中断源优先级和中断入口地址向量表见的中断源优先级和中断入口地址向量表见书上表格书上表格(P217)。从表中可以看出两个相邻的从表中可以看出两个相邻的CPUCPU中断向量地址只相差中断向量地址只相差2 2,要在这个空间中存放中断服务子程序显然是不够的。解决要在这个空间中存放中断服务子程序显然是不够的。解决的方法是在这个空间存放一条跳转指令的方法是在这个空间存放一条跳转指令(如如B B、BACCBACC指令指令),通过这条指令可将程序跳转到真正的中断服务子程序入口通过这条指令可将程序跳转到真正的中断服务子程序入口处。处。退出退出5.6.3 中断向量表和优先级分配 TMS325.6.4 中断管理寄存器中断管理寄存器 DSP DSP系统对中断的管理是通过中断寄存器来实现的。包括系统对中断的管理是通过中断寄存器来实现的。包括CPUCPU中断寄存器中断寄存器(中断标志寄存器中断标志寄存器IFRIFR和中断控制寄存器和中断控制寄存器IMR)IMR)、外设中断寄存器、外部中断控制寄存器三大类。其中,外设中断寄存器、外部中断控制寄存器三大类。其中,CPUCPU中中断寄存器是必须要彻底了解的。断寄存器是必须要彻底了解的。1 1CPUCPU中断标志寄存器中断标志寄存器(IFR)(IFR)位于数据存储器中的位于数据存储器中的0006h0006h处,它记录着所有可屏蔽中处,它记录着所有可屏蔽中断的状态标志。当有任何一个可屏蔽中断被请求时,并且该断的状态标志。当有任何一个可屏蔽中断被请求时,并且该中断又被使能,则在中断又被使能,则在IFRIFR中的相应标志位被置中的相应标志位被置1 1,表示该中断,表示该中断正在被挂起正在被挂起(等待响应等待响应)。因此通过读。因此通过读IFRIFR的相应状态位可以的相应状态位可以识别哪些中断源被挂起,通过向识别哪些中断源被挂起,通过向IFRIFR的相应位写的相应位写1 1可以清除该可以清除该位的中断请求。另外,当位的中断请求。另外,当CPUCPU响应中断或者器件发生复位时响应中断或者器件发生复位时都将都将IFRIFR标志清除。标志清除。退出退出5.6.4 中断管理寄存器 DSP系统对中断的管理是位位15-615-65 54 43 32 21 10 0名名 称称保留位保留位INT6 INT6 flagflagINT5 INT5 flagflagINT4 INT4 flagflagINT3 INT3 flagflagINT2 INT2 flagflagINT1 INT1 flagflag复位值复位值0 00 00 00 00 00 00 0位位5 5:第:第6 6级中断级中断(INT6)(INT6)标志位。该位用作连接标志位。该位用作连接INT6INT6的所有中的所有中断标志。断标志。位位4 4:第:第5 5级中断级中断(INT5)(INT5)标志位。该位用作连接标志位。该位用作连接INT5INT5的所有中的所有中断标志。断标志。位位3 3。第。第4 4级中断级中断(INT4)(INT4)标志位。该位用作连接标志位。该位用作连接INT4INT4的所有中的所有中断标志。断标志。位位2 2。第。第3 3级中断级中断(INT3)(INT3)标志位。该位用作连接标志位。该位用作连接INT3INT3的所有中的所有中断标志。断标志。位位1 1:第:第2 2级中断级中断(INT2)(INT2)标志位。该位用作连接标志位。该位用作连接INT2INT2的所有中的所有中断标志。断标志。位位0 0:第:第1 1级中断级中断(INT1)(INT1)标志位。该位用作连接标志位。该位用作连接INT1INT1的所有中的所有中断标志。断标志。退出退出位15-6543210名 称保留位INT6 flagINT52 2中断控制寄存器中断控制寄存器(IMR)(IMR)IMRIMR地址为地址为0004h0004h。IMRIMR的每一位代表一个可屏蔽中断的控的每一位代表一个可屏蔽中断的控制开关,向相应位写制开关,向相应位写1 1表示使能,写表示使能,写0 0表示禁止。因此,为了使表示禁止。因此,为了使能某级中断,应设置相应的能某级中断,应设置相应的IMRIMR位为位为1 1,而屏蔽某级中断时,只,而屏蔽某级中断时,只需将相应的需将相应的IMRIMR位设为位设为0 0。位位15156 65 54 43 32 21 10 0名名 称称保留位保留位INT6 INT6 maskmaskINT5 INT5 maskmaskINT4 INT4 maskmaskINT3 INT3 maskmaskINT2 INT2 maskmaskINT1 INT1 maskmask复位值复位值0 0NCNCNCNCNCNCNCNCNCNCNCNC位位5 5:第:第6 6级中断级中断(INT6)(INT6)屏蔽位。屏蔽位。位位4 4:第:第5 5级中断级中断(INT5)(INT5)屏蔽位。屏蔽位。位位3 3:第:第4 4级中断级中断(INT4)(INT4)屏蔽位。屏蔽位。位位2 2:第:第3 3级中断级中断(INT3)(INT3)屏蔽位。屏蔽位。位位1 1:第:第2 2级中断级中断(INT2)(INT2)屏蔽位。屏蔽位。位位0 0:第:第1 1级中断级中断(INT1)(INT1)屏蔽位。屏蔽位。退出退出2中断控制寄存器(IMR)IMR地址为03 3外部中断控制寄存器外部中断控制寄存器(XINT1CR(XINT1CR、XINT2CR)XINT2CR)地址为地址为7070h7070h,用于控制两个外部输入引脚,用于控制两个外部输入引脚XINT1XINT1和和XINT2XINT2的中断。这两个引脚用于一些特定的外部应急输入,的中断。这两个引脚用于一些特定的外部应急输入,如过电压、低电压、过电流等检测信号的输入。如过电压、低电压、过电流等检测信号的输入。位位151514143 32 21 10 0名名 称称XINT1 XINT1 flagflag保留位保留位XINT1 XINT1 polaritypolarityXINT1 XINT1 prioritypriorityXINT1 XINT1 enableenable复位值复位值0 00 00 00 00 0位位1515:XINT1XINT1标志位。当引脚标志位。当引脚(XINT1)(XINT1)检测到一个所选的跳变时,检测到一个所选的跳变时,无论外部中断无论外部中断1 1是否被使能,该位都被置位。当相应的中断被是否被使能,该位都被置位。当相应的中断被响应时,该位自动清响应时,该位自动清0 0。通过软件向该位写。通过软件向该位写1 1或器件复位时,该或器件复位时,该位也清位也清0 0。位位2 2:XINT1XINT1极性。该位决定了是在极性。该位决定了是在XINT1XINT1引脚信号的上升沿还引脚信号的上升沿还是下降沿产生中断。当该位为是下降沿产生中断。当该位为0 0时,在下降沿产生中断;为时,在下降沿产生中断;为1 1时,时,在上升沿产生中断。在上升沿产生中断。位位1 1:XINT1XINT1优先级。该位决定了中断优先级。当该位为优先级。该位决定了中断优先级。当该位为0 0时,时,为高优先级;为为高优先级;为1 1时,为低优先级。时,为低优先级。位位0 0:XINT1XINT1使能位。该位可使能或禁止外部使能位。该位可使能或禁止外部XINT1XINT1引脚中断。引脚中断。当该位为当该位为0 0时,禁止时,禁止(屏蔽屏蔽)中断;为中断;为1 1时,使能中断。时,使能中断。退出退出3外部中断控制寄存器(XINT1CR、XINT2CR)外部中断控制寄存器外部中断控制寄存器2(XINT2CR)2(XINT2CR)在数据寄存器中的指在数据寄存器中的指定地址为定地址为7071h7071h,各位的定义如表所示。各位的具体含义,各位的定义如表所示。各位的具体含义参见外部中断控制寄存器参见外部中断控制寄存器1(XINT1CR)1(XINT1CR)。位位151514143 32 21 10 0名名 称称XINT2 XINT2 flagflag保留位保留位XINT2 XINT2 polaritypolarityXINT2 XINT2 prioritypriorityXINT2 XINT2 enableenable复位值复位值0 00 00 00 00 0退出退出 外部中断控制寄存器2(XINT2CR)在数据寄存器中5.6.5 中断的实现方法中断的实现方法 由前可知由前可知DSPDSP的中断请求系统是一个两级层次结构:低的中断请求系统是一个两级层次结构:低级的外设中断请求和高级级的外设中断请求和高级CPUCPU内核级的中断请求。执行中断内核级的中断请求。执行中断时,时,CPUCPU首先根据首先根据CPUCPU级的中断向量表,查明是哪一级的中断级的中断向量表,查明是哪一级的中断请求,然后响应这个内核级的中断请求,这时的中断服务子请求,然后响应这个内核级的中断请求,这时的中断服务子程序称为通用级中断服务子程序。每个程序称为通用级中断服务子程序。每个CPUCPU的中断请求都是的中断请求都是许多外设级中断请求信号相或后产生的,即每一个外设级的许多外设级中断请求信号相或后产生的,即每一个外设级的中断请求都可以引起一个中断请求都可以引起一个CPUCPU级的中断请求,这就是可屏蔽级的中断请求,这就是可屏蔽中断的中断复用。中断的中断复用。DSPDSP还为每个特定的外设中断请求也提供了一个特定的还为每个特定的外设中断请求也提供了一个特定的中断向量中断向量(偏移向量偏移向量),当外设引发中断时,会产生一个唯一,当外设引发中断时,会产生一个唯一的外设中断向量,并被装载到外设中断向量寄存器的外设中断向量,并被装载到外设中断向量寄存器(PIVR)(PIVR)中。中。因此,当因此,当CPUCPU接受到这个中断请求,进入接受到这个中断请求,进入DSPDSP内核级可屏蔽中内核级可屏蔽中断的通用中断子程序断的通用中断子程序(GISR)(GISR)时,可将外设中断向量寄存器时,可将外设中断向量寄存器(PIVR)(PIVR)中的内容送入累加器中,然后经过跳转指令跳转到外中的内容送入累加器中,然后经过跳转指令跳转到外设特定中断服务子程序设特定中断服务子程序(SISR)(SISR)。退出退出5.6.5 中断的实现方法 由前可知DSP的下面以定时器下面以定时器1 1的下溢中断的下溢中断T1UFINTT1UFINT为例,说明中断过程。为例,说明中断过程。假设定时器假设定时器1 1的下溢中断的下溢中断T1UFINTT1UFINT已被使能,且已经产生已被使能,且已经产生了了CPUCPU内核级中断请求内核级中断请求INT2INT2。由中断向量表可知,。由中断向量表可知,INT2INT2的中断的中断向量地址为向量地址为0004h0004h,定时器,定时器1 1的下溢中断的下溢中断TIUFINTTIUFINT的偏移向量地的偏移向量地址为址为0029h0029h。要完成这个外设的中断响应需要以下两个步骤:要完成这个外设的中断响应需要以下两个步骤:CPU CPU响应中断请求响应中断请求INT2INT2,并根据其中断向量地址自,并根据其中断向量地址自动将程序指针动将程序指针PCPC指向指向0004h0004h处,在处,在0004h0004h处安排一条跳转指令,处安排一条跳转指令,使程序指针转到通用中断子程序使程序指针转到通用中断子程序(GISR)(GISR)去;去;在在GISRGISR中,将外设中断向量寄存器中,将外设中断向量寄存器(PIVR)(PIVR)中的内容中的内容送入累加器,进而查明产生中断的特定外设,然后就可以根送入累加器,进而查明产生中断的特定外设,然后就可以根据用户的程序大小将程序指针据用户的程序大小将程序指针PCPC跳转到真正的定时器跳转到真正的定时器1 1下溢下溢中断中断TIUFINTTIUFINT的服务子程序入口处的服务子程序入口处(ISIR)(ISIR),从而结束,从而结束INT2INT2通通用服务子程序用服务子程序(GISR)(GISR)而开始而开始SISRSISR。退出退出下面以定时器1的下溢中断T1UFINT为例,说明中断过程。以下是对应程序执行的简要过程。以下是对应程序执行的简要过程。INT2 B GISR2 ;INT2 INT2 B GISR2 ;INT2的入口地址的入口地址0004h0004h GISR2:;GISR2:;通用中断子程序通用中断子程序 ;保护现场保护现场 LACC PIVR,1 ;PIVRLACC PIVR,1 ;PIVR的偏移地址乘的偏移地址乘2 2装载累加器装载累加器 ADD#PVECTORS;ADD#PVECTORS;加上外设中断向量段的起始地址加上外设中断向量段的起始地址 BACC ;BACC ;转向转向TIUFINTTIUFINT中断服务子程序中断服务子程序 ISIR:;TIUFINT ISIR:;TIUFINT中断服务子程序中断服务子程序 RET RET退出退出以下是对应程序执行的简要过程。退出5.6.6 5.6.6 中断的一些其他相关问题中断的一些其他相关问题 1 1假中断假中断(phantom)(phantom)向量向量 引入假中断向量是为了保证中断系统的完整性。当外设引入假中断向量是为了保证中断系统的完整性。当外设已经产生中断,但由于中断请求线上出现虚假信号或中断请已经产生中断,但由于中断请求线上出现虚假信号或中断请求线发生故障,此时求线发生故障,此时CPUCPU内核级中断内核级中断(INT1(INT1INT6)INT6)的中断标的中断标志在志在CPUCPU应答该请求之前内容不定或被清应答该请求之前内容不定或被清0 0,因此中断响应时,因此中断响应时没有将该中断的真正中断向量地址装入没有将该中断的真正中断向量地址装入PIVRPIVR,为了使系统按,为了使系统按照可控的方式运行,此时向照可控的方式运行,此时向PIVRPIVR装入假中断向量装入假中断向量0000h0000h。2 2中断响应的延时中断响应的延时 从发出中断请求到中断响应之间的延时与许多因素有从发出中断请求到中断响应之间的延时与许多因素有关,主要有关,主要有3 3种因素:外设同步接口时间;种因素:外设同步接口时间;CPUCPU响应时间;响应时间;中断服务中断服务(ISR)(ISR)转移时间。转移时间。退出退出5.6.6 中断的一些其他相关问题 1假中断(phanto
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!