一种多片基于JESD204B协议ADC的同步方法与流程

文档序号:12828747阅读:1438来源:国知局
一种多片基于JESD204B协议ADC的同步方法与流程

本发明属于信号采样技术领域,更为具体地讲,涉及一种多片基于jesd204b协议adc的同步方法。



背景技术:

jesd204b串行传输协议(简称jesd204b协议)是在adc传输中重要的接口标准,它相比传统的并行lvds接口标准,具有速度快、占用io引脚少等优点,正逐渐被各大adc厂所青睐。

jesd204b协议的发送端即adc和接收端分为传输层、数据链路层和物理层。最高的链路速率为12.5gb/s。从整体上看,采样数据(如12bit、8bit等)在发送端经过8b/10b编码之后被打包成串行数据,串行传输到接收端后经接收端解串、解码然后还原出原始的采样数据。

jesd204b协议虽然具有速度快、占用io引脚少等巨大优势,但是链路中存在的不确定性延迟极大的阻碍了多片基于jesd204b协议adc的同步,对构成jesd204b协议的时间交替采样系统(tiadc系统)等应用场合带来了障碍。而不确定性延迟体现在链路重新建立或者重新上电的过程中,jesd204b协议下接收端不能在确定的时刻点或者确定的本地多帧时钟周期的边沿接收到数据,使链路的延迟具有不可重复性。



技术实现要素:

本发明的目的在于克服现有技术的不足,提出一种多片基于jesd204b协议adc的同步方法,以实现确定性延迟。

为实现上述发明目的,本发明多片基于jesd204b协议adc的同步方法,其特征在于,包括以下步骤:

(1)、在多片基于jesd204b协议的adc、作为采样数据接收端的fpga以及具有能够产生sysref(系统参考)信号的时钟管理模块构建的数据采集系统中,调节时钟管理模块产生满足要求的adc采样时钟dclk_adc分别输入到各片adc中,产生满足要求的fpga参考时钟dclk_fpga输入到各片fpga中,同时,时钟管理模块将其产生的sysref信号输入到各片adc以及各片fpga中;

(2)、配置好各片adc的寄存器,并使接收到sysref信号相对于采样时钟dclk_adc的建立时间窗口大于时间阈值t1,保持时间窗口大于时间阈值t2,时间阈值t1、时间阈值t2根据具体的adc芯片确定;

(3)、通过串行spi协议调节时钟管理模块的内部寄存器,设置sysref信号的初始模拟延迟值为0,产生单次的sysref信号;

(4)、读取各adc的建立时间错误标志寄存器和保持时间错误标志寄存器的值;

(5)、对于任意一片adc,如果建立时间错误标志寄存器和保持时间错误标志寄存器中至少一个不是“0”(即“1”),则通过adc相应的清零方法对建立时间错误标志寄存器和保持时间错误标志寄存器清零,然后增加sysref信号模拟延迟值,并通过串行spi协议调节时钟管理模块的内部寄存器,重新设置sysref信号的模拟延迟值,重新产生单次的sysref信号,返回步骤(4);

如果建立时间错误标志寄存器和保持时间错误标志寄存器的值都是“0”,此时表明sysref信号与adc采样时钟dclk_adc的建立时间和保持时间都已满足,则跳转到步骤(6);

(6)、求出接收端即fpga中,sysref信号到lmfc(本地多帧时钟)上升沿的时间间隔trxlmfc,使得存在一个n值,同时满足以下公式:

(ttxout+twire(max)+trxin(max))<((n+1)×tlmfc-ttxlmfc+trxlmfc)

(ttxout+twire(min)+trxin(min))>(n×tlmfc-ttxlmfc+trxlmfc)

其中,ttxout为发送端即adc中lmfc上升沿到串行数据输出的时间间隔,twire(max)、twire(min)分别为发送端即adc到接收端即fpga的线路延迟最大值和最小值,trxin(max)、trxin(min)分别为接收端即fpga接收到串行数据到lmfc上升沿的时间间隔最大和最小值,tlmfc为本地多帧时钟的周期,ttxlmfc为发送端即adc中sysref信号到lmfc上升沿之间的时间间隔;

