- 1、本文档共70页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第4章系统配置与中断ppt课件
4.3.3 全局中断使能 状态寄存器STO中有一个全局中断使能位INTM,在初 始化程序和主程序中,常常需要使用该位对DSP的全局中断进行打开和关闭操作。特别是初始化过程中,需要关全局中断,而在主程序开始执行时,需要开全局中断。关全局中断和开全局中断的汇编语言指令如下: SETC INTM;把INTM位置1,关全局中断 CLRC INTM;把INTM位清0,开全局中断 执行完中断服务子程序后,一定要打开全局中断。因为进入中断服务程序时,系统自动关中断。所以从中断返回时需要重新打开全局中断。注意:不允许中断嵌套。 4.4 中断响应的过程 下面介绍某一外设中断请求的响应过程: (1)某一外设发出中断请求; (2)如该外设的中断请求标志位(IF)为1,且该外设的中断使能位(IE)为1,则产生一个到PIE控制器的中断请求;如果中断没有被使能,则中断请求标志位(IF)为1的状态保持到被软件清0。 (3)如果不存在相同优先级(INTn)的中断请求,那么PIRQ会使PIE控制器产生一个到CPU的中断请求(INTn),为2个CPU时钟宽度的低电平脉冲。 (4)中断请求设定CPU的中断标志寄存器(IFR),如果通过设置中断屏蔽寄存器(IMR) CPU中断已被使能,CPU会中止当前的任务,将INTM置1,以屏蔽所有可屏蔽的中断,保存上下文,并且开始为高优先级的中断(INTn)执行通用中断服务子程序(GISR)。CPU自动产生一个中断应答,并向与被响应的高优先级中断的相应程序地址总线(PAB)送一个中断向量值。例如,如果1NT2被响应了,它的中断向量0004h被装入PAB。 (5)外设中断扩展(PIE)控制器会对PAB的值进行译码,并产生一个外设响应应答,清除与被应答的CPU中断相关的PIRQ位。外设中断扩展控制器然后将相应的中断向量(或假中断向量)载入外设中断向量寄存器(PIVR)。当GISR已经完成了现场保护,然后就可读入PIVR,并使用中断向量,使程序转入到特定中断服务子程序(SISR)的入口处去执行。 4.5 中断响应的等待时间 中断响应的等待时间包括:外设同步接口时间、CPU 响应时间、ISR转移时间。 (1)外设同步接口时间是指PIE识别出外设发来的中断请求,经判断优先级、转换后将中断请求发送至CPU的时间。 (2)CPU的响应时间指的是CPU识别出已经被使能的中断请求、响应中断、清除流水线、并且开始捕获来自CPU中断向量的第一条指令所花费的时间。最小的CPU的响应时间是4个CPU指令周期。 (3)ISR转移时间是指为了转移ISR中特定部分而必须执行一些转移所花费的时间。该时间长短根据用户所实现的ISR的不同而有所变化。 4.6 CPU的中断寄存器 CPU中断寄存器包括: (1)中断标志寄存器(IFR); (2)中断屏蔽寄存器(IMR)。 4.6.1 CPU中断标志寄存器(IFR) IFR映射到数据存储器空间为0006h。各位意义如下: 位15-6:保留位。 位5-0:分别为INT6-INT1的中断标志位。 0-无INTn(n=1-6)的中断挂起, 1-表示有INTn(n=1-6)的中断挂起。 中断标志寄存器包含了所有可屏蔽中断INT6-INT1的标志位。 当一个外设发出可屏蔽中断请求时,中断标志寄存器的相应标志位被置1。如果该外设对应中断屏蔽寄存器中的中断使能位也为1,则该中断请求被送到CPU,此时该中断正被挂起或等待响应。 读取IFR可以识别挂起的中断,向相应的IFR位写1将清除已挂起的中断。 CPU响应中断或复位都能将IFR标志清除。 在对IFR操作时应注意以下几点: (1)要想清除某一IFR位,必须向该位写1,而不是 0; (2)当一个可屏蔽中断被响应时,只有IFR位被清 除,而相应的外设控制寄存器中的中断请求标 志位不会被清除。如果需要清除这些标志位, 应该使用软件来清除。 (3)当通过INTR指令来请求中断,且相应的IFR位 被置1时,CPU不会自动清除该位,该位必须由 软件来清除。 (4)IFR和IMR控制的是核心级的中断,所有外设在 它们各自的配置/控制寄存器都有相应的中断 屏蔽和标志位。 4.6.2 CPU中断屏蔽寄存器(IMR) IMR映射在数据存储器空间中的地址为0004h,各位意义如下: IMR中包含所有可屏蔽中断级(INT1-INT6)的屏蔽位,读IMR可以识别出已屏蔽或使能的中断级,而向IMR中写,则可屏蔽中断或使能中断。为了使能中断,应设置相应的IMR位为1,而屏蔽中断时只需将相应的IMR位设为0。 位15-6:保留位。 位5-0:分别为INT6-INT1中断的屏蔽位。
文档评论(0)