当前位置: 首页 > 专利查询>暨南大学专利>正文

一种兼容8051 IP核的中断控制器及其控制方法技术

技术编号:9738663 阅读:181 留言:0更新日期:2014-03-06 15:48
本发明专利技术公开了一种兼容8051?IP核的中断控制器及其控制方法,该控制器包括输入接口、输出接口、中断允许寄存器IE、中断优先级寄存器IP等,其中IE用于根据中断优先级寄存器IP中的特殊寄存器复用标志位,存储8051系列微处理器的中断允许位或扩展的中断允许位;IP用于根据该寄存器中的特殊寄存器复用标志位,存储8051系列微处理器的中断优先级或进行扩展的中断优先级设置。该控制方法是根据用户需要可以对中断允许寄存器IE以及中断优先级寄存器IP采用默认的或改进的定义方式,如果是改进的定义方式,则IP核通过启用特殊寄存器复用,从而使该中断控制器IP核能够支持15个中断源的中断请求以及7级的中断优先级。

【技术实现步骤摘要】
—种兼容8051 IP核的中断控制器及其控制方法
本专利技术涉及嵌入式系统SOC IP核设计研究领域,特别涉及一种兼容8051IP核的中断控制器及其控制方法。
技术介绍
8051微处理器因其有良好的稳定性以及可扩展性在当今国内外成为应用最广泛的8位微处理器之一,而在处理器与外部设备进行数据交换时,为了节省不必要的CPU时钟开销,往往使用中断系统处理外部设备的处理请求。中断系统作为微处理器中最复杂的控制系统之一,在提高微处理器性能、与外部接口的响应速度以及高效率用微处理器资源等方面具有重要的地位。传统的MCS-8051处理器有5个中断源,2个中断优先级,可实现中断嵌套。然而,在当前处理器需要利用中断系统处理越来越多的外部设备请求的情况下,8051所支持的5个中断源及2级中断优先级往往不能满足使用需求。针对这种情况,本领域人员进行了多方面研究,例如郑伟、徐静平等人在2012年发表了名称为《基于Verilog的8051微控制器中断系统的设计与验证》的文章,该文章中的算法是采用Verilog HDL语言设计的中断控制系统来实现8051微处理器的中断控制。能够完成不同优先级别中断响应控制,并可以完成同优先级别的中选响应控制,从而实现不同中断响应的衔接。此算法用传统的8051微处理器结构作为设计蓝本,得到了较好的效果。但其存在以下缺点:中断控制器并没有做出优化,原因在于文献中完全使用传统的8051微处理器作为设计的最终对象,没有利用Verilog HDL语言作为硬件描述语言的优势对中断控制器进行改进。
技术实现思路
本专利技术的主要目的在于克服现有技术的缺点与不足,提供一种兼容8051IP核的中断控制器,该IP核通过启用特殊寄存器复用,从而可以使该中断控制器IP核能够支持15个中断源的中断请求以及7级的中断优先级,兼容8051系列微处理器IP核中断系统的输入输出,可作为8位微处理器IP核的控制部件进行嵌入。本专利技术还提供了一种基于上述中断控制器的控制方法。本专利技术的目的通过以下的技术方案实现:一种兼容8051IP核的中断控制器,包括:输入接口,包括15个,第一输入接口 elk用于输入时钟信号;第二输入接口 rst用于输入重置信号;第三输入接口 wr用于输入写使能信号;第四输入接口 wr_bit用于输入位写入使能信号;第五输入接口 bit_in用于输入位信号;第六输入接口 Wr_addr用于输入8位写地址;第七输入 接口 data_in用于输入8位写数据;第八输入接口 ieO用于输入兼容51的外部中断O ;第九输入接口 tfO用于输入兼容51的定时器O溢出标志位;第十输入接口 iel用于输入兼容51的外部中断1 ;第十一输入接口 tfl用于输入兼容51的定时器I溢出标志位;第十二输入接口 uart_int用于输入兼容51的串口中断;第十三输入接口 otherinth用于输入高5位外部中断;第十四输入接口 otherintl用于输入低5位外部中断,第十五输入接口 reti用于输入中断返回信号;输出接口,包括8个,第一输出接口 trO用于输出定时器O运行控制位;第二输出接口 trl用于输出定时器I运行控制位,第三输出接口 intr用于输出中断程序标志位;第四输出接口 ie用于输出中断允许寄存器信号;第五输出接口 ip用于输出中断优先级寄存器信号;第六输出接口 TCON用于输出定时器或计数器控制寄存器信号;第七输出接口 int_vec用于输出中断向量;第八输出接口 intnest用于输出中断嵌套标志位;组合逻辑控制电路,其耦合到输入接口和输出接口 ;中断允许寄存器IE,用于根据中断优先级寄存器IP中的特殊寄存器复用标志位,存储8051系列微处理器的中断允许位或扩展的中断允许位;中断优先级寄存器IP,用于根据该寄存器中的特殊寄存器复用标志位,存储8051系列微处理器的中断优先级或进行扩展的中断优先级设置;等待中断缓存寄存器,为一 15位寄存器,与输入接口中的第八输入接口、第九输入接口、第十输入接口、第十一输入接口、第十二输入接口、第十三输入接口、第十四输入接口耦合,用于对等待响应的中断进行缓存;存储器,用于储存中断优先级堆栈和中断向量,中断优先级堆栈中储存了不同中断源对应的优先级的被查询的表,中断向量存储了不同中断源所对应的中断向量。优选的,所述中断允许寄存器IE分为两种定义形式,一种是默认的定义方式,具体是:第7位定义为中断允许标志位,当此位为I时,则允许开启中断响应,否则关闭对一切中断的响应;第6位、第5位定义为无关位;第4位定义为串口中断允许位,当此位为I时,则允许开启串口中断响应,否则关闭串口中断响应;第3位定义为定时器I中断允许位,当此位为I时,则允许开启定时器I中断`响应,否则关闭定时器I中断响应;第2位定义为外部中断I中断允许位,当此位为I时,则允许开启外部中断I中断响应,否则关闭外部中断I中断响应;第I位定义为定时器O中断允许位,当此位为I时,则允许开启定时器O中断响应,否则关闭定时器O中断响应;第O位定义为外部中断O中断允许位,当此位为I时,则允许开启外部中断O中断响应,否则关闭外部中断O中断响应;另一种是改进的定义方式,具体是:第7位定义为中断允许标志位,当此位为I时,则允许开启中断响应,否则关闭对一切中断的响应;第6位定义为otherinth允许标志位,当此位为I时,则允许开启由输入接口 otherinth的中断响应,否则关闭对来自该接口的所有中断请求响应;第5位定义为otherintl允许标志位,当此位为I时,则允许开启由输入接口 otherintl的中断响应,否则关闭对来自该接口的所有中断请求响应;第4位定义为串口中断允许位,当此位为I时,则允许开启串口中断响应,否则关闭串口中断响应;第3位定义为定时器I中断允许位,当此位为I时,则允许开启定时器I中断响应,否则关闭定时器I中断响应;第2位定义为外部中断I中断允许位,当此位为I时,则允许开启外部中断I中断响应,否则关闭外部中断I中断响应;第I位定义为定时器O中断允许位,当此位为I时,则允许开启定时器O中断响应,否则关闭定时器O中断响应;第O位定义为外部中断O中断允许位,当此位为I时,则允许开启外部中断O中断响应,否则关闭外部中断O中断响应。优选的,所述中断优先级寄存器IP分为两种定义形式,一种是默认的定义方式,具体是:第7位至第5位定义为无关位;第4位定义为串口高优先级标志位,当此位为I时,则串口中断拥有高优先级;第3位定义为定时器I高优先级标志位,当此位为I时,则定时器中断I拥有高优先级;第2位定义为外部中断I高优先级标志位,当此位为I时,则外部中断I拥有高优先级;第I位定义为定时器O高优先级标志位,当此位为I时,则定时器中断O拥有高优先级;第O位定义为外部中断O高优先级标志位,当此位为I时,则外部中断O拥有高优先级;另一种是改进的定义方式,具体是:第7位定义为特殊寄存器复用标志位;第2位至第O位定义为中断优先级设置位;第6位至第3位定义为中断源指示位,用于与由第2位至第O位所设置的中断优先级一同更改某中断所处的中断优先级,否则各中断所处的优先级与复位时所定义的默认优先级一致。一种基于上述中断控制器的控制方法,包括以下步骤:( I)中断本文档来自技高网...

【技术保护点】
一种兼容8051IP核的中断控制器,其特征在于,包括:输入接口,包括15个,第一输入接口clk用于输入时钟信号;第二输入接口rst用于输入重置信号;第三输入接口wr用于输入写使能信号;第四输入接口wr_bit用于输入位写入使能信号;第五输入接口bit_in用于输入位信号;第六输入接口wr_addr用于输入8位写地址;第七输入接口data_in用于输入8位写数据;第八输入接口ie0用于输入兼容51的外部中断0;第九输入接口tf0用于输入兼容51的定时器0溢出标志位;第十输入接口ie1用于输入兼容51的外部中断1;第十一输入接口tf1用于输入兼容51的定时器1溢出标志位;第十二输入接口uart_int用于输入兼容51的串口中断;第十三输入接口otherinth用于输入高5位外部中断;第十四输入接口otherintl用于输入低5位外部中断,第十五输入接口reti用于输入中断返回信号;输出接口,包括8个,第一输出接口tr0用于输出定时器0运行控制位;第二输出接口tr1用于输出定时器1运行控制位,第三输出接口intr用于输出中断程序标志位;第四输出接口ie用于输出中断允许寄存器信号;第五输出接口ip用于输出中断优先级寄存器信号;第六输出接口TCON用于输出定时器或计数器控制寄存器信号;第七输出接口int_vec用于输出中断向量;第八输出接口intnest用于输出中断嵌套标志位;组合逻辑控制电路,其耦合到输入接口和输出接口;中断允许寄存器IE,用于根据中断优先级寄存器IP中的特殊寄存器复用标志位,存储8051系列微处理器的中断允许位或扩展的中断允许位;中断优先级寄存器IP,用于根据该寄存器中的特殊寄存器复用标志位,存储8051系列微处理器的中断优先级或进行扩展的中断优先级设置;等待中断缓存寄存器,为一15位寄存器,与输入接口中的第八输入接口、第九输入接口、第十输入接口、第十一输入接口、第十二输入接口、第十三输入接口、第十四输入接口耦合,用于对等待响应的中断进行缓存;存储器,用于储存中断优先级堆栈和中断向量,中断优先级堆栈中储存了不同中断源对应的优先级的被查询的表,中断向量存储了不同中断源所对应的中断向量。...

【技术特征摘要】
1.一种兼容8051IP核的中断控制器,其特征在于,包括: 输入接口,包括15个,第一输入接口 elk用于输入时钟信号;第二输入接口 rst用于输入重置信号;第三输入接口 wr用于输入写使能信号;第四输入接口 wr_bit用于输入位写入使能信号;第五输入接口 bit_in用于输入位信号;第六输入接口 wr_addr用于输入8位写地址;第七输入接口 data_in用于输入8位写数据;第八输入接口 ieO用于输入兼容51的外部中断O ;第九输入接口 tfO用于输入兼容51的定时器O溢出标志位;第十输入接口 iel用于输入兼容51的外部中断I ;第^^一输入接口 tfl用于输入兼容51的定时器I溢出标志位;第十二输入接口 uart_int用于输入兼容51的串口中断;第十三输入接口otherinth用于输入高5位外部中断;第十四输入接口 otherintl用于输入低5位外部中断,第十五输入接口 reti用于输入中断返回信号; 输出接口,包括8个,第一输出接口 trO用于输出定时器O运行控制位;第二输出接口trl用于输出定时器I运行控制位,第三输出接口 intr用于输出中断程序标志位;第四输出接口 ie用于输出中断允许寄存器信号;第五输出接口 ip用于输出中断优先级寄存器信号;第六输出接口 TCON用于输出定时器或计数器控制寄存器信号;第七输出接口 int_vec用于输出中断向量;第八输出接口 intnest用于输出中断嵌套标志位; 组合逻辑控制电路,其耦合到输入接口和输出接口 ; 中断允许寄存器IE,用于根据中断优先级寄存器IP中的特殊寄存器复用标志位,存储8051系列微处理器的中断允许位或扩展的中断允许位; 中断优先级寄存器IP,用于根据该寄存器中的特殊寄存器复用标志位,存储8051系列微处理器的中断优先 级或进行扩展的中断优先级设置; 等待中断缓存寄存器,为一 15位寄存器,与输入接口中的第八输入接口、第九输入接口、第十输入接口、第十一输入接口、第十二输入接口、第十三输入接口、第十四输入接口耦合,用于对等待响应的中断进行缓存; 存储器,用于储存中断优先级堆栈和中断向量,中断优先级堆栈中储存了不同中断源对应的优先级的被查询的表,中断向量存储了不同中断源所对应的中断向量。2.根据权利要求1所述的兼容8051IP核的中断控制器,其特征在于,所述中断允许寄存器IE分为两种定义形式,一种是默认的定义方式,具体是--第7位定义为中断允许标志位,当此位为I时,则允许开启中断响应,否则关闭对一切中断的响应;第6位、第5位定义为无关位;第4位定义为串口中断允许位,当此位为I时,则允许开启串口中断响应,否则关闭串口中断响应;第3位定义为定时器I中断允许位,当此位为I时,则允许开启定时器I中断响应,否则关闭定时器I中断响应;第2位定义为外部中断I中断允许位,当此位为I时,则允许开启外部中断I中断响应,否则关闭外部中断I中断响应;第I位定义为定时器O中断允许位,当此位为I时,则允许开启定时器O中断响应,否则关闭定时器O中断响应;第O位定义为外部中断O中断允许位,当此位为I时,则允许开启外部中断O中断响应,否则关闭外部中断O中断响应; 另一种是改进的定义方式,具体是:第7位定义为中断允许标志位,当此位为I时,则允许开启中断响应,否则关闭对一切中断的响应;第6位定义为otherinth允许标志位,当此位为I时,则允许开启由输入接口 otherinth的中断响应,否则关闭对来自该接口的所有中断请求响应;第5位定义为otherintl允许标志位,当此位为I时,则允许开启由输入接口otherintl的中断响应,否则关闭对来自该接口的所有中断请求响应;第4位定义为串口中断允许位,当此位为I时,则允许开启串口中断响应,否则关闭串口中断响应;第3位定义为定时器I中断允许位,当此位为I时,则允许开启定时器I中断响应,否则关闭定时器I中断响应;第2位定义为外部中断I中断允许位,当此位为I时,则允许开启外部中断I中断响应,否则关闭外部中断I中断响应;第I位定义为定时器O中断允许位,当此位为I时,则允许开启定时器O中断响应,否则关闭定时器O中断响应;第O位定义为外部中断O中断允许位,当此位为I时,则允许开启外部中断O中断响应,否则关闭外部中断O中断响应; 所述中断优先级寄存器IP分为两种定义形式,一种是默认的定义方式,具体是--第7位至第5位定义为无关位;第4位定义为串口高优先级标志位,当此位为I时,则串口中断拥有高优先级;第3位定义为定时器I高优先级标志位,当此位为I时,则定时器中断I拥有高优先级;第2位定义为外部中断I高优先级标志位,当此位为I时,则外部中断I拥有高优先级;第I位定义为定时器O高优先级标志位,当此位为I时,则定时器中断O拥有高优先级;第O位定义为外部中断O高优先级标志位,当此位为I时,则外部中断O拥有高优先级; 另一种是改进的定义方式,具体是--第I位定义为特殊寄存器复用标志位;第2位至第O位定义为中断优先级设置位;第6位至第3位定义为中断源指示位,用于与由第2位至第O位所设置的中断优先级一同更改某中断所处的中断优先级,否则各中断所处的优先级与复位时所定义的默认优先级一致。3.一种基于权利要求2所述的兼容8051IP核的中断控制器的控制方法,其特征在于,包括以下步骤: (1)中断控制器初始化; (2)判断中断允许寄存器IE以及中断优先级寄存器IP是采用默认的定义方式还是改进的定义方式,如果是改进的定义方式,则进入步骤(4),如果是默认的定义方式则进入步骤(3); (3)中断允许寄存器及中断优先级寄存器均采用默认的定义形式,默认支持5个中断源,2个中断优先级;此时只有从ieO、tfO、iel、tf 1、uart_int接口输入的中断被响应,中断控制器开始工作; (4)设置复用后的中断允许寄存器IE,采用其改进的定义方式,使其开启15个中断源中对应的中断响应;设置复用后的中断优先级寄存器IP,采用其改进的定义,为需要更改优先级的中断设置优先级;此时从所有接口输入的中断均被响应,中断控制器开始工作。4.根据权利要求3所述的控制方法,其特征在于,所述步骤(1)中,中断控制器初始化是指:8个输出接口全部置O ;中断控制器内部的中断允许寄存器IE以及中断优先级寄存器IP均设置为默认值;中断优先级堆栈中,分别把uart_int、tfl、iel、tfO、ieO的中断优先级设置为0001B,低5位外部中断的中断优先级均设置为0010B,高5位外部中断的中断优先级均设置为OOlOB ;等待中断缓存寄存器清零。5.根据权利要求3所述的控制方法,其特征在于,所述步骤(2)中,根据第七输入接口输入的写数据信号,判断中断允许寄存器I...

【专利技术属性】
技术研发人员:易清明曾杰麟石敏陈明敏
申请(专利权)人:暨南大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1