CN103049323A - 一种在fpga中实现的多中断均衡管理方法 - Google Patents

一种在fpga中实现的多中断均衡管理方法 Download PDF

Info

Publication number
CN103049323A
CN103049323A CN2012105890123A CN201210589012A CN103049323A CN 103049323 A CN103049323 A CN 103049323A CN 2012105890123 A CN2012105890123 A CN 2012105890123A CN 201210589012 A CN201210589012 A CN 201210589012A CN 103049323 A CN103049323 A CN 103049323A
Authority
CN
China
Prior art keywords
interrupt
bus
processing unit
fpga
external
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2012105890123A
Other languages
English (en)
Inventor
刘升
崔建杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
XI'AN KEYWAY TECHNOLOGY CO LTD
Original Assignee
XI'AN KEYWAY TECHNOLOGY CO LTD
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by XI'AN KEYWAY TECHNOLOGY CO LTD filed Critical XI'AN KEYWAY TECHNOLOGY CO LTD
Priority to CN2012105890123A priority Critical patent/CN103049323A/zh
Publication of CN103049323A publication Critical patent/CN103049323A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Logic Circuits (AREA)

Abstract

一种在FPGA中实现的多中断均衡管理方法,依赖于在FPGA中实现的几个单元电路共同协作来实现;这几个单元电路包括中断侦测单元、中断消息队列、中断响应处理单元、总线开关和数据缓冲区;其中,中断侦测单元完成外部中断信号的检测和通道号的锁存;中断消息队列用来存储外部中断通道号,确保按照中断先来先处理的原则进行响应;中断响应处理单元负责执行具体的中断任务;总线开关负责把中断响应处理单元的总线和被响应的通道总线进行连接;数据缓冲区用来存放中断响应处理单元执行中断处理任务时从外部总线读取的数据。本发明使得相同优先级的多个外部中断能及时被处理,避免了因为中断响应不均衡带来的数据出错或者系统故障。

Description

一种在FPGA中实现的多中断均衡管理方法
技术领域
本发明涉及一种在FPGA中实现的多中断均衡管理方法。
背景技术
FPGA又称现场可编程门阵列。它是一种可编程逻辑器件,是作为专用集成电路领域中的一种半定制电路而出现的。既解决了定制电路的不足,又克服了原有可编程器件门电路有限的缺点。FPGA具有可重复修改设计、运行速度快的显著优点。它一般采用硬件描述语言(verilog或者VHDL)完成电路的设计,经过专用工具的综合和布局布线,形成二进制文件。生产的二进制文件烧录至FPGA上以后,上电即可自动运行。
由于FPGA采用软件编程的方法来实现硬件电路设计,所以采用FPGA来设计电路,具有非常大的灵活性。对于一个特定的功能,采用FPGA实现相比于采用专用处理器上的软件来实现,最大的优势在于速度。采用FPGA实现的功能电路,可以充分发挥出并行工作的优势,且响应速度可达到10纳秒以下。而采用软件来实现的功能,只能串行的工作,且响应速度一般在几百微妙甚至毫秒级。所以,在现代电子系统设计中,FPGA应用的越来越多。
在基于FPGA的应用系统中,有时候会利用FPGA来管理多个外部中断。传统的管理方法是采用基于优先级轮询的方法,对各个中断安排固定的优先级,依次进行轮询。这种方法稳定可靠,但是对于一些需要对外部事件及时响应的系统并不合适,可能会因为中断处理的不均衡使得外部中断不能被及时处理,造成外部数据丢失或者系统故障。本发明的提出就是为了解决这一问题,使得相同优先级的多个外部中断能及时被处理,避免了因为中断响应不均衡带来的数据出错或者系统故障。
   发明内容