(7)、将步骤(6)得到的时间间隔trxlmfc发送到接收端fpga中lmfc延迟寄存器,这样就保证了链路的确定性延迟,进而实现了多片基于jesd204b协议adc的同步。

本发明的目的是这样实现的。

本发明多片基于jesd204b协议adc的同步方法,通过对sysref(系统参考)信号的调整,其首先保证sysref信号与adc的采样时钟dclk_adc满足最佳的建立时间和保持时间,然后调节接收端的本地多帧周期延迟即sysref信号到lmfc(本地多帧时钟)上升沿的时间间隔trxlmfc,做到最坏的链路都能够实现确定性延迟,保证了多片基于jesd204b协议adc的同步,进而保证了在重复上电或者重新建立链路的时候多片adc都同步。

附图说明

图1是本发明中多片基于jesd204b协议adc构建的数据采集系统原理框图;

图2是接收端不确定性延迟的图示;

图3是adc同步有效性验证的采样数据拼合波形图,其中,(a)为采样数据拼合错误的波形图,(b)为采样数据拼合正确的波形图。

具体实施方式

下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。

图1是本发明中多片基于jesd204b协议adc构建的数据采集系统原理框图。

在本实施例中,如图1所示,本发明中多片基于jesd204b协议adc构建的数据采集系统由多片基于jesd204b协议adc、作为采样数据接收端的fpga以及具有能够产生sysref(系统参考)信号的时钟管理模块构建。

在本实施例中,如图1所示,由两片型号为ad9625的adc、两片型号为kintex-7的fpga以及一片型号为lmk04828的锁相环芯片构建一个数据采集系统,其中,adc作为数据采集系统的发送端,fpga作为数据采集系统的接收端,锁相环芯片作为时钟管理模块,一片fpga对应一片adc。

在本实施例中,本发明多片基于jesd204b协议adc的同步方法包括以下步骤:

步骤s1:调节时钟管理模块产生满足要求的adc采样时钟dclk_adc分别输入到各片adc中,产生满足要求的fpga参考时钟dclk_fpga输入到各片fpga中,同时,时钟管理模块将其产生的sysref信号输入到各片adc以及各片fpga中;

步骤s2、配置好各片adc的寄存器,并使接收到sysref信号相对于采样时钟dclk_adc的建立时间窗口大于时间阈值t1,保持时间窗口大于时间阈值t2,在本实施例中,时间阈值t1为150ps、时间阈值t2为100ps;

在本实施例中,首先通过spi协议配置好ad9625,建立时间窗口寄存器和保持时间窗口寄存器分别是0x13c[7:5]和0x13b[7:5]寄存器。他们的步进是35ps,则发送5到0x13c[7:5]寄存器,发送3到0x13b[7:5]寄存器。

步骤s3:通过串行spi协议调节锁相环芯片的内部寄存器,设置sysref信号的初始模拟延迟值为0,产生单次的sysref信号;

在本实施例中,调节adc1和adc2的sysref信号的初始模拟延迟为均为0,然后调节锁相环芯片的寄存器,使其产生单次的sysref信号。

s4、读回adc的建立时间错误标志寄存器和保持时间错误标志寄存器的值,看是否为“0”。

在本实施例中,建立时间错误标志寄存器和保持时间错误标志寄存器分别为0x100[3]和0x100[2],它表征是否sysref信号与adc的采样时钟dclk_adc的建立时间窗口和保持时间窗口大于步骤s2中设定的值,第一次读取时,分别是读回存器0x100[3]和0x100[2]的值,发现为“1”。

步骤s5:对于任意一片adc,如果建立时间错误标志寄存器和保持时间错误标志寄存器中至少一个不是“0”(即“1”),通过adc相应的清零方法对建立时间错误标志寄存器和保持时间错误标志寄存器清零,然后增加sysref信号模拟延迟值,并通过串行spi协议调节时钟管理模块的内部寄存器,重新设置sysref信号的模拟延迟值,重新产生单次的sysref信号,返回步骤s4;

