MC56F8257中断系统
时间:07-20 14:31 阅读:1782次
*温馨提示:点击图片可以放大观看高清大图
简介:MC56F8257共有67个中断源,5个中断优先级。中断的请求是通过中断控制器模块控制的。
前一页:http://www.eeskill.com/article/id/37458
下一页:http://www.eeskill.com/article/id/37460
中断控制器模块由中断源、优先级设置和控制部分组成,其框图如图1所示,主要用于配置中断优先级、解析中断请求并且将中断向量交给CPU执行。从图1看出,在中断请求处理过程中,当有多个中断源发出请求(INT1…INTn)时,首先优先级别译码模块根据用户设置的优先级进行译码,译码后进入相应的优先级编码器进行编码,最后通过控制模块进行优先级的配置。控制模块根据DSP56800E核中的状态寄存器SR中的屏蔽等设置位,对编码后的中断源进行处理,处理后的结果反映在控制寄存器INTC_CTRL中的INT、IPIC和VAB位。
INT是中断位,该位反映内核中断的状态。当该位值为1时,有中断送入内核;否则,无中断送入内核。IPIC是中断优先级位,该位表示送入内核的中断源的优先级,也表示当前内核所接收的中断的最高优先级。VAB是中断矢量号,也是对应中断在中断矢量表中的地址的[7:1]位[9]。
MC56F8257内核为16位增强型DSP56800E,该内核处理中断请求有两种模式:标准和快速中断处理。MC56F8257标准中断处理模式具体流程如图2所示,从图2看出该模式通过JSR指令,转向中断服务程序,占用一定数量的软件开销,但所有级别中断都支持该模式;快速中断处理不需要执行JSR指令(如图3),而是通过快速中断向量地址寄存器获得中断服务程序首地址,节省了软件资源,但它只能用于中断优先级为2级的中断。具体采用何种模式,应根据实际应用需要进行设置。