本发明的目的在于提供一种在FPGA中实现的多中断均衡管理方法,其使得相同优先级的多个外部中断能及时被处理,避免了因为中断响应不均衡带来的数据出错或者系统故障。
本发明的技术解决方案是:
一种在FPGA中实现的多中断均衡管理方法,其特殊之处在于:
本方法依赖于在FPGA中实现的几个单元电路共同协作来实现;这几个单元电路包括中断侦测单元、中断消息队列、中断响应处理单元、总线开关和数据缓冲区;
其中
中断侦测单元完成外部中断信号的检测和通道号的锁存;
中断消息队列用来存储外部中断通道号,确保按照中断先来先处理的原则进行响应;
中断响应处理单元负责执行具体的中断任务;
总线开关负责把中断响应处理单元的总线和被响应的通道总线进行连接;
数据缓冲区用来存放中断响应处理单元执行中断处理任务时从外部总线读取的数据。
上述在FPGA中实现的多中断均衡管理方法,其特征在于:具体地
1)中断侦测单元负责外部中断信号的检测和记录,中断消息队列存放外部中断的通道信息;
2)当中断侦测单元检测到外部任意一个通道的中断信号后,向中断消息队列中存入当前的通道号;
3)在存放通道号时,按照先来先存放的原则顺序进行,确保准确的记录中断发生的先后顺序;
4)在向中断响应处理单元传递消息的时候,该消息队列按照先进先出的原则,确保先发生的中断先处理;
5)中断响应处理单元执行具体的中断任务处理,根据不同的应用场合可设计不同的功能,对于本发明所设计的硬件平台,就是读取AD转换中的数据,并写入到数据缓冲区中;
6)总线开关根据消息队列传递出来的通道号,进行总线的多路选择切换,确保中断响应处理单元的数据总线和将要被响应的AD转换通道的数据总线连接。
上述FPGA外接多路AD转换器或多路的串口或多路CAN总线。
本发明具有如下优点:
1、中断处理速度快。相比于传统的采用软件来处理中断任务,采用FPGA来进行任务的处理具有更短的响应时间。软件处理中断任务每次都要经过入栈、任务处理和出栈三个过程,目前通用处理器上这个过程基本都在微秒级,如果在操作系统下进行任务切换时间会更长。而本发明完全没有入栈和出栈两个过程,并且任务处理完全通过硬件来实现,任务处理时间可达到纳秒级。这在高实时性系统中是非常有用的。
2、中断响应及时均衡。采用FPGA管理中断任务的传统方法是基于优先级的轮询方法进行管理,这种方法对每个任务预先排布一个固定的优先级,然后按照这个顺序依次轮询检查,有中断则处理,没有中断则继续轮询检查。这种方法会造成比较大的轮询时间浪费。而本发明对中断响应的思路为先来先响应,没有轮询的过程,从而确保中断任务的及时相应。
附图说明
图1为本发明所依赖的一种硬件平台示意图。
图2为本发明在FPGA中实现时的系统逻辑框图。
 图3为本发明中中断侦测单元的逻辑实现框图。
具体实施方式
为解决现有采用FPGA管理多个相同优先级中断的不均衡问题,本发明以FPGA外接4路高速AD转换器的硬件平台为例,介绍在FPGA中实现多任务实时管理的方法。这种管理方法可以推广到其他采用FPGA进行实时多任务管理的场合,比如FPGA外接多路的串口,FPGA外接多路CAN总线,等等。
参见图1,本发明的实施依赖于一类特定的硬件平台。图1描述了一种FPGA外接四路高速AD转换器的典型应用。该平台只是本发明的其中一种使用方式,借用该硬件平台来描述本发明的实施方法。本发明的应用并不局限于图1说描述的硬件平台。
本发明在FPGA中的实施方法参见图2。本发明的实施依赖于五个基本模块:中断侦测单元、中断消息队列、中断响应处理单元、总线开关和数据缓冲区。
中断侦测单元完成外部中断的检测,并把对应的通道号锁存到中断消息队列。参见图3,每个中断源对应一个同步器和一个判决器。同步器电路采用二级D触发器进行信号的同步,以消除信号在跨时钟域时的信号亚稳态问题,确保信号被可靠采样。锁存器电路用来锁存当前的中断信号,传递给通道记忆电路。当外部中断信号是一个脉冲信号时,通过锁存器后,会变成一个电平信号,确保中断信号不会被遗漏采样。通道判决记忆电路负责对各个锁存器所锁存的中断信号进行判断,对有效信号对应的通道号进行记录,写入到中断消息队列中。
中断消息队列主要由一个FIFO来实现。各个发出中断信号的通道号被锁存后,按照发生的先后次序被写入到FIFO中,以确保在执行中断任务时,能按照先来先处理的原则进行。
总线开关采用一组多路选择器来实现,该多路选择器的选择输入信号就是中断消息队列输出的通道号,根据该通道号,在总线开关内部进行总线切换,把中断响应处理单元的总线和通道号对应的总线进行连接。
中断响应处理单元负责执行具体的中断任务处理功能,该任务功能通过状态机来实现。对本发明所提及的硬件平台而言,就是从AD转换器中读取转换后的数据,并存放在数据缓冲区中制定的存储区域中。根据不同的应用系统,具体任务可能有所不同,但任务处理流程基本都可抽象为数据的外部接口读取和内部的存储管理两大状态。

