一种中断控制器及中断控制方法

文档序号:6427671阅读:252来源:国知局
专利名称:一种中断控制器及中断控制方法
技术领域
本发明涉及嵌入式系统领域,特别涉及ー种中断控制器及中断控制方法。
背景技术
嵌入式系统一般包括微程序控制器(Microprogrammed Control Unit,简称MQJ)与硬件加速器,由MCU进行通用控制和计算,而硬件加速器进行特殊的功能处理和运算。加速器通常有多个,为了保证MCU的功能 特性,MCU与加速器之间必须频繁通信,一般有以下两种方式来进行通信ー种方式是通过查询方式进行,MCU周期性的查询加速器的状态寄存器,MCU在查询期间不能进行其他运算,在此过程中消耗大量的运算周期,功耗浪费严重;另外ー种方式是通过中断的方式进行,加速器通过发送中断,触发MCU进入中断服务程序,完成正常程序到特殊加速器控制程序的跳转,这样只有在必要时才执行中断服务程序,使得MCU的效率提高并且不执行期间降低功耗。MCU、中断控制器、中断源、加速器之间的关系如图I所示,通常,MCU的中断ロ远比加速器的数量少,当有多于中断ロ的数量的中断控制器需要连接到MCU的中断口上吋,就需要中断控制器实现η对I或者η对m(n > m)的转接,要求MCU能够接收到η个中断,井能够每次正确判断是哪个中断源触发的中断。现有技术中断控制器主要存在以下缺点目前中断控制器一般用寄存器对应的位标识不同的中断源,保存的中断能力有限,同一中断源多次到达并未及时处理可能造成中断丢失;在任何中断源发出中断,都会立即发送中断到MCU进行处理,如果同时有多次中断源到达会造成冲突或死机;在中断屏蔽后,恢复中断的过程中,由于保存的中断能力有限,中断在开启后,中断控制器可能导致中断丢失。

发明内容
针对以上问题,本发明提出ー种中断控制器及中断控制方法,解决现有技术中存储能力有限、中断冲突和中断丢失的问题。本发明提出的中断控制器,包括接ロ模块、中断采样模块、中断选择模块和中断处理模块;中断采样模块还包括中断源信号缓存模块,中断选择模块还包括中断编号缓存模块,中断处理模块还包括中断控制线;所述接ロ模块接受总线输入,并对中断采样模块、中断选择模块和中断处理模块进行參数配置;所述中断采样模块接受中断源输入和接ロ模块输入,用于将中断源输入进行选择性输入,并将中断源信号值采样缓存在中断源信号缓存模块中;所述中断选择模块接受中断采样模块和接ロ模块输入,用于根据优先级对中断源排序,将中断采样模块的输出数据进行序号编码,按照中断到来的先后顺序,将其存储在中断编号缓存模块中,并根据先入先出的特性顺序读出中断序号;
所述中断处理模块接受中断选择模块和接ロ模块输入,在中断控制线有效时,按照中断源寄存器中的编号,通过中断输出模块发送中断。本发明的中断控制方法,包括步骤I、根据应用需求,通过总线接ロ配置中断配置寄存器,包括中断源选择寄存器、中断模式选择寄存器、中断屏蔽选择寄存器、中断交互选择寄存器、以及中断优先级寄存器等;步骤2、中断采样模块等待中断源I,2. .. N输入;步骤3、中断源I,2. ... N输入后,中断采样模块中的中断输入选择模块根据配置的中断优先级对中断源分类并对中断源采样;步骤4、中断采样模块中的中的中断源屏蔽信息判断中断屏蔽模块是否有效,若是 则此次中断源不输出,返回步骤2,否则中断采样模块将采样后的数据缓存在中断源信号缓存模块中进入步骤5 ;步骤5、中断选择模块对中断源信号缓存模块中的中断源的优先级进行编码,并将这些编码缓存在中断编号缓存模块中,最終根据配置的FIFO的优先级将中断编号缓存模块中的数据输出;步骤6、中断处理模块判断中断控制线是否有效,若有效则进入步骤7,否则返回步骤2 ;步骤7、中断输出模块将中断源n(l<n<N)的中断按照要求输出本发明利用类似插队的先进先出存储器(First In First Out mermory,简称FIFO)实现不同优先级的排队,并且对同一中断源多次到达未处理也不会丢失中断。并进ー步提出了交互与非交互模式的概念,在同一个中断输出信号还未响应前,不再触发新的中断,而是把中断缓存在中断编号缓存模块的FIFO中,等MCU处理的中断服务程序退出时,清除中断临时屏蔽寄存器;如果同一中断源还继续发起中断或者新的中断到来,才触发进入相对应的中断服务程序,这样可以实现非自重入中断,实现MCU和中断控制器间的握手通信交互,避免了由于中断过多导致MCU处理不及时而丢掉中断的问题。本发明中断控制器中断屏蔽过程中,可以通过中断编号存储模块缓存中断,在中断开启后,能够完整的恢复屏蔽期间的中断。


