第4章系统配置与中断.ppt
《第4章系统配置与中断.ppt》由会员分享,可在线阅读,更多相关《第4章系统配置与中断.ppt(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第4章系统配置与中断 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望SCSR1映射到数据存储器空间的7018h,各位如下:位15:保留位14:CLKSRC,为CLKOUT引脚输出时钟源的选择位 0CLKOUT引脚输出CPU时钟;1CLKOUT引脚输出WDCLK时钟。位13、12:LPM1,LPM0,低功耗模式选择,指明在 执行IDLE 指令后进入哪一种低功耗模式。4.1 4.1 系统配置寄存器系统配置寄存器4.1.1 系统控制和状态寄存器1系统控制和状态寄存器1(
2、SCSR1)2位119:CLK PS2-CLK PS0,(PLL)时钟预定标选择 位,选择输入时钟频率fin的倍频系数,如表4.1 (P32)所示。0004;0012;0101.33;0111;00进入IDLE1(LPM0)模式;01进入IDLE2(LPM1)模式;1x进入HALT(LPM2)模式。31000.8;1010.66;1100.57;1110.5位8:保留位7:ADC CLKEN,ADC模块时钟使能控制位0-禁止ADC模块时钟(节能)1-使能ADC模块时钟,且正常运行位6:SCICLKEN,SCI模块时钟使能控制位 0 0-禁止SCI模块时钟(节能)1 1-使能SCI模块时钟,且正
3、常运行4位5:SPICLKEN,SPI模块时钟使能控制位 0-禁止SPI模块时钟(节能)1-使能SPI模块时钟,且正常运行位4:CANCLKEN,CAN模块时钟使能控制位 0-禁止CAN模块时钟(节能)1-使能CAN模块时钟,且正常运行位3:EVBCLKEN,EVB模块时钟使能控制位 0-禁止EVB模块时钟(节能)1-使能EVB模块时钟,且正常运行位2:EVACLKEN,EVA模块时钟使能控制位5 0-禁止EVA模块时钟(节能)1-使能EVA模块时钟,且正常运行位1:保留位0:ILLADR,无效地址检测位 检测到无效地址时,该位置1。置1后需软件来 清0,即向该位写0即可。复位时该位为0。注意
4、:任何无效的地址会导致不可屏蔽中断(NMI)事件发生。SCSR2被映射到数据存储器空间7019h,各位意义如下2系统控制和状态寄存器2(SCSR2)6位15-7:保留位位6:I/P QUAL,时钟输入限定,它限定输入到 LF240 x的CAP16、XINT12、ADCSOC、PDPINTA*/PDPINTB*引脚上的最小脉冲宽度。脉冲宽度只有达到这个宽度之后,内部的输入 状态才会改变。0-锁存脉冲至少需要5个时钟周期;1-锁存脉冲至少需要11个时钟周期。如这些引脚作I/O使用,则不使用输入时钟限定电路。7位5:WD保护位,该位可用来禁止WD工作。该位是一一 个只能清除的位,复位后1。通过向该位
5、写1对 其清0。0-保护WD,防止WD被软件禁止。1-复位时的默认值,禁止WD工作。位4:XMIFHI-Z。该位控制外部存储器接口信号 (XMIF)。0-所有XMIF信号为正常驱动模式(非高阻态)。1-所有XMIF信号处于高阻态。注意:该位仅对LF2407/LF2407A型号有效,对其 它型号为保留位8位3:(使能位)。这位反映了BOOTEN*引脚在复位时的状态。0-使能引导ROM。地址0000h-00FFh被片内引导ROM块占用。禁止用Flash存储器。1-禁止引导ROM。LF2407片内Flash程序存储器映射地址范围为0000h-7FFFh。位2:MP/MC*(微处理器微控制器选择)。0
6、:DSP设置为微控制器方式,片内FLASH映射 到程序存储器空间,地址为0000h-7FFFh。1:DSP设置为微处理器方式,程序空间0000h-7FFFh被映射到片外程序存储器空间(必须 外扩外部程序存储器)9位1-0:SARAM的程序/数据空间选择 00-地址空间不被映射,该空间被分配到外部存 储器 0l-SARAM 被映射到片内程序空间 10-SARAM 被映射到片内数据空间 11-SARAM 被映射到片内程序空间,又被映射到片内数据空间4.1.2器件标识号寄存器(DINR)映射到数据存储器空间701Ch。各位意义:位15-4:DIN15-DIN4。为DSP器件的器件标识号(DIN)。1
7、0位3-0:DIN3-DIN0。为所用DSP的器件的版本、给定值。不同型号的DSP所对应的DIN15-DIN0的值如下:器件 版本 DIN15-DIN0LF2407 1.0-1.5 0510hLF2407 1.6 0511hLF2407A 1.0 0520h LC2406A 1.0 0700hLC2402A 1.0 0610h 114.2 中断优先级和中断向量表LF2407 DSP具有3个不可屏蔽中断和6个级别的可 屏蔽中断(INT1-INT6)。对多个外设的中断需求采用了中断扩展设计来满足。在每级可屏蔽中断(INT1-INT6)中又有多个中断 源,有唯一的中断入口地址向量。表4.2(P34)
8、不可屏蔽中断源的优先级和中断入 口地址向量表。表4.3(P34)可屏蔽中断源的优先级和中断入口地 址向量表。12表4.2 不可屏蔽中断(3个)中断优先级 中断名称 外设中断向量 描述 1 Reset 0000h 复位引脚和WD溢出 2 保留 0026h 仿真陷阱 3 NMI 0004h 软件中断13表表4.3 INT1(4.3 INT1(级别级别1 1)中断优先级 中断名称 外设中断向量 描述 4 PDPINTA 0020h 4 PDPINTA 0020h 功率驱动保护中断 5 PDPINTB 0019h 5 PDPINTB 0019h 功率驱动保护中断 6 ADCINT 0004h 6 AD
9、CINT 0004h 高优先级ADCADC中断 7 XINT1 0001h 7 XINT1 0001h 高优先级外中断 8 XINT2 0001h 8 XINT2 0001h 高优先级外中断 9 SPINT 0005h 9 SPINT 0005h 高优先级SPISPI中断 10 RXINT 0006h 10 RXINT 0006h 高优先级SCISCI接收中断 11 TXINT 0007h 11 TXINT 0007h 高优先级SCISCI发送中断 12 CANMBINT 0040h 12 CANMBINT 0040h 高优先级CANCAN邮箱中断 13 CANERINT 0041h 13 C
10、ANERINT 0041h 高优先级CANCAN错误中断14INT2(INT2(级别级别2 2)中断优先级 中断名称 外设中断向量 描述 14 CMP1INT 0021h 14 CMP1INT 0021h 比较器1中断 15 CMP2INT 0022h 15 CMP2INT 0022h 比较器2中断 16 CMP3INT 0023h 16 CMP3INT 0023h 比较器3中断 17 T1PINT 0027h 17 T1PINT 0027h 定时器1周期中断 18 T1CINT 0028h 18 T1CINT 0028h 定时器1比较中断 19 T1UFINT 0029h 19 T1UFIN
11、T 0029h 定时器1 1下溢中断 20 T1OFINT 0029h 20 T1OFINT 0029h 定时器1 1上溢中断 21 CMP4INT 0024h 21 CMP4INT 0024h 比较器4 4中断 22 CMP5INT 0025h 22 CMP5INT 0025h 比较器5 5中断 23 CMP6INT 0026h 23 CMP6INT 0026h 比较器6 6中断15续续INT2(INT2(级别级别2 2)中断优先级中断优先级 中断名称中断名称 外设中断向量外设中断向量 描述描述 24 T3PINT 002Fh 24 T3PINT 002Fh 定时器定时器3 3周期中断周期中
12、断 25 T3CINT 0030h 25 T3CINT 0030h 定时器定时器3 3比较中断比较中断 26 T3UFINT 0031h 26 T3UFINT 0031h 定时器定时器3 3下溢中断下溢中断 27 T1OFINT 0032h 27 T1OFINT 0032h 定时器定时器3 3上溢中断上溢中断16INT3(INT3(级别级别3 3)中断优先级 中断名称 外设中断向量 描述 28 T2PINT 002Bh 28 T2PINT 002Bh 定时器2 2周期中断 29 T2CINT 002Ch 29 T2CINT 002Ch 定时器2 2比较中断 30 T2UFINT 002Dh 3
13、0 T2UFINT 002Dh 定时器2 2下溢中断 31 T2OFINT 002Eh 31 T2OFINT 002Eh 定时器2 2上溢中断 32 T4PINT 0039h 32 T4PINT 0039h 定时器4 4周期中断 33 T4CINT 003Ah 33 T4CINT 003Ah 定时器4 4比较中断 34 T4UFINT 003Bh 34 T4UFINT 003Bh 定时器4 4下溢中断 35 T4OFINT 003Ch 35 T4OFINT 003Ch 定时器4 4上溢中断17INT4(INT4(级别级别4 4)中断优先级 中断名称 外设中断向量 描述 36 CAP1INT 0
14、033h 36 CAP1INT 0033h 比较器1 1中断 37 CAP2INT 0034h 37 CAP2INT 0034h 比较器2 2中断 38 CAP3INT 0035h 38 CAP3INT 0035h 比较器3 3中断 39 CAP4INT 0036h 39 CAP4INT 0036h 比较器1 1中断 40 CAP5INT 0037h 40 CAP5INT 0037h 比较器2 2中断 41 CAP6INT 0038h 41 CAP6INT 0038h 比较器3 3中断18INT5(INT5(级别级别5 5)中断优先级 中断名称 外设中断向量 描述 42 SPINT 0005h
15、 42 SPINT 0005h 低优先级SPI中断 43 RXINT 0006h 43 RXINT 0006h 低优先级SCI接收中断 44 TXINT 0007h 44 TXINT 0007h 低优先级SCI发送中断 45 CANMBINT 0040h 45 CANMBINT 0040h 低优先级CAN邮箱中断 46 CANERINT 0040h 46 CANERINT 0040h 低优先级CAN错误中断19INT6(INT6(级别级别6 6)中断优先级 中断名称 外设中断向量 描述 47 ADCINT 0004h 低优先级ADC中断 48 XINT1 0001h 低优先级外中断 49 XI
16、NT2 0011h 低优先级外中断 N/A TRAP 0022h 陷阱中断 N/A 假中断向量 0000h 假中断向量204.3 外设中断扩展控制器LF240 x CPU内核提供给用户:6级可屏蔽中断 INT1-INT6。每1级别又包含多个外设中断请求,所以用一个外 设中断扩展(PIE)控制器专门来管理来自各 种外设或外部引脚的数十个中断请求。图4.4为外设中断扩展模块图。21两级两级方式方式响应响应中断中断224.3.1 中断请求层次和结构外设中断个数很多,用一个两级中断结构来扩展可响应的中断个数。中断请求/应答硬件逻辑和中断服务程序软件都有两级层次的中断。在低层次中断,从几个外设来的外设中
17、断请求(PIRQ)在中断控制器处进行或运算,产生一个INTn(n1-6)中断请求。在高层次中断,从INTn中断请求产生一个到CPU的中断请求。23如果一个引起中断的外设事件发生且相应的中断使能位被置1,则会产生一个外设到中断控制器的中断请求。如果一个外设既可产生高级的中断请求,又可产生低级中断请求(如SCI、SPI、ADC等),对应的中 断优先级位的值也被送到PIE来进行判断。中断请求(PIRQ)标志位一直保持到中断应答自动清除或用软件将其清除。24在高层次中断,或逻辑运算的多个外设中断请求 INTn产生一个到CPU的中断请求,它是2个CPU时钟脉冲宽的低电平脉冲。当多个外设同时发出中断请求时
18、,CPU总是响应优先级高的中断请求。注意:外设中断请求标志位是在CPU响应中断时自动清除,即在高层次中断时清0,而不是在低层次中断时,清0。254.3.2 中断向量当CPU接受中断请求时,它并不知道是哪一外设事 件引起的中断请求。为了使CPU能够区别不同外设引起的中断事件,需经PIE译码,决定哪个中断请求被响应。某个外设的中断请求有效时,都会产生唯一的外 设中断向量,被装载到外设中断向量寄存器(PIVR)。CPU应答外设中断请求时,从PIVR中读取相应的中断向量,并产生一个转到该中断服务子程序(GISR)入口的向量。26LF240 x有两个中断向量表,CPU向量表和外设向量表。CPU向量表用来
19、得到响应中断请求的一级通用中断服 务子程序(GISR)。外设向量表用来获取响应某外设事件的特定中断服务子程序(SISR)。在一级通用中断服务子程序GISR中可读出PIVR中的 值,保护现场后,用PIVR中的值来产生一个转到SISR的向量。例如,可屏蔽中断XINT1(见表4.3,高级模式级别为INT1,优先级为7)产生一个中断请求,CPU对其响应。这时,0001h(XINT1的外设中断向量)被装载到PIVR中。27CPU获取被装载到PIVR中的值之后,用这个值来判断是哪一个外设引起的中断,接着转移到相应的SISR。将PIVR中的值装载入累加器时需先左移,再加上一个固定的偏移量,然后程序转到累加器
20、指定的地址入口,这个地址将指向SISR,从而执行XINT1的中断服务子程序。281假中断向量如果一个中断应答被响应,但没有获得相应的外设的中断请求,那么就使用假中断。假中断向量特性可以保证中断系统的完整性,从而使中断系统一直可靠安全地运行,而不会进入无法预料的中断死循环中。以下两种情况会产生假中断:(1)CPU执行一个软件中断指令INTR,使用参数1-6,用于请求服务6个可屏蔽中断(INT1-INT6)之一。(2)当外设发出中断请求,但是其INTn标志位却在CPU应答请求之前已经被清0。29在上述两种情况下,并没有外设中断请求送到中断控制器,因此中断控制器不知道哪个外设中断向量装入到PIVR,
21、此时向PIVR中装入假中断向量0000h。从而避免程序进入中断死循环中。2软件层次中断服务子程序有两级:通用中断服务子程序(GISR)和特定中断服务子程序(SISR)。在GISR中保存必要的上下文,从外设中断向量寄存器(PIVR)中读取外设外设中断向量,这个向量用来产生转移到SISR的地址入口。程序一旦进入特定中断服务子程序后,所有的可屏蔽中断都被屏蔽。30外设中断扩展(PIE)不包括象复位和NMI这样的不可屏蔽中断。3不可屏蔽中断LF240 x DSP 无NMI引脚,在访问无效的地址时,不可屏蔽中断(NMI)就会发出请求。当NMI被响应后,程序将转到不可屏蔽中断向量入口地址0024h(见表4
22、.2)处。314.3.3 全局中断使能状态寄存器STO中有一个全局中断使能位INTM,在初始化程序和主程序中,常常需要使用该位对DSP的全局中断进行打开和关闭操作。特别是初始化过程中,需要关全局中断,而在主程序开始执行时,需要开全局中断。关全局中断和开全局中断的汇编语言指令如下:SETC INTM;把INTM位置1,关全局中断CLRC INTM;把INTM位清0,开全局中断32执行完中断服务子程序后,一定要打开全局中断。因为进入中断服务程序时,系统自动关中断。所以从中断返回时需要重新打开全局中断。注意:不允许中断嵌套。4.4 中断响应的过程下面介绍某一外设中断请求的响应过程:(1)某一外设发出
23、中断请求;(2)如该外设的中断请求标志位(IF)为1,且该外设的中断使能位(IE)为1,则产生一个到PIE控制器的中断请求;如果中断没有被使能,则中断请求标志位(IF)为1的状态保持到被软件清0。33(3)如果不存在相同优先级(INTn)的中断请求,那么PIRQ会使PIE控制器产生一个到CPU的中断请求(INTn),为2个CPU时钟宽度的低电平脉冲。(4)中断请求设定CPU的中断标志寄存器(IFR),如果通过设置中断屏蔽寄存器(IMR)CPU中断已被使能,CPU会中止当前的任务,将INTM置1,以屏蔽所有可屏蔽的中断,保存上下文,并且开始为高优先级的中断(INTn)执行通用中断服务子程序(GI
24、SR)。CPU自动产生一个中断应答,并向与被响应的高优先级中断的相应程序地址总线(PAB)送一个中断向量值。例如,如果1NT2被响应了,它的中断向量0004h被装入PAB。34(5)外设中断扩展(PIE)控制器会对PAB的值进行译码,并产生一个外设响应应答,清除与被应答的CPU中断相关的PIRQ位。外设中断扩展控制器然后将相应的中断向量(或假中断向量)载入外设中断向量寄存器(PIVR)。当GISR已经完成了现场保护,然后就可读入PIVR,并使用中断向量,使程序转入到特定中断服务子程序(SISR)的入口处去执行。4.5 中断响应的等待时间中断响应的等待时间包括:外设同步接口时间、CPU响应时间、
25、ISR转移时间。35(1)外设同步接口时间是指PIE识别出外设发来的中断请求,经判断优先级、转换后将中断请求发送至CPU的时间。(2)CPU的响应时间指的是CPU识别出已经被使能的中断请求、响应中断、清除流水线、并且开始捕获来自CPU中断向量的第一条指令所花费的时间。最小的CPU的响应时间是4个CPU指令周期。(3)ISR转移时间是指为了转移ISR中特定部分而必须执行一些转移所花费的时间。该时间长短根据用户所实现的ISR的不同而有所变化。364.6 CPU的中断寄存器CPU中断寄存器包括:(1)中断标志寄存器(IFR);(2)中断屏蔽寄存器(IMR)。4.6.1 CPU中断标志寄存器(IFR)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 系统配置 中断
限制150内