Claims (2)

1.一种在FPGA中实现的多中断均衡管理方法,其特征在于:
本方法依赖于在FPGA中实现的几个单元电路共同协作来实现;这几个单元电路包括中断侦测单元、中断消息队列、中断响应处理单元、总线开关和数据缓冲区;
其中:
中断侦测单元完成外部中断信号的检测和通道号的锁存;
中断消息队列用来存储外部中断通道号,确保按照中断先来先处理的原则进行响应;
中断响应处理单元负责执行具体的中断任务;
总线开关负责把中断响应处理单元的总线和被响应的通道总线进行连接;
数据缓冲区用来存放中断响应处理单元执行中断处理任务时从外部总线读取的数据。
2.根据权利要求1或2所述在FPGA中实现的多中断均衡管理方法,其特征在于:当FPGA外接多路AD转换器时,具体地
1)中断侦测单元负责外部中断信号的检测和记录,中断消息队列存放外部中断的通道信息;
2)当中断侦测单元检测到外部任意一个通道的中断信号后,向中断消息队列中存入当前的通道号;
3)在存放通道号时,按照先来先存放的原则顺序进行,确保准确的记录中断发生的先后顺序;
4)在向中断响应处理单元传递消息的时候,该消息队列按照先进先出的原则,确保先发生的中断先处理;
5)中断响应处理单元执行具体的中断任务处理,根据不同的应用场合可设计不同的功能,对于本发明所设计的硬件平台,就是读取AD转换中的数据,并写入到数据缓冲区中;
6)总线开关根据消息队列传递出来的通道号,进行总线的多路选择切换,确保中断响应处理单元的数据总线和将要被响应的AD转换通道的数据总线连接。
CN2012105890123A 2012-12-31 2012-12-31 一种在fpga中实现的多中断均衡管理方法 Pending CN103049323A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2012105890123A CN103049323A (zh) 2012-12-31 2012-12-31 一种在fpga中实现的多中断均衡管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2012105890123A CN103049323A (zh) 2012-12-31 2012-12-31 一种在fpga中实现的多中断均衡管理方法

Publications (1)

Publication Number Publication Date
CN103049323A true CN103049323A (zh) 2013-04-17

Family

ID=48061973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012105890123A Pending CN103049323A (zh) 2012-12-31 2012-12-31 一种在fpga中实现的多中断均衡管理方法

Country Status (1)

