CN111464255B - 一种基于cpld的数据同步方法和数据采集装置 - Google Patents
一种基于cpld的数据同步方法和数据采集装置 Download PDFInfo
- Publication number
- CN111464255B CN111464255B CN202010274525.XA CN202010274525A CN111464255B CN 111464255 B CN111464255 B CN 111464255B CN 202010274525 A CN202010274525 A CN 202010274525A CN 111464255 B CN111464255 B CN 111464255B
- Authority
- CN
- China
- Prior art keywords
- data
- packet
- main controller
- synchronization
- real
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004806 packaging method and process Methods 0.000 claims abstract description 7
- 238000012163 sequencing technique Methods 0.000 claims abstract description 7
- 238000005070 sampling Methods 0.000 claims description 29
- 230000001360 synchronised effect Effects 0.000 claims description 20
- 238000003780 insertion Methods 0.000 claims description 8
- 230000037431 insertion Effects 0.000 claims description 8
- 239000000126 substance Substances 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 108700009949 PTP protocol Proteins 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
Abstract
本发明涉及一种基于CPLD的数据同步方法和数据采集装置,包括步骤S100:主控制器向采集节点发送同步指令,采集节点根据所述同步指令以采集实时数据;S200:对所述实时数据进行组包获得第一数据包,在第一数据包中插入包序号以获得第二数据包,将第二数据包发送至所述主控制器;S300:判断主控制器在预设的时间段内是否接收到所述第二数据包,若是,则将相同包序号的第二数据包进行排序组合,提取出所述第二数据包在同一时刻的数据,对提取出的数据进行打包以实现数据同步;若否,则重新执行步骤S100。本发明实现了数据同步的方法,该方法精度高、实现简单、成本低。
Description
技术领域
本发明属于数据采集技术领域,具体地说,涉及一种基于CPLD的数据同步方法和数据采集装置。
背景技术
在主从节点架构的数据采集装置中,主节点会接收多个从节点的数据,并且需要解析从节点发送的数据包,将相同时刻产生的数据包进行排序组合,这个过程即为数据同步。
现有技术中的数据同步的方法多种多样,各种方法实现的时间精度和实现成本也不尽相同,在us(微秒)级的同步精度内,一般的实现方法包括GPS同步、PTP同步、NTP同步,各种数据同步实现方法存在的技术问题如下:
1、GPS同步
现有技术中的同步采集装置包括GPS接收器、CPLD时钟处理模块和模拟数字转换器ADC);GPS接收器负责为数据采集终端提供同步时钟的脉冲信号,采用1PPS脉冲提供标准的时钟信号;CPLD时钟处理模块负责将GPS接收器提供的同步脉冲信号进行分频处理,产生高频时钟信号提供给ADC作为同步采样时钟,通过控制倍频值,进行采样时钟的调整;在满足现场采样频率的前提下提高数据采集终端的同步特性;ADC负责采集工业现场的模拟信号并将其转换成数字信号,并由CPLD进行控制;
由于这种同步采集装置包括GPS接收器,采集节点每发送一段数据,同步数据采集的数据帧包括时间戳和数据段两部分,因此主控制器需要通过时间戳对齐数据,但是该技术方案受制于地理条件,必须在开阔户外场地才可以使用;
2、PTP同步
PTP主要是通过主从设备间进行消息传递,计算时间偏差以达到主从设备同步的目的。现有技术中是将PTP报文协议通过SDH进行传输,在时间源处,主时钟通过以太网络发出协议报文,经过E1/Ethernet协议转换器,将以太网码流转换成E1HDB3码流,然后通过SDH网络逐级传递,在达到从时钟前,经过E1/Ethernet协议转换器将E1HDB3码流转换成以太网码流,传递给从时钟。从时钟发出的报文也经过类似的过程传递到主时钟处,从时钟根据这些报文的硬件时间戳来计算和调整从时钟的时间;
上述这种PTP同步的基本原理是通过底层硬件打时间戳,在每个环节都要配备具备PTP协议的硬件;由于需要在采集节点设备、主控制器设备上增加具备PTP协议的同步芯片,因此这种方法的实现成本非常高;
3、NTP同步
现有技术中采用NTP实现数据同步方法是:采用网络时间协议NTP的客户端/服务器模式,中心服务器作为服务端,与Kinect客户端作为客户端;Kinect客户端A发送一个NTP报文给中心服务器,所述NTP报文携有离开Kinect客户端A时的时间戳T1;当所述NTP报文到达中心服务器时,中心服务器在时间戳T1后面加上时间戳T2;中心服务器将所述NTP报文反馈给Kinect客户端A,当所述NTP报文离开中心服务器时,中心服务器在时间戳T2后面再加上时间戳T3;当Kinect客户端A接收到所述NTP报文时,Kinect客户端A在时间戳T3后面再加上本地时间戳T4;计算NTP报文的往返时延delay;计算Kinect客户端A的相对时间差offset;Kinect客户端A根据往返时延和相对时间差,计算Tm来同步自己的系统时钟,使Kinect客户端系统时钟与中心服务器的时钟保持同步;
这种NTP(网络时间协议Network Time Protocol)同步的基本原理是在软件应用层,通过计算发送延时值和接收延时值进行误差补偿,由于NTP协议的时间校准和时间戳插入通常由CPU完成,对于非实时操作系统来说,如果CPU的处理性能较低,则这种数据同步实现的时间精度也比较低。
综上,现有技术存在应用受限于地理位置、实现成本非常高和对CPU的处理性能要求高且实现的时间精度比较低的技术方案。
发明内容
有鉴于此,本发明提供一种基于CPLD的数据同步方法和数据采集装置,以解决现有技术中的至少一个技术问题。
本发明的技术方案是:
第一方面,本发明提供一种基于CPLD的数据同步方法,该数据同步方法包括:
S100:主控制器向采集节点发送同步指令,所述采集节点根据所述同步指令以采集实时数据;
S200:对所述实时数据进行组包获得第一数据包,在第一数据包中插入包序号以获得第二数据包,将第二数据包发送至所述主控制器;
S300:判断主控制器在预设的时间段内是否接收到所述第二数据包,若是,则将相同包序号的第二数据包进行排序组合,提取出所述第二数据包在同一时刻的数据,对提取出的数据进行打包以实现数据同步;若否,则重新执行步骤S100。
进一步的,若主控制器向采集节点发送了m次同步指令,该主控制器仍未接收所述第二数据包,则生成报警信号。
进一步的,所述采集节点包括ADC、CPLD和CPU,其中,所述步骤S100包括以下子步骤S110-S130;
S110:CPU接收所述同步指令;
S120:CPU通过GPIO向CPLD发送置位信号;
S130:CPLD根据所述置位信号启动ADC,该ADC开始采集实时数据。
进一步的,所述步骤S200包括以下子步骤S210-S240,其中;
S210:在该ADC采集实时数据时,CPLD对每N个采样周期的实时数据进行组包以获得所述第一数据包;
S220:在所述第一数据包的包尾插入包序号和特征符号以生成所述第二数据包;
S230:将所述第二数据包发送至CPU;
S240:CPU通过所述特征符号并按包序号将第二数据包依次排序发送至所述主控制器。
进一步的,所述数据同步方法包括还包括以下步骤:对各个采集节点所发送的实时数据进行分析。
进一步的,所述步骤S200还包括:在第一数据包中插入包序号后,重新对所述包序号进行编号,以校准所述采集节点;
主控制器按预设的周期向各个采集节点发送同步指令,重新执行步骤S100。
第二方面,本发明提供一种基于CPLD的数据采集装置,该数据采集装置包括主控制器、采集节点和判断模块,其中;
所述主控制器向采集节点发送同步指令,所述采集节点根据所述同步指令以采集实时数据;
所述采集节点对所述实时数据进行组包获得第一数据包,在第一数据包中插入包序号以获得第二数据包,并将第二数据包发送至所述主控制器;
所述判断模块用于执行以下操作:判断主控制器在预设的时间段内是否接收到所述第二数据包,若是,则将相同包序号的第二数据包进行排序组合,以提取出所述第二数据包在同一时刻的数据,对提取出的数据进行打包以实现数据同步;若否,则所述主控制器重新向采集节点发送同步指令,所述采集节点根据重新发送的同步指令采集实时数据。
进一步的,所述采集节点包括ADC、CPLD和CPU;其中,
所述CPU接收所述同步指令;
所述CPU通过GPIO向CPLD发送置位信号;
所述CPLD根据所述置位信号启动ADC;
所述ADC开始采集实时数据。
进一步的,所述采集节点还包括插入模块和发送模块;其中,
ADC采集实时数据时,CPLD对每N个采样周期的实时数据进行组包以获得所述第一数据包;
所述插入模块在所述第一数据包的包尾插入包序号和特征符号以生成所述第二数据包;
所述发送模块将所述第二数据包发送至CPU;
CPU通过所述特征符号并按包序号将第二数据包依次排序发送至所述主控制器。
进一步的,所述数据采集装置还包括校准模块,所述校准模块用于执行以下操作:在第一数据包中插入包序号后,重新对所述包序号进行编号,以校准所述采集节点;主控制器按预设的周期向各个采集节点重新发送同步指令。
本发明提供一种基于CPLD的数据同步方法和数据采集装置,通过基于CPLD打序号的方式,实现了数据同步的方法,该方法精度高(可达us级)、实现简单、成本低,可广泛应用于各种需要数据同步的应用中;
另外,本发明通过对采集节点进行校准,以使得采集节点所采集的实时数据更为精确且实现简单。
附图说明
图1为本发明实施例提供的数据采集装置的结构示意图;
图2为本发明实施例提供的一种基于CPLD的数据同步方法的流程示意图;
图3为本发明实施例提供的一种基于CPLD的数据采集装置的具体结构示意图;
图4为本发明实施例提供的一种基于CPLD的数据校准方法的流程示意图。
具体实施方式
下面结合附图所示的各实施方式对本发明进行详细说明,但应当说明的是,这些实施方式并非对本发明的限制,本领域普通技术人员根据这些实施方式所作的功能、方法、或者结构上的等效变换或替代,均属于本发明的保护范围之内。
实施例一
参见图1,本实施例的数据采集装置采用主从节点架构,该数据采集装置包括主节点和从节点,其中,主控制器作为主节点,多个采集节点(即采集节点1、采集节点2…采集节点N)作为从节点,该采集节点包括数据采集器和传感器;并且,主、从节点在网络层可通过TCP/IP协议进行通信。
采集节点实时采集本地数据,并向主控制器发送所述本地数据,主控制器接收到采集节点发送的本地数据后,将各采集节点采集的本地数据进行排序组合,并提取同一时刻的数据进行打包以进行数据同步。
参见图2,图2为本发明实施例提供的一种基于CPLD的数据同步方法的流程示意图;该数据同步方法包括以下步骤:
S100:主控制器向采集节点发送同步指令,所述采集节点根据所述同步指令以采集实时数据;
具体的,数据采集装置启动完成后,主控制器通过网络通信向各采集节点发送同步指令(即齐步走信号),该同步指令为广播包,通过发送同步指令可以确保主控制器向每个采集节点发送指令的时间误差在预设的时间误差范围内(例如,预设的时间误差为1ms);
所述采集节点包括ADC(Analog-to-Digital Converter,模/数转换器)、CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)和CPU;
其中,上述步骤S100包括以下子步骤S110-S130;
S110:CPU接收所述同步指令;
S120:CPU通过GPIO(general-purpose input/output ports通用i/o端口)向CPLD发送置位信号;
S130:CPLD根据所述置位信号启动ADC,该ADC开始采集实时数据。
S200:对所述实时数据进行组包获得第一数据包,在第一数据包中插入包序号以获得第二数据包,将第二数据包发送至所述主控制器;
具体的,所述步骤S200包括以下子步骤S210-S240:
S210:在该ADC开始采集实时数据时,CPLD对每N个采样周期的实时数据进行组包获得所述第一数据包;(其中,N为可配变量);
需要说明的是,如果需要实现同步采集,各采集节点的采样率之间需为整数倍关系,通过配置变量N来实现同步。例如采集节点A的采样率是1KHz,采集节点B的采样率是2KHz,即采集节点A每1ms采集1次数据,采集节点B每0.5ms采集1次数据。则采集节点A采集1次数据后到达1ms,那么采集节点B需要采集2次数据后到达1ms,如果各个采集节点需要同步采集数据,也就是采集节点A的采样周期为NA=1,采集节点B的采样周期为NB=2;或者采集节点A的采样周期为NA=2,采集节点B的采样周期为NB=4;以此类推。
S220:在所述第一数据包的包尾插入包序号和特征符号以生成所述第二数据包;本实施例中,可以在第一数据包的包尾插入4Byte的包序号和特征符号,在其他实施例中,也可以插入其他字节的包序号和特征符号,在此不做具体限制;
S230:将所述第二数据包发送至CPU;
S240:CPU通过所述特征符号并按包序号将第二数据包依次排序发送至主控制器;具体的,CPU可通过TCP/IP协议将第二数据包依次排序发送至主控制器。
S300:判断主控制器在预设的时间段内是否接收到所述第二数据包,若是,则将相同包序号的第二数据包进行排序组合,以提取出所述第二数据包在同一时刻的数据,对提取出的数据进行打包以实现数据同步;若否,则重新执行步骤S100;
进一步的,若主控制器向采集节点发送了m次(例如3次)同步指令,该主控制器仍然未接收所述第二数据包,则生成报警信号以向用户报警;
进一步的,所述数据同步方法还包括以下步骤:对各个采集节点所发送的实时数据进行分析;进一步的,所述对各个采集节点所发送的实时数据进行分析例如包括对第i个采集节点所发送的实时数据和第j个采集节点所发送的实时数据的关联性进行分析,或者对采集节点所发送的实时数据进行定位等。
进一步的,所述步骤S200还包括:在第一数据包中插入包序号后,重新对所述包序号进行编号,以校准所述采集节点;
主控制器按预设的周期向各个采集节点发送同步指令,重新执行步骤S100。
实施例二
参见图3,图3为本发明实施例提供的一种基于CPLD的数据采集装置的具体结构示意图,该数据采集装置包括主控制器、采集节点和判断模块,其中;主控制器和采集节点在网络层可通过TCP/IP协议进行通信。
所述主控制器向采集节点发送同步指令,所述采集节点根据所述同步指令以采集实时数据;具体的,本实施例中的同步指令为广播包,通过发送同步指令可以确保主控制器向每个采集节点发送指令的时间误差在预设的时间误差范围内(例如,预设的时间误差为1ms)。
所述采集节点对所述实时数据进行组包获得第一数据包,在第一数据包中插入包序号以获得第二数据包,并将第二数据包发送至所述主控制器;
所述判断模块用于执行以下操作:判断主控制器在预设的时间段内是否接收到所述第二数据包,若是,则将相同包序号的第二数据包进行排序组合,并对各个采集节点所发送的实时数据进行分析,以提取出所述第二数据包在同一时刻的数据,对提取出的数据进行打包以实现数据同步;若否,则所述主控制器重新向采集节点发送同步指令,所述采集节点根据重新发送的同步指令采集实时数据。
进一步的,若主控制器向采集节点发送了m次(例如3次)同步指令,该主控制器仍未接收所述第二数据包,则生成报警信号。
进一步的,所述采集节点包括ADC、CPLD和CPU;其中,
所述CPU接收所述同步指令;
所述CPU通过GPIO向CPLD发送置位信号;
所述CPLD根据所述置位信号启动ADC;
所述ADC开始采集实时数据。
进一步的,所述采集节点还包括插入模块和发送模块;其中,
ADC采集实时数据时,CPLD对每N个采样周期的实时数据进行组包以获得所述第一数据包;
所述插入模块在所述第一数据包的包尾插入包序号和特征符号以生成所述第二数据包;本实施例中,插入模块可以在第一数据包的包尾插入4Byte的包序号和特征符号,在其他实施例中,也可以插入其他字节的包序号和特征符号,在此不做具体限制;
所述发送模块将所述第二数据包发送至CPU;
CPU通过所述特征符号并按包序号将第二数据包依次排序发送至所述主控制器。
进一步的,所述数据采集装置还包括分析模块:对各个采集节点所发送的实时数据进行分析;优选的,所述判断模块对各个采集节点所发送的实时数据进行分析包括对第i个采集节点所发送的实时数据和第j个采集节点所发送的实时数据的关联性进行分析,或者对采集节点所发送的实时数据进行定位。
进一步的,所述数据采集装置还包括校准模块,该校准模块用于执行以下操作:在第一数据包中插入包序号后,重新对所述包序号进行编号,以校准所述采集节点;主控制器按预设的周期向各个采集节点重新发送同步指令。
上述各个模块或设备的具体实施方式与实施例一的各个方法步骤的具体实施方式一致,在此不再赘述。
实施例三
在实际应用中,不同采集节点的ADC的采样率一定存在误差,其误差取决于ADC的工作时钟精度。以ADCD的10K的采样率为例,如果是+/-25PPM(PPM指百万分之一)的采样精度,则不同采集节点在一个采样周期(例如0.1ms)的最大偏差是50PPM,换算成时间就是一个采样周期偏差5ns,那么,采集节点运行10s的累计偏差为500us。
为了避免累计偏差超出应用要求,则需要对采集节点所采集的实时数据进行周期性的定时校准。
校准的周期可以预先设定,该周期取决于应用场景精度的要求。例如应用场景对采样率累计误差要求在1ms以内,则校准周期为20s。
参见图4,图4为本发明实施例提供的一种基于CPLD的数据校准方法的流程示意图,该数据校准方法包括以下步骤:
S10:主控制器向各个采集节点发送同步指令,所述采集节点根据所述同步指令以采集实时数据;
具体的,数据采集装置启动完成后,主控制器通过网络通信向各采集节点发送同步指令(即齐步走信号),该同步指令为广播包,通过发送同步指令可以确保主控制器向每个采集节点发送指令的时间误差在预设的时间误差范围内(例如,预设的时间误差为1ms);
所述采集节点包括ADC、CPLD和CPU;
其中,上述步骤S10包括以下子步骤S11-S12;
S11:CPU接收所述同步指令;
S12:CPU通过GPIO向CPLD发送置位信号;
S13:CPLD根据所述置位信号启动ADC,该ADC开始采集实时数据。
S20:对所述实时数据进行组包获得第三数据包,在第三数据包中插入包序号,重新对包序号进行编号以校准所述采集节点;;
具体的,所述步骤S20包括以下子步骤S21-S23:
S21:在该ADC开始采集实时数据时,CPLD对每N个采样周期的实时数据进行组包获得所述第三数据包;(其中,N为可配变量);需要说明的是,如果需要实现同步采集,各采集节点的采样率之间需为整数倍关系,通过配置变量N来实现同步。例如采集节点A的采样率是1KHz,采集节点B的采样率是2KHz,即采集节点A每1ms采集1次数据,采集节点B每0.5ms采集1次数据。则采集节点A采集1次数据后到达1ms,那么采集节点B需要采集2次数据后到达1ms,如果各个采集节点需要同步采集数据,也就是采集节点A的采样周期为NA=1,采集节点B的采样周期为NB=2;或者采集节点A的采样周期为NA=2,采集节点B的采样周期为NB=4;以此类推。
S22:在所述第三数据包的包尾插入包序号和特征符号;本实施例中,可以在第三数据包的包尾插入4Byte的包序号和特征符号,所述包序号可以从“1”开始递增进行编号;在其他实施例中,也可以插入其他字节的包序号和特征符号,在此不做具体限制。
S23:CPLD还根据所述置位信号对所述第三数据包的包序号重新编号以校准所述采集节点。具体的,可以将包序号从“1”开始递增以对包序号重新编号。S30:主控制器按预设的周期向各个采集节点发送同步指令,重新执行步骤S10;例如,主控制器可每隔20s向各个采集节点发送一次同步指令。
本发明的有益效果:
1、由于CPLD为底层硬件电路逻辑,处理数据的实时性非常高,因此在ADC采集到实时数据后,通过CPLD对组包后的数据包插入包序号后,提升了该数据同步方法/装置的实时性,由于组包后的数据包和包序号进行了绑定,CPLD后面的CPU处理耗时就不会影响数据的同步效果。
2、在us级的数据同步精度内,相比现有技术的数据同步方法(如GPS同步、PTP同步、NTP同步等),由于,GPS同步方法需要增配GPS模块、PTP同步方法需要增配专用的PTP芯片和软件协议,因此本发明的数据同步方法和装置实现的成本更低;
3、现有技术的NTP同步方法则需要CPU添加时间戳,因此对CPU的实时性处理要求较高,所以本发明仅通过CPLD对组包后的数据包插入包序号后,不需要对CPU添加时间戳,因此本发明的数据同步方法和装置对CPU的实时性处理要求低,更适用于多数数据采集装置。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种基于CPLD的数据同步方法,该数据同步方法包括:
S100:主控制器向采集节点发送同步指令,所述采集节点根据所述同步指令以采集实时数据;
S200:对所述实时数据进行组包获得第一数据包,在第一数据包中插入包序号以获得第二数据包,将第二数据包发送至所述主控制器;
S300:判断主控制器在预设的时间段内是否接收到所述第二数据包,若是,则将相同包序号的第二数据包进行排序组合,提取出所述第二数据包在同一时刻的数据,对提取出的数据进行打包以实现数据同步;若否,则重新执行步骤S100;
其中,所述步骤S200包括以下子步骤:
S210:在ADC采集实时数据时,CPLD对每N个采样周期的实时数据进行组包以获得所述第一数据包,所述N为可配变量;
S220:在所述第一数据包的包尾插入包序号和特征符号以生成所述第二数据包;
S230:将所述第二数据包发送至CPU;
S240:CPU通过所述特征符号并按包序号将第二数据包依次排序发送至所述主控制器。
2.根据权利要求1所述的数据同步方法,其特征在于,若主控制器向采集节点发送了m次同步指令,该主控制器仍未接收所述第二数据包,则生成报警信号;其中,m为发送同步指令的次数。
3.根据权利要求1所述的数据同步方法,其特征在于,所述采集节点包括ADC、CPLD和CPU,其中,所述步骤S100包括以下子步骤S110-S130;
S110:CPU接收所述同步指令;
S120:CPU通过GPIO向CPLD发送置位信号;
S130:CPLD根据所述置位信号启动ADC,该ADC开始采集实时数据。
4.根据权利要求1所述的数据同步方法,其特征在于,所述数据同步方法包括还包括以下步骤:对各个采集节点所发送的实时数据进行分析。
5.根据权利要求1-4任一项所述的数据同步方法,其特征在于,所述步骤S200还包括:在第一数据包中插入包序号后,重新对所述包序号进行编号,以校准所述采集节点;
主控制器按预设的周期向各个采集节点发送同步指令,重新执行步骤S100。
6.一种基于CPLD的数据采集装置,该数据采集装置包括主控制器、采集节点和判断模块,其中;
所述主控制器向采集节点发送同步指令,所述采集节点根据所述同步指令以采集实时数据;
所述采集节点对所述实时数据进行组包获得第一数据包,在第一数据包中插入包序号以获得第二数据包,并将第二数据包发送至所述主控制器;
所述判断模块用于执行以下操作:判断主控制器在预设的时间段内是否接收到所述第二数据包,若是,则将相同包序号的第二数据包进行排序组合以提取出所述第二数据包在同一时刻的数据,对提取出的数据进行打包以实现数据同步;若否,则所述主控制器重新向采集节点发送同步指令,所述采集节点根据重新发送的同步指令采集实时数据;
其中,所述采集节点还包括插入模块和发送模块;其中,
ADC采集实时数据时,CPLD对每N个采样周期的实时数据进行组包以获得所述第一数据包,所述N为可配变量;
所述插入模块在所述第一数据包的包尾插入包序号和特征符号以生成所述第二数据包;
所述发送模块将所述第二数据包发送至CPU;
CPU通过所述特征符号并按包序号将第二数据包依次排序发送至所述主控制器。
7.根据权利要求6所述的数据采集装置,其特征在于,所述采集节点包括ADC、CPLD和CPU;其中,
所述CPU接收所述同步指令;
所述CPU通过GPIO向CPLD发送置位信号;
所述CPLD根据所述置位信号启动ADC;
所述ADC开始采集实时数据。
8.根据权利要求6或7所述的数据采集装置,其特征在于,该数据采集装置还包括校准模块,所校准模块用于执行以下操作:在第一数据包中插入包序号后,重新对所述包序号进行编号,以校准所述采集节点;主控制器按预设的周期向各个采集节点重新发送同步指令。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010255616 | 2020-04-02 | ||
CN2020102556169 | 2020-04-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111464255A CN111464255A (zh) | 2020-07-28 |
CN111464255B true CN111464255B (zh) | 2022-07-19 |
Family
ID=71680499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010274525.XA Expired - Fee Related CN111464255B (zh) | 2020-04-02 | 2020-04-09 | 一种基于cpld的数据同步方法和数据采集装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111464255B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113359557B (zh) * | 2021-06-11 | 2022-11-11 | 北京空间飞行器总体设计部 | 一种控制数据采集时序的方法 |
CN113701872B (zh) * | 2021-08-06 | 2022-03-25 | 北京博华信智科技股份有限公司 | 一种用于振动保护的数据同步方法及系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101778405B (zh) * | 2010-01-05 | 2013-01-02 | 武汉理工大学 | 结构健康监测的无线传感器网络同步采集方法及系统 |
US9241632B2 (en) * | 2011-07-20 | 2016-01-26 | Biosense Webster (Israel) Ltd. | Synchronization of wireless catheters |
CN103684735A (zh) * | 2013-11-12 | 2014-03-26 | 航天科工深圳(集团)有限公司 | 一种分布式装置的同步方法 |
CN109217961B (zh) * | 2018-06-25 | 2020-10-16 | 北京津发科技股份有限公司 | 一种多通道人机交互与人机环境测试数据同步装置和方法 |
-
2020
- 2020-04-09 CN CN202010274525.XA patent/CN111464255B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN111464255A (zh) | 2020-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10887211B2 (en) | Indirect packet classification timestamping system and method | |
EP2381622B1 (en) | Update of a cumulative residence time of a packet in a packet-switched communication network | |
CN105187148B (zh) | 一种基于arm的网络时钟同步系统及方法 | |
CN101803268B (zh) | 时钟同步系统及其方法和程序 | |
CN102006159B (zh) | 基于ieee1588多从钟的采样值多接口同步系统 | |
CN103563287B (zh) | 同步设备和同步方法 | |
CN111464255B (zh) | 一种基于cpld的数据同步方法和数据采集装置 | |
CN101080889A (zh) | 同步模块 | |
JPWO2018123857A1 (ja) | センシングシステム及び時刻同期方法 | |
JP6527289B2 (ja) | 時刻同期方法、センサ収容端末、およびセンサネットワークシステム | |
JP2004312734A (ja) | 受動型計測アナライザおよびルーター/スイッチ | |
CN110100408B (zh) | 交互时间同步报文的方法以及网络装置 | |
WO2009067249A1 (en) | System and method for application layer time synchronization without creating a time discrepancy or gap in time | |
TW201530155A (zh) | 用於分散式電力系統測量之通訊系統與方法 | |
TW201706738A (zh) | 從全球導航衛星系統進行精確的時間回復 | |
CN105553595B (zh) | 一种分布式系统中的设备及其同步方法 | |
US20220360350A1 (en) | Method and apparatus for acquiring timestamp of data stream, storage medium, and electronic apparatus | |
WO2007070854A2 (en) | Systems and methods for enabling clock signal synchronization | |
CN109039514A (zh) | 一种提高ieee1588时间戳精度的方法 | |
CN103647614A (zh) | 基于ieee1588协议的可靠提高时间同步精度方法 | |
CN113541838A (zh) | 确定时钟的方法和相关装置 | |
CN101420281B (zh) | 用于在网络要素之间传送日内时间值的方法和装置 | |
JP2007306497A (ja) | パケット伝送におけるクロック同期方法及び回路 | |
US9442511B2 (en) | Method and a device for maintaining a synchronized local timer using a periodic signal | |
CN102983959B (zh) | 在多个mac中实现ptp一步模式和两步模式的方法及装置 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220719 |