CN116450027A - 基于可编程逻辑器件的数据采样方法、装置和存储介质 - Google Patents

基于可编程逻辑器件的数据采样方法、装置和存储介质 Download PDF

Info

Publication number
CN116450027A
CN116450027A CN202310226898.3A CN202310226898A CN116450027A CN 116450027 A CN116450027 A CN 116450027A CN 202310226898 A CN202310226898 A CN 202310226898A CN 116450027 A CN116450027 A CN 116450027A
Authority
CN
China
Prior art keywords
data sampling
programmable logic
data
time
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.)
Pending
Application number
CN202310226898.3A
Other languages
English (en)
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.)
Shanghai Aoxian Technology Co ltd
Original Assignee
Shanghai Aoxian Technology Co ltd
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 Shanghai Aoxian Technology Co ltd filed Critical Shanghai Aoxian Technology Co ltd
Priority to CN202310226898.3A priority Critical patent/CN116450027A/zh
Publication of CN116450027A publication Critical patent/CN116450027A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/05Digital input using the sampling of an analogue quantity at regular intervals of time, input from a/d converter or output to d/a converter
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/1205Multiplexed conversion systems
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/124Sampling or signal conditioning arrangements specially adapted for A/D converters
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/02Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Analogue/Digital Conversion (AREA)

Abstract

本申请提供一种基于可编程逻辑器件的数据采样方法、装置和存储介质,所述基于可编程逻辑器件的数据采样方法包括:基于预设时钟对所述多个数据采样通道进行复位同步;根据预设采样率,对所述多个数据采样通道进行模数转换开始时刻同步;根据预设补偿值,对所述多个数据采样通道进行模数转换完成时刻同步;基于预设延迟策略,对所述多个数据采样通道进行逻辑采样同步;根据同步结果,对所述多个数据采样通道进行逻辑采样。本申请提供的基于可编程逻辑器件的数据采样方法、装置和存储介质通过多层同步控制,能够实现多个数据采样通道之间纳秒级同步数据采样,并能够进一步实现多个可编程逻辑器件之间的时间同步传输。

Description

基于可编程逻辑器件的数据采样方法、装置和存储介质
技术领域
本申请涉及数据采样技术领域,具体涉及一种基于可编程逻辑器件的数据采样方法、装置和存储介质。
背景技术
随着科学技术的快速发展以及传感器技术和通信技术的发展,数据采集系统已广泛应用于航天、军事、工业、医疗等各个领域,尤其在高精度产品的检测和监控项目中发挥着至关重要的作用。在散射计数字处理系统中,需要多通道ADC(模数转换)电路来对数据进行采样。然而,由于采样电路的路数很多,各个ADC通道由于布线差异、时钟误差等环境因素的影响,导致了ADC通道之间出现一致性问题,产生不同的通道差异。这种差异会增大后期信号处理的误差,降低整个系统的精度。
在构思及实现本申请过程中,发明人发现至少存在如下问题:传统的数据采集方案多数以ARM(Advanced RISC Machine)处理器或数字信号处理器(Digital SignalProcessing,DSP)作为控制核心,并不能有效解决高速数据采集处理中实时性和同步性的技术难题。DSP处理器或ARM处理器不能实现多通道AD同步采集,只能实现有限个通道同步采集,例如4路,或8路;实时能力差,采用间隔采集AD数据,不是连续采集AD数据;没有时间同步机制。
前面的叙述在于提供一般的背景信息,并不一定构成现有技术。
发明内容
为了缓解上述问题,本申请提供一种基于可编程逻辑器件的数据采样方法、装置和存储介质。
在一方面,本申请提供一种基于可编程逻辑器件的数据采样方法,具体地,应用于数据采样装置,所述数据采样装置包括多个数据采样通道,所述基于可编程逻辑器件的数据采样方法包括:
基于预设时钟对所述多个数据采样通道进行复位同步;
根据预设采样率,对所述多个数据采样通道进行模数转换开始时刻同步;
根据预设补偿值,对所述多个数据采样通道进行模数转换完成时刻同步;
基于预设延迟策略,对所述多个数据采样通道进行逻辑采样同步;
根据同步结果,对所述多个数据采样通道进行逻辑采样。
可选地,所述基于可编程逻辑器件的数据采样方法在执行所述基于预设时钟对所述多个数据采样通道进行复位同步的步骤包括:
根据所述数据采样装置的系统时钟同时对所述多个数据采样通道进行复位。
可选地,所述基于可编程逻辑器件的数据采样方法在执行所述根据预设采样率,对所述多个数据采样通道进行模数转换开始时刻同步的步骤包括:
基于所述预设采样率生成模数转换开始信号,以驱动每个数据采样通道以同一信号基准进行模数转换。
可选地,所述基于可编程逻辑器件的数据采样方法在执行所述基于预设延迟策略,对所述多个数据采样通道进行逻辑采样同步的步骤包括:
响应于接收到所述多个数据采样通断的第一个模数转换完成信号,按照预设时钟周期进行延时计时;
在所述延时计时完成时,对所述多个数据采样通断进行数据读取。
可选地,所述基于可编程逻辑器件的数据采样方法在执行所述根据预设补偿值,对所述多个数据采样通道进行模数转换完成时刻同步的步骤包括:
根据每个数据采样通道对于转换时间的预设补偿值,基于预设采样率分别对应延迟生成多个模数转换开始信号,以驱动所述多个数据采样通道分别开始模数转换。
可选地,所述基于可编程逻辑器件的数据采样方法在执行所述根据每个数据采样通道对于转换时间的预设补偿值,基于预设采样率分别对应延迟生成多个模数转换开始信号,以驱动所述多个数据采样通道分别开始模数转换的步骤之前包括:
接收所述多个数据采样通道的模数转换完成信号,分别记录每个数据采样通道的完成时间戳;
根据所述多个数据采样通道的完成时间戳,计算每个数据采样通道的转换时间差;
根据所述转换时间差,分别确定每个数据采集通道对于转换时间的预设补偿值。
可选地,所述数据采样装置包括多个可编程逻辑器件;所述基于可编程逻辑器件的数据采样方法在执行所述基于可编程逻辑器件的数据采样方法的方法还包括:
按照预设同步策略,确定一个可编程逻辑器件的时间信号为系统时间同步源;
根据所述系统时间同步源,所述多个可编程逻辑器件进行同步数据采样。
可选地,所述基于可编程逻辑器件的数据采样方法在执行所述按照预设同步策略,确定一个可编程逻辑器件的时间信号为系统时间同步源的步骤包括:
对每个可编程逻辑器件建立时间戳选举表,控制每个可编程逻辑器件定时发送时间戳,并分别接收、转发其他可编程逻辑器件的时间戳;
按照所述时间戳选举表的顺序,确定任一可编程逻辑器件为第一时间同步源;
以所述第一时间同步源的时间戳为所述系统时间同步源。
可选地,所述基于可编程逻辑器件的数据采样方法在执行所述以所述第一时间同步源的时间戳为所述系统时间同步源的步骤之后包括:
若未收到所述第一时间同步源的时间戳超过预设时间阈值,按照所述时间戳选举表的顺序,确定另一可编程逻辑器件为第二时间同步源;
以所述第二时间同步源的时间戳为所述系统时间同步源。
另一方面,本申请还提供一种存储介质,具体地,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的基于可编程逻辑器件的数据采样方法的步骤。
另一方面,本申请还提供一种数据采样装置,具体地,所述数据采样装置包括处理器和存储器;
所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现如上所述的基于可编程逻辑器件的数据采样方法的步骤;和/或,
所述数据采样装置包括时钟源、时间同步模块、数据采集模块、通信模块和多个数据采集卡;
所述时间同步模块与所述时钟源连接,被配置为基于所述时钟源确定时间信号;
所述数据采集模块分别与所述多个数据采集卡连接,被配置为通过所述多个数据采集卡获取采样数据;
所述通信模块分别与所述时间同步模块和所述数据采集模块连接,用于发送所述时间信号和所述采样数据。
可选地,所述数据采样装置包括以下至少一项:
所述时钟源为晶体振荡器或有源时钟电路;
所述多个数据采集卡均采用并行工作模式;
所述通信模块为以太网接口或IO接口。
可选地,所述数据采样装置中的所述时间同步模块、数据采集模块和通信模块使用可编程逻辑器件实现。
可选地,所述数据采样装置包括多个所述可编程逻辑器件,所述数据采样装置还包括处理模块,所述处理模块分别与每个可编程逻辑器件的通信模块连接,被配置为接收所述多个可编程逻辑器件的同步采样数据。
如上所述,本申请提供的基于可编程逻辑器件的数据采样方法、装置和存储介质通过预设时钟的复位同步、模数转换开始时刻同步、模数转换完成时刻同步和逻辑采样同步控制多个数据采样通道实现纳秒级同步数据采样。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例的基于可编程逻辑器件的数据采样方法的流程图。
图2为本申请一实施例的多个数据采样通道的模数转换的时序图。
图3为图2基础上的多个数据采样通道的模数转换的时序图。
图4为本申请一实施例的多个数据采样通道的逻辑采样的时序图。
图5为图4基础上的多个数据采样通道同步采集的示意图。
图6为本申请一实施例的数据采样装置的结构图。
图7为图6基础上的数据采样装置的结构图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
第一实施例
在一方面,本申请提供一种基于可编程逻辑器件的数据采样方法,图1为本申请一实施例的基于可编程逻辑器件的数据采样方法的流程图。
基于可编程逻辑器件的数据采样方法应用于数据采样装置,数据采样装置包括多个数据采样通道。
示例性地,可编程逻辑器件可以是现场可编程逻辑门阵列(FPGA)。FPGA具有时钟频率高、内部延时小、纯硬件并行控制、运算速度快、编程配置灵活、开发周期短、抗干扰能力强、内部资源丰富等优点,非常适用于实时高速数据采集以及多通道模数同步采集。可选地,本申请对FPGA的类型不做限定,核心控制器型号可以选择Xilinx FPGA(Kintex-7)。
示例性地,可以通过数据采集卡获取多个数据采样通道。本申请对数据采样通道的数量不做限定,用户可以根据数据采样的需求,选取适合的数据采样通道的数量。
请参阅图1,基于可编程逻辑器件的数据采样方法包括:
S10:基于预设时钟对多个数据采样通道进行复位同步。
示例性地,预设时钟可以是依靠硬件提供的精准晶振或者晶体25MHz时钟源,用于作为可编程逻辑器件的输入时钟源。可编程逻辑器件利用可编程逻辑器件时钟资源锁相环PLL对25MHz进行倍频产生50MHz系统时钟驱动多个数据采样通道。可编程逻辑器件利用同一个系统时钟50MHz驱动多个数据采样通道的IO管脚(IO管脚包括复位管脚、模数转换开始管脚、模数转换结束管脚等)。多个数据采样通道的IO控制管脚均使用同一时钟50MHz进行时序控制,统一采样工作周期,达到第一级同步。
可选地,通过同一基准信号实现多个数据采样通道的复位同步,使多个数据采样通道在同一个时间点上开始工作,可以实现第二级同步。示例性地,可编程逻辑器件上电之后产生一个复位信号,该复位信号连接到多个数据采样通道的复位管脚,同时控制多个数据采样通道同时工作,即多个数据采样通道同时在同一个时间点上开始工作,达到第二级同步。
S20:根据预设采样率,对多个数据采样通道进行模数转换开始时刻同步。
可选地,本申请对预设采样率不做限定,根据用户采样率需求选取合适的采样率,如用户采样率为12.8KSPS。通过对模数转换开始时刻的同步控制,能够精确控制多个数据采样通道的开始时刻,达到第三级同步。
示例性地,可编程逻辑器件根据用户采样率需求产生一个模数转换开始信号,该模数转换开始信号连接到多个数据采样通道的模数转换开始信号管脚,控制多个数据采样通道同时进行数模转换开始,达到第三级同步。可选地,多个数据采样通道同步采集可以设置所有数据采样通道采样率一致。
S30:根据预设补偿值,对多个数据采样通道进行模数转换完成时刻同步。
示例性地,由于每个数据采样通道的过采样模式不同,模数转换完成的时间也不同,因此,需要增加预设补充值使得多个数据采样通道的模数转换完成时刻同步。通过转换完成时刻同步控制,消除各数据采样通道的模数转换过程所需时长的误差,以达到同时完成模数转换的效果,达到第四级同步。
S40:基于预设延迟策略,对多个数据采样通道进行逻辑采样同步。
示例性地,由于可编程逻辑器件数据采样是利用时序逻辑实现的,时序逻辑采样有两个基本条件,分别为采样必须在时钟的上升沿(或下降沿)完成的,采样必须满足建立时间与保持时间。可编程逻辑器件利用预设时钟采样多个数据采样通道的模数转换完成信号BUSY时,可能在同一时刻T不能满足时序逻辑采样的两个基本条件,导致多个数据采样通道的模数转换完成信号数据采样产生纳秒级不同步。基于预设延迟策略,以推迟预设逻辑采样时刻,以达到多个数据采样通道的同时逻辑采样,实现第五级同步。
S50:根据同步结果,对多个数据采样通道进行逻辑采样。
在本实施例中,基于可编程逻辑器件的数据采样方法通过预设时钟的源时钟同步、复位同步、模数转换开始时刻同步、模数转换完成时刻同步和逻辑采样同步控制多个数据采样通道实现纳秒级同步数据采样。
在一实施例中,基于可编程逻辑器件的数据采样方法在执行S10:基于预设时钟对多个数据采样通道进行复位同步的步骤包括:
S11:根据数据采样装置的系统时钟同时对多个数据采样通道进行复位。
示例性地,可编程逻辑器件上电之后产生一个复位信号,该复位信号连接到多个数据采样通道的复位管脚,同时控制多个数据采样通道同时工作,即多个数据采样通道同时在同一个时间点上开始工作,达到第二级同步。
在一实施例中,基于可编程逻辑器件的数据采样方法在执行S20:根据预设采样率,对多个数据采样通道进行模数转换开始时刻同步的步骤包括:
S21:基于预设采样率生成模数转换开始信号,以驱动每个数据采样通道以同一信号基准进行模数转换。
示例性地,可编程逻辑器件根据用户采样率需求产生一个模数转换开始信号,该模数转换开始信号连接到多个数据采样通道的模数转换开始信号管脚,控制多个数据采样通道同时进行数模转换开始,达到第三级同步。可选地,多个数据采样通道同步采集可以设置所有数据采样通道采样率一致。
在一实施例中,基于可编程逻辑器件的数据采样方法在执行S30:根据预设补偿值,对多个数据采样通道进行模数转换完成时刻同步的步骤包括:
S31:根据每个数据采样通道对于转换时间的预设补偿值,基于预设采样率分别对应延迟生成多个模数转换开始信号,以驱动多个数据采样通道分别开始模数转换。
通过对每个数据采样通道设置预设补偿值,精确控制每个数据采样通道的模数转换开始时间,以规避各数据采样通道的模数转换时长误差,达到模数转换开始时刻同步的目的。
在一实施例中,基于可编程逻辑器件的数据采样方法在执行S31:根据每个数据采样通道对于转换时间的预设补偿值,基于预设采样率分别对应延迟生成多个模数转换开始信号,以驱动多个数据采样通道分别开始模数转换的步骤之前包括:
S32:接收多个数据采样通道的模数转换完成信号,分别记录每个数据采样通道的完成时间戳;
S33:根据多个数据采样通道的完成时间戳,计算每个数据采样通道的转换时间差;
S34:根据转换时间差,分别确定每个数据采集通道对于转换时间的预设补偿值。
图2为本申请一实施例的多个数据采样通道的模数转换的时序图。图3为图2基础上的多个数据采样通道的模数转换的时序图。
请参阅图2,示例性地,以3个数据采样通道为例。当可编程逻辑器件收到3个数据采样通道的模数转换转换完成信号(BUSY管脚)时,可编程逻辑器件实时检测BUSY管脚的下降沿(模数转换完成),分别记录3个模数转换完成的时间戳T1、T2、T3,然后对T1、T2、T3进行排序,从小到大的顺序为T3、T1、T2,这里以最小时间T3为基准,分别计算T1与T3差值t1(t1=T1-T3)、T2与T3差值t2(t2=T2-T3),其中t>0,t主要产生原因主要是多个数据采样通道之间存在转换时间误差,以及硬件板卡管脚布线延迟。布线延迟表示3个数据采样通道数模转换开始管脚到达可编程逻辑器件的三个管脚布局布线造成的线延迟。
请参阅图3,示例性地,根据3个数据采样通道模数转换时间差值t信号,通过延迟控制3个数据采样通道模数转换开始信号实现板间精准同步。由于t2>Δt1,数据采样通道2模数转换时间最长,其次是数据采样通道1模数转换时间,最后是数据采样通道3模数转换时间最短。这里以数据采样通道3为基准,可编程逻辑器件首先发送数据采样通道2的模数转换开始信号START2(数据采集卡的CONVST_A和CONVST_B管脚),经过t2-Δt1的时间之后发送数据采样通道1的模数转换开始信号START1,再经过t1的时间之后发送数据采样通道3的模数转换开始信号START3,这样可编程逻辑器件控制多个数据采样通道数据采集时,分别对3个数据采样通道进行了模数转换开始的精准补偿,结果3个数据采样通道模数转换完成的时间是相等的,即T1=T2=T3,达到了多个数据采样通道精准同步,达到数据采样通道第四级同步。
在一实施例中,基于可编程逻辑器件的数据采样方法在执行S40:基于预设延迟策略,对多个数据采样通道进行逻辑采样同步的步骤包括:
S41:响应于接收到多个数据采样通断的第一个模数转换完成信号,按照预设时钟周期进行延时计时;
S42:在延时计时完成时,对多个数据采样通断进行数据读取。
图4为本申请一实施例的多个数据采样通道的逻辑采样的时序图。
请参阅图4,示例性地,根据预设延迟策略解决逻辑采样不同步问题。可编程逻辑器件采样3个数据采样通道转换完成信号(BUSY管脚)时,当可编程逻辑器件逻辑采样到任意一个模数转换完成后,第一个转换完成信号为BUSY1,就以BUSY1作为基准进行延迟处理,即可编程逻辑器件在T1时刻可以采样到第一个转换完成BUSY1,延迟2个时钟周期之后,在T2时刻之后,3个数据采样通道模数转换完成都已经转换完成。从T2时刻,可编程逻辑器件就可以控制同时控制3个数据采样通道的读通道时序读取模数转换后的数字信号了,这样保证了同一时刻能读取完所有的通道数据,保证3个数据采样通道精准同步采样,达到板间第五级同步。
图5为图4基础上的多个数据采样通道同步采集的示意图。
请参阅图5,示例性地,通过采样延迟了预设时钟周期实现3个数据采样通道同步采集。若时钟周期为20ns,实际信号同步采集精度可以达到40ns左右,因此系统工作时钟频率越高,板间同步精度就越高,若时钟频率为100MHz,时钟周期为10ns,板间同步精度可以达到20ns。
在一实施例中,数据采样装置包括多个可编程逻辑器件。
可选地,本申请对可编程逻辑器的数量不做限定,可以根据采样需求选取合适的可编程逻辑器件数量。示例性地,采用8通道的数据采集卡,每个可编程逻辑器件可以连接3个数据采集卡,可实现24路数据采样通道。通过多个可编程逻辑器件并行使用,能够实现更多的数据采样通道同步工作。
基于可编程逻辑器件的数据采样方法的方法还包括:
S60:按照预设同步策略,确定一个可编程逻辑器件的时间信号为系统时间同步源。
示例性地,每个可编程逻辑器件生成一个时间信号,可编程器件之间通过唯一的系统时间同步源进行时间同步,用于时间同步多个可编程逻辑器件。时间同步功能利用网络将一个精准的时间信号传递给其他节点,其他节点通过算法进行本地时间调整,实现时间同步。时间信号的时间同步功能采用IEEE 1588协议实现。IEEE 1588协议,即PTP(precision time protocol,精确时间协议)是一种对标准以太网设备进行时间和频率同步的协议。PTP技术根据演进有v1和v2两个版本。v2在v1基础上进行了改进和扩展,根据IEEE1588 v2要求,在有线网络中可以实现5ns级的时间精度。即,网络中只要1个节点作为时间源,其他节点通过PTP技术就可以实现时间同步。
S70:根据系统同步源,多个可编程逻辑器件进行同步数据采样。
在本实施例中,基于可编程逻辑器件的数据采样方法,按照预设同步策略能够使多个可编程逻辑器件之间共用同一个系统时间同步源,实现多个可编程逻辑器件之间的同步采样。
在一实施例中,基于可编程逻辑器件的数据采样方法在执行S60:按照预设同步策略,确定一个可编程逻辑器件的时间信号为系统时间同步源的步骤包括:
S61:对每个可编程逻辑器件建立时间戳选举表,控制每个可编程逻辑器件定时发送时间戳,并分别接收、转发其他可编程逻辑器件的时间戳。
示例性地,每个可编程逻辑器件以时间同步包的形式发送自己的时间戳,时间戳包含时间信号与信息。每个可编程逻辑器件都维护一张时间戳选举表,存储预设数量的可编程逻辑器件对应的时间戳。可选地,本申请对预设数量不做限定,可以根据可编程逻辑器件存储容量选取合适的预设数量。以5个可编程逻辑器件为例,由于每个可编程逻辑器件都会定时发送自己的时间戳,将同时存在5个可编程逻辑器件对应的时间戳,在时间戳选举表存储3个可编程逻辑器件对应的时间戳。示例性地,每个可编程逻辑器件定时发送本设备时间戳,该时间戳携带时间信息。例如,可编程逻辑器件1以3ms为时间单位,定时发送时间戳到可编程逻辑器件2,可编程逻辑器件2接收可编程逻辑器件1的时间戳进行时间同步。示例性地,可编程逻辑器件接收到来自其他可编程逻辑器件的时间戳,需要进行转发处理。例如,可编程逻辑器件2首先接收来自可编程逻辑器件1发送的时间戳,并将接收到的可编程逻辑器件1的时间戳进行转发,发送到可编程逻辑器件3供可编程逻辑器件3进行使用。
在一实施例中,由于可编程逻辑器件之间通过以太网接口进行设备互连,因此每个可编程逻辑器件不仅会接收来自其他可编程逻辑器件的时间戳,也会接收本设备可编程逻辑器件发送的时间戳。因此,为了防止发生网络风暴发生,每个可编程逻辑器件接收到本设备的时间戳时直接删除该时间戳,以停止再将该时间戳进行转发,避免整个系统中形成网络风暴而导致的网络瘫痪情况。
S62:按照时间戳选举表的顺序,确定任一可编程逻辑器件为第一时间同步源。
示例性地,在时间戳选举表中,可以按照标号由低到高或者由高到低排序每个可编程逻辑器件的时间戳。可选地,本申请对时间戳选举表的顺序不做限定。
S63:以第一时间同步源的时间戳为系统时间同步源。
示例性地,以5个可编程逻辑器件为例,每个可编程逻辑器件都会发送自己的时间戳,经过一段时间后,每个可编程逻辑器件会有5个可编程逻辑器件的时间戳,若每个可编程逻辑器件同时同步其他4个可编程逻辑器件的时间戳,可能会造成时间不同步,反而导致每个可编程逻辑器件自身时间异常。因此,选择任一可编程逻辑器件为第一时钟同步源,作为系统同步源,即以可编程逻辑器件1发送的时间戳作为时间同步源,其他可编程逻辑器件只需要同步可编程逻辑器件1发送的时间戳,以实现5个可编程逻辑器件达到时间同步。
在一实施例中,基于可编程逻辑器件的数据采样方法在执行S63:以第一时间同步源的时间戳为系统时间同步源的步骤之后包括:
S64:若未收到第一时钟同步源的时间戳超过预设时间阈值,按照时间戳选举表的顺序,确定另一可编程逻辑器件为第二时间同步源。
在一个时间区间内未能接收到第一时钟同步源,则可能发生了故障或离线情况。此时,及时确定另一个可编程逻辑器件的时钟作为备用时钟同步源,可以维持系统的正常工作,提高采样效率。可选地,本申请对预设时间阈值不做限定,用户可以根据采样需求选取合适的预设时间阈值。
S65:以第二时间同步源的时间戳为系统时间同步源。
示例性地,在实际情况下,可能因为网络故障或者以太网坏线等原因造成相邻可编程逻辑器件无法正常通信,从而就造成采集系统不能实现时间同步。例如,若因为某种原因造成可编程逻辑器件1以太网发送端不能正常发送时间戳到可编程逻辑器件2,但是可编程逻辑器件1以太网接收端可以正常接收可编程逻辑器件2发送的时间戳;若选择可编程逻辑器件1时间戳作为系统同步源,那么其他可编程逻辑器件则接收不到可编程逻辑器件1发送的时间戳,则无法实现时间同步。为了解决该问题,每个可编程逻辑器件都应该具备第二时间同步源,即若一定时间内收不到第一时间同步源,立即切换第二时间同步源作为时间同步源,当每个可编程逻辑器件都同步第二时间同步源,可以重现建立时间同步。
示例性地,对于可编程逻辑器件4来说,每次收到可编程逻辑器件1、可编程逻辑器件2和可编程逻辑器件3的时间戳后分别更新到时间戳表格中对应标号的时间戳位置,实时存储三个可编程逻辑器件的时间戳信号。若可编程逻辑器件1以太网发送端因故障不能正常发送时间戳一,可编程逻辑器件4与其他可编程逻辑器件在超过一定时间后都收不到时间戳一,将时间戳表格中的时间戳一的信息删除,同时在时间戳表格中增加可编程逻辑器件4对应的时间戳四的信息。可编程逻辑器件2对应的时间戳二变为第一时间同步源,每个可编程逻辑器件开始依靠时间戳二进行时间同步,这样就保证了每个可编程逻辑器件一直处于时间同步状态。
在本实施例中,通过多层同步控制,基于可编程逻辑器件的数据采样方法能够实现多通道数据采集通道之间纳秒级同步数据采样,并基于多个可编程逻辑器件之间的时间同步策略,能够进一步实现多个可编程逻辑器件之间的时间同步传输。
另一方面,本申请还提供一种存储介质,具体地,存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上所述的基于可编程逻辑器件的数据采样方法的步骤。
第二实施例
另一方面,本申请还提供一种数据采样装置,数据采样装置包括处理器和存储器。存储器存储有计算机程序,计算机程序被处理器执行时实现如上所述的基于可编程逻辑器件的数据采样方法的步骤。
图6为本申请一实施例的数据采样装置的结构图。图7为图6基础上的数据采样装置的结构图。
请结合参阅图6和图7,在一实施例中,数据采样装置包括时钟源10、时间同步模块20、数据采集模块30、通信模块40和多个数据采集卡50。
可选地,本申请数据采集卡50的类型和数量不做限定。数据采集卡50可以包括多个数据采样通道。示例性地,数据采集卡50可以选择ADI AD7606型号的ADC芯片。AD7606是16位,8通道同步采样模数数据采集系统。AD7606完全满足电力系统的要求,具有灵活的数字滤波器、2.5V基准电压源、基准电压缓冲以及高速串行和并行接口。它采用5V单电源供电,可以处理±10V和±5V真双极性输入信号、同时所有通道均能以高达200kSPS的吞吐率采样。AD7606按通道数数量划分目前支持3种型号,分别为AD7606-4、AD7606-6、AD7606-8以分别实现4/6/8路同步采样输入。其中,AD7606-8支持8通道数据同步采样,最高采样率为200KSPS,模数采样可以达到16位采集精度,充分满足本申请采集的精度要求。
时间同步模块20与时钟源10连接,被配置为基于时钟源10确定时间信号。
示例性地,时间同步模块20用于生成时间信号,基于时间信号和时钟源10确定系统时间同步源实现时间同步功能,具体内容请参考第一实施例,此处不再赘述。
数据采集模块30分别与多个数据采集卡50连接,被配置为通过多个数据采集卡50获取采样数据,并将采样数据发送到通信模块40。
示例性地,每个数据采集模块30连接多个数据采集卡50,以实现多个数据采集卡50之间的同步精度达到100ns以内。可以理解地,数据采集卡50以3个AD7606-8为例,AD7606-8支持8路数据同步转换,当3个AD7606板间实现同步采集,系统24路AD通道都达到同步采集。示例性地,采集数据要以数据包的形式传输。其中,数据包包括包头部、数据部和包尾部。示例性地,包头部包括可编程逻辑器设备ID和包序号,设备ID由处理模块进行配置,包序号代表每次传输包的序号,第一次包传输包序号为0,第二次包传输包序号为1,依次类推。数据部代表一次传输数据大小,如以10ms传输一次,也就是说一次要采集10ms多路模数数据进行传输。包尾部代表每次传输填充的时间戳,若以10ms传输一次数据到处理模块进行处理,那么两个连续数据包的包尾部相减也为10ms,代表传输正常。
通信模块40分别与时间同步模块20和数据采集模块30连接,用于发送时间信号和采样数据。
示例性地,通信模块40与数据采集模块30连接,用于接收采样数据并传输至处理模块以进行数据处理。通信模块40与时间同步模块20连接,用于接收时间信号并发送至相邻可编程逻辑器件以进行同步传输。
在一实施例中,数据采样装置包括以下至少一项:
时钟源10为晶体振荡器或有源时钟电路;
多个数据采集卡50均采用并行工作模式;
通信模块40为以太网接口或IO接口。
在一实施例中,数据采样装置中的时间同步模块20、数据采集模块30和通信模块40使用可编程逻辑器件实现。
示例性地,在每个可编程逻辑器件控制多个数据采集卡同步采集数据后,根据时间信号控制多路可编程逻辑器件同步传输数据至处理模块。
在一实施例中,多个数据采集卡50将多路模数转换结果送到可编程逻辑器件进行实时数据同步采集、缓存及传输处理。可编程逻辑器件主要负责接收模数采集卡送来的多路模数转换数据,通过可编程逻辑器件内部FIFO缓存器或DDR缓存器进行数据缓存和异步时钟域处理,最后通过以太网接口将数据进行打包并传输到处理模块,在处理模块上进行数据处理。
在一实施例中,数据采样装置包括多个可编程逻辑器件,数据采样装置还包括处理模块,处理模块分别与每个可编程逻辑器件的通信模块连接,被配置为接收多个可编程逻辑器件的同步采样数据。
请继续参阅图7,图中仅示出五个可编程逻辑器件,可编程逻辑器件以FPGA为例,每个可编程逻辑器件连接三个数据采集卡,数据采集卡50以AD7606-8芯片为例。处理模块可以为ARM(Advanced RISC Machine)处理器。
示例性地,数据采样装置上电,处理模块通过以太网接口给5个FPGA下发设备ID,分别为1、2、3、4、5,代表5个FPGA设备的ID号。数据采样装置上电开始工作稳定后,一般等待2秒,处理模块通过以太网接口或者IO接口发送AD采集开始指令至通信模块40,然后每个FPGA开始采集24路AD数据。经过FPGA采集后数据以数据包的形式通过通信模块40的以太网接口传输到处理模块进行处理。
在本实施例中,通过多层同步控制,基于可编程逻辑器件的数据采样装置能够实现多通道数据采集通道之间纳秒级同步数据采样,并基于多个可编程逻辑器件之间的时间同步策略,能够进一步实现多个可编程逻辑器件之间的时间同步传输。
如上所述,本申请提供的基于可编程逻辑器件的数据采样方法、装置和存储介质以FPGA为主要处理器在实际监测工程中的采样频率范围为1-200kHz,运用FPGA合理地控制和协调数据流在各个模块之间传输,进而实现所需求的实时、同步和高速采集等功能,成功解决了实时高速数据采集与多通道AD板间精准同步问题,同步精度到达百纳秒级以内,而且也解决了采集处理器(数据采集卡)之间的时间同步问题,以及算法模块(ARM处理器实现不同类型的算法)可以按照时间顺序处理多路模数采集数据。具有高速率、高精度、实时处理、系统稳定性好和通道数量多等特点。本申请提供的数据同步方法和装置基于FPGA实现多通道AD同步采集不会产生相位误差;实时性好,DSP处理器和ARM处理器既满足同步采集、又兼容实时性采集;不仅支持同步采集,也支持FPGA采集处理器之间的时间同步功能。
需要说明的是,在本申请中,采用了诸如S10、S20等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行S20后执行S10等,但这些均应在本申请的保护范围之内。
在本申请提供的数据采样装置和存储介质的实施例中,可以包含任一上述方法实施例的全部技术特征,说明书拓展和解释内容与上述方法的各实施例基本相同,在此不再做赘述。
本申请实施例还提供一种计算机程序产品,计算机程序产品包括计算机程序代码,当计算机程序代码在计算机上运行时,使得计算机执行如上各种可能的实施方式中的方法。
本申请实施例还提供一种芯片,包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行如上各种可能的实施方式中的方法。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例设备中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (14)

1.一种基于可编程逻辑器件的数据采样方法,其特征在于,应用于数据采样装置,所述数据采样装置包括多个数据采样通道,所述基于可编程逻辑器件的数据采样方法包括:
基于预设时钟对所述多个数据采样通道进行复位同步;
根据预设采样率,对所述多个数据采样通道进行模数转换开始时刻同步;
根据预设补偿值,对所述多个数据采样通道进行模数转换完成时刻同步;
基于预设延迟策略,对所述多个数据采样通道进行逻辑采样同步;
根据同步结果,对所述多个数据采样通道进行逻辑采样。
2.如权利要求1所述的基于可编程逻辑器件的数据采样方法,其特征在于,所述基于预设时钟对所述多个数据采样通道进行复位同步的步骤包括:
根据所述数据采样装置的系统时钟同时对所述多个数据采样通道进行复位。
3.如权利要求1所述的基于可编程逻辑器件的数据采样方法,其特征在于,所述根据预设采样率,对所述多个数据采样通道进行模数转换开始时刻同步的步骤包括:
基于所述预设采样率生成模数转换开始信号,以驱动每个数据采样通道以同一信号基准进行模数转换。
4.如权利要求1所述的基于可编程逻辑器件的数据采样方法,其特征在于,所述基于预设延迟策略,对所述多个数据采样通道进行逻辑采样同步的步骤包括:
响应于接收到所述多个数据采样通断的第一个模数转换完成信号,按照预设时钟周期进行延时计时;
在所述延时计时完成时,对所述多个数据采样通断进行数据读取。
5.如权利要求1-4任一项所述的基于可编程逻辑器件的数据采样方法,其特征在于,所述根据预设补偿值,对所述多个数据采样通道进行模数转换完成时刻同步的步骤包括:
根据每个数据采样通道对于转换时间的预设补偿值,基于预设采样率分别对应延迟生成多个模数转换开始信号,以驱动所述多个数据采样通道分别开始模数转换。
6.如权利要求5所述的基于可编程逻辑器件的数据采样方法,其特征在于,所述根据每个数据采样通道对于转换时间的预设补偿值,基于预设采样率分别对应延迟生成多个模数转换开始信号,以驱动所述多个数据采样通道分别开始模数转换的步骤之前包括:
接收所述多个数据采样通道的模数转换完成信号,分别记录每个数据采样通道的完成时间戳;
根据所述多个数据采样通道的完成时间戳,计算每个数据采样通道的转换时间差;
根据所述转换时间差,分别确定每个数据采集通道对于转换时间的预设补偿值。
7.如权利要求6所述的基于可编程逻辑器件的数据采样方法,其特征在于,所述数据采样装置包括多个可编程逻辑器件;所述基于可编程逻辑器件的数据采样方法的方法还包括:
按照预设同步策略,确定一个可编程逻辑器件的时间信号为系统时间同步源;
根据所述系统时间同步源,所述多个可编程逻辑器件进行同步数据采样。
8.如权利要求7所述的基于可编程逻辑器件的数据采样方法,其特征在于,所述按照预设同步策略,确定一个可编程逻辑器件的时间信号为系统时间同步源的步骤包括:
对每个可编程逻辑器件建立时间戳选举表,控制每个可编程逻辑器件定时发送时间戳,并分别接收、转发其他可编程逻辑器件的时间戳;
按照所述时间戳选举表的顺序,确定任一可编程逻辑器件为第一时间同步源;
以所述第一时间同步源的时间戳为所述系统时间同步源。
9.如权利要求8所述的基于可编程逻辑器件的数据采样方法,其特征在于,所述以所述第一时间同步源的时间戳为所述系统时间同步源的步骤之后包括:
若未收到所述第一时间同步源的时间戳超过预设时间阈值,按照所述时间戳选举表的顺序,确定另一可编程逻辑器件为第二时间同步源;
以所述第二时间同步源的时间戳为所述系统时间同步源。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-9任一项所述的基于可编程逻辑器件的数据采样方法的步骤。
11.一种数据采样装置,其特征在于,所述数据采样装置包括处理器和存储器;
所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-9任一项所述的基于可编程逻辑器件的数据采样方法的步骤;和/或,
所述数据采样装置包括时钟源、时间同步模块、数据采集模块、通信模块和多个数据采集卡;
所述时间同步模块与所述时钟源连接,被配置为基于所述时钟源确定时间信号;
所述数据采集模块分别与所述多个数据采集卡连接,被配置为通过所述多个数据采集卡获取采样数据;
所述通信模块分别与所述时间同步模块和所述数据采集模块连接,用于发送所述时间信号和所述采样数据。
12.如权利要求11所述的数据采样装置,其特征在于,所述数据采样装置包括以下至少一项:
所述时钟源为晶体振荡器或有源时钟电路;
所述多个数据采集卡均采用并行工作模式;
所述通信模块为以太网接口或IO接口。
13.如权利要求11或12所述的数据采样装置,其特征在于,所述时间同步模块、数据采集模块和通信模块使用可编程逻辑器件实现。
14.如权利要求13所述的数据采样装置,其特征在于,所述数据采样装置包括多个所述可编程逻辑器件,所述数据采样装置还包括处理模块,所述处理模块分别与每个可编程逻辑器件的通信模块连接,被配置为接收所述多个可编程逻辑器件的同步采样数据。
CN202310226898.3A 2023-03-08 2023-03-08 基于可编程逻辑器件的数据采样方法、装置和存储介质 Pending CN116450027A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310226898.3A CN116450027A (zh) 2023-03-08 2023-03-08 基于可编程逻辑器件的数据采样方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310226898.3A CN116450027A (zh) 2023-03-08 2023-03-08 基于可编程逻辑器件的数据采样方法、装置和存储介质

Publications (1)

Publication Number Publication Date
CN116450027A true CN116450027A (zh) 2023-07-18

Family

ID=87129203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310226898.3A Pending CN116450027A (zh) 2023-03-08 2023-03-08 基于可编程逻辑器件的数据采样方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN116450027A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117459613A (zh) * 2023-12-22 2024-01-26 浙江国利信安科技有限公司 用于回放数据的方法、电子设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117459613A (zh) * 2023-12-22 2024-01-26 浙江国利信安科技有限公司 用于回放数据的方法、电子设备和存储介质
CN117459613B (zh) * 2023-12-22 2024-03-19 浙江国利信安科技有限公司 用于回放数据的方法、电子设备和存储介质

Similar Documents

Publication Publication Date Title
US7573914B2 (en) Systems and methods for synchronizing time across networks
EP2047619B1 (en) Consistent distributed timestamp counters
US7940667B1 (en) Delay measurements and calibration methods and apparatus for distributed wireless systems
WO2020135332A1 (zh) 一种时间同步方法及电子设备
JP2003174491A (ja) Smii規格による装置間のデータ転送中継装置及びその方法
CN104378193A (zh) 时间同步系统及方法、交换机、嵌入式接口板
US11902015B2 (en) Multi-channel signal synchronization system, circuit, and method
CN110995388B (zh) 一种分布式的共享时钟触发调延系统
CN116450027A (zh) 基于可编程逻辑器件的数据采样方法、装置和存储介质
KR20030064379A (ko) 다중-클럭 시스템에서 스킵 패턴을 동기화하고 클럭포워딩 인터페이스를 초기화하는 시스템 및 방법
CN114337895A (zh) 基于线性菊花链以太网拓扑的时钟同步系统
Carstensen et al. A converter control field bus protocol for power electronic systems with a synchronization accuracy of±5ns
WO2024113681A1 (zh) 一种时钟架构及处理模组
JP2008167054A (ja) 光伝送システム
CN221010096U (zh) 数据采样装置
JP2024071432A (ja) 非同期asic
CN110830137B (zh) 一种基于srio的多节点时间同步控制系统及其同步控制方法
CN111181679A (zh) 基于ieee1588的高速流媒体总线精确时钟同步系统
JPH11265313A (ja) 記憶装置
US6775339B1 (en) Circuit design for high-speed digital communication
CN214480655U (zh) 一种兼容可定义确定性通信以太网的嵌入式设备
JP2019054568A (ja) インバータシステムの同期制御方法及びインバータシステム
JPH11112938A (ja) 画像パケット通信システム
US8582711B2 (en) Clock change device and clock change method
CN111865467A (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