ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:354.36KB ,
资源ID:11806097      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11806097.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(第3章系统配置和中断1.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

第3章系统配置和中断1.docx

1、第3章系统配置和中断1第3章系统配置和中断介绍系统的配置寄存器和有关中断,并介绍用于增加中断请求容量的外设中断扩展(PIE)寄存器。3.1 系统配置概述3.1.1 系统配置概述系统配置和中断操作的内容包括:系统配置寄存器、中断优先级和中断向量表、外设中断扩展控制器(PIE)、中断向量、中断响应的流程、中断响应的时间、CPU中断寄存器、外设中断寄存器、复位、无效地址检测、外部中断控制寄存器。LF2407大部分的I/O口是多路复用的,复位时会被上拉为数字输入的模式。3.1.2 系统配置寄存器系统控制和状态寄存器,对功能模块进行配置。(1) 系统控制和状态寄存器SCSR1: 映射到数据存储器空间70

2、18h。位15: 保留位14: CLKSRC,CLKOUT引脚输出源选择0CLKOUT引脚输出CPU时钟;1CLKOUT引脚输出WDCLK时钟位13-12:LPM低功耗模式选择,指明在执行IDLE 指令后进入哪一种低功耗模式。00进入IDLE1(LPM0)模式;01进入IDLE2(LPM1)模式;1x进入HALT (LPM2)模式。位11-9:PLL时钟预定标选择,对输入时钟选择倍频系数。0004; 0012;0101.33; 0111;1000.8; 1010.66;1100.57; 1110.5位8:保留位7:ADC CLKEN,ADC模块时钟使能控制位位6:SCICLKEN, SCI模块

3、时钟使能控制位位5:SPICLKEN, SPI模块时钟使能控制位位4:CANCLKEN, CAN模块时钟使能控制位位3:EVBCLKEN, EVB模块时钟使能控制位位2:EVACLKEN, EVA模块时钟使能控制位0:禁止模块时钟(节能);1:使能模块时钟,且运行位1:保留位0:ILLADR, 无效地址检测位当检测到一个无效地址时,该位被置1,该位需软件清除,写0即可。初始化时该位写0。注意:任何无效的地址会导致NMI事件发生。(2)系统控制和状态寄存器2SCSR2: 映射到数据存储器空间7019h 。位15-7:保留位位6:I/P QUAL,时钟输入限定,它限定输入到DSP的CAP1-6,X

4、INT1-2,ADCSOC以及PDPINTA*/PDPINTB*引脚上的信号被正确锁存时,需要的最小脉冲宽度。脉冲宽度只有达到这个宽度之后,内部的输入状态才会改变。0锁存脉冲至少需要5个时钟周期;1锁存脉冲至少需要11个时钟周期。如果这些引脚作I/O,则不会使用输入时钟限定电路。位5:WD保护位,该位可用软件来禁止WD工作。这位是个只能清除的位,复位后默认1。通过向这位写1对其清除。0保护WD,防止WD被软件禁止。1复位时的默认值位4:XMIF HI-Z。控制外部存储器接口信号(XMIF)0:所有XMIF信号处于正常驱动模式(即非高阻态)1:所有XMIF信号处于高阻态位3:(使能位)。这位反映

5、了BOOTEN*引脚在复位时的状态。0:使能引导ROM。地址空间0000h-00FFh被片内引导ROM块占用。禁止用FLASH存储器。1:禁止引导ROM。TMS320LF2407片内FALSH程序存储器映射地址范围为0000h一7FFFh。位2:(微处理器微控制器选择)。这位反映了器件复位时MP/引脚的状态。0:器件设置为微控制器方式,程序地址范围从0000h一7FFFh被映射到片内1:器件设置为微处理器方式,程序地址范围从0000h一7FFFh被映射到片外(必须外扩外部存储器)位1-0: SRAM的程序/数据空间选择0 0 地址空间不被映射,该空间被分配到外部存储器0 l SARAM 被映射

6、到片内程序空间1 0 SARAM 被映射到片内数据空间1 1 SARAM 被映射到片内程序空间,又被映射到片内数据空间3.2 DSP2407中断组织和结构3.2.1 DSP2407 中断概述两层结构DSP2407需要处理的外部和片内外设产生的中断事件有38个之多,DSP2407的CPU没有如此大的能力和容量在CPU内核这一层次上设置38个中断向量,并安排38个中断服务与之对应。解决之一问题的方法是把38个可引发中断的的事件时间分成6个组,每个组使用1个CPU内核级中断。这6个内核级中断有6个内核级中断向量,使6个组的中断转向6个内核级中断服务程序中去。一旦进入内核级中断服务程序,在细分和判断是

7、由组内那个外设事件引发的,进而转向专为此外设编写的服务程序。由此可见,DSP2407中断系统的结构分为两个层次。其中,6个内核级中断服务程序和38个外部和片内内外设中断事件对应。分为内核级中断和外设中断。3.2.2 DSP2407 内核级中断1. DSP2407 内核中总表DSP2407顶层中断是CPU内核级中断。CPU内核级中断除由有上述38个外设中断汇聚而成的6个可屏蔽中断外,还有硬件复位中断和为位数总多的软件中断。全部内核级中断及其中断向量如表3-2所列。 表3-2 DSP2407内核级中断总表K值中断向地址中断名称优先级功能00h1硬件上电复位中断(不可屏蔽中断)12hINT141号可

8、屏蔽中断24hINT252号可屏蔽中断36hINT363号可屏蔽中断48hINT474号可屏蔽中断5AhINT585号可屏蔽中断6ChINT696号可屏蔽中断7Eh保留810hINT8用户自定义软件中断912hINT9用户自定义软件中断1014hINT10用户自定义软件中断1116hINT11用户自定义软件中断1218hINT12用户自定义软件中断131AhINT13用户自定义软件中断141ChINT14用户自定义软件中断151EhINT15用户自定义软件中断1620hINT16用户自定义软件中断1722hTRAP3TRAP软件中断1824hNMI2NMI软件中断1926h-保留2028hIN

9、T20用户自定义软件中断212AhINT21用户自定义软件中断222ChINT22用户自定义软件中断232EhINT23用户自定义软件中断2430hINT24用户自定义软件中断2532hINT25用户自定义软件中断2634hINT26用户自定义软件中断2736hINT27用户自定义软件中断2838hINT28用户自定义软件中断293AhINT29用户自定义软件中断303ChINT30用户自定义软件中断313EhINT31用户自定义软件中断软件中断可通过指令INTR、NMI或TRAP来请求CPU中断的。其中INTR指令可以根据K值得不同,引发32种不同的中断。2.可屏蔽中断和不可屏蔽中断DSP2

10、407 的中断可分为软件中断和硬件中断;还可分为可屏蔽中断和不可屏蔽中断。而不论其是否为软件或硬件中断。可屏蔽中断是指通过软件设置中断控制寄存器来屏蔽中断或开放中断。DSP2407的大多数硬件中断都属于可屏蔽中断,增加了硬件中设置的灵活性。可屏蔽中断有6个:INT1、INT2、INT3、INT4、INT5、和INT6,它们是38个硬件和外设中断组合或汇总起来的6个内核级中断。在DSP2407应用软件开发中,全部中断管理工作都是围绕着6个内核级中断及其下属的低层外设级中展开的。不可屏蔽中断是指中断在任何情况下都不能被封锁。由表3-2可以看出,不可屏蔽中断有DSP硬件上电复位中断、TRAP软件中断

11、、NMI软件中断和21个用户自定义软件中断。3.2.3 DSP2407 外设级中断扩展控制器(PIE)1. 外设中断扩展控制器LF2407采用一个外设中断扩展(PIE)控制器来专门管理来自各种外设或外部引脚的中断请求。下图为外设中断扩展模块图。表示出了38个硬件和外设中断与6个内核级中断的对应关系。LF240x DSP 的内核支持一个非可屏蔽中断(NMI)和6个具有优先级请求的可屏蔽中断(INT1INT6)。LF240x DSP具有很多外设模块,每个外设模块均可以产生一个或多个终端,以在外设级别响应许多事件。因为LF240x DSP的CPU在内核级没有足够的容量来处理所有的外设中断请求,所以用

12、一个外设中断扩展(PIE)控制器用来专门管理来自各种外设或外部引脚的中断请求。外设中断扩展PIE模块内包括有Level 1 IRQ GEN小模块,成为中断请求发生器IRQ ENG(Interrupt Request Generator),与内核级中断INT1对应。同样的模块Level 2 IRQ GENLevel 62 IRQ GEN 共有6个。PIE模块内还有如下的寄存器:1.PIRQR(Peripheral Interrupt Regisrers): 外设中断请求寄存器2.PIACKR(Peripheral Interrupt Acknoledge Regisrers):外设中断应答寄存器

13、3.PIVR(Peripheral Interrupt Vector Regisrers):外设中断向量寄存器 其中,外设中断请求寄存器和外设中断应答寄存器用于芯片生产测试,而非用户应用,在编程时不用。外设中断向量寄存器是重要的低层外设计级中断控制寄存器。 实际上,在DSP2407 中断中,外设中断源才是真正的中断源,它们必须通过PIE传递到内核级中断再向CPU发出中断请求。也就是说,通过6个CPU内核级中断来扩展38个外设中断,因此形成两个级别。2. 中断层次通过中断请求系统中的一个两级中断来扩展中断个数,2407 可响应的中断个数数量很多,DSP的中断请求/应答逻辑和中断服务程序软件都有两

14、级层次的中断。3. 中断请求的结构在低层次中断,从几个外设来的外设中断请求(PIRQ)在中断控制器处进行或运算,产生一个INTn中断;在高层次中断,从INTn中断请求产生一个到CPU的中断。4. 中断应答外设产生中断请求后,经PIE控制器译码,决定谁被响应,CPU通过赋予程序地址总线一个值中断向量,决定哪个中断请求被应答。3.2.4 中断优先级和中断向量表1. 中断向量为使CPU能够区别不同外设引起中断,在每个外设中断请求有效时,都会产生一个唯一的外设中断向量,这个外设中断向量被装载到外设中断向量寄存器(PIVR)。CPU响应外设中断时,从PIVR中读取相应的中断向量,转到相关的中断服务程序入

15、口。LF2407 有两个向量表。(1) CPU向量表用来获取响应CPU中断请求的一级通用中断服务子程序(GISR)。(2) 外设向量表用来获取响应某一特定外设事件的特定中断服务子程序(SISR)。GISR中的程序可读出PIVR中的值,在保存必要的上下文之后,用PIVR中的值来产生一个转到SISR的向量。LF2407 DSP具有3个不可屏蔽中断和6个可屏蔽中断(INT1-INT6),可采用中断扩展设计来满足大量外设中断需求。每个可屏蔽中断有多个中断源,每个中断源具有唯一的中断入口地址向量。中断源如下所示:不可屏蔽中断(3个)中断优先级 中断名称 外设中断向量 描述1 Reset 0000h 复位

16、引脚和WD溢出2 保留 0026h 仿真陷阱3 NMI 0004h 软件中断INT1(级别1)中断优先级 中断名称 外设中断向量 描述4 PDPINTA 0020h 功率驱动保护中断5 PDPINTB 0019h 功率驱动保护中断6 ADCINT 0004h 高优先级ADC中断7 XINT1 0001h 高优先级外中断8 XINT2 0001h 高优先级外中断9 SPINT 0005h 高优先级SPI中断10 RXINT 0006h 高优先级SCI接收中断11 TXINT 0007h 高优先级SCI发送中断12 CANMBINT 0040h 高优先级CAN邮箱中断13 CANERINT 004

17、1h 高优先级CAN错误中断INT2(级别2)中断优先级 中断名称外设 中断向量 描述14 CMP1INT 0021h 比较器1中断15 CMP2INT 0022h 比较器2中断16 CMP3INT 0023h 比较器3中断17 T1PINT 0027h 定时器1周期中断18 T1CINT 0028h 定时器1比较中断19 T1UFINT 0029h 定时器1下溢中断20 T1OFINT 0029h 定时器1上溢中断21 CMP4INT 0024h 比较器4中断22 CMP5INT 0025h 比较器5中断23 CMP6INT 0026h 比较器6中断24 T3PINT 002Fh 定时器3周

18、期中断25 T3CINT 0030h 定时器3比较中断26 T3UFINT 0031h 定时器3下溢中断27 T1OFINT 0032h 定时器3上溢中断INT3(级别3)中断优先级 中断名称 外设中断向量 描述28 T2PINT 002Bh 定时器2周期中断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上溢

19、中断INT4(级别4)中断优先级 中断名称外设 中断向量 描述36 CAP1INT 0033h 比较器1中断37 CAP2INT 0034h 比较器2中断38 CAP3INT 0035h 比较器3中断39 CAP4INT 0036h 比较器1中断40 CAP5INT 0037h 比较器2中断41 CAP6INT 0038h 比较器3中断INT5(级别5)中断优先级 中断名称外设 中断向量 描述42 SPINT 0005h 低优先级SPI中断43 RXINT 0006h 低优先级SCI接收中断44 TXINT 0007h 低优先级SCI发送中断45 CANMBINT 0040h 低优先级CAN邮

20、箱中断46 CANERINT 0040h 低优先级CAN错误中断INT6(级别6)中断优先级中断名称外设中断向量描述47 ADCINT 0004h 低优先级ADC中断48 XINT1 0001h 低优先级外中断49 XINT2 0011h 低优先级外中断N/A TRAP 0022h 陷阱中断N/A 假中断向量 0000h 假中断向量3.2.5 假中断向量假中断向量特性可以保证系统一直可靠安全地运行,而不会进入无法预料的中断死循环中。以下两种情况会产生假中断:(1)CPU执行一个软件中断指令,并且指令具有一个与外设中断(通常为INT1一INT6)相关的变量。(2)当外设发出中断请求,但是其INT

21、n标志位却在CPU应答请求之前已经被清0。在上述两种情况下,没有外设中断请求送到中断控制器,因此控制器不知道哪个外设中断向量装入到PIVR,此时向PIVR中装入假中断向量。3.2.6 软件层次中断服务子程序的层次有两级:通用中断服务子程序(GISR)和特定中断服务子程序(SISR)对于每个向CPU发送的可屏蔽高优先级中断请求(INTl一INT6),从PIVR获取外设中断向量之前,必须在GISR中保存必要的上下文。从外设中断向量寄存器(PIVR)中获取外设中断向量。转移到SISR的地址入口。在SISR中执行对该外设事件的响应。当程序进入中断服务程序后,所有的可屏蔽中断都被屏蔽。GISR必须在中断

22、被重新使能之前读取PIVR中的值,否则在另一个中断请求发生之后,PIVR中将装入另一个中断请求的偏移量,这将导致原外设中断向量参数的永久丢失。3.2.7 全局中断使能INTM为全局中断使能位,在初始化程序和主程序中,常常需要使用该位对DSP中断进行打开和关闭操作。特别是初始化过程中,需要关中断,而在主程序开始执行时,需要开中断。SETC INTM; 关中断CLRC INTM; 开中断进入中断服务程序时,系统自动关闭中断,不允许在中断服务程序中响应其他中断。从中断服务程序返回时需要重新打开中断。3.2.8 中断响应的流程3.2.8 中断等待时间中断响应的等待时间包括:外设同步接口时间、CPU响应

23、时间、ISR等待时间。分别介绍如下:(1)外设同步接口时间是指为了响应一个PlE控制器可以识别的中断事件,而产生一个中断请求所花的时间和转换后将请求发送至CPU的时间。(2)CPU的响应时间指的是CPU识别出已经被使能的中断请求、响应中断、清除流水线、并且开始捕获来自CPU中断向量的第一条指令所花最小的CPU的响应时间是4个CPU指令周期。如果一个更高优先级的可屏蔽中断在最小的等待周期被请求,该中断将被屏蔽,直到正在工作的ISR重新使能该中断。当中断请求发生在一个不可中断的操作期间,那么等待时间更长。例如:一个循环程序环、一条多周期指令的执行,或处于一个等待状态的访问期间。(3)ISR等待时间

24、是指为了响应产生应答的中断事件,而到达特定中断服务程序(SlSR)所花费的时间。该时间长短根据用户响应中断后保存上下文的不同而有所变化。3.3 CPU中断寄存器CPU中断寄存器包括:(1)中断标志寄存器(IFR);(2)中断屏蔽寄存器(IMR)。3.3.1 CPU中断标志寄存器(IFR Intarrupt Flag Register)中断标志寄存器(IFR)是CPU内核级控制寄存器。它是16位的映射寄存器,位于数据存储器空间的0006h处。中断标志寄存器是与DSP2407内核级可屏蔽中断INT1UINT6相对应的控制寄存器。它包含了这6个中断的标志位,用于指示这些中断是否已经产生或挂起。IFR

25、包含所有可屏蔽中断的标志位,用于识别和清除挂起的中断。当一个可屏蔽中断被请求时,中断标志寄存器的相应标志位被置1。如果对应中断屏蔽寄存器中的中断使能位也为1,则该中断请求被送到CPU,并设置IFR的相应位,此时该中断正被挂起或等待响应。读取IFR可以识别挂起的中断,向相应的IFR位写1将清除已挂起的中断。位15-6:保留位。位5 : INT6 flag:中断6标志位。该位是第6级中断INT6的中断标志。0:无INT6中断挂起;1:至少一个INT6级里的外设中断挂起,向该位写1可将该位清0,即清除了中断请求。位4 : INT5 flag:中断5标志位。该位是第6级中断INT5的中断标志。0:无I

26、NT5中断挂起;1:至少一个INT5级里的外设中断挂起,向该位写1可将该位清0,即清除了中断请求。位3 : INT4 flag:中断5标志位。该位是第4级中断INT5的中断标志。0:无INT4中断挂起;1:至少一个INT4级里的外设中断挂起,向该位写1可将该位清0,即清除了中断请求。位2 : INT3 flag:中断3标志位。该位是第6级中断INT3的中断标志。0:无INT3中断挂起;1:至少一个INT3级里的外设中断挂起,向该位写1可将该位清0,即清除了中断请求。位1 : INT2 flag:中断2标志位。该位是第6级中断INT2的中断标志。0:无INT2中断挂起;1:至少一个INT2级里的

27、外设中断挂起,向该位写1可将该位清0,即清除了中断请求。位0 : INT1 flag:中断1标志位。该位是第6级中断INT1的中断标志。0:无INT1中断挂起;1:至少一个INT1级里的外设中断挂起,向该位写1可将该位清0,即清除了中断请求。3.3.2 CPU中断屏蔽寄存器(IMR)中断屏蔽寄存器IMR(Intarrupt Mask Register,映射到数据存储器空间0004h的16位寄存器。IMR中包含所有内核级中断(INT1-INT6)的屏蔽位,但不包括NMI和RS屏蔽位,因此,IMR对这两个中断无影响。读IMR可以识别出(INT1-INT6)已屏蔽或使能的中断级,当向IMR中某位写1

28、时,将使该位对应的可屏蔽中断使能;当向IMR中的该位写0时,则使其对应的中断屏蔽。位15-6:保留位。位5: INT6mask; 中断6屏蔽位。该位是第6级中断INT6的中断屏蔽位。 0:中断INT6被屏蔽。 1:中断INT6被使能。位5: INT5mask; 中断5屏蔽位。该位是第5级中断INT5的中断屏蔽位。 0:中断INT5被屏蔽。 1:中断INT5被使能。位4: INT4mask; 中断4屏蔽位。该位是第4级中断INT6的中断屏蔽位。 0:中断INT4被屏蔽。 1:中断INT4被使能。位2: INT3mask; 中断3屏蔽位。该位是第3级中断INT3的中断屏蔽位。 0:中断INT6被屏蔽。 1:中断INT6被使能。位1: INT2mask; 中断2屏蔽位。该位是第2级中断INT2的中断屏蔽位。 0:中断INT2被屏蔽。 1:中断INT2被使能。位0: INT1mask; 中断6屏蔽位。该位是第1级中断INT1的中断屏蔽位。 0:中断INT1被屏蔽。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1