Country Link
CN (1) CN103049323A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335236A (zh) * 2015-12-10 2016-02-17 厦门市美亚柏科信息股份有限公司 一种分布式取证动态负载均衡调度方法和装置
CN105677474A (zh) * 2016-04-06 2016-06-15 福建星网智慧科技股份有限公司 一种基于fpga的中断聚合装置和方法
CN111124034A (zh) * 2019-11-28 2020-05-08 中国航空工业集团公司西安航空计算技术研究所 一种使用时间处理单元的时序控制方法
CN113162606A (zh) * 2021-03-30 2021-07-23 西南电子技术研究所(中国电子科技集团公司第十研究所) 多优先级控制电路
CN113835855A (zh) * 2021-09-08 2021-12-24 深圳市道通智能汽车有限公司 基于中断系统的多任务访问方法、处理器及任务访问系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198759A1 (en) * 2005-12-30 2007-08-23 Stmicroelectronics Pvt. Ltd. Advanced interrupt processor in embedded systems
CN101299206A (zh) * 2008-06-24 2008-11-05 中兴通讯股份有限公司 一种实现中断采集的方法及装置
CN102004711A (zh) * 2010-11-17 2011-04-06 北京理工大学 一种基于fpga的单中断实时数据传输方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070198759A1 (en) * 2005-12-30 2007-08-23 Stmicroelectronics Pvt. Ltd. Advanced interrupt processor in embedded systems
CN101299206A (zh) * 2008-06-24 2008-11-05 中兴通讯股份有限公司 一种实现中断采集的方法及装置
CN102004711A (zh) * 2010-11-17 2011-04-06 北京理工大学 一种基于fpga的单中断实时数据传输方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李岩,贾小梨,迟欢欢: "基于FPGA中断管理的研究及硬件化设计", 《电子技术应用》, vol. 37, no. 9, 30 September 2011 (2011-09-30), pages 49 - 52 *
祖荫柏: "基于FPGA硬件中断控制器的设计", 《电脑编程技巧与维护》, no. 20, 31 October 2010 (2010-10-31), pages 105 - 107 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335236A (zh) * 2015-12-10 2016-02-17 厦门市美亚柏科信息股份有限公司 一种分布式取证动态负载均衡调度方法和装置
CN105335236B (zh) * 2015-12-10 2019-03-19 厦门市美亚柏科信息股份有限公司 一种分布式取证动态负载均衡调度方法和装置
CN105677474A (zh) * 2016-04-06 2016-06-15 福建星网智慧科技股份有限公司 一种基于fpga的中断聚合装置和方法
CN111124034A (zh) * 2019-11-28 2020-05-08 中国航空工业集团公司西安航空计算技术研究所 一种使用时间处理单元的时序控制方法
CN113162606A (zh) * 2021-03-30 2021-07-23 西南电子技术研究所(中国电子科技集团公司第十研究所) 多优先级控制电路
CN113835855A (zh) * 2021-09-08 2021-12-24 深圳市道通智能汽车有限公司 基于中断系统的多任务访问方法、处理器及任务访问系统

Similar Documents

Publication Publication Date Title
CN103049323A (zh) 一种在fpga中实现的多中断均衡管理方法
CN103376400A (zh) 芯片测试方法及芯片
CN101258463A (zh) 异步脉动流水线
EP2434404B1 (en) Method and arrangement for streaming data profiling
CN101834715A (zh) 一种数据处理方法及数据处理系统以及数据处理装置
CN105024942A (zh) 一种动态流量监控方法
CN107656886B (zh) 一种跨时钟域信号处理电路及其处理方法
CN107562163B (zh) 一种具有稳定复位控制的数字逻辑电路
GB2493416A (en) Synchroniser for interrupt signals
CN102353891A (zh) 一种数字集成电路功能测试仪
US9208008B2 (en) Method and apparatus for multi-chip reduced pin cross triggering to enhance debug experience
CN100578480C (zh) 中断处理方法和装置
CN101183347A (zh) 一种自适应速率匹配总线的桥接电路
EP1865415A1 (en) Methods and system for providing low latency and scalable interrupt collection
CN103106164A (zh) 一种高效dma控制器
CN214586880U (zh) 一种信息处理设备
CN104462006A (zh) 系统级芯片中的多个处理器核间配置同步方法和设备
CN103530246A (zh) 一种fpga数据管理系统
CN111723541A (zh) 一种跨时钟域数据接口的实现方法
CN103631314B (zh) 去除电平信号中毛刺的方法
CN101937364B (zh) 一种中断合成方法及装置
CN103853692B (zh) 一种基于中断判断机制的多处理器数据通讯方法
CN104077198B (zh) 门铃db恢复方法及装置、具有该装置的输入/输出i/o设备
CN202488431U (zh) 实现数据同步的装置
CN201917845U (zh) 一种时钟切换装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20130417