《第4章中断精选文档.ppt》由会员分享,可在线阅读,更多相关《第4章中断精选文档.ppt(55页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章中断本讲稿第一页,共五十五页4.1 4.1 系统配置寄存器系统配置寄存器4.1.1 4.1.1 系统控制和状态寄存器系统控制和状态寄存器1 1系统控制和状态寄存器系统控制和状态寄存器1 1(SCSR1SCSR1)SCSR1SCSR1映射到数据存储器空间的映射到数据存储器空间的7018h7018h,各位如下:,各位如下:位位1515:保留保留位位1414:CLKSRCCLKSRC,为,为CLKOUTCLKOUT引脚输出时钟源的选择位引脚输出时钟源的选择位 0 0CLKOUTCLKOUT引脚输出引脚输出CPUCPU时钟时钟;1 1CLKOUTCLKOUT引脚输出引脚输出WDCLKWDCLK时
2、钟时钟。位位1313、1212:LPM1LPM1,LPM0LPM0,低功耗模式选择低功耗模式选择,指明在执行,指明在执行IDLE IDLE 指令指令后后进入哪一种低功耗模式进入哪一种低功耗模式。本讲稿第二页,共五十五页0000进入进入IDLE1IDLE1(LPM0LPM0)模式;模式;0101进入进入IDLE2IDLE2(LPM1LPM1)模式;模式;1x1x进入进入 HALTHALT(LPM2LPM2)模式。模式。位位11119 9:CLK PS2-CLK PS0CLK PS2-CLK PS0,(,(PLLPLL)时钟预定标选择位,)时钟预定标选择位,选择输入时钟频率选择输入时钟频率finf
3、in的的倍频系数倍频系数,如,如表表4.14.1(P32P32)所示。所示。0000004 4;0010012 2;0100101.31.33 3;0110111 1;本讲稿第三页,共五十五页1001000.80.8;1011010.660.66;1101100.570.57;1111110.50.5位位8 8:保留保留位位7 7:ADC CLKEN,ADC CLKEN,ADCADC模块模块时钟使能控制位时钟使能控制位0 0-禁止禁止ADCADC模块时钟(节能)模块时钟(节能)1 1-使能使能ADCADC模块时钟,且正常运行模块时钟,且正常运行位位6 6:SCICLKEN,SCICLKEN,S
4、CISCI模块模块时钟使能控制位时钟使能控制位0-禁止禁止SCISCI模块时钟(节能)模块时钟(节能)本讲稿第四页,共五十五页1 1-使能使能SCISCI模块时钟,且正常运行模块时钟,且正常运行位位5 5:SPICLKEN,SPICLKEN,SPISPI模块时钟使能模块时钟使能控制位控制位0 0-禁止禁止SPISPI模块时钟(节能)模块时钟(节能)1 1-使能使能SPISPI模块时钟,且正常运行模块时钟,且正常运行位位4 4:CANCLKEN,CANCLKEN,CANCAN模块时钟使能模块时钟使能控制位控制位0 0-禁止禁止CANCAN模块时钟(节能)模块时钟(节能)1 1-使能使能CANCA
5、N模块时钟,且正常运行模块时钟,且正常运行位位3 3:EVBCLKEN,EVBCLKEN,EVBEVB模块时钟使能模块时钟使能控制位控制位0 0-禁止禁止EVBEVB模块时钟(节能)模块时钟(节能)1 1-使能使能EVBEVB模块时钟,且正常运行模块时钟,且正常运行位位2 2:EVACLKEN,EVACLKEN,EVAEVA模块时钟使能模块时钟使能控制位控制位本讲稿第五页,共五十五页0 0-禁止禁止EVAEVA模块时钟(节能)模块时钟(节能)1 1-使能使能EVAEVA模块时钟,且正常运行模块时钟,且正常运行位位1 1:保留:保留位位0 0:ILLADR,ILLADR,无效地址检测位无效地址检
6、测位 检测到无效地址时,该位置检测到无效地址时,该位置1 1。置置1 1后需软件来清后需软件来清0 0,即向,即向该位写该位写0 0即可。即可。复位时复位时该位为该位为0 0。注意注意:任何无效的地址会任何无效的地址会导致不可屏蔽中断(导致不可屏蔽中断(NMINMI)事件发)事件发生生。2 2系统控制和状态寄存器系统控制和状态寄存器2(SCSR2)2(SCSR2)SCSR2SCSR2被映射到数据存储器空间被映射到数据存储器空间7019h7019h,各位意义如下,各位意义如下本讲稿第六页,共五十五页位位15-715-7:保留位:保留位位位6 6:I/P QUALI/P QUAL,时钟输入限定,它
7、限定输入到,时钟输入限定,它限定输入到LF240 xLF240 x的的CAP1-6CAP1-6、XINT1-2XINT1-2、ADCSOCADCSOC、PDPINTAPDPINTA*/PDPINTBPDPINTB*引脚上引脚上的最小脉冲宽度的最小脉冲宽度。脉冲宽度只有达到这个。脉冲宽度只有达到这个宽度之后,内部的输入状态才会改变。宽度之后,内部的输入状态才会改变。0 0-锁存脉冲至少需要锁存脉冲至少需要5 5个个时钟周期;时钟周期;1 1-锁存脉冲至少需要锁存脉冲至少需要1111个个时钟周期。时钟周期。如这些如这些引脚作引脚作I/OI/O使用使用,则,则不使用不使用输入时钟限定输入时钟限定电路
8、。电路。本讲稿第七页,共五十五页位位5 5:WDWD保护位,该位保护位,该位可用来禁止可用来禁止WDWD工作工作。该位是。该位是个只能个只能清除的位,复位后清除的位,复位后1 1。通过向该位写。通过向该位写1 1对其清对其清0 0。0 0-保护保护WDWD,防止防止WDWD被软件禁止被软件禁止。1 1-复位时的默认值复位时的默认值,禁止禁止WDWD工作工作。位位4 4:XMIF HI-ZXMIF HI-Z。该位控制外部存储器接口信号。该位控制外部存储器接口信号 (XMIF)(XMIF)。0 0-所有所有XMIFXMIF信号为正常驱动模式信号为正常驱动模式(非高阻态非高阻态)。1 1-所有所有X
9、MIFXMIF信号处于高阻态。信号处于高阻态。本讲稿第八页,共五十五页位位3 3:BOOTBOOT(使能位)。这位反映了(使能位)。这位反映了BOOTENBOOTEN*引脚在复位时引脚在复位时的状态。的状态。0 0-使能引导使能引导ROMROM。地址。地址0000h-00FFh0000h-00FFh被片内引导被片内引导ROMROM块块占用占用。禁止用。禁止用FLashFLash存储器。存储器。1 1-禁止引导禁止引导ROMROM。LF2407LF2407片内片内FlashFlash程序存储器程序存储器映射地映射地址范围为址范围为0000h-7FFFh0000h-7FFFh。位位2 2:MP/M
10、CMP/MC*(微处理器微控制器选择微处理器微控制器选择)。0 0:DSP:DSP设置为设置为微控制器方式微控制器方式,片内,片内FLASHFLASH映射到程序存储映射到程序存储器空间,地址为器空间,地址为0000h-7FFFh0000h-7FFFh。本讲稿第九页,共五十五页1 1:DSP:DSP设置为设置为微处理器方式微处理器方式,程序,程序空间空间0000h-7FFFh0000h-7FFFh被映射被映射到片外程序存储器空间到片外程序存储器空间(必须外扩外部程序存储器必须外扩外部程序存储器)位位1-01-0:SARAMSARAM的程序的程序/数据空间选择数据空间选择 0000-地址空间不被映
11、射,该空间被分配到外部存储器地址空间不被映射,该空间被分配到外部存储器本讲稿第十页,共五十五页0l0l-SARAM-SARAM 被映射到片内程序空间被映射到片内程序空间1010-SARAM-SARAM 被映射到片内数据空间被映射到片内数据空间1111-SARAM-SARAM 被映射到片内程序空间,又被映射到片内数被映射到片内程序空间,又被映射到片内数据空间据空间 4.1.24.1.2器件标识号寄存器器件标识号寄存器(DINR)(DINR)映射到映射到数据存储器空间数据存储器空间701Ch701Ch。各位意义:。各位意义:位位15-415-4:DIN15-DIN4DIN15-DIN4。为。为DS
12、PDSP器件的器件的器件标识号(器件标识号(DINDIN)。本讲稿第十一页,共五十五页位位3-03-0:DIN3-DIN0DIN3-DIN0。为所用。为所用DSPDSP的器件的的器件的版本、给定值版本、给定值。不同型号的不同型号的DSPDSP所对应的所对应的DIN15-DIN0DIN15-DIN0的值如下:的值如下:器件器件 版本版本 DIN15-DIN0DIN15-DIN0LF2407 1.0-1.5 0510hLF2407 1.0-1.5 0510hLF2407 1.6 0511hLF2407 1.6 0511hLF2407A LF2407A 1.0 0520h 1.0 0520h LC2
13、406A 1.0 0700hLC2406A 1.0 0700hLC2402A 1.0 0610h LC2402A 1.0 0610h 本讲稿第十二页,共五十五页4.2 4.2 中断优先级和中断向量表中断优先级和中断向量表LF2407 DSPLF2407 DSP具有具有3 3个个不可屏蔽中断和不可屏蔽中断和6 6个级别个级别的可屏蔽中断的可屏蔽中断(INT1-INT6INT1-INT6)。对多个外设的中断需求采用了对多个外设的中断需求采用了中断扩展设计中断扩展设计来满足来满足 。在在每级可屏蔽中断(每级可屏蔽中断(INT1-INT6INT1-INT6)中又有多个中断源)中又有多个中断源,每个中,
14、每个中断源都断源都有唯一的中断入口地址向量有唯一的中断入口地址向量。表表4.2(P34)4.2(P34)不可屏蔽中断源不可屏蔽中断源的的优先级优先级和和中断入口地址向中断入口地址向量表量表。表表4.3(P34)4.3(P34)可屏蔽中断源可屏蔽中断源的优先级的优先级和和中断入口地址向量表中断入口地址向量表。本讲稿第十三页,共五十五页表表4.2 4.2 不可屏蔽中断不可屏蔽中断(3(3个个)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向量 描述描述 1 Reset 0000h 1 Reset 0000h 复位引脚和复位引脚和WDWD溢出溢出 2 2 保留保留 0026 0026h
15、 h 仿真陷阱仿真陷阱 3 3 NMI 0004h NMI 0004h 软件中断软件中断本讲稿第十四页,共五十五页表表4.3 INT1(4.3 INT1(级别级别1 1)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向量 描述描述 4 PDPINTA 0020h 功率驱动保护中断功率驱动保护中断 5 PDPINTB 0019h 功率驱动保护中断功率驱动保护中断 6 ADCINT 0004h 高高优先级优先级ADC中断中断 7 XINT1 0001h 高高优先级外中断优先级外中断 8 XINT2 0001h 高高优先级外中断优先级外中断 9 SPINT 0005h 高高优先级优先级
16、SPI中断中断 10 RXINT 0006h 高高优先级优先级SCI接收中断接收中断 11 TXINT 0007h 高高优先级优先级SCI发送中断发送中断 12 CANMBINT 0040h 高高优先级优先级CAN邮箱中断邮箱中断 13 CANERINT 0041h 高高优先级优先级CAN错误中断错误中断本讲稿第十五页,共五十五页INT2(INT2(级别级别2 2)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向量 描述描述 14 CMP1INT 0021h 比较器比较器1 1中断中断 15 CMP2INT 0022h 比较器比较器2 2中断中断 16 CMP3INT 0023h
17、 比较器比较器3 3中断中断 17 T1PINT 0027h 定时器定时器1 1周期中断周期中断 18 T1CINT 0028h 定时器定时器1 1比较中断比较中断 19 T1UFINT 0029h 定时器定时器1下溢中断下溢中断 20 T1OFINT 0029h 定时器定时器1上溢中断上溢中断 21 CMP4INT 0024h 比较器比较器4中断中断 22 CMP5INT 0025h 比较器比较器5中断中断 23 CMP6INT 0026h 比较器比较器6中断中断本讲稿第十六页,共五十五页续续 INT2(INT2(级别级别2 2)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向
18、量 描述描述 24 T3PINT 002Fh 24 T3PINT 002Fh 定时器定时器3 3周期中断周期中断25 T3CINT 0030h 25 T3CINT 0030h 定时器定时器3 3比较中断比较中断 26 T3UFINT 0031h 26 T3UFINT 0031h 定时器定时器3 3下溢中断下溢中断27 T1OFINT 0032h 27 T1OFINT 0032h 定时器定时器3 3上溢中断上溢中断本讲稿第十七页,共五十五页INT3(INT3(级别级别3 3)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向量 描述描述28 T2PINT 002Bh 定时器定时器2周
19、期中断周期中断29 T2CINT 002Ch 定时器定时器2比较中断比较中断 30 T2UFINT 002Dh 定时器定时器2下溢中断下溢中断31 T2OFINT 002Eh 定时器定时器2上溢中断上溢中断32 T4PINT 0039h 定时器定时器4周期中断周期中断33 T4CINT 003Ah 定时器定时器4比较中断比较中断 34 T4UFINT 003Bh 定时器定时器4下溢中断下溢中断35 T4OFINT 003Ch 定时器定时器4上溢中断上溢中断本讲稿第十八页,共五十五页INT4(INT4(级别级别4 4)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向量 描述描述 3
20、6 CAP1INT 0033h 比较器比较器1中断中断 37 CAP2INT 0034h 比较器比较器2中断中断 38 CAP3INT 0035h 比较器比较器3中断中断 39 CAP4INT 0036h 比较器比较器1中断中断 40 CAP5INT 0037h 比较器比较器2中断中断 41 CAP6INT 0038h 比较器比较器3中断中断本讲稿第十九页,共五十五页INT5(INT5(级别级别5 5)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向量 描述描述 42 SPINT 0005h 低优先级低优先级SPISPI中断中断 43 RXINT 0006h 低优先级低优先级SC
21、ISCI接收中断接收中断 44 TXINT 0007h 低优先级低优先级SCISCI发送中断发送中断 45 CANMBINT 0040h 低优先级低优先级CANCAN邮箱中断邮箱中断 46 CANERINT 0040h 低优先级低优先级CANCAN错误中断错误中断本讲稿第二十页,共五十五页INT6(INT6(级别级别6 6)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向量 描述描述47 ADCINT 0004h 47 ADCINT 0004h 低优先级低优先级ADCADC中断中断48 XINT1 0001h 48 XINT1 0001h 低优先级低优先级外中断外中断49 XIN
22、T2 0011h 49 XINT2 0011h 低优先级低优先级外中断外中断 N/A TRAP 0022h N/A TRAP 0022h 陷阱中断陷阱中断 N/A N/A 假中断向量假中断向量 0000 0000h h 假中断向量假中断向量 本讲稿第二十一页,共五十五页4.3 4.3 外设中断扩展控制器外设中断扩展控制器LF240 x CPULF240 x CPU内核提供给用户内核提供给用户:6 6级可屏蔽中断级可屏蔽中断INT1-INT6INT1-INT6。每每1 1级分别又包含级分别又包含多个多个外设中断请求外设中断请求,所以用一个,所以用一个外设中断外设中断扩展(扩展(PIEPIE)控制
23、器)控制器专门来管理来自各种外设或外部引脚专门来管理来自各种外设或外部引脚的数十个中断请求。的数十个中断请求。本讲稿第二十二页,共五十五页4.3.1 4.3.1 中断请求层次和结构中断请求层次和结构外设中断个数很多,用外设中断个数很多,用一个两级中断结构一个两级中断结构来扩展可响应的来扩展可响应的中断个数。中断个数。中断请求中断请求/应答应答硬件逻辑硬件逻辑和和中断服务程序软件中断服务程序软件都有都有两级层次两级层次的中断的中断。在低层次中断在低层次中断,从几个外设来的外设中断请求,从几个外设来的外设中断请求(PIRQ)(PIRQ)在中断在中断控制器处进行或运算,产生一个控制器处进行或运算,产
24、生一个INTnINTn(n n1-61-6)中断请)中断请求求。在高层次中断,在高层次中断,从从INTnINTn中断请求产生一个中断请求产生一个到到CPUCPU的中断请的中断请求求。本讲稿第二十三页,共五十五页 如果一个引起中断的外设事件发生且相应的中断使能位被置如果一个引起中断的外设事件发生且相应的中断使能位被置1 1,则会产生一个则会产生一个外设外设到到中断控制器中断控制器的中断请求的中断请求。如果一个外设既可产生高级的中断请求,又可产生低级中如果一个外设既可产生高级的中断请求,又可产生低级中断请求(如断请求(如SCISCI、SPISPI、ADCADC等),对应的中断优先级位的等),对应的
25、中断优先级位的值也被送到值也被送到PIEPIE来进行判断。来进行判断。外设中断请求外设中断请求(PIRQ)(PIRQ)标志位标志位一直保持到一直保持到中断应答自动清除中断应答自动清除或或用软件用软件将其清除。将其清除。本讲稿第二十四页,共五十五页 在高层次中断,在高层次中断,或逻辑运算的多个外设中断请求或逻辑运算的多个外设中断请求INTnINTn产产生一个到生一个到CPUCPU的中断请求,它是的中断请求,它是2 2个个CPUCPU时钟脉冲宽时钟脉冲宽的低电的低电平脉冲。平脉冲。当当多个外设同时发出中断请求时多个外设同时发出中断请求时,CPUCPU总是总是响应优先级高响应优先级高的中断请求。的中
26、断请求。注意:注意:外设中断请求标志位是在外设中断请求标志位是在CPUCPU响应中断时自动清除,响应中断时自动清除,即在高层次中断时清即在高层次中断时清0 0,而不是在低层次中断时,清,而不是在低层次中断时,清0 0。本讲稿第二十五页,共五十五页4.3.2 4.3.2 中断向量中断向量当当CPUCPU接受中断请求时,它并不知道是哪一外设事件引起的中接受中断请求时,它并不知道是哪一外设事件引起的中断请求。断请求。为了使为了使CPUCPU能够区别不同外设引起的中断事件,需经能够区别不同外设引起的中断事件,需经PIEPIE译码,决定哪个中断请求被响应。译码,决定哪个中断请求被响应。某个外设的中断请求
27、有效时,都会产生某个外设的中断请求有效时,都会产生唯一的外设中断向量唯一的外设中断向量,被装载到外设中断向量寄存器被装载到外设中断向量寄存器(PIVR)(PIVR)。CPUCPU应答外设中应答外设中断请求时,从断请求时,从PIVRPIVR中读取相应的中断向量,并产生一个中读取相应的中断向量,并产生一个转到该转到该一级通用中断服务子程序一级通用中断服务子程序(GISR)(GISR)入口的向量入口的向量。本讲稿第二十六页,共五十五页LF240 xLF240 x有两个中断向量表有两个中断向量表,CPUCPU向量表向量表和和外设向量表外设向量表。CPUCPU向量表向量表用来得到响应中断请求的用来得到响
28、应中断请求的一级一级通用中断服务子程序通用中断服务子程序(GISR)(GISR)(的入口地址)。(的入口地址)。外设向量表外设向量表用来获取响应某外设事件的用来获取响应某外设事件的特定特定中断服务子程序中断服务子程序(SISR)(SISR)(的入口地址)(的入口地址)。在一级通用中断服务子程序在一级通用中断服务子程序GISRGISR中可中可读出读出PIVRPIVR中的值,中的值,保保护现场后,用护现场后,用PIVRPIVR中的值来产生一个转到中的值来产生一个转到SISRSISR的向量。的向量。例例如,如,可屏蔽中断可屏蔽中断XINT1XINT1(见表见表4.34.3,高级模式级别为,高级模式级
29、别为INT1INT1,优先级为优先级为7)7)产生一个中断请求,产生一个中断请求,CPUCPU对其响应。这时,对其响应。这时,0001h0001h(XINT1XINT1的外设的外设本讲稿第二十七页,共五十五页中断向量)被装载到中断向量)被装载到PIVRPIVR中,中,CPUCPU获取被装载到获取被装载到PIVRPIVR中的中的值之后,值之后,用这个值来判断是哪一个外设引起的中断用这个值来判断是哪一个外设引起的中断,接着,接着转移到相应的转移到相应的SISRSISR。将将PIVRPIVR中的值装载入累加器时中的值装载入累加器时需先左移需先左移,再,再加上一个固定加上一个固定的的偏移量偏移量,然后
30、程序转到累加器指定的地址入口,这,然后程序转到累加器指定的地址入口,这个地址将指向个地址将指向SISRSISR,从而执行,从而执行XINT1XINT1的中断服务子程序。的中断服务子程序。本讲稿第二十八页,共五十五页1 1假中断向量假中断向量如果一个中断应答被响应,但没有获得相应的外设的如果一个中断应答被响应,但没有获得相应的外设的中断请求中断请求,那么就使用,那么就使用假中断假中断。假中断向量特性假中断向量特性可以保证中断系统的完整性可以保证中断系统的完整性,从而,从而使中使中断系统一直可靠安全地运行断系统一直可靠安全地运行,而,而不会进入无法预料的中不会进入无法预料的中断死循环中。断死循环中
31、。以下两种情况会产生假中断:以下两种情况会产生假中断:(1)CPU(1)CPU执行一个执行一个软件中断指令软件中断指令INTRINTR,使用参数,使用参数1-61-6,本讲稿第二十九页,共五十五页用于请求服务用于请求服务6 6个可屏蔽中断(个可屏蔽中断(INT1-INT6INT1-INT6)之一。)之一。(2)(2)当外设发出中断请求当外设发出中断请求,但是其,但是其INTnINTn标志位却在标志位却在CPUCPU应答应答请求之前已经被清请求之前已经被清0 0。在上述两种情况下,并没有外设中断请求送到中断控制在上述两种情况下,并没有外设中断请求送到中断控制器,因此器,因此中断控制器不知道哪个外
32、设中断向量装入到中断控制器不知道哪个外设中断向量装入到PIVRPIVR,此时向,此时向PIVRPIVR中中装入假中断向量装入假中断向量0000h0000h。从而。从而避免程避免程序进入中断死循环中序进入中断死循环中。2 2软件层次软件层次中断服务子程序有两级:中断服务子程序有两级:通用通用中断服务子程序中断服务子程序(GISR)(GISR)本讲稿第三十页,共五十五页和特定和特定中断服务子程序中断服务子程序(SISR)(SISR)。在在GISRGISR中保存必要的上下文,从外设中断向量寄存器中保存必要的上下文,从外设中断向量寄存器(PIVR)(PIVR)中读取外设外设中断向量,这个中读取外设外设
33、中断向量,这个向量用来产生转移向量用来产生转移到到SISRSISR的地址入口的地址入口。程序一旦进入特定中断服务子程序后,所有的可屏蔽中断都程序一旦进入特定中断服务子程序后,所有的可屏蔽中断都被屏蔽被屏蔽。本讲稿第三十一页,共五十五页外设中断扩展(外设中断扩展(PIEPIE)不不包括包括象复位和象复位和NMINMI这样的这样的不可屏蔽中不可屏蔽中断断。3 3不可屏蔽中断不可屏蔽中断LF240 x DSP LF240 x DSP 无无NMINMI引脚,在引脚,在访问无效的地址时访问无效的地址时,不可屏蔽中,不可屏蔽中断断(NMI)(NMI)就会发出请求。当就会发出请求。当NMINMI被响应后,程
34、序将转到被响应后,程序将转到不可不可屏蔽中断向量入口屏蔽中断向量入口地址地址0024h0024h(见表(见表4.24.2)处。)处。本讲稿第三十二页,共五十五页4.3.3 4.3.3 全局中断使能全局中断使能状态寄存器状态寄存器STOSTO中有一个中有一个全局中断使能位全局中断使能位INTMINTM,在初始化程,在初始化程序和主程序中,常常需要使用该位对序和主程序中,常常需要使用该位对DSPDSP的全局中断进行的全局中断进行打开和关闭操作。打开和关闭操作。特别是初始化过程中,需要关全局中断,特别是初始化过程中,需要关全局中断,而在而在主程序开始执行时,需要开全局中断主程序开始执行时,需要开全局
35、中断。关全局中断。关全局中断和开全局中断的汇编语言指令如下:和开全局中断的汇编语言指令如下:SETC INTMSETC INTM;把;把INTMINTM位置位置1 1,关全局中断,关全局中断CLRC INTMCLRC INTM;把;把INTMINTM位清位清0 0,开全局中断,开全局中断本讲稿第三十三页,共五十五页执行完中断服务子程序后,一定要打开全局中断。执行完中断服务子程序后,一定要打开全局中断。因为因为进入中断服务程序时,系统自动关中断。所以进入中断服务程序时,系统自动关中断。所以从中从中断返回时需要重新打开全局中断。断返回时需要重新打开全局中断。注意:注意:不允许中断嵌不允许中断嵌套。
36、套。4.4 4.4 中断响应的过程中断响应的过程下面介绍某一外设下面介绍某一外设中断请求的响应过程中断请求的响应过程。(1 1)某一外设发出中断请求。)某一外设发出中断请求。(2 2)如该外设的)如该外设的中断请求中断请求标志位为标志位为1 1,且该外设的,且该外设的中断中断使能使能位为位为1 1,则产生一个到,则产生一个到PIEPIE控制器的中断请求;如控制器的中断请求;如果中断没有被使能,则中断请求标志位为果中断没有被使能,则中断请求标志位为1 1的状态保的状态保持到被软件清持到被软件清0 0。本讲稿第三十四页,共五十五页(3 3)如果不存在相同优先级(如果不存在相同优先级(INTnINT
37、n)的中断请求)的中断请求,那么,那么PIRQPIRQ会使会使PIEPIE控制器产生一个到控制器产生一个到CPUCPU的中断请求(的中断请求(INTnINTn),为),为2 2个个CPUCPU时钟宽度的低电平脉冲。时钟宽度的低电平脉冲。(4 4)CPUCPU的中断请求设定的中断请求设定CPUCPU的中断标志寄存器(的中断标志寄存器(IFRIFR),),如如果果CPUCPU中断已被使能,中断屏蔽寄存器(中断已被使能,中断屏蔽寄存器(IMRIMR)CPUCPU会中止会中止当前的任务,将当前的任务,将INTMINTM置置1 1,以屏蔽所有可屏蔽的中断,以屏蔽所有可屏蔽的中断,保存上下文,并且开始为高
38、保存上下文,并且开始为高本讲稿第三十五页,共五十五页优先级的中断(优先级的中断(INTnINTn)执行通用中断服务子程序()执行通用中断服务子程序(GISRGISR)。)。CPUCPU自动产生一个中断应答,并向与被响应的高优先级中自动产生一个中断应答,并向与被响应的高优先级中断的相应程序地址总线(断的相应程序地址总线(PABPAB)送一个中断向量值。)送一个中断向量值。例例如如,如果,如果1NT21NT2被响应被响应了,它的了,它的中断向量中断向量0004h0004h被装入被装入PABPAB。(5 5)外设中断扩展()外设中断扩展(PIEPIE)控制器会)控制器会对对PABPAB的值进行译码的
39、值进行译码,并产生一个外设响应应答,清除与被应答的并产生一个外设响应应答,清除与被应答的CPUCPU中断相关的中断相关的PIRQPIRQ位。位。本讲稿第三十六页,共五十五页 外设中断扩展控制器然后将相应的中断向量(或假中外设中断扩展控制器然后将相应的中断向量(或假中断向量)载入外设中断向量寄存器(断向量)载入外设中断向量寄存器(PIVRPIVR)。当)。当GISRGISR已已经完成了现场保护,然后就可读入经完成了现场保护,然后就可读入PIVRPIVR,并使用中断,并使用中断向量,使程序转入到特定中断服务子程序(向量,使程序转入到特定中断服务子程序(SISRSISR)的)的入口处去执行。入口处去
40、执行。本讲稿第三十七页,共五十五页4.5 CPU4.5 CPU的中断寄存器的中断寄存器CPUCPU中断寄存器包括:中断寄存器包括:(1)(1)中断标志寄存器中断标志寄存器(IFR)(IFR);(2)(2)中断屏中断屏蔽寄存器蔽寄存器(IMR)(IMR)。4.5.1 CPU4.5.1 CPU中断标志寄存器中断标志寄存器(IFR)(IFR)IFRIFR映射到数据存储器空间为映射到数据存储器空间为0006h0006h。各位意义如下:。各位意义如下:位位15-615-6:保留位。保留位。位位5-05-0:分别为分别为INT6-INT1INT6-INT1的的中断标志位中断标志位。0 0无无INTnINT
41、n(n n1-61-6)的中断挂起,)的中断挂起,1 1表示有表示有INTnINTn(n n1-61-6)的中断挂起。)的中断挂起。本讲稿第三十八页,共五十五页中断标志寄存器中断标志寄存器包含了所有可屏蔽中断包含了所有可屏蔽中断INT6-INT1INT6-INT1的标志位。的标志位。当一个外设发出可屏蔽中断请求时,中断标志寄存器的当一个外设发出可屏蔽中断请求时,中断标志寄存器的相应标志位被置相应标志位被置1 1。如果该外设对应中断屏蔽寄存器中。如果该外设对应中断屏蔽寄存器中的的中断使能位中断使能位也为也为1 1,则该中断请求被送到,则该中断请求被送到CPUCPU,此时该,此时该中断正被挂起或等
42、待响应。中断正被挂起或等待响应。读取读取IFRIFR可以识别挂起的中断可以识别挂起的中断,向相应的向相应的IFRIFR位写位写1 1将清除已挂将清除已挂起的中断起的中断。CPUCPU响应中断或复位都能将响应中断或复位都能将IFRIFR标志清除。标志清除。本讲稿第三十九页,共五十五页在对在对IFRIFR操作时应注意以下几点:操作时应注意以下几点:(1 1)要想)要想清除清除某一某一IFRIFR位,必须向该位位,必须向该位写写1 1,而不是,而不是0 0;(2 2)当一个可屏蔽中断被响应时,只有)当一个可屏蔽中断被响应时,只有IFRIFR位被清除,而位被清除,而相应的外设控制寄存器中的中断请求标志
43、位不会被清除。相应的外设控制寄存器中的中断请求标志位不会被清除。如果需要清除这些标志位,应该使用软件来清除。如果需要清除这些标志位,应该使用软件来清除。(3 3)当通过)当通过INTRINTR指令来请求中断,且相应的指令来请求中断,且相应的IFRIFR位被置位被置1 1时,时,CPUCPU不会自动清除该位,该位必须由软件来清除。不会自动清除该位,该位必须由软件来清除。本讲稿第四十页,共五十五页(4 4)IFRIFR和和IMRIMR控制的是核心级的中断,所有外设在它们各自控制的是核心级的中断,所有外设在它们各自的配置的配置/控制寄存器都有相应的中断屏蔽和标志位。控制寄存器都有相应的中断屏蔽和标志
44、位。4.5.2 CPU4.5.2 CPU中断屏蔽寄存器中断屏蔽寄存器(IMR)(IMR)IMRIMR映射在数据存储器空间中的地址为映射在数据存储器空间中的地址为0004h0004h,各位意义如下:,各位意义如下:IMRIMR中包含所有可屏蔽中断级(中包含所有可屏蔽中断级(INT1-INT6)INT1-INT6)的屏蔽位,的屏蔽位,读读IMRIMR可以识别出已屏蔽或使能的中断级可以识别出已屏蔽或使能的中断级,而向,而向IMRIMR中写,中写,则可屏蔽中断或使能中断。为了使能中断,则可屏蔽中断或使能中断。为了使能中断,本讲稿第四十一页,共五十五页应设置相应的应设置相应的IMRIMR位为位为1 1,
45、而屏蔽中断时只需将相应的,而屏蔽中断时只需将相应的IMRIMR位位设为设为0 0。位位15-615-6:保留位。保留位。位位5-05-0:分别为分别为INT6-INT1INT6-INT1中断的中断的屏蔽位屏蔽位。0 0中断中断INTnINTn被屏蔽。被屏蔽。1 1中断中断INTnINTn被使能。被使能。4.5.3 4.5.3 外设中断寄存器外设中断寄存器外设中断寄存器包括如下几种:外设中断寄存器包括如下几种:本讲稿第四十二页,共五十五页外设中断请求寄存器外设中断请求寄存器0(PIRQR0)0(PIRQR0)外设中断请求寄存器外设中断请求寄存器1(PIRQR1)1(PIRQR1)外设中断请求寄存
46、器外设中断请求寄存器2(PIRQR2)2(PIRQR2)外设中断应答寄存器外设中断应答寄存器0(PIACKR0)0(PIACKR0)外设中断应答寄存器外设中断应答寄存器1(PIACKR1)1(PIACKR1)外设中断应答寄存器外设中断应答寄存器2(PIACKR2)2(PIACKR2)外设中断请求寄存器和外设中断应答寄存器都属于外设中断扩外设中断请求寄存器和外设中断应答寄存器都属于外设中断扩展模块用来向展模块用来向CPUCPU产生产生INT1-INT6INT1-INT6中断请求的内部寄存器。中断请求的内部寄存器。这些寄存器用户这些寄存器用户只能对其读只能对其读。本讲稿第四十三页,共五十五页1 1
47、外设中断向量寄存器外设中断向量寄存器(PIVR)(PIVR)外设中断向量寄存器外设中断向量寄存器(PIVR)(PIVR)映射在数据存储器空间中的地址为映射在数据存储器空间中的地址为701Eh701Eh,该寄存器的,该寄存器的1616位位V15V15V0V0,为最近一次被应答的,为最近一次被应答的外设中断的地址向量。外设中断的地址向量。2 2外设中断请求寄存器外设中断请求寄存器0(PIRQR0)0(PIRQR0)外设中断请求寄存器外设中断请求寄存器0(PIRQR0)0(PIRQR0)映射在数据存储器空间中的映射在数据存储器空间中的地址为地址为7010h7010h,寄存器的格式如下:,寄存器的格式
48、如下:位位15150 0 :外设请求标志位:外设请求标志位IRQ0.15IRQ0.15IRQ0.0IRQ0.00 0无相应外设的中断请求无相应外设的中断请求1 1相应外设的中断请求被挂起相应外设的中断请求被挂起本讲稿第四十四页,共五十五页注:写入注:写入1 1会发出一个中断请求到会发出一个中断请求到DSPDSP核,写入核,写入0 0无影响。无影响。该寄存器该寄存器1616个位所对应的外设如表个位所对应的外设如表4.44.4所示。所示。3.3.外设中断请求寄存器外设中断请求寄存器1(PIRQR1)1(PIRQR1)外设中断请求寄存器外设中断请求寄存器1(PIRQR1)1(PIRQR1)映射在数据
49、存储器空间中的映射在数据存储器空间中的地址为地址为7011h7011h,该寄存器的格式如下:,该寄存器的格式如下:位位1515:保留位,读出为保留位,读出为0 0,写入无影响。,写入无影响。位位14140 0 :外设请求标志位:外设请求标志位IRQ1.14IRQ1.14IRQ1.0IRQ1.00 0无相应外设的中断请求无相应外设的中断请求1 1相应外设的中断请求被挂起相应外设的中断请求被挂起本讲稿第四十五页,共五十五页注:写入注:写入1 1会发出一个中断请求到会发出一个中断请求到DSPDSP核,写入核,写入0 0无影响。无影响。该寄存器该寄存器1616个位所对应的中断如表个位所对应的中断如表4
50、.54.5所示。所示。4 4外设中断请求寄存器外设中断请求寄存器2(PIRQR2)2(PIRQR2)外设中断请求寄存器外设中断请求寄存器2(PIRQR2)2(PIRQR2)映射在数据存储器空间中的地映射在数据存储器空间中的地址为址为7012h7012h,寄存器的格式如下:寄存器的格式如下:位位1515:保留位保留位位位14140 0 :外设请求标志位:外设请求标志位IRQ2.14IRQ2.14IRQ2.0IRQ2.00 0无相应外设的中断请求无相应外设的中断请求1 1相应外设的中断请求被挂起相应外设的中断请求被挂起本讲稿第四十六页,共五十五页注:注:写写1 1会发出一个中断请求到会发出一个中断