一种FPGA2子模块的io中断控制方法技术

技术编号:24352975 阅读:43 留言:0更新日期:2020-06-03 01:58
本发明专利技术专利公开了一种FPGA2子模块的io中断控制方法,其控制方法包括如下步骤:首先将软件初始化,把中断状态全部清零,同时把中断屏蔽位全部打开,并按照一级、二级、三级至四级的顺序进行;外部测试在GPIO5产生上升沿的中断触发,GPIO外设模块获取到GPIO5的中断,之后IO外设模块获取到GPIO的中断;通过对中断屏蔽位按照顺序打开,而且各个子模块逐层传递获取中断信号,同时能够对电平进行逐个恢复,使得FPGA可以对模块的中断状态进行逐级标记,同时能实现有效清除,提高判断结果精确度,解决了目前FPGA在进行中断控制处理过程中仍然存在一定的不足之处,其模块的中断状态不能被有效标记,导致其中断结果容易出现误差的问题。

An IO interrupt control method of fpga2 sub module

【技术实现步骤摘要】
一种FPGA2子模块的io中断控制方法
本专利技术专利涉及FPGA2子模块中断控制
,具体为一种FPGA2子模块的io中断控制方法。
技术介绍
FPGA是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点,与传统模式的芯片设计进行对比,FPGA芯片并非单纯局限于研究以及设计芯片,而是针对较多领域产品都能借助特定芯片模型予以优化设计。从芯片器件的角度讲,FPGA本身构成了半定制电路中的典型集成电路,其中含有数字管理模块、内嵌式单元、输出单元以及输入单元等。目前的FPGA在进行中断控制处理过程中仍然存在一定的不足之处,其模块的中断状态不能被有效标记,导致其中断结果容易出现误差,为此提出一种可以对模块的中断状态进行逐级标记,同时能实现有效清除,提高判断结果精确度的中断控制方法来解决此问题。专利技术专利内容(一)解决的技术问题本专利技术专利的目的在于提供一种FPGA2子模块的io中断控制方法,以解决上述
技术介绍
中提出的目前FPGA在进行中断控制处理过程中仍然存在一定的不足之处,其模块的中断状态不能被有效标记,导致其中断结果容易出现误差的问题。(二)技术方案为实现上述目的,本专利技术专利提供如下技术方案:一种FPGA2子模块的io中断控制方法,其控制方法包括如下步骤:(1)状态重置:首先将软件初始化,把中断状态全部清零,同时把中断屏蔽位全部打开,并按照一级、二级、三级至四级的顺序进行;(2)中断触发:外部测试在GPIO5产生上升沿的中断触发;(3)中断传递:GPIO外设模块获取到GPIO5的中断,之后IO外设模块获取到GPIO的中断,之后ALL外设模块获取到IO的中断,之后CPU接收到ALL的中断;(4)中断读取:CPU收到中断后,读取ALL外设模块内的中断状态,根据中断的类型,依次向上一层恢复电平状态;(5)中断处理:CPU对恢复电平后的各个模块中断状态的标记进行清除,并同时对该对应模块进行状态恢复,最后结束中断处理过程。优选的,所述步骤(1)中,在读取中断状态时,按照级数递增进行读取,在清空中断状态时,按照级数递减进行清零。优选的,所述步骤(1)中,第一级中断控制是将多种中断源汇总成一个总中断信号到CPU,第二级中断为IO通信总中断,且它由IO中断控制产生,第三级中断为GPIO总中断,且它由GPIO控制产生,第四级中断为多种对外接口通信中断,它是由多种对外接口控制产生。优选的,所述步骤(1)中,第一级中断的中断源包括但不限于BMC过温预警中断,第二级中断的中断源包括但不限于GPIO总中断、多种对外接口通信中断,第三级中断的中断源包括16路GPIO,第四级中断的中断源包括但不限于接收fifo非空中断。优选的,所述步骤(3)中,GPIO外设模块获取到中断后,将中断状态第5位标记有效,IO外设模块获取到中断后,将GPIO中断状态位标记有效,ALL外设模块获取到中断后,将IO中断状态位标记有效。优选的,所述步骤(3)中,GPIO标记后并向IO外设模块产生中断高电平,IO标记后并向ALL外设模块产生中断高电平,ALL标记后并向CPU产生中断低电平。优选的,所述步骤(4)中,所判断的中断类型为三个,它们分别为IO中断、GPIO中断和GPIO5中断,且恢复的电平状态均为产生中断电平的反状态。优选的,所述步骤(4)中,判断是IO中断时,此时ALL外设模块将中断低电平信号恢复高电平,判断是GPIO中断时,此时IO外设模块将中断高电平恢复低电平,判断是GPIO5中断时,此时GPIO外设模块将中断高电平恢复低电平。优选的,所述步骤(5)中,CPU清除GPIO外设模块内的中断状态的第5位,CPU清除IO外设模块内的中断状态的GPIO标记位,CPU清除ALL外设模块内的中断状态的IO标记位。优选的,所述步骤(5)中,GPIO外设模块被清除后恢复到IDLE态,IO外设模块被清除后恢复到IDLE态,ALL外设模块被清除后恢复到IDLE态。有益效果与现有技术相比,本专利技术专利提供了一种FPGA2子模块的io中断控制方法,具备以下有益效果:通过对中断屏蔽位按照顺序打开,而且各个子模块逐层传递获取中断信号,同时能够对电平进行逐个恢复,使得FPGA可以对模块的中断状态进行逐级标记,同时能实现有效清除,提高判断结果精确度,解决了目前FPGA在进行中断控制处理过程中仍然存在一定的不足之处,其模块的中断状态不能被有效标记,导致其中断结果容易出现误差的问题。具体实施方式下面将对本专利技术专利实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术专利一部分实施例,而不是全部的实施例。基于本专利技术专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术专利保护的范围。本专利技术专利提供一种技术方案:一种FPGA2子模块的io中断控制方法,其控制方法包括如下步骤:(1)状态重置:首先将软件初始化,把中断状态全部清零,同时把中断屏蔽位全部打开,并按照一级、二级、三级至四级的顺序进行;(2)中断触发:外部测试在GPIO5产生上升沿的中断触发;(3)中断传递:GPIO外设模块获取到GPIO5的中断,之后IO外设模块获取到GPIO的中断,之后ALL外设模块获取到IO的中断,之后CPU接收到ALL的中断;(4)中断读取:CPU收到中断后,读取ALL外设模块内的中断状态,根据中断的类型,依次向上一层恢复电平状态;(5)中断处理:CPU对恢复电平后的各个模块中断状态的标记进行清除,并同时对该对应模块进行状态恢复,最后结束中断处理过程。实施例一:一种FPGA2子模块的io中断控制方法,其控制方法包括如下步骤:(1)状态重置:首先将软件初始化,把中断状态全部清零,同时把中断屏蔽位全部打开,并按照一级、二级、三级至四级的顺序进行,在读取中断状态时,按照级数递增进行读取,在清空中断状态时,按照级数递减进行清零,第一级中断控制是将多种中断源汇总成一个总中断信号到CPU,第二级中断为IO通信总中断,且它由IO中断控制产生,第三级中断为GPIO总中断,且它由GPIO控制产生,第四级中断为多种对外接口通信中断,它是由多种对外接口控制产生,第一级中断的中断源包括但不限于BMC过温预警中断,第二级中断的中断源包括但不限于GPIO总中断、多种对外接口通信中断,第三级中断的中断源包括16路GPIO,第四级中断的中断源包括但不限于接收fifo非空中断,当I/O操作完成时,输入输出设备控制器通过中断请求线向处理器发出中断信号,处理器收到中断信号之后,转向预先设计好的中断处理程序,对数据传送工作进行相应的处理,得到了数据的进程,转入就绪状态,在随后的某个时刻,进程调度程序会选中该进程继续工作,提高整体效率;<本文档来自技高网...