如果建立时间错误标志寄存器和保持时间错误标志寄存器的值都是“0”,此时表明sysref信号与adc采样时钟dclk_adc的建立时间和保持时间都已满足,则跳转到步骤s6。

在本实施例中,对寄存器0x03a[6]置“0”置“1”再置为“0”来清零0x100[3]和0x100[2]。

在本实施例中,调节sysref信号的延迟值为180ps,重新产生单次的sysref信号。发现0x100[3]和0x100[2]的值都稳定为“0”,表明sysref信号与adc采样时钟dclk_adc的建立时间和保持时间都已满足。

步骤s6:求出接收端即fpga中,sysref信号到lmfc(本地多帧时钟)上升沿的时间间隔trxlmfc,使得存在一个n值,同时满足以下公式:

(ttxout+twire(max)+trxin(max))<((n+1)×tlmfc-ttxlmfc+trxlmfc)

(ttxout+twire(min)+trxin(min))>(n×tlmfc-ttxlmfc+trxlmfc)

其中,ttxout为发送端即adc中lmfc上升沿到串行数据输出的时间间隔,twire(max)、twire(min)分别为发送端即adc到接收端即fpga的线路延迟最大值和最小值,trxin(max)、trxin(min)分别为接收端即fpga接收到串行数据到lmfc上升沿的时间间隔最大和最小值,tlmfc为本地多帧时钟的周期,ttxlmfc为发送端即adc中sysref信号到lmfc上升沿之间的时间间隔。

在本实施例中,ttxout为6个帧周期,twire(min)为0个帧周期,twire(max)为0个帧周期,trxin(max)、trxin(min)分别为92个帧周期和84个帧周期,tlmfc为32个帧周期,ttxlmfc为0个帧周期,trxlmfc增量值首先选择为0,那么trxlmfc就为28个帧周期(本实施例中trxlmfc的增加值是trxlmfc增量值的4倍,且trxlmfc是在28的基础上增加的),此时得不到一个同时满足的n值。

将trxlmfc对应的增量值增加到5,则trxlmfc变为28+5*4=48个帧周期,再次将数值带入可以求得n值为1,满足要求。

步骤s7:将步骤s6得到的时间间隔trxlmfc对应的增量值发送到接收端fpga中lmfc延迟寄存器,这样就保证了链路的确定性延迟,进而实现了多片基于jesd204b协议adc的同步。

在本实施例中,trxlmfc的增量值为5(对应的trxlmfc的值为48个帧周期),发送5到两片fpga中lmfc延迟寄存器0x010[11:8],这样就保证了链路的确定性延迟,进而实现了两片基于jesd204b协议adc的同步。

仿真

1、验证接收端确定性延迟

通过接收端接收到采样数据的时刻值来证明本发明实现了确定性延迟。在没有使用本方法之前,接收端即fpga接收采样数据开始的时刻可能为图2中两种情况之一,即接收采样数据开始的时刻是随着上电的不同是不确定的,有时候早有时候晚,链路的延迟不确定。

在使用本发明后,经过不断的重复上电,不断的重复测试,得到的结果一直为图2中的一种情况,这证明了本发明实现了确定性延迟。

2、验证adc同步的有效性。

调节锁相环芯片,使得adc2前端的采样时钟滞后adc1前端的采样时钟200ps,如果两片adc做到稳定同步,则两片adc可以构成采样率为5gsps的时间交替采样系统。通过对两片adc的数据能否稳定拼合来证明adc同步的有效性。

当sysref信号没有采用本发明时,拼合两片adc的采样数据会得到图3(a)或者图3(b)的情况,并且随着上电的不同这两种情况的产生是随机的。其根本原因在于sysref信号处于adc采样时钟的亚稳态区域,造成sysref信号有的时刻指向前一个adc采样周期有的时刻指向后一个采样周期,具有不确定性。

当使用本发明后,确保了sysref的建立时间和保持时间都有一个时间窗口,不出现亚稳态,进过不断的重复上电和测试,两片adc的数据可以稳定拼合成图3(b)形式。图3(b)形式也是前端两片adc采样时钟有一定相位差的原因,得到的稳定的时间交替采样系统证明了两片adc同步的有效性。

尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1