图I为现有技术MCU、中断控制器、中断源、加速器之间的关系示意图;图2为本发明中断控制器结构图;图3为本发明中断控制器各模块内部结构图;图4为本发明中断控制方法流程图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明中装置做进ー步的详细说明。本发明提出的中断控制器装置,优选实施例如图2所示,包括接ロ模块、中断采样模块、中断选择模块以及中断处理模块,其中
接口模块包括总线接口以及中断源配置寄存器,通过总线接口对中断源配置寄存器进行配置,其中中断源配置寄存器包括中断源选择寄存器、中断模式选择寄存器、中断屏蔽选择寄存器、中断交互选择寄存器、以及中断优先级寄存器,中断采样模块、中断选择模块以及中断处理模块将按照相应配置完成相应功能。中断采样模块、中断选择模块以及中断处理模块一起完成了中断的优先级排序和生成,它们的各自的内部结构如图3所示,其中中断采样模块包括中断源输入选择模块、中断源屏蔽模块和中断源信号缓存模块。中断采样模块的作用在于根据中断源配置寄存器中相关参数,将中断源输入进行选择性输入,并将中断源信号值采样缓存在中断源信号缓存模块中,这样能够保证在同一中断源连续多次发出中断时不丢失。优选的,中断源信号缓存模块是由多位寄存器构成,它解决了同一个中断源连续 发出中断请求时,丢失中断的问题。中断选择模块包括中断优先编码模块、中断编号缓存模块和中断优先选择模块,其中中断优先编码模块能够根据优先级对中断源的序号编码,保证了 MCU能够识别产生中断的是哪一个中断源;中断选择模块的作用在于根据中断源配置寄存器中相关参数和中断到来的先后顺序,将中断采样模块的输出数据进行序号编码,并将其存储在中断编号缓存模块中,而中断优先选择模块则按照FIFO先入先出的特性顺序读出中断序号,保证每一个中断的编号都不会被丢失,中断编号能被顺序读出不会出错,而且同一中断源产生的中断能够同时处理,进一步提高了处理效率。优选的,所述中断编号缓存模块是多个优先级确定的先入先出存储器构成,它能有顺序的存储中断优先编码模块输出的中断源序号编码,所述中断配置寄存器能够对中断编号缓存模块中断FIFO的优先级进行配置,对不同优先级的中断进行存储从而实现了类似插队的FIFO。中断处理模块包括中断源寄存器、中断输出模块以及一条中断控制线,其中中断控制线是由中断编号缓存FIFO的读使能和空/满标志的逻辑关系构成,支持脉冲中断和电平中断两种中断方式;中断控制线有效时,中断处理模块将按照中断源寄存器中的编号发送中断。还可包括,中断临时屏蔽寄存器和一条中断交互反馈线,中断交互反馈线是中断服务程序完成的标志反馈,作为中断输出模块的控制线,完成交互模式的操作。此时,中断处理模块能够根据中断源配置寄存器中相关参数,选择中断的交互模式,当中断控制线有效时,中断输出模块根据中断源寄存器中的中断源编号进行中断输出,待到中断交互反馈线有效后才继续发送后续未输出的中断。交互模式能够保证中断源发出的中断在响应之后才发出后续的中断,避免了 MCU在处理中断因为收到的中断太多而发生中断冲突或者中断丢失,保证了各加速器和MCU之间的正常通信。本发明一种中断控制方法,流程图如图4所示具体过程如下步骤I、根据应用需求,通过总线接口配置中断配置寄存器,包括中断源选择寄存器、中断模式选择寄存器、中断屏蔽选择寄存器、中断交互选择寄存器、以及中断优先级寄存器等;步骤2、中断采样模块等待中断源1,2. . . N输入;
步骤3、中断源1,2. . . . N输入后,中断采样模块中的中断输入选择模块根据配置的中断优先级对中断源分类并对中断源采样;步骤4、中断采样模块中的中的中断源屏蔽信息判断中断屏蔽模块是否有效,若是则此次中断源不输出,返回步骤2,否则中断采样模块将采样后的数据缓存在中断源信号缓存模块中进入步骤5 ;步骤5、中断选择模块对中断源信号缓存模块中的中断源的优先级进行编码,并将这些编码缓存在中断编号缓存模块中,最终根据配置的FIFO的优先级将中断编号缓存模块中的数据输出;步骤6、中断处理模块判断中断控制线是否有效,若有效则进入步骤7,否则返回步骤2 ; 步骤7、中断输出模块将中断源n(l Sn SN)的中断按照要求输出;优选的,进一步包括交互模式操作步骤,具体为步骤8、中断处理模块根据配置判断是否为交互模式,若是交互模式,则进行步骤9,否则进入步骤10;步骤9、中断处理模块等待中断反馈信号线上反馈回来的中断反馈信号对中断临时屏蔽寄存器对应的标志位进行清除操作;步骤10、此次中断源η的中断处理结束,返回步骤6。本发明以上所举实施方式或者实施例仅为本发明的优选实施方式而已,并不用以限制本发明,凡在本发明的精神和原则之内对本发明所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种中断控制器,其特征在于,包括接口 |旲块、中断米样|旲块、中断选择|旲块和中断处理模块;中断采样模块还包括中断源信号缓存模块,中断选择模块还包括中断编号缓存模块,中断处理模块还包括中断控制线; 所述接口模块接受总线输入,并对中断采样模块、中断选择模块和中断处理模块进行参数配置; 所述中断采样模块接受中断源输入和接口模块输入,用于将中断源输入进行选择性输入,并将中断源信号值采样缓存在中断源信号缓存模块中; 所述中断选择模块接受中断采样模块和接口模块输入,用于根据优先级对中断源排序,将中断采样模块的输出数据进行序号编码,按照中断到来的先后顺序,将其存储在中断编号缓存模块中,并根据先入先出的特性顺序读出中断序号; 所述中断处理模块接受中断选择模块和接口模块输入,在中断控制线有效时,按照中断源寄存器中的编号,通过中断输出模块发送中断。
2.根据权利要求I所述中断控制器,其特征在于,所述接口模块包括总线接口以及中断源配置寄存器,通过总线接口对中断源配置寄存器进行配置,中断源配置寄存器包括中断源选择寄存器、中断模式选择寄存器、中断屏蔽选择寄存器、中断交互选择寄存器、以及中断优先级寄存器。
3.根据权利要求I所述中断控制器,其特征在于,所述中断采样模块的中断源信号缓存模块由多位寄存器构成,同一个中断源连续发出中断请求时分别按照发出中断的先后顺序由低位到高位或者由高位到低位存储在多位寄存器中。
4.根据权利要求I所述中断控制器,其特征在于,所述中断选择模块的中断编号缓存模块是多个优先级确定的先入先出存储器构成,顺序存储中断优先编码模块输出的中断源序号编码。
5.根据权利要求I或4所述中断控制器,其特征在于,所述中断配置寄存器能够对其优先级进行配置,对不同优先级的中断进行存储实现了插队FIFO。
6.根据权利要求I所述中断控制器,其特征在于,所述中断控制线是由中断编号缓存FIFO的读使能和空/满标志的逻辑关系构成,支持脉冲中断和电平中断两种中断方式。
7.根据权利要求I或6所述中断控制器,其特征在于,所述中断控制线有效时,中断处理模块将按照中断源寄存器中的编号发送中断。
8.根据权利要求I所述中断控制器,其特征在于,所述中断处理模块还包括,中断临时屏蔽寄存器和一条中断交互反馈线,中断交互反馈线是中断服务程序完成的标志反馈,作为中断输出模块的控制线,完成交互模式的操作。
9.一种中断控制方法,其特征在于,包括 步骤I、根据应用需求,通过总线接口配置中断配置寄存器,包括中断源选择寄存器、中断模式选择寄存器、中断屏蔽选择寄存器、中断交互选择寄存器、以及中断优先级寄存器等; 步骤2、中断采样模块等待中断源I,2. .. N输入; 步骤3、中断源I,2. ... N输入后,中断采样模块中的中断输入选择模块根据配置的中断优先级对中断源分类并对中断源采样; 步骤4、中断采样模块中的中断源屏蔽信息判断中断屏蔽模块是否有效,若是则此次中断源不输出,返回步骤2,否则中断采样模块将采样后的数据缓存在中断源信号缓存模块中进入步骤5 ; 步骤5、中断选择模块对中断源信号缓存模块中的中断源的优先级进行编码,并将这些编码缓存在中断编号缓存模块中,最终根据配置的FIFO的优先级将中断编号缓存模块中的数据输出; 步骤6、中断处理模块判断中断控制线是否有效,若有效则进入步骤7,否则返回步骤.2 ; 步骤7、中断输出模块将中断源η的中断按照要求输出,其中I Sn SN。
10.根据权利要求9所述中断控制方法,其特征在于,进一步包括 步骤8、中断处理模块根据配置判断是否为交互模式,若是交互模式,则进行步骤9,否则进入步骤10 ; 步骤9、中断处理模块等待中断反馈信号线上反馈回来的中断反馈信号对中断临时屏蔽寄存器对应的标志位进行清除操作; 步骤10、此次中断源η的中断处理结束,返回步骤6。
全文摘要
本发明属于涉及嵌入式系统领域,特别涉及一种中断控制器,包括接口模块、中断采样模块、中断选择模块和中断处理模块,利用类似插队的先进先出存储器实现不同优先级的排队,并且对同一中断源多次到达未处理也不会丢失中断,并提出了交互与非交互模式的概念,在同一个中断输出信号还未响应前,不再触发新的中断,而是把中断缓存在中断编号缓存模块的FIFO中,等MCU处理的中断服务程序退出时,清除中断临时屏蔽寄存器,避免了由于中断过多导致MCU处理不及时而丢掉中断的问题,并且中断控制器中断屏蔽过程中,可以通过中断编号存储模块缓存中断,在中断开启后,能够完整的恢复屏蔽期间的中断,本发明还提供了一种中断控制方法。
文档编号G06F9/48GK102855156SQ201110182489
公开日2013年1月2日 申请日期2011年6月30日 优先权日2011年6月30日
发明者王琼, 朱志辉, 彭玲, 陈美燕 申请人:重庆重邮信科通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1