CN110765045A - 一种基于fpga的中断延时计数系统及方法 - Google Patents
一种基于fpga的中断延时计数系统及方法 Download PDFInfo
- Publication number
- CN110765045A CN110765045A CN201910887180.2A CN201910887180A CN110765045A CN 110765045 A CN110765045 A CN 110765045A CN 201910887180 A CN201910887180 A CN 201910887180A CN 110765045 A CN110765045 A CN 110765045A
- Authority
- CN
- China
- Prior art keywords
- counting
- interrupt
- module
- host
- fpga
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 39
- 230000002093 peripheral effect Effects 0.000 claims abstract description 32
- 238000012545 processing Methods 0.000 claims description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Abstract
本发明提出的一种基于FPGA的中断延时计数系统及方法,从外设中断触发,一直到主机处理完中断服务程序,中断延时计数器能准确计算出主机处理中断的时长。计算的结果也不需要通过主机告知对应中断模块,中断模块直接就可以从该延时计数器获得对应的时长。
Description
技术领域
本发明涉及计算机技术领域,更具体的说是涉及一种基于FPGA的中断延时计数系统及方法。
背景技术
随着异构加速日益广泛的应用,基于FPGA的加速卡也发展迅速。加速卡FPGA通过PCIE接口与服务器主机连接,服务器主机通过PCIE接口将需要加速的数据发送给加速卡FPGA,加速卡FPGA处理完成后通过PCIE接口返回相关的数据。
在整个系统中,有很多外设需要向主机发送中断,主机执行中断服务程序处理中断。而有一些设备的中断是延时敏感的,在有些特定应用中,需要知道主机处理中断的时间长度,这就需要计算出主机处理中断的时长。
对于这种问题,目前主要的处理方式是在主机应用程序端,用软件计算得出处理中断的时间。而在硬件逻辑方面,没有通用的处理方法。
但是,用软件计算得出的结果没有硬件逻辑计算得到的准确,而且发送中断的模块不能直接知道主机处理中断的时长,需要host将计算的结果通过写寄存器的方式告知该模块,而配置寄存器也是需要时间的,这就又导致新的延时。
发明内容
针对以上问题,本发明的目的在于提供一种基于FPGA的中断延时计数系统及方法,实现了中断处理时间的准确计算。
本发明为实现上述目的,通过以下技术方案实现:一种基于FPGA的中断延时计数系统,包括主机和多个外设,所述外设分别向主机发送中断请求信号,还包括中断延时计数器,所述中断延时计数器分别与主机和外设连接;
所述中断延时计数器包括:配置模块、控制模块和计数模块,所述配置模块和控制模块分别与计数模块连接,配置模块、控制模块和计数模块分别与主机连接,计数模块与外设连接;
所述配置模块用于接收主机的配置信息,所述配置信息包括时钟频率和外设的中断类型;
所述控制模块用于控制计数模块的计数动作;
所述计数模块根据配置模块的配置信息和控制模块的控制信息,对每个外设的中断请求进行计数,并根据计数值计算得出主机处理中断服务程序的时间。
进一步,所述外设的中断类型包括:电平中断和沿中断。
进一步,所述计数模块包括多个计数单元,每个计数单元分别与一个外设连接,用于接收外设的中断请求信号。
进一步,所述控制模块控制计数模块的计数动作包括:控制模块控制计数模块中的计数单元对应中断的计数启动和停止。
进一步,所述计数模块收到中断请求信号时开始计数,主机处理完中断服务程序后,计数模块收到配置模块发送的配置信息,停止计数;用计数值乘以时钟频率得出主机处理中断服务程序的时间。
相应的,本发明还公开了一种基于FPGA的中断延时计数方法,包括:
主机将配置信息写入配置模块,所述配置信息包括时钟频率和每个外设的中断类型;
主机将控制信息写入控制模块,所述控制信息包括中断启停信息和屏蔽信息;
配置模块将配置信息发送至计数模块,控制模块将控制信息发送至计数模块;计数模块中的计数单元检测到中断请求信号有效后开始计数;
中断请求停止后,计数单元停止计数;
计数单元根据计数值计算得出主机处理中断服务程序的时间,并将时间数据写入在计数模块的存储单元。
进一步,所述外设的中断类型包括:电平中断和沿中断。
进一步,所述中断请求停止后,计数单元停止计数包括:如果中断类型为电平中断,当终端请求信号失效后,立即停止终端。
进一步,所述中断请求停止后,计数单元停止计数包括:如果中断类型为沿中断,主机处理完中断服务程序后,将完成信息写入控制模块,控制模块控制计数模块停止计数。
进一步,所述计数单元根据计数值计算得出主机处理中断服务程序的时间包括:计数单元用计数值乘以时钟频率得出主机处理中断服务程序的时间。
对比现有技术,本发明有益效果在于:本发明提供了一种基于FPGA的中断延时计数系统及方法,从外设中断触发,一直到主机处理完中断服务程序,中断延时计数器能准确计算出主机处理中断的时长。计算的结果也不需要通过主机告知对应中断模块,中断模块直接就可以从该延时计数器获得对应的时长。
中断延时计数器可以封装成IP独立使用,这样可移植性和复用性都大大增强。中断延时计数器可以用于各种加速卡的应用开发,可以扩展配置信息满足主机对中断的各种计数需求,也可以扩展终端请求数量,从32个扩展到更多,适用性较强。
由此可见,本发明与现有技术相比,具有突出的实质性特点和显著的进步,其实施的有益效果也是显而易见的。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
附图1是本发明的系统结构图。
附图2是本发明的方法流程图。
具体实施方式
下面结合附图对本发明的具体实施方式做出说明。
如图1所示,本发明提供了一种基于FPGA的中断延时计数系统,包括主机和32个外设,所述外设分别向主机发送中断请求信号,还包括中断延时计数器,所述中断延时计数器分别与主机和外设连接。所述中断延时计数器包括:配置模块、控制模块和计数模块,所述配置模块和控制模块分别与计数模块连接,配置模块、控制模块和计数模块分别与主机连接,计数模块与外设连接。所述计数模块包括32个计数单元,每个计数单元分别与一个外设连接,用于接收外设的中断请求信号。
所述配置模块用于接收主机的配置信息,所述配置信息包括时钟频率和外设的中断类型。外设的中断类型包括:电平中断和沿中断。
所述控制模块用于控制计数模块的计数动作;控制模块是控制计数模块中的对应各中断的计数是否有效,计数何时停止。
所述计数模块收到中断请求信号时开始计数,主机处理完中断服务程序后,计数模块收到配置模块发送的配置信息,停止计数;用计数值乘以时钟频率得出主机处理中断服务程序的时间。
在所述基于FPGA的中断延时计数系统中,32个外设都有向主机的中断接口,主机接收来自这些设备的中断,然后处理对应的中断服务程序。而中断延时计算器的作用就是计算主机处理中断服务程序的时长。
相应的,如图2所示,本发明还公开了一种基于FPGA的中断延时计数方法,包括:
主机将配置信息写入配置模块,所述配置信息包括时钟频率和每个外设的中断类型。外设的中断类型包括:电平中断和沿中断。
主机将控制信息写入控制模块,所述控制信息包括中断启停信息和屏蔽信息。
配置模块将配置信息发送至计数模块,控制模块将控制信息发送至计数模块。
计数模块中的计数单元检测到中断请求信号有效后开始计数。
中断请求停止后,计数单元停止计数。如果中断类型为电平中断,当终端请求信号失效后,立即停止终端。如果中断类型为沿中断,主机处理完中断服务程序后,将完成信息写入控制模块,控制模块控制计数模块停止计数。
计数单元根据计数值计算得出主机处理中断服务程序的时间,并将时间数据写入在计数模块的存储单元。计数单元用计数值乘以时钟频率得出主机处理中断服务程序的时间。
本发明介绍了一种基于FPGA的中断延时计数方法,本发明描述了实现的功能框架以及相关的执行方法。本发明的中断延时计数器能独立运用于各种加速卡的应用开发,可以扩展配置信息满足主机对中断的各种计数需求,也可以扩展中断请求数量,从32个扩展到更多,适用性较强。
在本发明所提供的实施例中,应该理解到,所揭露的系统、系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。
同理,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
结合附图和具体实施例,对本发明作进一步说明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所限定的范围。
Claims (10)
1.一种基于FPGA的中断延时计数系统,包括主机和多个外设,所述外设分别向主机发送中断请求信号,其特征在于,还包括中断延时计数器,所述中断延时计数器分别与主机和外设连接;
所述中断延时计数器包括:配置模块、控制模块和计数模块,所述配置模块和控制模块分别与计数模块连接,配置模块、控制模块和计数模块分别与主机连接,计数模块与外设连接;
所述配置模块用于接收主机的配置信息,所述配置信息包括时钟频率和外设的中断类型;
所述控制模块用于控制计数模块的计数动作;
所述计数模块根据配置模块的配置信息和控制模块的控制信息,对每个外设的中断请求进行计数,并根据计数值计算得出主机处理中断服务程序的时间。
2.根据权利要求1所述的基于FPGA的中断延时计数系统,其特征在于,所述外设的中断类型包括:电平中断和沿中断。
3.根据权利要求1所述的基于FPGA的中断延时计数系统,其特征在于,所述计数模块包括多个计数单元,每个计数单元分别与一个外设连接,用于接收外设的中断请求信号。
4.根据权利要求3所述的基于FPGA的中断延时计数系统,其特征在于,所述控制模块控制计数模块的计数动作包括:控制模块控制计数模块中的计数单元对应中断的计数启动和停止。
5.根据权利要求1所述的基于FPGA的中断延时计数系统,其特征在于,所述计数模块收到中断请求信号时开始计数,主机处理完中断服务程序后,计数模块收到配置模块发送的配置信息,停止计数;用计数值乘以时钟频率得出主机处理中断服务程序的时间。
6.一种基于FPGA的中断延时计数方法,其特征在于,包括:
主机将配置信息写入配置模块,所述配置信息包括时钟频率和每个外设的中断类型;
主机将控制信息写入控制模块,所述控制信息包括中断启停信息和屏蔽信息;
配置模块将配置信息发送至计数模块,控制模块将控制信息发送至计数模块;
计数模块中的计数单元检测到中断请求信号有效后开始计数;
中断请求停止后,计数单元停止计数;
计数单元根据计数值计算得出主机处理中断服务程序的时间,并将时间数据写入在计数模块的存储单元。
7.根据权利要求6所述的基于FPGA的中断延时计数方法,其特征在于,所述外设的中断类型包括:电平中断和沿中断。
8.根据权利要求7所述的基于FPGA的中断延时计数方法,其特征在于,所述中断请求停止后,计数单元停止计数包括:如果中断类型为电平中断,当终端请求信号失效后,立即停止终端。
9.根据权利要求7所述的基于FPGA的中断延时计数方法,其特征在于,所述中断请求停止后,计数单元停止计数包括:如果中断类型为沿中断,主机处理完中断服务程序后,将完成信息写入控制模块,控制模块控制计数模块停止计数。
10.根据权利要求6所述的基于FPGA的中断延时计数方法,其特征在于,所述计数单元根据计数值计算得出主机处理中断服务程序的时间包括:计数单元用计数值乘以时钟频率得出主机处理中断服务程序的时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887180.2A CN110765045B (zh) | 2019-09-19 | 2019-09-19 | 一种基于fpga的中断延时计数系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887180.2A CN110765045B (zh) | 2019-09-19 | 2019-09-19 | 一种基于fpga的中断延时计数系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110765045A true CN110765045A (zh) | 2020-02-07 |
CN110765045B CN110765045B (zh) | 2021-08-03 |
Family
ID=69329933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910887180.2A Active CN110765045B (zh) | 2019-09-19 | 2019-09-19 | 一种基于fpga的中断延时计数系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110765045B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112002066A (zh) * | 2020-08-28 | 2020-11-27 | 湖北骏翔电子科技有限公司 | 一种基于定时中断触发的双干簧管计数装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101299206A (zh) * | 2008-06-24 | 2008-11-05 | 中兴通讯股份有限公司 | 一种实现中断采集的方法及装置 |
CN101373443A (zh) * | 2008-09-23 | 2009-02-25 | 北京中星微电子有限公司 | 一种主机响应、停止响应及处理外设中断的方法 |
CN201387606Y (zh) * | 2009-04-21 | 2010-01-20 | 北京星网锐捷网络技术有限公司 | 中断处理装置和物理连接状态翻转事件处理装置 |
CN103257670A (zh) * | 2012-02-21 | 2013-08-21 | 北京国微集成技术有限公司 | 嵌入式系统及其计时方法 |
US9075639B1 (en) * | 2012-10-23 | 2015-07-07 | Altera Corporation | Systems and methods for handling interrupts during software design simulation |
US20160103704A1 (en) * | 2007-12-05 | 2016-04-14 | C/O Renesas Electronics Corporation | Data processing device and method of controlling the same |
CN205507744U (zh) * | 2016-04-06 | 2016-08-24 | 福建星网智慧科技股份有限公司 | 一种基于fpga的中断聚合装置 |
CN106547710A (zh) * | 2015-09-16 | 2017-03-29 | 中国航空工业第六八研究所 | 一种基于机上1553b总线rtc时间的任务计时及分析方法 |
-
2019
- 2019-09-19 CN CN201910887180.2A patent/CN110765045B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160103704A1 (en) * | 2007-12-05 | 2016-04-14 | C/O Renesas Electronics Corporation | Data processing device and method of controlling the same |
CN101299206A (zh) * | 2008-06-24 | 2008-11-05 | 中兴通讯股份有限公司 | 一种实现中断采集的方法及装置 |
CN101373443A (zh) * | 2008-09-23 | 2009-02-25 | 北京中星微电子有限公司 | 一种主机响应、停止响应及处理外设中断的方法 |
CN201387606Y (zh) * | 2009-04-21 | 2010-01-20 | 北京星网锐捷网络技术有限公司 | 中断处理装置和物理连接状态翻转事件处理装置 |
CN103257670A (zh) * | 2012-02-21 | 2013-08-21 | 北京国微集成技术有限公司 | 嵌入式系统及其计时方法 |
US9075639B1 (en) * | 2012-10-23 | 2015-07-07 | Altera Corporation | Systems and methods for handling interrupts during software design simulation |
CN106547710A (zh) * | 2015-09-16 | 2017-03-29 | 中国航空工业第六八研究所 | 一种基于机上1553b总线rtc时间的任务计时及分析方法 |
CN205507744U (zh) * | 2016-04-06 | 2016-08-24 | 福建星网智慧科技股份有限公司 | 一种基于fpga的中断聚合装置 |
Non-Patent Citations (1)
Title |
---|
周强 和 傅余: "Windows XP中断响应时间的特性研究", 《测试技术学报》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112002066A (zh) * | 2020-08-28 | 2020-11-27 | 湖北骏翔电子科技有限公司 | 一种基于定时中断触发的双干簧管计数装置 |
CN112002066B (zh) * | 2020-08-28 | 2022-06-17 | 湖北骏翔电子科技有限公司 | 一种基于定时中断触发的双干簧管计数装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110765045B (zh) | 2021-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3352083B1 (en) | Debugging method, multi-core processor, and debugging equipment | |
US6678777B2 (en) | Integrated real-time performance monitoring facility | |
US7752374B2 (en) | Method and apparatus for host messaging unit for peripheral component interconnect busmaster devices | |
EP3343377A1 (en) | Debugging method, multi-core processor, and debugging equipment | |
CN107038137B (zh) | 一种热插拔的设备及方法 | |
CN101788947A (zh) | 系统总线的监测方法、系统总线监测器及片上系统 | |
CN110399324A (zh) | 中断转换器及中断转换方法 | |
US6418497B1 (en) | Method and system for interrupt handling using system pipelined packet transfers | |
CN110765045B (zh) | 一种基于fpga的中断延时计数系统及方法 | |
CN100543713C (zh) | 防止lpc总线死锁的方法和装置 | |
US20150293865A1 (en) | Restore PCIe Transaction ID On The Fly | |
CN110968352A (zh) | 一种pcie设备的复位系统及服务器系统 | |
US7689991B2 (en) | Bus management techniques | |
US7181559B2 (en) | Message based transport mechanism for level sensitive interrupts | |
CN106844025B (zh) | 一种异步中断处理方法及中断控制器 | |
CN114968880A (zh) | 多主机系统及主机设备与共享人机接口装置的操作方法 | |
CN116601616A (zh) | 一种数据处理装置、方法及相关设备 | |
US7716397B2 (en) | Methods and systems for interprocessor message exchange between devices using only write bus transactions | |
CN113190331B (zh) | 一种时统卡在虚拟机上的中断延时优化方法 | |
KR940009104B1 (ko) | 시스템간의 데이타 전송방법 | |
US20230153156A1 (en) | Synchronization of system resources in a multi-socket data processing system | |
KR100856259B1 (ko) | 인터럽트를 수행하는 프로그래머블 로직 다바이스와 이를이용한 프로세서 보드 이중화 장치 및 방법 | |
WO2024016864A1 (zh) | 处理器、获取信息的方法、单板及网络设备 | |
CN116225151A (zh) | 一种基于时钟总线的数据处理系统和方法 | |
CN109240955B (zh) | 电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |