CN105404598A - 实时数据采集系统及方法 - Google Patents

实时数据采集系统及方法 Download PDF

Info

Publication number
CN105404598A
CN105404598A CN201510895083.XA CN201510895083A CN105404598A CN 105404598 A CN105404598 A CN 105404598A CN 201510895083 A CN201510895083 A CN 201510895083A CN 105404598 A CN105404598 A CN 105404598A
Authority
CN
China
Prior art keywords
data
real
time
programmable logic
logic device
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
Application number
CN201510895083.XA
Other languages
English (en)
Other versions
CN105404598B (zh
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.)
No32 Research Institute Of China Electronics Technology Group Corp
Original Assignee
No32 Research Institute Of China Electronics Technology Group Corp
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 No32 Research Institute Of China Electronics Technology Group Corp filed Critical No32 Research Institute Of China Electronics Technology Group Corp
Priority to CN201510895083.XA priority Critical patent/CN105404598B/zh
Publication of CN105404598A publication Critical patent/CN105404598A/zh
Application granted granted Critical
Publication of CN105404598B publication Critical patent/CN105404598B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/28DMA
    • G06F2213/2804Systems 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(数据采集,DataAcquisition)系统利用行业标准计算机的处理、生产、显示和连通能力,提供更强大、灵活且成本效益的测量解决方案。不论是单机数据采集(采集卡+局部总线)还是多点分布式数据采集装置(上位机+下位机+现场总线),一般均包括传感器、DAQ设备(信号调理、数模转换)、通过标准计算机总线(或网络)连接至计算机。现有技术中的DAQ系统组成如图1所示。
现有基于PC的数据采集系统,采用多线程处理技术,为防止数据传输延时、线程调度处理不及时等原因而引起的数据丢失,通常DAQ系统均基于多级缓存机制,由于PC机是分时多任务系统,中断和定时精度不可能达到更高。采用DMA方式降低了CPU的占用率提升了传输带宽,仍不能从根本上满足实时系统对时间的严格要求,而且在强实时性应用场景不允许DMA(直接内存访问,DirectMemoryAccess)长期占用总线,因此单纯DMA技术也存在一定的弊端。采用RTOS(实时操作系统,RealTimeOperatingSystem)任务调度机制可以提高实时性,但缺点是一方面增加系统移植成本,另一方面从根本上受限基于“指令串行”先天缺陷,实时性不容易符合现代高速控制系统要求。如图所示,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(模数转换,AnalogDigitalizeConverter)模数转换器;所述传感器用于采集模拟量数据,所述ADC模数转换器用于将所述模拟量数据转换为数字量数据;所述可编程逻辑器件用于将数字量数据滤波生成滤波数据并传送至计算机的缓存中。
所述可编程逻辑器件用于实现周期性数据刷新有限状态机FSM;所述周期性数据刷新有限状态机FSM(有限状态机,FiniteStateMachine)的周期固定为T,精度至少可达到微秒级甚至纳秒级。所述可编程逻辑器件采用可编程逻辑器件CPLD或现场可编程逻辑器件FPGA。计算机用于执行的终端数据处理任务,一般线程调度方式实现,周期精度一般为毫秒级。可编程逻辑的总线传输控制通过IP核设计实现。
本发明提供的实时数据采集方法,采用所述的实时数据采集系统,包括如下步骤:
步骤1:可编程逻辑器件启动ADC模数转换器;
步骤2:可编程逻辑器件对ADC模数转换器生成的数字量数据进行数字量数据滤波生成滤波数据;
步骤3:将滤波数据暂存到可编程逻辑器件的FIFO缓存中;
步骤4:将所述滤波数据传送到计算机的缓存中;
步骤5:计算机执行所述滤波数据实时采集处理任务。
当滤波数据暂存到可编程逻辑器件的FIFO缓存中时,同时存储一个同步的时间戳标记。在步骤4中,当将所述滤波数据传送到计算机的缓存时,所述计算机数据采集线程通过PIO(编程输入输出,ProgrammingInput/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(GigabitPerSecond),即使采用多CPU核心、实时操作系统,但采集卡总线传输实时性在多任务操作系统下时间精度限于微妙或毫秒级,无法达到更高。本方法通过对现有实时数据采集技术的分析,通过综合利用可编程逻辑强实时性特性,实现了高实时数据采集任务。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变形或修改,这并不影响本发明的实质内容。

Claims (8)

1.一种实时数据采集系统,其特征在于,包括传感器、DAQ设备和计算机;
其中,所述传感器、所述DAQ设备和所述计算机依次相连;所述DAQ设备包括可编程逻辑器件和ADC模数转换器;
所述传感器用于采集模拟量数据,所述ADC模数转换器用于将所述模拟量数据转换为数字量数据;所述可编程逻辑器件用于将数字量数据滤波生成滤波数据并传送至计算机的缓存中。
2.根据权利要求1所述的实时数据采集系统,其特征在于,所述可编程逻辑器件用于实现周期性数据刷新有限状态机FSM;
所述周期性数据刷新有限状态机FSM的周期固定为T。
3.根据权利要求1所述的实时数据采集系统,其特征在于,所述可编程逻辑器件采用可编程逻辑器件CPLD或现场可编程逻辑器件FPGA。
4.一种实时数据采集方法,其特征在于,采用权利要求1至3任一项所述的实时数据采集系统,包括如下步骤:
步骤1:可编程逻辑器件启动ADC模数转换器;
步骤2:可编程逻辑器件对ADC模数转换器生成的数字量数据进行数字量数据滤波生成滤波数据;
步骤3:将滤波数据暂存到可编程逻辑器件的FIFO缓存中;
步骤4:将所述滤波数据传送到计算机的缓存中;
步骤5:计算机执行所述滤波数据实时采集处理任务。
5.根据权利要求4所述的实时数据采集方法,其特征在于,当滤波数据暂存到可编程逻辑器件的FIFO缓存中时,同时存储一个同步的时间戳标记。
6.根据权利要求5所述的实时数据采集方法,其特征在于,在步骤4中,当将所述滤波数据传送到计算机的缓存时,所述计算机数据采集线程通过PIO方式查询当前DAQ设备的时间戳与计算机的缓存时间戳,若当前DAQ设备的时间戳与计算机的缓存时间戳超出设定的实时性阈值,则继续将所述滤波数据传送到计算机的缓存中,否则进步步骤5。
7.根据权利要求4所述的实时数据采集方法,其特征在于,在步骤4之前还包括如下步骤:
-循环重复执行步骤1至步骤3,每次循环执行步骤1至步骤3后,递增一个时间变化量△t1。
8.根据权利要求4所述的实时数据采集方法,其特征在于,在步骤2中,通过DMA方式将滤波数据传送到计算机的缓存中。
CN201510895083.XA 2015-12-07 2015-12-07 实时数据采集系统及方法 Active CN105404598B (zh)

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 true CN105404598A (zh) 2016-03-16
CN105404598B 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)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106200481A (zh) * 2016-08-03 2016-12-07 杭州电子科技大学 一种普适数据采集装置
CN107753013A (zh) * 2017-11-09 2018-03-06 广州众健医疗科技有限公司 一种心电数据采集器数据处理方法
CN107908166A (zh) * 2017-11-20 2018-04-13 上海亚太计算机信息系统有限公司 一种基于工业互联网的汽车制造mes数据采集系统
CN107928661A (zh) * 2017-11-09 2018-04-20 广州众健医疗科技有限公司 一种心电数据采集器数据采集系统及方法
CN108170050A (zh) * 2017-12-21 2018-06-15 黑龙江惠达科技发展有限公司 一种基于Linux系统的高性能陀螺仪数据采集方法
CN108168918A (zh) * 2017-12-25 2018-06-15 中铁第四勘察设计院集团有限公司 用于轨道自动测量车同步测量的同步自动控制系统及方法
CN111045906A (zh) * 2019-11-21 2020-04-21 中国航空工业集团公司西安航空计算技术研究所 一种基于有限状态机的统一架构gpu性能采样与存储方法
CN111125978A (zh) * 2019-12-31 2020-05-08 国微集团(深圳)有限公司 一种仿真数据处理方法及系统
CN111880440A (zh) * 2020-07-31 2020-11-03 仲刚 一种串行链路数据采集方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
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采集卡

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
王凌等: "异步FIFO和PLL在高速雷达数据采集系统中的应用", 《电子设计工程》 *

Cited By (11)

* Cited by examiner, † Cited by third party
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 广州众健医疗科技有限公司 一种心电数据采集器数据采集系统及方法
CN107908166A (zh) * 2017-11-20 2018-04-13 上海亚太计算机信息系统有限公司 一种基于工业互联网的汽车制造mes数据采集系统
CN108170050A (zh) * 2017-12-21 2018-06-15 黑龙江惠达科技发展有限公司 一种基于Linux系统的高性能陀螺仪数据采集方法
CN108168918A (zh) * 2017-12-25 2018-06-15 中铁第四勘察设计院集团有限公司 用于轨道自动测量车同步测量的同步自动控制系统及方法
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 国微集团(深圳)有限公司 一种仿真数据处理方法及系统
CN111880440A (zh) * 2020-07-31 2020-11-03 仲刚 一种串行链路数据采集方法及系统
CN111880440B (zh) * 2020-07-31 2021-08-03 仲刚 一种串行链路数据采集方法及系统

Also Published As

Publication number Publication date
CN105404598B (zh) 2018-01-30

Similar Documents

Publication Publication Date Title
CN105404598A (zh) 实时数据采集系统及方法
US10318468B2 (en) FPGA-based interface signal remapping method
US20180267848A1 (en) Methods for Data Acquisition Systems in Real Time Applications
CN103345192B (zh) 用于光电跟踪仪的智能时钟同步控制电路
CN102841869B (zh) 一种基于fpga的多通道i2c控制器
CN102831090A (zh) 一种用于星载dsp与fpga通讯接口的地址线及其优化方法
CN103440216A (zh) 一种通过i2c从设备调试mcu的芯片及方法
CN104166353A (zh) 一种星用多通道数据采集控制电路及控制方法
CN204166088U (zh) 局部放电信号采集装置
CN203858321U (zh) 一种基于dsp和cpld的配电故障录波器
CN105550131B (zh) 一种基于有限状态机和arinc659总线的接口数据处理系统及方法
US10621122B1 (en) Systems and methods for transferring data with a dual-line first-in-first-out (FIFO) memory array
CN205787772U (zh) 基于fpga实时控制的高速数据采集系统
CN108897696A (zh) 一种基于DDRx存储器的大容量FIFO控制器
CN101739338B (zh) 一种处理器地址数据跟踪的装置及方法
CN102163967B (zh) 一种对脉冲数据进行采样的方法
CN205015164U (zh) 汽车制动性能检测仪的高速同步信号采集系统
Wu et al. Research on the high-speed image acquisition and storage technology based on TMS320C6748
Feng et al. The implementation of distributed high-speed high-accuracy data acquisition system based on EtherCAT
CN203054072U (zh) 一种基于usb总线的电晕电流采集卡
CN104698960A (zh) 一种液压机自动化控制系统用数据交换技术
Tian et al. Design and Implementation of USB3. 0 Data Transmission System based on FPGA
Yu The aircraft engine blade detection system based on USB2. 0 and FPGA
WO2014006588A3 (en) Computer architecture
CN104317688B (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