CN105404598B - 实时数据采集系统及方法 - Google Patents
实时数据采集系统及方法 Download PDFInfo
- Publication number
- CN105404598B CN105404598B CN201510895083.XA CN201510895083A CN105404598B CN 105404598 B CN105404598 B CN 105404598B CN 201510895083 A CN201510895083 A CN 201510895083A CN 105404598 B CN105404598 B CN 105404598B
- Authority
- CN
- China
- Prior art keywords
- data
- computer
- time
- real
- filtering
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 12
- 238000001914 filtration Methods 0.000 claims abstract description 42
- 230000000737 periodic effect Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 2
- 230000007246 mechanism Effects 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 241001274660 Modulus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- VIKNJXKGJWUCNN-XGXHKTLJSA-N norethisterone Chemical compound O=C1CC[C@@H]2[C@H]3CC[C@](C)([C@](CC4)(O)C#C)[C@@H]4[C@@H]3CCC2=C1 VIKNJXKGJWUCNN-XGXHKTLJSA-N 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
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/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/28—DMA
- G06F2213/2804—Systems and methods for controlling the DMA frequency on an access bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Analogue/Digital Conversion (AREA)
Abstract
本发明提供了一种实时数据采集系统及方法,包括传感器、DAQ设备和计算机;其中,所述传感器、所述DAQ设备和所述计算机依次相连;所述DAQ设备包括可编程逻辑器件和ADC模数转换器;所述传感器用于采集模拟量数据,所述ADC模数转换器用于将所述模拟量数据转换为数字量数据;所述可编程逻辑器件用于将数字量数据滤波生成滤波数据并传送至计算机的缓存中。本发明采用通用的微处理器和可编程逻辑器件即可实现,与现有数据采集装置结构兼容,将可编程并行计算应用于数据采集实现,克服CPU指令串行和操作系统调度导致的非实时因素,以极低的硬件成本实现较高的性能。
Description
技术领域
本发明涉及数据采集,具体地,涉及一种实时数据采集系统及方法。
背景技术
数据采集是使用计算机测量电压、电流、温度、压力或声音等电子、物理现象的过程。基于PC的DAQ(数据采集,Data Acquisition)系统利用行业标准计算机的处理、生产、显示和连通能力,提供更强大、灵活且成本效益的测量解决方案。不论是单机数据采集(采集卡+局部总线)还是多点分布式数据采集装置(上位机+下位机+现场总线),一般均包括传感器、DAQ设备(信号调理、数模转换)、通过标准计算机总线(或网络)连接至计算机。现有技术中的DAQ系统组成如图1所示。
现有基于PC的数据采集系统,采用多线程处理技术,为防止数据传输延时、线程调度处理不及时等原因而引起的数据丢失,通常DAQ系统均基于多级缓存机制,由于PC机是分时多任务系统,中断和定时精度不可能达到更高。采用DMA方式降低了CPU的占用率提升了传输带宽,仍不能从根本上满足实时系统对时间的严格要求,而且在强实时性应用场景不允许DMA(直接内存访问,Direct Memory Access)长期占用总线,因此单纯DMA技术也存在一定的弊端。采用RTOS(实时操作系统,RealTime Operating System)任务调度机制可以提高实时性,但缺点是一方面增加系统移植成本,另一方面从根本上受限基于“指令串行”先天缺陷,实时性不容易符合现代高速控制系统要求。如图所示,1代表T0时刻DAQ设备缓存数据已准备好,但数据到达计算机缓存的时刻Tx时缓存数据如2所示;而最终到达线程调度时刻Ty,进入线程的缓存内容为4,而3成为下一周期T0时刻的缓存,如此往复执行。即Ty时刻处理的数据是T0时刻的数据,而Ty的精度在基于缓存的机制下无法得到更加精确的保证,导致系统实时性无法保证。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种实时数据采集系统及方法。
根据本发明的一个方面提供的实时数据采集系统,包括传感器、DAQ设备和计算机;
其中,所述传感器、所述DAQ设备和所述计算机依次相连;所述DAQ设备包括可编程逻辑器件和ADC模数转换器;
所述传感器用于采集模拟量数据,所述ADC模数转换器用于将所述模拟量数据转换为数字量数据;所述可编程逻辑器件用于将数字量数据滤波生成滤波数据并传送至计算机的缓存中。
优选地,所述可编程逻辑器件用于实现周期性数据刷新有限状态机FSM;
所述周期性数据刷新有限状态机FSM的周期固定为T,其精度不会受操作系统调度延时、程序指令中断等延时等因素的限制,因而可达到微妙甚至纳秒级精度的数量级。
优选地,所述可编程逻辑器件采用可编程逻辑器件CPLD或现场可编程逻辑器件FPGA。
根据本发明的另一个方面提供的实时数据采集方法,采用所述的实时数据采集系统,包括如下步骤:
步骤1:可编程逻辑器件启动ADC模数转换器;
步骤2:可编程逻辑器件对ADC模数转换器生成的数字量数据进行数字量数据滤波生成滤波数据;
步骤3:将滤波数据暂存到可编程逻辑器件的FIFO缓存中;
步骤4:将所述滤波数据传送到计算机的缓存中;
步骤5:计算机执行所述滤波数据实时采集处理任务。
优选地,当滤波数据暂存到可编程逻辑器件的FIFO缓存中时,同时存储一个同步的时间戳标记。
优选地,在步骤4中,当将所述滤波数据传送到计算机的缓存时,所述计算机数据采集线程通过PIO方式实时查询当前DAQ设备的时间戳与计算机的缓存时间戳,若当前DAQ设备的时间戳与计算机的缓存时间戳超出设定的实时性阈值,则继续将所述滤波数据传送到计算机的缓存中,否则进步步骤5。
优选地,在步骤4之前还包括如下步骤:
-循环重复执行步骤1至步骤3,每次循环执行步骤1至步骤3后,递增一个时间变化量△t1。
优选地,在步骤2中,通过DMA方式将滤波数据传送到计算机的缓存中。
与现有技术相比,本发明具有如下的有益效果:
1、本发明采用通用的微处理器和可编程逻辑器件即可实现,与现有数据采集装置结构兼容,将可编程并行计算应用于数据采集实现,克服CPU指令串行和操作系统调度导致的非实时因素,以极低的硬件成本实现较高的性能;
2、本发明克服了传统的数据采集技术因缓存延时、线程调度实时精度不高导致的系统实时性问题,将实时精度提高一个数量级(微秒甚至纳秒);
3、本发明原理可扩展用于其他计算机数据处理任务,尤其适用于多通道并行高速数据采集系统。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为现有技术中DAQ系统的结构示意图;
图2为现有技术中DAQ系统的多级缓存机制示意图;
图3为现有技术中DAQ系统的多级缓存机制的时间示意图;
图4为本发明的结构示意图;
图5为本发明中的实时数据原理示意图。
图中:
10为时间轴;
11为任务调度时刻;
12为精细间隔时间;
13为数据采样值缓存阵列;
14、15、16、17均为非实时的任务调度时刻间隔;
18为时间间隔;
100为有限状态机FSM。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。
随着半导体工艺水平提高,可编程逻辑技术(CPLD、FPGA)以其并行执行、逻辑可定制、实现成本低、硬件强实时等技术优势,在计算机领域得到大规模应用。为了实现本发明的目的,本发明提供的实时数据采集系统,包括传感器、DAQ设备和计算机;其中,所述传感器、所述DAQ设备和所述计算机依次相连;所述DAQ设备包括可编程逻辑器件和ADC(模数转换,Analog Digitalize Converter)模数转换器;所述传感器用于采集模拟量数据,所述ADC模数转换器用于将所述模拟量数据转换为数字量数据;所述可编程逻辑器件用于将数字量数据滤波生成滤波数据并传送至计算机的缓存中。
所述可编程逻辑器件用于实现周期性数据刷新有限状态机FSM;所述周期性数据刷新有限状态机FSM(有限状态机,Finite State Machine)的周期固定为T,精度至少可达到微秒级甚至纳秒级。所述可编程逻辑器件采用可编程逻辑器件CPLD或现场可编程逻辑器件FPGA。计算机用于执行的终端数据处理任务,一般线程调度方式实现,周期精度一般为毫秒级。可编程逻辑的总线传输控制通过IP核设计实现。
本发明提供的实时数据采集方法,采用所述的实时数据采集系统,包括如下步骤:
步骤1:可编程逻辑器件启动ADC模数转换器;
步骤2:可编程逻辑器件对ADC模数转换器生成的数字量数据进行数字量数据滤波生成滤波数据;
步骤3:将滤波数据暂存到可编程逻辑器件的FIFO缓存中;
步骤4:将所述滤波数据传送到计算机的缓存中;
步骤5:计算机执行所述滤波数据实时采集处理任务。
当滤波数据暂存到可编程逻辑器件的FIFO缓存中时,同时存储一个同步的时间戳标记。在步骤4中,当将所述滤波数据传送到计算机的缓存时,所述计算机数据采集线程通过PIO(编程输入输出,Programming Input/Output)模式查询当前DAQ设备的时间戳与计算机的缓存时间戳,若当前DAQ设备的时间戳与计算机的缓存时间戳超出设定的实时性阈值,则继续将所述滤波数据传送到计算机的缓存中,否则进步步骤5。在步骤4之前还包括如下步骤:
-循环往复执行步骤1至步骤3,每次循环执行后递增一个高精度时间变化量△t1,同样地,其精度不会受操作系统调度延时、程序指令中断延时等因素的限制,因而可达到微妙甚至纳秒级精度的数量级。。步骤2中,通过DMA方式将滤波数据传送到计算机的缓存中。
本发明提供的实时数据采集系统的同步工作原理如下:首先可编程逻辑器件启动ADC模数转换器,自此ADC模数转换器并行周期性工作,直到采集任务结束;在可编程逻辑器件对ADC模数转换器生成的数字量数据的数字滤波,滤波周期固定;将滤波数据暂存到可编程逻辑器件的FIFO缓存中,特别地,在存储数据时,同时存储一个严格同步的时间戳标记(精确到ns级);循环往复执行上述步骤,每次递增一个精细的时间变化量△t1;通过DMA方式将数据传送到计算机的缓存116中(时间可以忽略),在数据采集线程调度时刻(因具体操作系统和调度机制不同),通过PIO方式(CPU发起)查询当前DAQ设备时间戳与计算机的缓存116缓存时间戳差异,若超出设定的实时性阈值,则继续发起DMA传输进行同步,否则进入数据处理阶段。在计算机终端执行实时的数据采集处理任务,至此,实现了系统级实时采集。
如图4所示,10代表时间轴,11代表其中一个任务调度时刻,13为数据采样值缓存阵列,由时间间隔18的数据构成,每组数据包含精细间隔时间12的采集数据信息,14、15、16、17代表非实时的任务调度时刻间隔。目前基于微处理器及任务调度机制的数据终端设备,14-17远大于18,因此,通过缓存的时间戳与DAQ设备实时的时间戳差异控制,可以得到实时性更高的采集系统。
本发明将原有采集系统设计为两部分,即实时的可编程逻辑器件部分与非实时的计算机部分;可编程逻辑将精细实时时间戳信息封装在数据采集,DMA方式高速传输到计算机缓存;本发明设计一个硬实时同步机制,实时控制策略根据时间戳机制进行,不依赖于严格的线程或定时器、中断等实时机制;本发明适用于多通道并行数据采集的场合,适用于多通道并行采集情况,通道切换动作由可编程逻辑器件精确同步。
虽然现行数据采集主机总线带宽达到Gbps(Gigabit Per Second),即使采用多CPU核心、实时操作系统,但采集卡总线传输实时性在多任务操作系统下时间精度限于微妙或毫秒级,无法达到更高。本方法通过对现有实时数据采集技术的分析,通过综合利用可编程逻辑强实时性特性,实现了高实时数据采集任务。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。
Claims (5)
1.一种实时数据采集系统,其特征在于,包括传感器、DAQ设备和计算机;
其中,所述传感器、所述DAQ设备和所述计算机依次相连;所述DAQ设备包括可编程逻辑器件和ADC模数转换器;
所述传感器用于采集模拟量数据,所述ADC模数转换器用于将所述模拟量数据转换为数字量数据;所述可编程逻辑器件用于将数字量数据滤波生成滤波数据并传送至计算机的缓存中;
其中,当滤波数据暂存到可编程逻辑器件的FIFO缓存中时,同时存储一个同步的时间戳标记;
当将所述滤波数据传送到计算机的缓存时,所述计算机数据采集线程通过PIO方式查询当前DAQ设备的时间戳与计算机的缓存时间戳,若当前DAQ设备的时间戳与计算机的缓存时间戳超出设定的实时性阈值,则继续将所述滤波数据传送到计算机的缓存中,否则计算机执行所述滤波数据实时采集处理任务;
所述传感器、所述ADC模数转换器以及所述可编程逻辑器循环重复采集、转换以及滤波并传送,每次循环执行递增一个时间变化量△t1。
2.根据权利要求1所述的实时数据采集系统,其特征在于,所述可编程逻辑器件用于实现周期性数据刷新有限状态机FSM;
所述周期性数据刷新有限状态机FSM的周期固定为T。
3.根据权利要求1所述的实时数据采集系统,其特征在于,所述可编程逻辑器件采用可编程逻辑器件CPLD或现场可编程逻辑器件FPGA。
4.一种实时数据采集方法,其特征在于,采用权利要求1至3任一项所述的实时数据采集系统,包括如下步骤:
步骤1:可编程逻辑器件启动ADC模数转换器;
步骤2:可编程逻辑器件对ADC模数转换器生成的数字量数据进行数字量数据滤波生成滤波数据;
步骤3:将滤波数据暂存到可编程逻辑器件的FIFO缓存中;
步骤4:将所述滤波数据传送到计算机的缓存中;
步骤5:计算机执行所述滤波数据实时采集处理任务;
当滤波数据暂存到可编程逻辑器件的FIFO缓存中时,同时存储一个同步的时间戳标记;
在步骤4中,当将所述滤波数据传送到计算机的缓存时,所述计算机数据采集线程通过PIO方式查询当前DAQ设备的时间戳与计算机的缓存时间戳,若当前DAQ设备的时间戳与计算机的缓存时间戳超出设定的实时性阈值,则继续将所述滤波数据传送到计算机的缓存中,否则进步步骤5;
在步骤4之前还包括如下步骤:
-循环重复执行步骤1至步骤3,每次循环执行步骤1至步骤3后,递增一个时间变化量△t1。
5.根据权利要求4所述的实时数据采集方法,其特征在于,在步骤2中,通过DMA方式将滤波数据传送到计算机的缓存中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510895083.XA CN105404598B (zh) | 2015-12-07 | 2015-12-07 | 实时数据采集系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510895083.XA CN105404598B (zh) | 2015-12-07 | 2015-12-07 | 实时数据采集系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105404598A CN105404598A (zh) | 2016-03-16 |
CN105404598B true CN105404598B (zh) | 2018-01-30 |
Family
ID=55470094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510895083.XA Active CN105404598B (zh) | 2015-12-07 | 2015-12-07 | 实时数据采集系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105404598B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106200481A (zh) * | 2016-08-03 | 2016-12-07 | 杭州电子科技大学 | 一种普适数据采集装置 |
CN107753013A (zh) * | 2017-11-09 | 2018-03-06 | 广州众健医疗科技有限公司 | 一种心电数据采集器数据处理方法 |
CN107928661A (zh) * | 2017-11-09 | 2018-04-20 | 广州众健医疗科技有限公司 | 一种心电数据采集器数据采集系统及方法 |
CN107908166B (zh) * | 2017-11-20 | 2020-10-09 | 上海亚太计算机信息系统有限公司 | 一种基于工业互联网的汽车制造mes数据采集系统 |
CN108170050A (zh) * | 2017-12-21 | 2018-06-15 | 黑龙江惠达科技发展有限公司 | 一种基于Linux系统的高性能陀螺仪数据采集方法 |
CN108168918B (zh) * | 2017-12-25 | 2019-12-27 | 中铁第四勘察设计院集团有限公司 | 用于轨道自动测量车同步测量的同步自动控制系统及方法 |
CN111045906A (zh) * | 2019-11-21 | 2020-04-21 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于有限状态机的统一架构gpu性能采样与存储方法 |
CN111125978A (zh) * | 2019-12-31 | 2020-05-08 | 国微集团(深圳)有限公司 | 一种仿真数据处理方法及系统 |
CN111880440B (zh) * | 2020-07-31 | 2021-08-03 | 仲刚 | 一种串行链路数据采集方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092219A (zh) * | 2013-01-15 | 2013-05-08 | 中国科学院光电技术研究所 | 一种fsm远程实时控制时间补偿系统及方法 |
CN104899341A (zh) * | 2015-05-28 | 2015-09-09 | 西北工业大学 | 基于fpga的内嵌可选滤波算法的高速pci采集卡 |
-
2015
- 2015-12-07 CN CN201510895083.XA patent/CN105404598B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092219A (zh) * | 2013-01-15 | 2013-05-08 | 中国科学院光电技术研究所 | 一种fsm远程实时控制时间补偿系统及方法 |
CN104899341A (zh) * | 2015-05-28 | 2015-09-09 | 西北工业大学 | 基于fpga的内嵌可选滤波算法的高速pci采集卡 |
Non-Patent Citations (1)
Title |
---|
异步FIFO和PLL在高速雷达数据采集系统中的应用;王凌等;《电子设计工程》;20091031;第17卷(第10期);第91-93页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105404598A (zh) | 2016-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404598B (zh) | 实时数据采集系统及方法 | |
CN101364097B (zh) | 一种高实时性的多通道数据采集系统 | |
CN103345192B (zh) | 用于光电跟踪仪的智能时钟同步控制电路 | |
Khedkar et al. | High speed FPGA-based data acquisition system | |
CN102841869B (zh) | 一种基于fpga的多通道i2c控制器 | |
CN1570907B (zh) | 多处理器系统 | |
CN102012717A (zh) | 一种时钟切换方法及时钟切换装置 | |
CN201804075U (zh) | 一种基于fpga的输电线路单端故障定位装置 | |
JP6340481B2 (ja) | データキャッシング方法、装置及び記憶媒体 | |
CN103475493A (zh) | 多网口智能网卡及数据处理方法 | |
CN103716051A (zh) | 一种高精度的模数转换电路系统 | |
CN111143261A (zh) | 一种基于pcie高速数据采集系统 | |
CN100511193C (zh) | 一种外部存储器控制器时序配置的装置及方法 | |
CN103177133A (zh) | 一种数据采集和存储的系统及方法 | |
CN109067399B (zh) | 一种多采样率的adc控制器实现方法 | |
US10621122B1 (en) | Systems and methods for transferring data with a dual-line first-in-first-out (FIFO) memory array | |
CN111381539B (zh) | 一种总线实时同步控制装置 | |
Sánchez-Garrido et al. | Sub-nanosecond synchronization over 1G Ethernet data links using white rabbit technologies on the WR-ZEN board | |
CN202332303U (zh) | 一种多通道实时直读存储器结构 | |
CN205015164U (zh) | 汽车制动性能检测仪的高速同步信号采集系统 | |
CN106970611B (zh) | 网络化控制系统采样周期优化控制方法 | |
KR20200070972A (ko) | 시간정보 기반 직렬통신 제어 방법 및 장치 | |
CN115237037B (zh) | 调速器在线监测模拟信号同步采集与处理方法及系统 | |
Pan et al. | Design of Multichannel High-speed Synchronous Data Acquisition System Based on Multi-FPGA and Distributed Control Strategy | |
CN109656199B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |