一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于时间戳的多通道采样同步方法与流程

2021-10-24 07:05:00 来源:中国专利 TAG:示波器 采样 同步 通道 数字


1.本发明属于数字示波器技术领域,更为具体地讲,涉及一种基于时间戳的多通道采样同步方法。


背景技术:

2.随着科研水平的不断提升,人们对高采样率示波器的需求不断增高。在核能谱测量中,对γ射线脉冲的识别要求采样率至少大于15msps,观测供电传输线上的浪涌电流时,浪涌的持续时间只有几百纳秒,高能加速器的微脉冲信号的时间精度在几百皮秒,在众多的科研场景下,只有足够高速的数据采集系统才能将信号完整地记录下来。因此,高性能示波器或数据采集系统逐渐开始使用新型gspsadc(模数转换器),这类adc最大特点是由原先的并行lvds接口进化为串行jesd204b接口。jesd204b接口相比与并行lvds接口具有多种好处:吞吐量更大、传输线更少、器件封装更小等。然而在使用多片adc构建高速数据采集系统时,多adc的数据同步也成为一大难题。
3.现有的解决方案是利用jesd204b协议的确定性延迟特性实现多片同步。jesd204b协议为源源不断的数据流划分了两个边界:帧、多帧,其中多帧时钟的边界由lmfc(本地多帧时钟)确定。初始化时,发送器所有通道发送ilas(初始通道对齐序列),接收器所有通道接收ilas,而每一个通道都包含一个弹性缓冲器,只要接收器所有通道在同一个多帧边界内接收
4.ilas再同时释放弹性缓冲器就能实现通道数据对齐。但是在实际系统中,各通道的ilas往往跨越一个多帧时钟边界,为此需要调节dtxlfmc(sysref有效沿到接收端lmfc的延迟)和drxlmfc(sysref有效沿到发送端lmfc的延迟)使得各通道ilas在同一个lmfc到达。
5.上述方法存在的问题有三点:1、调节dtxlmfc和drxlmfc需要得到最大走线延迟、最小走线延迟、发送端输出延迟和接收端输入延迟,这些数据在一般条件下很难得到。2、对于诸如雷达系统的应用,需要使用成千上百转换器,计算难度直线上升。3、对于需要调整时钟相位的应用,调整时钟相位会破坏sysref信号与器件时钟的时序关系,确定性延迟可能会出现不确定性。4、只能对齐jesd204b数据传输链路,不能对模拟通道进行对齐和消除采样时钟偏斜带来的不同步。


技术实现要素:

6.本发明的目的在于克服现有技术的不足,提供一种基于时间戳的多通道采样同步方法,在没有额外的硬件开销下,不仅能够对齐多条jesd204b高速串行数据链路,还能够减小由采样时钟偏斜和模拟通道不一致等原因产生的通道间延迟。
7.为实现上述发明目的,本发明一种基于时间戳的多通道采样同步方法,其特征在于,包括以下步骤:
8.(1)、多adc数据同步;
9.(1.1)、利用晶振产生低频的源时钟信号并发送给双锁相环的时钟管理器;
10.(1.2)、fpga通过spi通讯协议对时钟管理器进行寄存器初始化配置;初始化配置完成后,时钟管理器对低频的源时钟信号进行两级锁定和放大,再通过内部的时钟分配网络产生多路采样时钟sclk和多路参考时钟refclk,其中,sclk和refclk的数量与系统使用的adc数量对应,sclk发送给每片adc,refclk发送给fpga;
11.(1.3)每片adc在sclk的驱动下对输入的模拟信号进行采样,将模拟信号转换为m个bit的采样点数据;随后,通过adc内部的串行通道映射单元为m个bit的采样点数据添加w个bit的冗余控制位,形成m w个bit的串行通道数据,默认情况下冗余控制位的值为0;
12.(1.4)、fpga分三次发送同步脉冲至时钟管理器,分别完成时钟同步、数据传输链路建立和时间戳标记;
13.fpfa第一次发送的同步脉冲至时钟管理器后,时钟管理器内的时钟分配网络进行复位操作,使多路采样时钟sclk的相位对齐,多路参考时钟refclk的相位对齐;随后,fpga向时钟管理器发送spi命令,一方面屏蔽时钟分配网络对同步脉冲的响应,另一方面打开脉冲分配网络对同步脉冲的响应;同时,fpga还向adc发送spi命令,对adc的默认寄存器数据进行改写,禁用adc中默认的多帧时钟对齐功能,打开时间戳功能;
14.fpfa第二次发送的同步脉冲至时钟管理器后,时钟管理器内的脉冲分配网络进行复位操作,产生系统的参考脉冲sysref,并分别反馈给fpga和所有adc;当fpga内部的千兆收发器模块接收到参考脉冲sysref后,置高由fpga发送到每个adc的syncb信号,当adc接收到被置高的syncb信号后,开始向fpga传输串行通道数据流;
15.fpfa第三次发送的同步脉冲至时钟管理器后,时钟管理器内的脉冲分配网络再次进行复位操作,第二次产生系统的参考脉冲sysref,并分别反馈给fpga和所有adc;当adc接收到参考脉冲sysref后,标记参考脉冲sysref上升沿时刻之后的第一个采样点数据,并将其所对应的串行通道数据的冗余控制位中的某一位置1,其余位保持为0,从而完成时间戳标记;
16.(1.5)、fpga使用千兆收发器接收多片adc发送的串行通道数据流,通过高速串行技术对每个通道的串行通道数据流进行解串、降速和升位宽,转换为k路并行数据,并通过时钟恢复技术提取出并行数据流的数据时钟dclk;
17.(1.6)、对每通道的k路并行数据进行调序:检测时间戳标记出现在并行数据的位置,记为l,1≤l≤k;将原并行数据的第1至l

1路延迟两个dclk周期,原并行数据的第l路至第k路延迟一个dclk周期,形成延迟后的并行数据;最后将延迟后的并行数据按第l路至第k路、第1路至第l

1路的顺序重新依次排列,形成调序后的并行数据;
18.(1.7)、使用多片fifo分别为每通道调序后的并行数据增加动态延迟,当某一通道调序后的并行数据被检测出含有时间戳标记位“1”时,则开启对应通道的fifo的写使能;当所有通道调序后的并行数据均被检测出含有时间戳标记位“1”后,则开启所有通道的fifo的读使能,且保持写使能开启,读写保持平衡,各通道并行数据被动态地增加延迟,形成最终的用户数据流;
19.(2)、多通道采样同步;
20.(2.1)、调节adc时序;
21.通过spi通讯协议回读adc内部寄存器数据,监测adc的sysref建立/保持时间窗口寄存器,若寄存器回读值为1,表示时序违例,即sysref的有效沿出现在sclk有效沿的窗口
内,sysref不满足sclk的时序条件,此时应逐步增加对应的发送至adc的sysref延迟值,直至再次初始化后不显示时序违例,即回读值为0;
22.(2.2)、对通道间延迟进行测量;
23.(2.2.1)、选取一个通道作为基准通道,其余的通道作为待测通道;
24.(2.2.2)、信号源输出已知频率的正弦信号,再通过功率分配器和等长传输线将正弦信号输入至基准通道和待测通道;
25.(2.2.3)、使用fpga调试工具ila收集基准通道和待测通道在同一时间段内采集到的用户数据;
26.(2.2.4)、计算采集到的用户数据的相位差,记为θ;
27.(2.2.5)、计算待测通道相对于基准通道的通道间延迟δt;
[0028][0029]
其中,f为输入的正弦信号的频率;
[0030]
(2.3)、对通道间延迟进行校正;
[0031]
按步进逐步增加待测通道的sclk延迟与sysref延迟,使得增加的延迟量尽可能接近通道间延迟值δt,直至增加的延迟量与测得的通道间延迟值之差的绝对值小于时钟芯片延迟的可调节最小步进;
[0032]
(2.4)、重复上述步骤(2.1)~步骤(2.3),直至完成所有通道的通道间延迟校正。
[0033]
本发明的发明目的是这样实现的:
[0034]
本发明基于时间戳的多通道采样同步方法,先进行多adc数据同步,再进行多通道采样同步;在多adc数据同步时,通过fpga分三次发送同步脉冲至时钟管理器,分别完成时钟同步、数据传输链路建立和时间戳标记,然后fpga使用千兆收发器接收多片adc发送的串行通道数据流转换为并行数据,然后对每通道的并行数据进行调序以及增加动态延迟,最终形成最终的用户数据流;多通道采样同步时,先调节adc时序,然后测量通道间延迟并校正。
[0035]
同时,本发明基于时间戳的多通道采样同步方法还具有以下有益效果:
[0036]
(1)、通过在jesd204b框架下部署时间戳功能,能够实现在无额外硬件花销的情况下多条jesd204b高速串行数据链路的对齐;
[0037]
(2)、基于时间戳的多通道采样同步方法与利用jesd204b协议的确定性延迟特性实现多片同步的传统方法相比,突破了只能对齐jesd204b数据传输链路,不能对模拟通道进行对齐和消除采样时钟偏斜带来的不同步的局限;
[0038]
(3)、在多adc数据同步中,使用了并行数据调序技术以及增加动态延迟技术,高效实现了多子模块波形数据存储和传输的同步。
[0039]
(4)、在多通道采样同步中,通过监测adc的sysref建立/保持时间窗口寄存器,动态增加发送至adc的sysref信号延迟值,保证sysref信号与adc时钟信号之间不会出现时序违例,解决了现有方法在调整时钟相位会破坏sysref信号与器件时钟的时序关系,确定性延迟可能会出现不确定性的问题。
附图说明
[0040]
图1是本发明基于时间戳的多通道采样同步系统一种具体实施方式架构图;
[0041]
图2是时钟管理器的一种具体实施方式架构图;
[0042]
图3是串行通道数据的结构示意图;
[0043]
图4是样本点添加时间戳标记的示意图;
[0044]
图5是采样点顺序调整示意图;
[0045]
图6是使用fifo增加动态延迟示意图;
[0046]
图7是fpga内数据流程图;
[0047]
图8是通过寄存器监控sysref有效沿时序违例示意图;
具体实施方式
[0048]
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0049]
实施例
[0050]
图1是本发明基于时间戳的多通道采样同步系统一种具体实施方式架构图。
[0051]
在本实施例中,本发明一种基于时间戳的多通道采样同步方法,主要包括多adc数据同步和多通道采样同步两个步骤,下面我们对每个步骤进行详细说明,具体如下:
[0052]
s1、多adc数据同步;
[0053]
在本实施例中,如图1所示,我们以4片2.5gsps采样率12bits分辨率的adc(jesd204b接口),对4路模拟信号进行采样后将采样数据传输至fpga,那么4片adc数据同步的具体过程为:
[0054]
s1.1、如图2所示,利用晶振产生低频的源时钟信号并发送给双锁相环的时钟芯片;
[0055]
s1.2、fpga通过spi通讯协议对时钟管理器进行寄存器初始化配置;初始化配置完成后,时钟管理器对低频的源时钟信号进行两级锁定和放大,再通过内部的时钟分配网络产生4路采样时钟sclk和4路参考时钟refclk,其中,sclk发送给每片adc,refclk发送给fpga;
[0056]
s1.3、每片adc在sclk的驱动下对输入的模拟信号进行采样,将模拟信号转换为12bit的采样点数据;随后,通过adc内部的串行通道映射单元为12bit的采样点数据添加4bit的冗余控制位,形成16bit的串行通道数据,如图3所示,默认情况下冗余控制位的值为0;
[0057]
s1.4、fpga分三次发送同步脉冲至时钟管理器,分别完成时钟同步、数据传输链路建立和时间戳标记;
[0058]
fpfa第一次发送的同步脉冲至时钟管理器后,时钟管理器内的时钟分配网络进行复位操作,使4路采样时钟sclk的相位对齐,4路参考时钟refclk的相位对齐;随后,fpga向时钟管理器发送spi命令,一方面屏蔽时钟分配网络对同步脉冲的响应,另一方面打开脉冲分配网络对同步脉冲的响应;同时,fpga还向adc发送spi命令,对adc的默认寄存器数据进行改写,禁用adc中默认的多帧时钟对齐功能,打开时间戳功能;
[0059]
fpfa第二次发送的同步脉冲至时钟管理器后,时钟管理器内的脉冲分配网络进行复位操作,产生系统的参考脉冲sysref,并分别反馈给fpga和所有adc;当fpga内部的千兆收发器模块接收到参考脉冲sysref后,置高由fpga发送到每个adc的syncb信号,当adc接收到被置高的syncb信号后,开始向fpga传输串行通道数据流;
[0060]
fpfa第三次发送的同步脉冲至时钟管理器后,时钟管理器内的脉冲分配网络再次进行复位操作,第二次产生系统的参考脉冲sysref,并分别反馈给fpga和所有adc;当adc接收到参考脉冲sysref后,标记参考脉冲sysref上升沿时刻之后的第一个采样点数据,并将其所对应的串行通道数据的冗余控制位中的某一位置1,其余位保持为0,从而完成时间戳标记;在本实施例中,adc为添加时间戳标记位的过程如图4所示,当检测到sysref信号从低电平到高电平的跳变时,标记参考脉冲sysref上升沿时刻之后的第一个采样点数据,将4个控制位中的最高一位置1,在其余任何时候该控制位均为0;
[0061]
s1.5、fpga使用千兆收发器接收4片adc发送的串行通道数据流,通过高速串行技术对每个通道的串行通道数据流进行解串、降速和升位宽,转换为8路并行数据,并通过时钟恢复技术提取出并行数据流的数据时钟dclk;
[0062]
s1.6、对每通道的8路并行数据进行调序:检测时间戳标记出现在并行数据的位置,记为l,1≤l≤8;将原并行数据的第1至l

1路延迟两个dclk周期,原并行数据的第l路至第8路延迟一个dclk周期,形成延迟后的并行数据;最后将延迟后的并行数据按第l路至第8路、第1路至第l

1路的顺序重新依次排列,形成调序后的并行数据;
[0063]
由于fpga时钟速率的限制,因此必须通过降低时钟速率提升位宽的方式接收和传输adc的采样数据,本系统单片adc的数据位宽为12bits,时钟速率高达2.5ghz,而经过fpga解串器后时钟速率会降低为312.5mhz,位宽会相应地提升至96bits,这意味着在fpga内,一个数据时钟周期对齐的是8个采样点,携带时间戳标记的采样点可能是存在于8路数据中的任意一路,因此首先调整各路数据流的顺序,使得携带时间戳标记的采样点固定在8路数据中的第一路。
[0064]
对采样点调整顺序如图5所示,采样点顺序调整在检测到timestamp(时间戳标记信号)为高后开始进行,将携带时间戳标记的采样点(d4)移动到原第一个采样点的位置,同一时钟周期在d4之后的3个采样点(d5、d6、d7)和下一时钟周期靠前的4个采样点(d8、d9、d10、d10)补齐余下7个采样点的位置,此时数据有效使能才拉高。
[0065]
s1.7、使用多片fifo分别为每通道调序后的并行数据增加动态延迟,当某一通道调序后的并行数据被检测出含有时间戳标记位“1”时,则开启对应通道的fifo的写使能;当所有通道调序后的并行数据均被检测出含有时间戳标记位“1”后,则开启所有通道的fifo的读使能,且保持写使能开启,读写保持平衡,各通道并行数据被动态地增加延迟,形成最终的用户数据流;
[0066]
在本实施例中,数据流的顺序经过调整后,各通道数据存在着整数倍时钟周期的相位差,即:δt=
±
n*3.2ns,n=1,2,3,

;为此,我们可以将经过顺序调整的数据流送往一个fifo阵列,每片adc数据分别送往一个fifo。fifo的写位宽和读位宽保持一致,均为96bits。fifo的写使能为数据有效使能;当检测到所有的fifo都有数据写入后,所有fifo再一起打开读使能,写使能也不关闭,fifo保持边写边读的读写平衡状态,这样快路数据就增加了相应延迟和慢路数据保持对齐,通过fifo为快路数据增加动态延迟的过程如图6所示;
而上述调序和增加动态延迟的fpga流程图如图7所示,至此时间戳同步机制已经配置完毕。
[0067]
s2、多通道采样同步;
[0068]
s2.1、调节adc时序;
[0069]
通过spi通讯协议回读adc内部寄存器数据,监测adc的sysref建立/保持时间窗口寄存器,若寄存器回读值为1,表示时序违例,即sysref的有效沿出现在sclk有效沿的窗口内,sysref不满足sclk的时序条件,此时应逐步增加对应的发送至adc的sysref延迟值,直至再次初始化后不显示时序违例,即回读值为0;
[0070]
s2.2、对通道间延迟进行测量;
[0071]
s2.2.1、选取一个通道作为基准通道,其余的通道作为待测通道;
[0072]
s2.2.2、信号源输出已知频率的正弦信号,再通过功率分配器和等长传输线将正弦信号输入至基准通道和待测通道;
[0073]
s2.2.3、使用fpga调试工具ila收集基准通道和待测通道在同一时间段内采集到的用户数据;
[0074]
s2.2.4、计算采集到的用户数据的相位差,记为θ;
[0075]
s2.2.5、计算待测通道相对于基准通道的通道间延迟δt;
[0076][0077]
其中,f为输入的正弦信号的频率;
[0078]
s2.3、对通道间延迟进行校正;
[0079]
按步进逐步增加待测通道的sclk延迟与sysref延迟,使得增加的延迟量尽可能接近步骤s2.2测得的通道间延迟值δt,直至增加的延迟量与测得的通道间延迟值绝对值之差小于时钟芯片延迟的可调节最小步进;
[0080]
s2.4、重复上述步骤s2.1~步骤s2.3,直至完成所有通道的通道间延迟校正。
[0081]
在本实施例中,多adc通道间延迟值可以分为固定部分和随机部分。随机延迟来源于sysref信号与器件时钟的时序违例所造成的亚稳态现象,通过调节sysref与器件时钟的相位关系可以避免出现亚稳态消除这部分随机延迟;固定延迟来源于数据传输路径不一致,通过之前部署的时间戳机制配合下文将要叙述的延迟调节就可以减小固定延迟直至小于一个可编程延迟值。
[0082]
如图7所示,本发明实施例所用adc内含一个sysref建立时间和保持时间的监控寄存器,若sysref的有效沿出现在clk有效沿的窗口内,则该寄存器读出值将为1,警告用户sysref不满足clk的时序条件,该窗口宽度还可以增大以留出更多的裕量。在时钟管理器为adc提供了稳定的时钟之后,发送sysref脉冲信号,再回读上述寄存器值,若值为0,则不必进行任何调整;若为1,则增加相应sysref脉冲的延迟值,再重复上述过程直到回读值变为0。对于本实施例而言,一个采样时钟周期为400ps,而时钟管理器输出通道的可编程延迟值为25ps,可调整步进为0~23,因此总能找出一个合适值使得sysref的有效沿不会落在clk的时序违例窗口内。最后需要注意的是,所有adc都必须进行此操作。
[0083]
之后确定一个参考通道,其余通道为待测通道,输入同样的信号测量参考通道和待测通道的相位差。该信号通过功率分配器从一个信号源一分为二得到,并通过等长传输线连接至系统;相位差测量的方法可以采用互相关相位差测量法、三参数正弦拟合或者其
他的信号相位差测量算法,这里不详细讨论。计算的结果可以用以下式子表示:δt=a*t c*d m;
[0084]
其中,δt是计算得到的通道间延迟,t为采样时钟周期,d为时钟管理器可编程延迟值,a和c为大于等于0的整数,m是小于d的延迟部分。该式子的含义是将通道间延迟值划分为a个时钟周期、c个可调整最小步进和余下不能调整的延迟m部分。以本发明实施例为例,t=400ps,d=25ps,若测得δt为736ps,则δt可分解为:δt=736ps=1*400ps 13*25ps 11ps;为滞后通道的sysref信号延迟a个t延迟值(采用不同于d的数字延迟通道),可以将滞后信号数据提前a个时钟周期,因为sysrff信号以整数倍时钟周期移动,所以不会产生新的时序违例;为滞后通道的sysref信号和clk信号同时延迟c个d延迟值(不用于t的模拟延迟通道),可以将滞后数据提前c*d时间值,因为sysref与clk同时移动,相位关系不会发生变化所以也不会产生时序违例。经过上述分解,m始终会小于d,对于本实施例来说也就是25ps。
[0085]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