CN103955255A - 基于fpga的开入量事件精确测量的系统及其方法 - Google Patents
基于fpga的开入量事件精确测量的系统及其方法 Download PDFInfo
- Publication number
- CN103955255A CN103955255A CN201410173421.4A CN201410173421A CN103955255A CN 103955255 A CN103955255 A CN 103955255A CN 201410173421 A CN201410173421 A CN 201410173421A CN 103955255 A CN103955255 A CN 103955255A
- Authority
- CN
- China
- Prior art keywords
- event
- time
- intake
- timer
- cpu
- 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
Links
Landscapes
- Measurement Of Unknown Time Intervals (AREA)
Abstract
本发明公开了一种基于FPGA的开入量事件精确测量系统及其方法,包括CPU和FPGA芯片,所述FPGA芯片内集成有整形电路、边沿检测器、时间模块、定时器、中断发生器以及FIFO缓冲区;边沿检测器检测当前边沿状态,并记录当前事件时标,定时器开始计时;在一个计时周期内,如果边沿状态发生改变,定时器重新计时,并重新记录边沿状态和事件时标;否则,关闭时间计数器并将所述边沿状态、事件时标送入FIFO缓冲区,同时通过中断发生器将硬件中断信号发送给CPU;CPU响应硬件中断信号,获取FIFO缓冲区的数据内容,输出开入量的类型和事件时标。本发明能够在保证开入量事件测量精度的同时,显著减少了CPU的占用率。
Description
技术领域
本发明涉及一种基于FPGA的开入量事件精确测量系统,还涉及一种基于FPGA的开入量事件精确测量的方法,属于电力系统测控技术领域。
背景技术
现有开入量事件的测量方法,采用CPU软处理的方式,具体为:CPU通过定时器设定一个固定时间查询输入端口的状态,如果当前状态值与上一次状态值不同,则记录时间标记,并在接下来的多个定时中断中(次数决定去抖动时间),再次判断该值是否改变,如果没有改变,则最终记录这个开入量事件。这样的设计方法,时间精度由定时器时间来决定,如果定时器时间为100us,则记录精度只有100us。减少定时器时间可提高记录精度,但也导致CPU占用率的提高,时间精度与CPU占用率是相互矛盾的因素,顾此失彼。
发明内容
本发明的目的是针对现有技术中的不足,提供一种基于FPGA的开入量事件精确测量的系统,解决现有技术中因提高开入量事件测量精度导致CPU占用率较高的技术问题。
本发明的目的是这样实现的:基于FPGA的开入量事件精确测量系统,其特征在于,包括CPU和FPGA芯片,所述FPGA芯片内集成有整形电路、边沿检测器、时间模块、定时器、中断发生器以及FIFO缓冲区;所述时间模块包括有事件记录器和由FPGA芯片的内部时钟控制的时间计数器;所述边沿检测器、时间模块、定时器分别配置有各自的配置寄存器,CPU通过各所述配置寄存器配置参数;
所述整形电路将开入量信号整形、滤波后输出至边沿检测器;
边沿检测器检测当前信号的边沿状态,并分别发送触发信号给时间模块和定时器;时间模块的事件记录器记录边沿状态,并根据时间计数器记录当前事件时标;定时器用于周期计时,计时周期结束,若边沿状态未发生变化,发送指令给FIFO缓冲区;
FIFO缓冲区从事件记录器中调取并存储边沿状态和事件时标信息,同时通知中断发生器向CPU发送中断请求;
CPU响应中断请求,通过总线逻辑从FIFO缓冲区中获取数据内容,输出开入量的类型和事件时标。
所述时间计数器包括进行微秒计数的10000000进制计数器、分别进行秒、分计数的60进制计数器、进行时计数的24进制计数器、进行天计数的365或366进制的计数器和进行年计数的100进制计数器。时间计数器可自动在内部时钟控制下计数,具备10000000进制计数器,最高可精确到微秒。
所述整形电路由光耦隔离电路和施密特触发器组成。光耦隔离电路实现开入量的电气隔离,开入量经电气隔离之后送入施密特触发器,将开入量信号的边沿变得更加陡峭,便于边沿检测器的检测识别。
所述边沿检测器包括有上升边沿检测器和下降边沿检测器。通过对边沿检测器的配置寄存器配置参数设置上升边沿检测器和下将边沿检测器的工作状态,多样化设置,方便屏蔽不需要的触发事件,便于CPU读取有效信息,进一步提高测量精度。
所述定时器的计时周期为 ms,其中,0≤n≤4,n属于整数。定时器实现去抖动的功能,计时周期越小则去抖动的性能越高,记录精度也就越高。
相对于现有技术,本发明取得了以下有益效果:FPGA芯片内部有丰富的触发器和I/O引脚,采用FPGA芯片进行开入量事件的测量,在保证开入量事件测量精度的同时,显著减少了CPU的占用率,同时又解决了现有技术中定制电路的不足,克服了原有可编程器件门电路数有限的缺点;FPGA芯片具备在线修改能力,随时修改设计而不必改动硬件电路,可以大大缩短设计时间,减少PCB面积。
本发明的另一目的是提供一种基于FPGA的开入量事件精确测量的方法,解决现有技术中开入量事件测量精确度不高的技术问题。
为解决以上技术问题,本发明的所提供的基于FPGA的开入量事件精确测量的方法,包括如下步骤:
步骤一:初始化定时器、边沿状态检测器和事件记录器;
步骤二:将开入量信号经整形电路整形后送入FPGA芯片的边沿检测器;
步骤三:边沿检测器检测当前边沿状态,并触发事件记录器,依据时间计数器记录当前事件时标,同时打开定时器,开始计时;
步骤四:在一个计时周期内,判断边沿状态是否发生改变:如果边沿状态发生改变,则返回步骤一;如果边沿状态未发生改变,则关闭时间计数器并将所述边沿状态、事件时标送入FIFO缓冲区,同时通过中断发生器将硬件中断信号发送给CPU;
步骤五:CPU响应硬件中断信号,获取所述FIFO缓冲区的数据内容,输出开入量的类型和事件时标。
与现有技术相比,本发明的有益效果是:开入量的测量过程由FPGA芯片处理,提高开入量事件精确度的同时,不会增加CPU占用率,显著提高了系统的工作效率和测量精度;当硬件中断信号到来时,CPU仅需访问FPGA的FIFO缓冲区即可获得开入量事件的信息,操作简单、易于实现。
附图说明
图1为本发明基于FPGA的开入量事件精确测量系统的结构原理框图。
具体实施方式
下面结合附图对本发明作进一步详细描述。
如图1所示,本发明提供的基于FPGA的开入量事件精确测量系统,包括CPU和FPGA芯片,FPGA芯片内集成有整形电路、边沿检测器、时间模块、定时器、中断发生器以及FIFO缓冲区。时间模块包括有事件记录器和由FPGA芯片的内部时钟控制的时间计数器。边沿检测器、时间模块、定时器分别配置有各自的配置寄存器,CPU通过各配置寄存器配置参数。整形电路由光耦隔离电路和施密特触发器组成。整形电路将开入量信号整形、滤波后输出至边沿检测器。边沿检测器包括有上升边沿检测器和下降边沿检测器。边沿检测器检测当前信号的边沿状态,并分别发送触发信号给时间模块和定时器;时间模块的事件记录器记录边沿状态,并根据时间计数器记录当前事件时标;定时器用于周期计时,计时周期结束,若边沿状态未发生变化,发送指令给FIFO缓冲区。FIFO缓冲区从事件记录器中调取并存储边沿状态和事件时标信息,同时通知中断发生器向CPU发送中断请求。CPU响应中断请求,通过总线逻辑从FIFO缓冲区中获取数据内容,输出开入量的类型和事件时标。时间计数器包括进行微秒计数的10000000进制计数器、分别进行秒、分计数的60进制计数器、进行时计数的24进制计数器、进行天计数的365或366进制的计数器和进行年计数的100进制计数器。定时器的计时周期为ms,其中,0≤n≤4,n属于整数。
本发明提供的基于FPGA的开入量事件精确测量的方法,包括如下步骤:
步骤一:初始化定时器、边沿状态检测器和事件记录器。
步骤二:将开入量信号经整形电路整形后送入FPGA芯片的边沿检测器。
步骤三:边沿检测器检测当前边沿状态,并触发事件记录器,依据时间计数器记录当前事件时标,同时打开定时器,开始计时。
步骤四:在一个计时周期内,判断边沿状态是否发生改变:如果边沿状态发生改变,则返回步骤一;如果边沿状态未发生改变,则关闭时间计数器并将边沿状态、事件时标送入FIFO缓冲区,同时通过中断发生器将硬件中断信号发送给CPU。
步骤五:CPU响应硬件中断信号,获取FIFO缓冲区的数据内容,输出开入量的类型和事件时标。
本发明并不局限于上述实施例,在本发明公开的技术方案的基础上,本领域的技术人员根据所公开的技术内容,不需要创造性的劳动就可以对其中的一些技术特征作出一些替换和变形,这些替换和变形均在本发明的保护范围内。
Claims (6)
1.基于FPGA的开入量事件精确测量系统,其特征在于,包括CPU和FPGA芯片,所述FPGA芯片内集成有整形电路、边沿检测器、时间模块、定时器、中断发生器以及FIFO缓冲区;所述时间模块包括有事件记录器和由FPGA芯片的内部时钟控制的时间计数器;所述边沿检测器、时间模块、定时器分别配置有各自的配置寄存器,CPU通过各所述配置寄存器配置参数;
所述整形电路将开入量信号整形、滤波后输出至边沿检测器;
边沿检测器检测当前信号的边沿状态,并分别发送触发信号给时间模块和定时器;时间模块的事件记录器记录边沿状态,并根据时间计数器记录当前事件时标;定时器用于周期计时,计时周期结束,若边沿状态未发生变化,发送指令给FIFO缓冲区;
FIFO缓冲区从事件记录器中调取并存储边沿状态和事件时标信息,同时通知中断发生器向CPU发送中断请求;
CPU响应中断请求,通过总线逻辑从FIFO缓冲区中获取数据内容,输出开入量的类型和事件时标。
2.根据权利要求1所述的基于FPGA的开入量事件精确测量的方法,其特征在于,所述时间计数器包括进行微秒计数的10000000进制计数器、分别进行秒、分计数的60进制计数器、进行时计数的24进制计数器、进行天计数的365或366进制的计数器和进行年计数的100进制计数器。
3.根据权利要求1所述的基于FPGA的开入量事件精确测量系统,其特征在于,所述整形电路由光耦隔离电路和施密特触发器组成。
4.根据权利要求1所述的基于FPGA的开入量事件精确测量系统,其特征在于,所述边沿检测器包括有上升边沿检测器和下降边沿检测器。
5.根据权利要求1所述的基于FPGA的开入量事件精确测量的方法,其特征在于,所述定时器的计时周期为 ms,其中,0≤n≤4,n属于整数。
6.基于FPGA的开入量事件精确测量的方法,其特征在于,包括如下步骤:
步骤一:初始化定时器、边沿状态检测器和事件记录器;
步骤二:将开入量信号经整形电路整形、滤波后送入FPGA芯片的边沿检测器;
步骤三:边沿检测器检测当前边沿状态,并发送触发信号给定时器和时间模块,时间模块的事件记录器根据时间计数器记录当前事件时标,定时器开始周期计时;
步骤四:在一个计时周期内,判断边沿状态是否发生改变:如果边沿状态发生改变,则返回步骤一;如果边沿状态未发生改变,则关闭时间计数器并将边沿状态、事件时标送入FIFO缓冲区,同时通知中断发生器向CPU发出中断请求;
步骤五:CPU响应中断请求,获取所述FIFO缓冲区的数据内容,输出开入量的类型和事件时标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410173421.4A CN103955255A (zh) | 2014-04-28 | 2014-04-28 | 基于fpga的开入量事件精确测量的系统及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410173421.4A CN103955255A (zh) | 2014-04-28 | 2014-04-28 | 基于fpga的开入量事件精确测量的系统及其方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103955255A true CN103955255A (zh) | 2014-07-30 |
Family
ID=51332540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410173421.4A Pending CN103955255A (zh) | 2014-04-28 | 2014-04-28 | 基于fpga的开入量事件精确测量的系统及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103955255A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108267982A (zh) * | 2017-12-20 | 2018-07-10 | 北京控制工程研究所 | 一种仿真平台数字量通用采集方法 |
CN112749106A (zh) * | 2019-10-29 | 2021-05-04 | 西安奇维科技有限公司 | 一种基于fpga的中断管理方法 |
CN114280977A (zh) * | 2021-11-29 | 2022-04-05 | 苏州浪潮智能科技有限公司 | 一种基于fpga的大规模定时方法及装置 |
CN114546029A (zh) * | 2019-12-30 | 2022-05-27 | 珠海极海半导体有限公司 | 控制芯片、mcu芯片、mpu芯片及dsp芯片 |
CN116088407A (zh) * | 2023-01-04 | 2023-05-09 | 乐星电气(无锡)有限公司 | 一种优化输入滤波功能的plc输入回路 |
CN116136673A (zh) * | 2023-04-19 | 2023-05-19 | 合肥安迅精密技术有限公司 | 贴片机整机控制系统及方法、贴片机 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855172A (zh) * | 2012-07-24 | 2013-01-02 | 福建亿榕信息技术有限公司 | 高精度记录网卡接收时间的方法 |
-
2014
- 2014-04-28 CN CN201410173421.4A patent/CN103955255A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102855172A (zh) * | 2012-07-24 | 2013-01-02 | 福建亿榕信息技术有限公司 | 高精度记录网卡接收时间的方法 |
Non-Patent Citations (2)
Title |
---|
王宾 等: "智能变电站126kV智能终端设计与测试方案研究", 《电力系统保护与控制》 * |
高磊 等: "智能变电站一体化集成测试平台设计", 《电力建设》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108267982A (zh) * | 2017-12-20 | 2018-07-10 | 北京控制工程研究所 | 一种仿真平台数字量通用采集方法 |
CN112749106A (zh) * | 2019-10-29 | 2021-05-04 | 西安奇维科技有限公司 | 一种基于fpga的中断管理方法 |
CN114546029A (zh) * | 2019-12-30 | 2022-05-27 | 珠海极海半导体有限公司 | 控制芯片、mcu芯片、mpu芯片及dsp芯片 |
CN114280977A (zh) * | 2021-11-29 | 2022-04-05 | 苏州浪潮智能科技有限公司 | 一种基于fpga的大规模定时方法及装置 |
CN114280977B (zh) * | 2021-11-29 | 2024-02-02 | 苏州浪潮智能科技有限公司 | 一种基于fpga的大规模定时方法及装置 |
CN116088407A (zh) * | 2023-01-04 | 2023-05-09 | 乐星电气(无锡)有限公司 | 一种优化输入滤波功能的plc输入回路 |
CN116136673A (zh) * | 2023-04-19 | 2023-05-19 | 合肥安迅精密技术有限公司 | 贴片机整机控制系统及方法、贴片机 |
CN116136673B (zh) * | 2023-04-19 | 2023-07-21 | 合肥安迅精密技术有限公司 | 贴片机整机控制系统及方法、贴片机 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103955255A (zh) | 基于fpga的开入量事件精确测量的系统及其方法 | |
CN102692563B (zh) | 时钟频率检测器 | |
CN105760330B (zh) | 一种带apb接口的多路频率采集电路 | |
TW201109959A (en) | Multiple-power-domain static timing analysis | |
CN103197139A (zh) | 时钟频率测试方法和时钟频率测试电路 | |
CN203645321U (zh) | 防呆保护电路 | |
CN104571263B (zh) | 一种片上定时器 | |
CN103176045A (zh) | 基于重合脉冲计数的异频双相位重合检测系统及方法 | |
CN106324341A (zh) | 一种基于片上系统的多通道信号频率测量模块 | |
CN202583376U (zh) | Fpga开发板i/o检测系统 | |
CN207457344U (zh) | 基于fpga及其软核的等精度频率计 | |
CN104461035A (zh) | 可处理多按键同时按下的mcu键盘电路及其实现方法 | |
CN204942697U (zh) | 一种节能控水器 | |
CN104142651A (zh) | 一种开关门信号测量电路 | |
CN103744094B (zh) | 基于复杂可编程逻辑器件组合的导航系统时序差测量模块 | |
CN104102890B (zh) | Nfc移动通信终端及其检测卡的方法 | |
CN104793539B (zh) | 基于脉冲的多节点选通监测系统 | |
CN204883472U (zh) | 一种基于实时时钟芯片的svg系统 | |
CN102736549A (zh) | 24位采集模块 | |
CN202145308U (zh) | 抗恶劣环境计算机的多主模块管理接口模块 | |
CN106018962A (zh) | 一种信号间相位差为0到2π的自动数字鉴相电路及系统 | |
CN204851728U (zh) | 一种利用看门狗电路检测风扇运行状态的电路 | |
CN205103313U (zh) | 一种高精确计量的节电率计量表 | |
CN203587987U (zh) | 一种新型多通道计时仪 | |
CN204679551U (zh) | 基于fpga的高适应度等精度测频装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140730 |
|
RJ01 | Rejection of invention patent application after publication |