版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章
初始化配置与中断系统
系统配置寄存器系统的中断管理看门狗定时器第5章初始化配置与中断系统系统配置寄存器系统的中断管理看5.1系统配置寄存器
5.2.1系统配置寄存器SCSR1(地址7018h
)位15141312111098名-CLKSRCLPM1LPM0CLKPS2CLKPS1CLKPS0-位76543210名ADCCLKENSCICLKENSPICLKENCANCLKENEVBCLKENEVACLKEN-ILLADR位6:SCI模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。位5:SPI模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。位4:CAN模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。位3:EVB模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。
位2:EVA模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。位0:无效地址检测位。在检测到一个无效地址时,该位被置1。置1后需要用户用软件清0,清0的方法是对该位写1。检测到一个非法地址将会产生一个不可屏蔽中断(NMI)。
位14:CLKOUT引脚时钟源选择位。当该位值为0时,CLKOUT引脚输出CPU时钟;当该位值为1时,CLKOUT引脚输出看门狗时钟(WDCLK)。位13~12:低功耗选择位。这两位决定了CPU在执行IDLE指令时芯片进入那种低功耗模式。位7:模数转换(ADC)模块的时钟使能控制位。当该位值为1时,使能该模块时钟,以使A/D转换正常进行;当该位值为0时,禁止该模块时钟(在不用ADC时,可节约DSP的能量消耗)。位11~9:锁相环(PLL)时钟预定标选择位。这3位决定对输入时钟进行锁相倍频的系数。当CLKPS=000时4倍频;当CLKPS=001时2倍频;当CLKPS=010时1.33倍频;CLKPS=011时1倍频;当CLKPS=100时0.8倍频;CLKPS=101时0.66倍频;CLKPS=110时0.57倍频;CLKPS=111时0.5倍频。退出5.1系统配置寄存器5.2.1系统配置寄存器SCSR1(5.2.2系统配置寄存器SCSR2
(地址是7019h)11引脚引脚0100初PONDONXMIFHI-ZWDOVERRIDEI/PQUAL-名012345615~7位位6:输入时钟限定位。当CAP1-6、XINT1-2、ADCSOC等引脚被指定为特殊功能时,该位决定了输入到这些引脚信号被正确锁存所需的最少脉冲数。当位值为0时,至少需5个时钟周期;当位值为1时,至少需11个时钟周期。
位5:WD保护位。用户可通过软件将WDCR寄存器中的WDDIS控制位置1来禁止WD工作。向该位写1可以对其清0。该位为0时,不能通过软件来禁止WD;为1时,可通过软件来禁止WD工作。
位4:XMIF高阻控制位。它的作用是控制外部存储器的接口信号。当位值为0时,所有的外部存储器接口信号(XMIF)处于正常驱动模式(接通);当该位值为1时,所有的外部存储器接口信号处于高阻状态,即断开外部存储器接口信号。
位3:引导ROM使能位。当该位值为0时,使能引导ROM,地址空间0000h~00FFh被片内引导ROM块占用,该方式禁止使用FLASH;当位值为1时,禁止引导ROM,允许使用FLASH,对于TMS320LF2407A片内FLASH程序存储器映射地址范围为0000h~7FFFh。
位2。片内/外程序存储器选择控制位,又称微处理器/微控制器模式选择位。可通过软件来改变该位值以改变存储器映射到片内或片外。当该位值为0时,器件设置为微控制器模式,程序存储器地址范围0000h-7FFFh被映射到片内FLASH;当位值为1时,器件设置为微处理器模式,程序存储器地址范围0000h-7FFFh被映射到片外,即系统使用片外程序存储器,用户自己外扩程序存储器件。位1~0:单口存储器SARAM的程序/数据空间选择控制位。当该两位为00时,地址空间被分配到外部存储器;当该两位为01时,SARAM被映射为片内程序空间;当该两位为10时,SARAM被映射为片内数据空间;当该两位为11时,SARAM被同时映射到片内程序空间和片内数据空间。
退出5.2.2系统配置寄存器SCSR2(地址是7019h)1
在计算机控制系统的实际应用中,可靠性是一个非常重要的问题,尤其是在工业应用场合,系统抗干扰能力显得尤为突出。为解决干扰问题,除了对干扰源的适当处理外,在计算机控制系统中也应增加一些防范措施,从而避免程序“跑飞”或“死机”现象,导致系统工作异常。
为解决这个问题,在TMS320LF240x芯片中增加了看门狗(WD)定时电路。WD监视系统软件和硬件的运行,它可以按照用户设定的时间间隔产生中断。如果软件进入非正常循环或CPU运行出现异常时,则WD定时器计数上溢,并产生系统复位信号,使系统进入用户预定义的状态。在系统中的绝大多数异常情况都可以通过WD的操作清除,故此WD设可大大提高系统的稳定性和可靠性。5.3看门狗定时模块(WD)
在计算机控制系统的实际应用中,可靠性是一个非5.3.1WD的工作原理
5.3.1WD的工作原理
从图中可以看出,8位看门狗计数器的时钟由6位自由运行计数器来提供,6位自由运行计数器具有6个抽头,可对WDCLK时钟实现2、4、8、16、32、64分频,至于看门狗计数器采用哪个分频信号,由看门狗控制寄存器WDCR低3位的位值来确定。在该信号作用下,看门狗计数器作增计数。若在看门狗计数器计数溢出之前,没有进行“喂狗”操作(对复位关键寄存器WDKEY写入正确的序列字),则会引起系统的复位,在系统复位前会产生一个附加的单周期(由WDCLK决定)延时,复位后使系统回到一个可知的运行点。若在看门狗计数器计数溢出之前,进行了“喂狗”操作,即把有效的序列字写到WDKEY,则可使看门狗计数器复位,以阻止系统复位。进行“喂狗”操作的步骤是,首先把55h写入WDKEY,以使能计数的复位操作,然后再把AAh写入WDKEY,使看门狗计数器复位。除了55h和AAh的有效序列字外,任何其它字写入WDKEY都不会引起看门狗计数器的复位。从图中可以看出,8位看门狗计数器的时钟由6位5.3.2WD寄存器的配置
WD的所有寄存器都是8位字宽,并且与16位CPU外设数据总线的低8位相连。对WD操作的设置比较简单,可通过3个相关寄存器来配置。
1.WD计数寄存器(WDCNTR):地址为7023hWD计数寄存器包含看门狗计数器的计数值,复位值为0。2.WD复位关键字寄存器(WDKEY):地址为7025h
当55h及紧接其后的AAh顺序写入WDKEY时,则该寄存器将清除WDCNTR寄存器中的内容。写入到WDKEY中任何其他内容,都将产生一个系统复位操作。5.3.2WD寄存器的配置WD的所有寄存3.WD控制寄存器(WDCR):地址为7029h
76543210WDFLAGWDDISWDCHK2WDCHK1WDCHK0WDPS2WDPS1WDPS0
位7:是WD的标志位。该位表明了WD是否发生过系统复位信号。WD引发的系统复位可将该位置1,任何其他的系统复位事件对该位都没有影响。当该位为0时,表示自上次WDCNTR清零以来,WD没有发出过系统复位信号;为1时,表示自上次WDCNTR清零以来,WD已经发出过系统复位信号。
位6:是WD的使能位。该位只有在系统配置寄存器SCSR2的WDOVERRIDE位为1时,才可以进行写操作。该位写0时,使能看门狗;写1时禁止看门狗。
位5-3:是看门狗校验位。当用户对WDCR进行访问时,必须将这3位写入101,否则将引发一个系统复位事件。
位2-0:是WD计数器的预定标因子选择位。
3.WD控制寄存器(WDCR):地址为7029h76545.6系统的中断管理
5.6.1中断简介
在正常情况下CPU按照程序预定的路线运行,当外围设备(片内或片外)有事件产生需要CPU来处理时,即发出中断请求信号,CPU暂停工作,保留现场后自动转到该中断请求对应的服务子程序的入口处,执行相应事件的处理程序,待服务子程序运行完毕后返回断点,自动恢复现场,继续执行被打断的程序。因此中断具有随机性、可恢复性及自动处理的特点。计算机采用中断方式,可以节省CPU资源,CPU可以不花时间去轮寻外围设备是否需要服务。当有多个中断源时,CPU对各中断的响应需按序进行,因此需要一个中断管理系统对中断源进行管理控制。中断的使用是系统设计中十分重要的问题,中断的设计是一个系统正常运行的关键之一。
退出5.6系统的中断管理5.6.1中断简介在正常情软件中断:是指由指令INTR、NMI、TRAP请求的中断。硬件中断中断外部中断(由外部引脚引起的中断)内部中断(由片内外设的动作引发的中断)按处理方式分可屏蔽中断:是指可以通过软件将它们禁止(屏蔽)或允许(使能)的中断,这样就可以通过设置软件的方法屏蔽掉那些不想响应的中断。不可屏蔽中断:是不能通过软件将它们禁止掉的中断,不可屏蔽中断包括所有的软件中断以及两个外部引脚(复位和不可屏蔽中断),这些中断总是被CPU响应的。TMS320LF240x具有丰富的外设模块,每个外设模块都可以产生中断。为了处理众多的中断,TMS320LF240x对可屏蔽的中断采用了两级中断处理的方法,将数量众多的外设中断扩展(PIE)映射为具有不同优先级的中断INT1~INT6。退出软件中断:是指由指令INTR、NMI、TRAP请求的中断。硬5.6.2中断的过程
1、中断的中断服务程序采用两级层次的中断管理。(1)从外设来的多个中断请求(PIRQ)在中断控制器处进行或运算,产生一个能被CPU直接识别的中断请求(INTn)。(2)在外设配置寄存器中,每个产生外设中断请求的事件都有一个中断使能位和中断标志位,如果中断使能位已被置1,则会产生一个从外设到中断控制器的中断请求。
2、为了区别不同的外设中断,DSP控制器给每个中断分配了一个特定的入口地址(中断向量)。每个外设中断请求有效时都会产生唯一的外设中断向量,该中断向量被装载到外设中断向量寄存器(PIVR)里面,CPU应答时,从PIVR寄存器中读取相应的中断向量,并产生到该中断服务程序入口的跳转。退出5.6.2中断的过程1、中断的中断服务程序采用两级层次的3、实际上DSP有CPU和外设两个向量表。CPU的向量表用来获取响应CPU中断请求的一级通用中断服务子程序(GISR)。外设向量表用来获取响应某一个特定外设事件的特定中断服务子程序(SISR)。在GISR中读出PIVR中的值,在保存返回地址后,用PIVR中的值来产生一个转移到SISR的向量。4、需注意的是,在进入中断子程序之前,CPU只是保护断点地址,并不保护数据。如果在中断服务子程序中使用了主程序用到的某些内存单元,并且这些数据不允许被子程序改变,那么对这些数据一定要进行保护。
保护的方法有两种,一是在子程序执行前,将要保护的一些变量数据或系统状态存放到一个特定的数据区,在子程序结束时再将这些数据返回给这些变量或状态寄存器;另外一种方法是在子程序执行前将需保护的变量数据或系统的状态压入堆栈,在子程序结束时再将堆栈的内容弹出。退出3、实际上DSP有CPU和外设两个向量表。CPU的向量表用来综之,当某个中断发出请求且允许中断时,则CPU先将当前的PC加l压入堆栈,即保护返回(断点)地址。然后,CPU自动地将该请求中断的向量地址送入PC,CPU便转入该请求中断的服务子程序运行。当碰到中断服务子程序的返回指令RET时,CPU自动将堆栈中的返回地址弹出到PC中,恢复中断前的程序继续运行。退出综之,当某个中断发出请求且允许中断时,则CPU先将当5.6.3中断向量表和优先级分配
TMS320LF240x利用CPU支持的6个可屏蔽中断,采用集中化的中断扩展设计来满足大量的外设中断需求。
TMS320LF2407的中断源优先级和中断入口地址向量表见书上表格
(P217)。
从表中可以看出两个相邻的CPU中断向量地址只相差2,要在这个空间中存放中断服务子程序显然是不够的。解决的方法是在这个空间存放一条跳转指令(如B、BACC指令),通过这条指令可将程序跳转到真正的中断服务子程序入口处。退出5.6.3中断向量表和优先级分配TMS325.6.4中断管理寄存器
DSP系统对中断的管理是通过中断寄存器来实现的。包括CPU中断寄存器(中断标志寄存器IFR和中断控制寄存器IMR)、外设中断寄存器、外部中断控制寄存器三大类。其中,CPU中断寄存器是必须要彻底了解的。
1.CPU中断标志寄存器(IFR)
位于数据存储器中的0006h处,它记录着所有可屏蔽中断的状态标志。当有任何一个可屏蔽中断被请求时,并且该中断又被使能,则在IFR中的相应标志位被置1,表示该中断正在被挂起(等待响应)。因此通过读IFR的相应状态位可以识别哪些中断源被挂起,通过向IFR的相应位写1可以清除该位的中断请求。另外,当CPU响应中断或者器件发生复位时都将IFR标志清除。退出5.6.4中断管理寄存器DSP系统对中断的管理是位15-6543210名称保留位INT6flagINT5flagINT4flagINT3flagINT2flagINT1flag复位值0000000位5:第6级中断(INT6)标志位。该位用作连接INT6的所有中断标志。位4:第5级中断(INT5)标志位。该位用作连接INT5的所有中断标志。
位3。第4级中断(INT4)标志位。该位用作连接INT4的所有中断标志。位2。第3级中断(INT3)标志位。该位用作连接INT3的所有中断标志。位1:第2级中断(INT2)标志位。该位用作连接INT2的所有中断标志。
位0:第1级中断(INT1)标志位。该位用作连接INT1的所有中断标志。
退出位15-6543210名称保留位INT6flagINT52.中断控制寄存器(IMR)
IMR地址为0004h。IMR的每一位代表一个可屏蔽中断的控制开关,向相应位写1表示使能,写0表示禁止。因此,为了使能某级中断,应设置相应的IMR位为1,而屏蔽某级中断时,只需将相应的IMR位设为0。
位15-6543210名称保留位INT6maskINT5maskINT4maskINT3maskINT2maskINT1mask复位值0NCNCNCNCNCNC位5:第6级中断(INT6)屏蔽位。
位4:第5级中断(INT5)屏蔽位。
位3:第4级中断(INT4)屏蔽位。
位2:第3级中断(INT3)屏蔽位。
位1:第2级中断(INT2)屏蔽位。
位0:第1级中断(INT1)屏蔽位。
退出2.中断控制寄存器(IMR)IMR地址为03.外部中断控制寄存器(XINT1CR、XINT2CR)
地址为7070h,用于控制两个外部输入引脚XINT1和XINT2的中断。这两个引脚用于一些特定的外部应急输入,如过电压、低电压、过电流等检测信号的输入。位1514-3210名称XINT1flag保留位XINT1polarityXINT1priorityXINT1enable复位值00000位15:XINT1标志位。当引脚(XINT1)检测到一个所选的跳变时,无论外部中断1是否被使能,该位都被置位。当相应的中断被响应时,该位自动清0。通过软件向该位写1或器件复位时,该位也清0。位2:XINT1极性。该位决定了是在XINT1引脚信号的上升沿还是下降沿产生中断。当该位为0时,在下降沿产生中断;为1时,在上升沿产生中断。
位1:XINT1优先级。该位决定了中断优先级。当该位为0时,为高优先级;为1时,为低优先级。位0:XINT1使能位。该位可使能或禁止外部XINT1引脚中断。当该位为0时,禁止(屏蔽)中断;为1时,使能中断。
退出3.外部中断控制寄存器(XINT1CR、XINT2CR)外部中断控制寄存器2(XINT2CR)在数据寄存器中的指定地址为7071h,各位的定义如表所示。各位的具体含义参见外部中断控制寄存器1(XINT1CR)。
位1514-3210名称XINT2flag保留位XINT2polarityXINT2priorityXINT2enable复位值00000退出外部中断控制寄存器2(XINT2CR)在数据寄存器中5.6.5中断的实现方法
由前可知DSP的中断请求系统是一个两级层次结构:低级的外设中断请求和高级CPU内核级的中断请求。执行中断时,CPU首先根据CPU级的中断向量表,查明是哪一级的中断请求,然后响应这个内核级的中断请求,这时的中断服务子程序称为通用级中断服务子程序。每个CPU的中断请求都是许多外设级中断请求信号相或后产生的,即每一个外设级的中断请求都可以引起一个CPU级的中断请求,这就是可屏蔽中断的中断复用。
DSP还为每个特定的外设中断请求也提供了一个特定的中断向量(偏移向量),当外设引发中断时,会产生一个唯一的外设中断向量,并被装载到外设中断向量寄存器(PIVR)中。因此,当CPU接受到这个中断请求,进入DSP内核级可屏蔽中断的通用中断子程序(GISR)时,可将外设中断向量寄存器(PIVR)中的内容送入累加器中,然后经过跳转指令跳转到外设特定中断服务子程序(SISR)。退出5.6.5中断的实现方法由前可知DSP的下面以定时器1的下溢中断T1UFINT为例,说明中断过程。
假设定时器1的下溢中断T1UFINT已被使能,且已经产生了CPU内核级中断请求INT2。由中断向量表可知,INT2的中断向量地址为0004h,定时器1的下溢中断TIUFINT的偏移向量地址为0029h。
要完成这个外设的中断响应需要以下两个步骤:CPU响应中断请求INT2,并根据其中断向量地址自动将程序指针PC指向0004h处,在0004h处安排一条跳转指令,使程序指针转到通用中断子程序(GISR)去;在GISR中,将外设中断向量寄存器(PIVR)中的内容送入累加器,进而查明产生中断的特定外设,然后就可以根据用户的程序大小将程序指针PC跳转到真正的定时器1下溢中断TIUFINT的服务子程序入口处(ISIR),从而结束INT2通用服务子程序(GISR)而开始SISR。退出下面以定时器1的下溢中断T1UFINT为例,说明中断过程。以下是对应程序执行的简要过程。
……INT2BGISR2;INT2的入口地址0004h……GISR2:;通用中断子程序……;保护现场
LACCPIVR,1;PIVR的偏移地址乘2装载累加器
ADD#PVECTORS;加上外设中断向量段的起始地址BACC;转向TIUFINT中断服务子程序
……ISIR:;TIUFINT中断服务子程序
……RET退出以下是对应程序执行的简要过程。退出5.6.6中断的一些其他相关问题
1.假中断(phantom)向量引入假中断向量是为了保证中断系统的完整性。当外设已经产生中断,但由于中断请求线上出现虚假信号或中断请求线发生故障,此时CPU内核级中断(INT1-INT6)的中断标志在CPU应答该请求之前内容不定或被清0,因此中断响应时没有将该中断的真正中断向量地址装入PIVR,为了使系统按照可控的方式运行,此时向PIVR装入假中断向量0000h。2.中断响应的延时从发出中断请求到中断响应之间的延时与许多因素有关,主要有3种因素:外设同步接口时间;CPU响应时间;中断服务(ISR)转移时间。退出5.6.6中断的一些其他相关问题1.假中断(phanto第5章
初始化配置与中断系统
系统配置寄存器系统的中断管理看门狗定时器第5章初始化配置与中断系统系统配置寄存器系统的中断管理看5.1系统配置寄存器
5.2.1系统配置寄存器SCSR1(地址7018h
)位15141312111098名-CLKSRCLPM1LPM0CLKPS2CLKPS1CLKPS0-位76543210名ADCCLKENSCICLKENSPICLKENCANCLKENEVBCLKENEVACLKEN-ILLADR位6:SCI模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。位5:SPI模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。位4:CAN模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。位3:EVB模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。
位2:EVA模块的时钟使能控制位。当该位值为1时,使能该模块时钟且正常运行;当该位值为0时,禁止该模块时钟。位0:无效地址检测位。在检测到一个无效地址时,该位被置1。置1后需要用户用软件清0,清0的方法是对该位写1。检测到一个非法地址将会产生一个不可屏蔽中断(NMI)。
位14:CLKOUT引脚时钟源选择位。当该位值为0时,CLKOUT引脚输出CPU时钟;当该位值为1时,CLKOUT引脚输出看门狗时钟(WDCLK)。位13~12:低功耗选择位。这两位决定了CPU在执行IDLE指令时芯片进入那种低功耗模式。位7:模数转换(ADC)模块的时钟使能控制位。当该位值为1时,使能该模块时钟,以使A/D转换正常进行;当该位值为0时,禁止该模块时钟(在不用ADC时,可节约DSP的能量消耗)。位11~9:锁相环(PLL)时钟预定标选择位。这3位决定对输入时钟进行锁相倍频的系数。当CLKPS=000时4倍频;当CLKPS=001时2倍频;当CLKPS=010时1.33倍频;CLKPS=011时1倍频;当CLKPS=100时0.8倍频;CLKPS=101时0.66倍频;CLKPS=110时0.57倍频;CLKPS=111时0.5倍频。退出5.1系统配置寄存器5.2.1系统配置寄存器SCSR1(5.2.2系统配置寄存器SCSR2
(地址是7019h)11引脚引脚0100初PONDONXMIFHI-ZWDOVERRIDEI/PQUAL-名012345615~7位位6:输入时钟限定位。当CAP1-6、XINT1-2、ADCSOC等引脚被指定为特殊功能时,该位决定了输入到这些引脚信号被正确锁存所需的最少脉冲数。当位值为0时,至少需5个时钟周期;当位值为1时,至少需11个时钟周期。
位5:WD保护位。用户可通过软件将WDCR寄存器中的WDDIS控制位置1来禁止WD工作。向该位写1可以对其清0。该位为0时,不能通过软件来禁止WD;为1时,可通过软件来禁止WD工作。
位4:XMIF高阻控制位。它的作用是控制外部存储器的接口信号。当位值为0时,所有的外部存储器接口信号(XMIF)处于正常驱动模式(接通);当该位值为1时,所有的外部存储器接口信号处于高阻状态,即断开外部存储器接口信号。
位3:引导ROM使能位。当该位值为0时,使能引导ROM,地址空间0000h~00FFh被片内引导ROM块占用,该方式禁止使用FLASH;当位值为1时,禁止引导ROM,允许使用FLASH,对于TMS320LF2407A片内FLASH程序存储器映射地址范围为0000h~7FFFh。
位2。片内/外程序存储器选择控制位,又称微处理器/微控制器模式选择位。可通过软件来改变该位值以改变存储器映射到片内或片外。当该位值为0时,器件设置为微控制器模式,程序存储器地址范围0000h-7FFFh被映射到片内FLASH;当位值为1时,器件设置为微处理器模式,程序存储器地址范围0000h-7FFFh被映射到片外,即系统使用片外程序存储器,用户自己外扩程序存储器件。位1~0:单口存储器SARAM的程序/数据空间选择控制位。当该两位为00时,地址空间被分配到外部存储器;当该两位为01时,SARAM被映射为片内程序空间;当该两位为10时,SARAM被映射为片内数据空间;当该两位为11时,SARAM被同时映射到片内程序空间和片内数据空间。
退出5.2.2系统配置寄存器SCSR2(地址是7019h)1
在计算机控制系统的实际应用中,可靠性是一个非常重要的问题,尤其是在工业应用场合,系统抗干扰能力显得尤为突出。为解决干扰问题,除了对干扰源的适当处理外,在计算机控制系统中也应增加一些防范措施,从而避免程序“跑飞”或“死机”现象,导致系统工作异常。
为解决这个问题,在TMS320LF240x芯片中增加了看门狗(WD)定时电路。WD监视系统软件和硬件的运行,它可以按照用户设定的时间间隔产生中断。如果软件进入非正常循环或CPU运行出现异常时,则WD定时器计数上溢,并产生系统复位信号,使系统进入用户预定义的状态。在系统中的绝大多数异常情况都可以通过WD的操作清除,故此WD设可大大提高系统的稳定性和可靠性。5.3看门狗定时模块(WD)
在计算机控制系统的实际应用中,可靠性是一个非5.3.1WD的工作原理
5.3.1WD的工作原理
从图中可以看出,8位看门狗计数器的时钟由6位自由运行计数器来提供,6位自由运行计数器具有6个抽头,可对WDCLK时钟实现2、4、8、16、32、64分频,至于看门狗计数器采用哪个分频信号,由看门狗控制寄存器WDCR低3位的位值来确定。在该信号作用下,看门狗计数器作增计数。若在看门狗计数器计数溢出之前,没有进行“喂狗”操作(对复位关键寄存器WDKEY写入正确的序列字),则会引起系统的复位,在系统复位前会产生一个附加的单周期(由WDCLK决定)延时,复位后使系统回到一个可知的运行点。若在看门狗计数器计数溢出之前,进行了“喂狗”操作,即把有效的序列字写到WDKEY,则可使看门狗计数器复位,以阻止系统复位。进行“喂狗”操作的步骤是,首先把55h写入WDKEY,以使能计数的复位操作,然后再把AAh写入WDKEY,使看门狗计数器复位。除了55h和AAh的有效序列字外,任何其它字写入WDKEY都不会引起看门狗计数器的复位。从图中可以看出,8位看门狗计数器的时钟由6位5.3.2WD寄存器的配置
WD的所有寄存器都是8位字宽,并且与16位CPU外设数据总线的低8位相连。对WD操作的设置比较简单,可通过3个相关寄存器来配置。
1.WD计数寄存器(WDCNTR):地址为7023hWD计数寄存器包含看门狗计数器的计数值,复位值为0。2.WD复位关键字寄存器(WDKEY):地址为7025h
当55h及紧接其后的AAh顺序写入WDKEY时,则该寄存器将清除WDCNTR寄存器中的内容。写入到WDKEY中任何其他内容,都将产生一个系统复位操作。5.3.2WD寄存器的配置WD的所有寄存3.WD控制寄存器(WDCR):地址为7029h
76543210WDFLAGWDDISWDCHK2WDCHK1WDCHK0WDPS2WDPS1WDPS0
位7:是WD的标志位。该位表明了WD是否发生过系统复位信号。WD引发的系统复位可将该位置1,任何其他的系统复位事件对该位都没有影响。当该位为0时,表示自上次WDCNTR清零以来,WD没有发出过系统复位信号;为1时,表示自上次WDCNTR清零以来,WD已经发出过系统复位信号。
位6:是WD的使能位。该位只有在系统配置寄存器SCSR2的WDOVERRIDE位为1时,才可以进行写操作。该位写0时,使能看门狗;写1时禁止看门狗。
位5-3:是看门狗校验位。当用户对WDCR进行访问时,必须将这3位写入101,否则将引发一个系统复位事件。
位2-0:是WD计数器的预定标因子选择位。
3.WD控制寄存器(WDCR):地址为7029h76545.6系统的中断管理
5.6.1中断简介
在正常情况下CPU按照程序预定的路线运行,当外围设备(片内或片外)有事件产生需要CPU来处理时,即发出中断请求信号,CPU暂停工作,保留现场后自动转到该中断请求对应的服务子程序的入口处,执行相应事件的处理程序,待服务子程序运行完毕后返回断点,自动恢复现场,继续执行被打断的程序。因此中断具有随机性、可恢复性及自动处理的特点。计算机采用中断方式,可以节省CPU资源,CPU可以不花时间去轮寻外围设备是否需要服务。当有多个中断源时,CPU对各中断的响应需按序进行,因此需要一个中断管理系统对中断源进行管理控制。中断的使用是系统设计中十分重要的问题,中断的设计是一个系统正常运行的关键之一。
退出5.6系统的中断管理5.6.1中断简介在正常情软件中断:是指由指令INTR、NMI、TRAP请求的中断。硬件中断中断外部中断(由外部引脚引起的中断)内部中断(由片内外设的动作引发的中断)按处理方式分可屏蔽中断:是指可以通过软件将它们禁止(屏蔽)或允许(使能)的中断,这样就可以通过设置软件的方法屏蔽掉那些不想响应的中断。不可屏蔽中断:是不能通过软件将它们禁止掉的中断,不可屏蔽中断包括所有的软件中断以及两个外部引脚(复位和不可屏蔽中断),这些中断总是被CPU响应的。TMS320LF240x具有丰富的外设模块,每个外设模块都可以产生中断。为了处理众多的中断,TMS320LF240x对可屏蔽的中断采用了两级中断处理的方法,将数量众多的外设中断扩展(PIE)映射为具有不同优先级的中断INT1~INT6。退出软件中断:是指由指令INTR、NMI、TRAP请求的中断。硬5.6.2中断的过程
1、中断的中断服务程序采用两级层次的中断管理。(1)从外设来的多个中断请求(PIRQ)在中断控制器处进行或运算,产生一个能被CPU直接识别的中断请求(INTn)。(2)在外设配置寄存器中,每个产生外设中断请求的事件都有一个中断使能位和中断标志位,如果中断使能位已被置1,则会产生一个从外设到中断控制器的中断请求。
2、为了区别不同的外设中断,DSP控制器给每个中断分配了一个特定的入口地址(中断向量)。每个外设中断请求有效时都会产生唯一的外设中断向量,该中断向量被装载到外设中断向量寄存器(PIVR)里面,CPU应答时,从PIVR寄存器中读取相应的中断向量,并产生到该中断服务程序入口的跳转。退出5.6.2中断的过程1、中断的中断服务程序采用两级层次的3、实际上DSP有CPU和外设两个向量表。CPU的向量表用来获取响应CPU中断请求的一级通用中断服务子程序(GISR)。外设向量表用来获取响应某一个特定外设事件的特定中断服务子程序(SISR)。在GISR中读出PIVR中的值,在保存返回地址后,用PIVR中的值来产生一个转移到SISR的向量。4、需注意的是,在进入中断子程序之前,CPU只是保护断点地址,并不保护数据。如果在中断服务子程序中使用了主程序用到的某些内存单元,并且这些数据不允许被子程序改变,那么对这些数据一定要进行保护。
保护的方法有两种,一是在子程序执行前,将要保护的一些变量数据或系统状态存放到一个特定的数据区,在子程序结束时再将这些数据返回给这些变量或状态寄存器;另外一种方法是在子程序执行前将需保护的变量数据或系统的状态压入堆栈,在子程序结束时再将堆栈的内容弹出。退出3、实际上DSP有CPU和外设两个向量表。CPU的向量表用来综之,当某个中断发出请求且允许中断时,则CPU先将当前的PC加l压入堆栈,即保护返回(断点)地址。然后,CPU自动地将该请求中断的向量地址送入PC,CPU便转入该请求中断的服务子程序运行。当碰到中断服务子程序的返回指令RET时,CPU自动将堆栈中的返回地址弹出到PC中,恢复中断前的程序继续运行。退出综之,当某个中断发出请求且允许中断时,则CPU先将当5.6.3中断向量表和优先级分配
TMS320LF240x利用CPU支持的6个可屏蔽中断,采用集中化的中断扩展设计来满足大量的外设中断需求。
TMS320LF2407的中断源优先级和中断入口地址向量表见书上表格
(P217)。
从表中可以看出两个相邻的CPU中断向量地址只相差2,要在这个空间中存放中断服务子程序显然是不够的。解决的方法是在这个空间存放一条跳转指令(如B、BACC指令),通过这条指令可将程序跳转到真正的中断服务子程序入口处。退出5.6.3中断向量表和优先级分配TMS325.6.4中断管理寄存器
DSP系统对中断的管理是通过中断寄存器来实现的。包括CPU中断寄存器(中断标志寄存器IFR和中断控制寄存器IMR)、外设中断寄存器、外部中断控制寄存器三大类。其中,CPU中断寄存器是必须要彻底了解的。
1.CPU中断标志寄存器(IFR)
位于数据存储器中的0006h处,它记录着所有可屏蔽中断的状态标志。当有任何一个可屏蔽中断被请求时,并且该中断又被使能,则在IFR中的相应标志位被置1,表示该中断正在被挂起(等待响应)。因此通过读IFR的相应状态位可以识别哪些中断源被挂起,通过向IFR的相应位写1可以清除该位的中断请求。另外,当CPU响应中断或者器件发生复位时都将IFR标志清除。退出5.6.4中断管理寄存器DSP系统对中断的管理是位15-6543210名称保留位INT6flagINT5flagINT4flagINT3flagINT2flagINT1flag复位值0000000位5:第6级中断(INT6)标志位。该位用作连接INT6的所有中断标志。位4:第5级中断(INT5)标志位。该位用作连接INT5的所有中断标志。
位3。第4级中断(INT4)标志位。该位用作连接INT4的所有中断标志。位2。第3级中断(INT3)标志位。该位用作连接INT3的所有中断标志。位1:第2级中断(INT2)标志位。该位用作连接INT2的所有中断标志。
位0:第1级中断(INT1)标志位。该位用作连接INT1的所有中断标志。
退出位15-6543210名称保留位INT6flagINT52.中断控制寄存器(IMR)
IMR地址为0004h。IMR的每一位代表一个可屏蔽中断的控制开关,向相应位写1表示使能,写0表示禁止。因此,为了使能某级中断,应设置相应的IMR位为1,而屏蔽某级中断时,只需将相应的IMR位设为0。
位15-6543210名称保留位INT6maskINT5maskINT4maskINT3maskINT2maskINT1mask复位值0NCNCNCNCNCNC位5:第6级中断(INT6)屏蔽位。
位4:第5级中断(INT5)屏蔽位。
位3:第4级中断(INT4)屏蔽位。
位2:第3级中断(INT3)屏蔽位。
位1:第2级中断(INT2)屏蔽位。
位0:第1级中断(INT1)屏蔽位。
退出2.中断控制寄存器(IMR)IMR地址为03.外部中断控制寄存器(XINT1CR、XINT2CR)
地址为7070h,用于控制两个外部输入引脚XINT1和XINT2的中断。这两个引脚用于一些特定的外部应急输入,如过电压、低电压、过电流等检测信号的输入。位1514-3210名称XINT1flag保留位XINT1polarityXINT1priorityXINT1enable复位值00000位15:XINT1标志位。当引脚(XINT1)检测到一个所选的跳变时,无论外部中断1是否被使能,该位都被置位。当相应的中断被响应时,该位自动清0。通过软件向该位写1或器件复位时,该位也清0。位2:XINT1极性。该位决定了是在XINT1引脚信号的上升沿还是下降沿产生中断。当该位为0时,在下降沿产生中断;为1时,在上升沿产生中断。
位1:XINT1优先级。该位决定了中断优先级。当该位为0时,为高优先级;为1时,为低优先级。位0:XINT1使能位。该位可使能或禁止外部XINT1引脚中断。当该
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 机械加工精度准则
- 制药工艺过程控制制度
- 2025-2026学年人教版四年级数学下册全册易错题(带答案)
- 提升机作业安全合格证培训登记表
- 2026滨海辅警面试题型及答案
- 2026编外护士招聘面试题目及答案
- 卫生院疫情防控期间职工体温及核酸监测记录表
- 2025年运动健身计划
- 2026年数字孪生建模与虚拟现实技术融合应用案例研究
- 小学二年级下册品德与生活勤俭节约知识点专项试卷
- 2024年北京中考语文试题及答案
- 新青岛版-二年级下册数学-口算题
- 周志华-机器学习-Chap01绪论-课件
- X矿业企业120万t选矿厂投标文件技术标
- 汉语写作与百科知识样题
- 提高喷射混凝土施工一次验收合格率QC成果
- 美丽中国(支教项目)
- 题型01 长句表达题的规范答题(课件) 高考生物二轮复习 (新教材专用)
- 大学食堂天然气改造工程施工组织设计
- GB/T 17467-2020高压/低压预装式变电站
- 新通用设备经济寿命参考年限表
评论
0/150
提交评论