【技术保护点】
1.一种FPGA2子模块的io中断控制方法,其特征在于:其控制方法包括如下步骤:/n(1)状态重置:首先将软件初始化,把中断状态全部清零,同时把中断屏蔽位全部打开,并按照一级、二级、三级至四级的顺序进行;/n(2)中断触发:外部测试在GPIO5产生上升沿的中断触发;/n(3)中断传递:GPIO外设模块获取到GPIO5的中断,之后IO外设模块获取到GPIO的中断,之后ALL外设模块获取到IO的中断,之后CPU接收到ALL的中断;/n(4)中断读取:CPU收到中断后,读取ALL外设模块内的中断状态,根据中断的类型,依次向上一层恢复电平状态;/n(5)中断处理:CPU对恢复电平后的各个模块中断状态的标记进行清除,并同时对该对应模块进行状态恢复,最后结束中断处理过程。/n

【技术特征摘要】
1.一种FPGA2子模块的io中断控制方法,其特征在于:其控制方法包括如下步骤:
(1)状态重置:首先将软件初始化,把中断状态全部清零,同时把中断屏蔽位全部打开,并按照一级、二级、三级至四级的顺序进行;
(2)中断触发:外部测试在GPIO5产生上升沿的中断触发;
(3)中断传递:GPIO外设模块获取到GPIO5的中断,之后IO外设模块获取到GPIO的中断,之后ALL外设模块获取到IO的中断,之后CPU接收到ALL的中断;
(4)中断读取:CPU收到中断后,读取ALL外设模块内的中断状态,根据中断的类型,依次向上一层恢复电平状态;
(5)中断处理:CPU对恢复电平后的各个模块中断状态的标记进行清除,并同时对该对应模块进行状态恢复,最后结束中断处理过程。


2.根据权利要求1所述的一种FPGA2子模块的io中断控制方法,其特征在于:所述步骤(1)中,在读取中断状态时,按照级数递增进行读取,在清空中断状态时,按照级数递减进行清零。


3.根据权利要求2所述的一种FPGA2子模块的io中断控制方法,其特征在于:所述步骤(1)中,第一级中断控制是将多种中断源汇总成一个总中断信号到CPU,第二级中断为IO通信总中断,且它由IO中断控制产生,第三级中断为GPIO总中断,且它由GPIO控制产生,第四级中断为多种对外接口通信中断,它是由多种对外接口控制产生。


4.根据权利要求3所述的一种FPGA2子模块的io中断控制方法,其特征在于:所述步骤(1)中,第一级中断的中断源包括但不限于BMC过温预警中断,第二级中断的中断源包括但不限于GPIO总中断、多种对外接口通信中断,第三级中断的中断源包括16路GPIO,第四级中断的中断源包括但不限于接收fifo非空中断。

【专利技术属性】
技术研发人员:周灿荣徐金平凌清平林振兴彭亦华
申请(专利权)人:重庆秦嵩科技有限公司
类型:发明
国别省市:重庆;50

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

1