一种多FPGA的多通道采集系统存储同步方法与流程

文档序号:16754162发布日期:2019-01-29 17:11阅读:355来源:国知局
一种多FPGA的多通道采集系统存储同步方法与流程

本发明属于高速采集系统存储同步技术领域,更为具体地讲,涉及一种多fpga的多通道采集系统存储同步方法。



背景技术:

多通道同步是多通道采集系统中十分重要的指标。在多通道采集系统,特别是在测试系统中,不仅要求能分析出通道输入信号本身的特性,还需要对通道间的信号进行相关性分析,这就需要对采集系统进行同步。

电子技术日新月异的发展,对采集系统的指标提出了更高的要求。传统的单adc+单fpga结构已经远远不能满足高速采集系统采样率的需求,而多adc+单fpga的架构虽然解决了采样率的问题,但往往会导致fpga内部资源紧张,甚至无法达到fpga内部的时序要求。出于成本以及灵活性的考虑,多adc+多fpga的架构成为了高速数据采集系统的主流选择。

在采集系统中,模拟信号经adc量化后传入fpga进行存储,再进行后续的信号处理。因此,采集系统同步的前提是波形采集以及存储的同步,即adc的同步和fpga内存储的同步。在多adc+多fpga框架下,存储的同步由于fpga之间互联线的增多却变得十分复杂,随着系统器件的增加,如何实现多adc+多fpga框架下存储的同步成为了高速采集系统的一大难点。



技术实现要素:

本发明的目的在于克服现有技术的不足,提供一种多fpga的多通道采集系统存储同步方法,实现多adc+多fpga架构下的多通道采集系统存储的同步。

为实现上述发明目的,本发明一种多fpga的多通道采集系统存储同步方法,其特征在于,包括以下步骤:

(1)、多通道采集系统的fifo写使能同步

主控fpga在每次采集开始时由1:n驱动向n个从fpga发送数据采集复位信号data_acqusition_reset,使各个fpga完成采集系统复位,复位结束后开启fifo写使能;

(2)、多通道采集系统的触发同步

(2.1)、fpga的主从触发属性选择

利用fpga的三态门iobuf,将主从信号放置在同一fpga引脚上,再根据触发源的设置,选择fpga的主从触发属性:当三态门的控制端t为低电平时,fpga的io口作为输入口,即fpga从管脚接收信号,此时fpga为从触发fpga;当三态门的控制端t为高电平时,fpga的io口状态为输出,即从fpga向外部输出信号,此时为fpga为主触发fpga;

(2.2)、模拟触发同步

将模拟触发信号输入至主控fpga,主控fpga再通过1:n驱动将模拟触发信号驱动为n路的触发信号,并发送给n个从fpga,作为各自的触发信号;

(2.3)、利用触发点完成并行数据的数字触发

(2.3.1)、设置数字触发的双触发电平trigercomparevoltagemin和trigercomparevoltagemax,两个电平之间的差值大小代表不同的触发灵敏度;

(2.3.2)、当fifo存满预触发深度后,开启fifo的读使能,使各个fifo处于边读边写的状态,等待触发信号;

(2.3.3)、确定并行数据的精确触发点

对m路并行数据d0-dm-1延迟一个数据时钟sclk,得到延迟后的数据d0_delay~dm-1_delay,其中,sclk为fpga的系统时钟;

以上升沿触发有效,当模拟触发信号到来时,如果d0_delay,…,d2n_delay,…,dm-2_delay均小于trigercomparevoltagemin,且d0_delay…<d2n_delay<…<dm-2_delay,n为正整数,则认为m路并行采样数据具有上升趋势,开启触发定位使能data_cmp_en;

将d0_delay,d1_delay,…dm-1_delay分别与trigercomparevoltagemax进行比较,找出d0_delay,d1_delay,…dm-1_delay中大于trigercomparevoltagemax的第一个采样点dn_delay记为精确的触发点,作为主触发fpga的数字触发定位值n,此时关闭fifo读使能,使fifo处于只写不读的状态,完成一次数字触发;

(2.4)、触发点同步

(2.4.1)、读使能的同步

将主触发fpga的读使能由1:n驱动发送给各个从触发fpga;

(2.4.2)、触发点定位同步

根据主触发fpga的数字触发定位值n产生一个宽度为n×sclk的脉冲信号,其中tsclk为主fpga系统时钟周期,主控fpga将脉冲信号由1:n驱动发送给各从触发fpga,从触发fpga接收到脉冲信号后,用各自的系统时钟sclki对脉冲长度进行计数tsclki=tsclk,所得到的计数值作为主触发通道的精确定位值,各从fpga根据主触发fpga的数字触发定位值进行丢点处理,实现触发点同步;

(3)、固定相位差消除

将信号源输出信号经过功分器后,用两根完全等长的同轴线接入采集系统的两个通道中,调节软件中的丢点数,使两个通道波形完全重合,即完成两个通道间相位差的校正,然后以第一个通道为基准,依次校准各个通道,从而消除固定的相位差,最终到达多通道采集系统存储同步。

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

本发明一种多fpga的多通道采集系统存储同步方法,利用fpga之间的互联线建立fpga之间的互联关系,根据触发源选择fpga主从触发属性,通过主控fpga同步采集从fpga写使能、数字触发精准定位,数字触发定位值同步实现多fpga多通道采集系统下的存储读写同步。

同时,本发明一种多fpga的多通道采集系统存储同步方法还具有以下有益效果:

(1)、根据数字触发定位值产生相应的脉冲长度,使得fpga之间数字触发定位值的传递的互联线由并行连换为串行,极大地节约了fpga的管脚资源。

(2)、利用fpga的三态门,根据触发源的选择设置对应通道fpga的主从触发属性,将主/从控制信号接到同一个fpga管脚上,通过管脚复用,使得需要的fpga管脚数在(1)的基础上再缩减一半。

(3)、通过数字触发精确定位,使得高速并行数据下触发波形得以稳定显示。消除了由于并行多路数据触发导致的触发晃动问题。

附图说明

图1是fifo写使能未同步时序图;

图2是具有预触发功能fifo的存储示意图;

图3是触发不同步下的fifo存储示意图;

图4是并行数据下写使能不同步时序图;

图5是多路采集信号的触发时序图;

图6是一种多fpga的多通道采集系统存储同步方法流程图;

图7是采集系统fpga的拓扑结构图;

图8是采集系统fifo写使能同步时序图;

图9是三态门结构图;

图10是数字触发精确定位触发点示意图;

图11是数字触发同步原理图。

具体实施方式

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

实施例

模拟信号经adc量化成数字信号后,需要对波形数据进行存储,通常使用fpga内部的fifo(先入先出)资源作为采集数据的缓存区域,而fifo的读写使能在不同的fpga之间相位关系是随机的,这样在波形存储时,由于读写使能的不一致,导致了在不同fpga之间的fifo存储不同步。

同步后的adc采样数据送入fpga中,不同fpga之间fifo的写使能开启时间的不同步,将会导致波形存储的不同步。

图1中,dclk是adc同步后的数据时钟,adc1_data、adc2_data分别是两片adc同步后的采样数据,fpga1_fifo_wen和fpga2_fifo_wen分别是两片fpga内的fifo写使能,由图1可以看出,同步后的采样数据送入不同的fpga,fifo的写使能将会影响采集数据存储的同步。在fpga1中,fifo存储的数据是{3,4,5…22},而fpga2中fifo存储的数据是{5,6,7…24},产生了数据的错位,而在实际应用当中,fpag之间fifo写使能的相位随机性,将导致存储数据之间的间隔不固定,严重影响采集系统的存储同步。

触发是采集系统中十分重要的概念,触发的作用在于稳定显示波形以及捕获用户感兴趣的信号。单个fpga中,把触发信号作为数据存储的标志,即写使能的开启,使得系统的存储具有统一的标准,在这种情况下,只需要控制触发信号同时到达各个fpga便可以实现存储的同步。而在实际应用中,往往需要对触发点前后的信号同时进行观测,为此引入了预触发的概念。

预触发是在实际触发信号到来之前,预先存储一段波形,存储的波形长度称为预触发深度,等待触发信号到来后再将存储器写满,从而保证触发点之前的信号可以被存储下来。

实际应用中,往往使用fifo来实现具有预触发功能的采集系统。采集系统复位以后,开启fifo的写使能写入采集数据,同时开启预触发深度的计数,当预触发深度满时(采集状态为ready),开启fifo的读使能边读边写,等待触发信号的到来。触发信号到来后,关闭fifo的读使能,写满fifo,完成一次采集存储过程,存储过程如图2所示。

根据图2,触发的实质是通过控制fifo的读写使能来控制波形在fifo中的存储位置,因此触发点的位置将影响采集系统的波形存储。

如图3所示,在adc采集数据和fifo写使能已经同步情况下,由于两片fpga的触发信号fpga1_triger和fpga2_triger的不同步,导致fifo内存储波形的不同步。fifo写使能的同步保证了两片fpga同时达到ready状态,而fpga2的触发信号fpga2_triger较fpga1_triger信号晚了一个dclk时钟,导致fpga2的fifo在ready状态较fpga1多读了一个数据出来,进而使得两片fpga内存储数据发生了错位。最终,fpga1中所存储的数据是{6,7,…24,},fpga2中存储的数据是{7,8,…,25},产生了数据的偏差。因此由pcb布线延迟等原因导致的多fpga之间响应触发信号时间的不一致,会对采集系统的同步产生影响。

在高速采集系统中,由于fpga芯片时钟速率的限制,采集数据通常要从高速的串行数据经过降速转换为并行的慢速信号,以满足fpga内部时钟和电路的要求,在这种情况下,fpga间fifo读写使能随机性所带来的不同步现象尤为严重。

采集数据并行处理后,fifo位宽和个数增加,读写使能往往对应着多路的信号,如图4所示。图4中,adc采样后的数据由图1的一路数据变成了四路并行的数据,此时,写使能发生了一个dclk时钟的相位差,相差的数据间隔从一个采样点变成了四个采样点,对多fpga间的存储同步产生了严重的影响,使得两个fpga的采集数据之间引入了一个相位差:

tdelay=fifo_wendelay×clk_periodsample×nmultiplexdata

其中,fifo_wendelay是fpga之间的fifo写使能相隔的dclk时钟个数,

nmultiplexdata是fpga中并行数据的路数,clk_periodsample是采集系统的采样点时间间隔。

如图4所示,假设系统采样率为1.25g,则相差一个dclk周期的写使能的错位将会引入一个1×800*4=3.2ns的相位差。

对于采集系统,特别是测试系统,fifo存储写使能的不同步使得两个通道间引入了一个tdelay的相位差,给用户带来了错误的测量信息,高速采集系统并行的数据流同样为触发的同步带来了困难。

在单路数据系统中,数据与同步时钟dclk是一一对应的,触发点位置即为触发信号到来后的第一个点。随着采集系统采样率的提升,数据由单路串行数据转换为多路并行数据,每一个dclk时钟对应着多路的采样数据,如图5所示。触发信号到来时,真正的触发点是该时刻对应的四个点n、n+1、n+2、n+3,但无法准确判断触发点在四路数据的哪一路数据,使得触发无法稳定。影响了采集系统的存储同步。

根据以上分析,单路数据采集系统存储同步需要对多fpga之间的fifo写使能以及模拟触发信号进行同步,多路数据采集系统除此之外还需要对触发点的准确位置进行同步。

本发明通过控制采集系统复位信号的同步来实现fifo写使能的同步,提出了一种多fpga的多通道采集系统存储同步方法进行详细说明,如图6所示,具体包括以下步骤:

s1、多通道采集系统的fifo写使能同步

单路数据采集系统存储同步需要对多fpga之间的fifo写使能以及模拟触发信号进行同步,多路数据采集系统除此之外还需要对触发点的准确位置进行同步。

如图7所示,将采集系统的fpga划分主从结构。主控fpga(fpga_master)在每次采集开始时向从fpga(fpga_slave)发送数据采集复位信号data_acqusition_reset,各个fpga采集系统复位后,开启fifo写使能,从而达到通过控制采集系统复位来控制fifo写使能的同步,采集系统fifo写使能同步时序图如图8所示,其中,data_acqusition_reset是主fpga产生的复位信号,分别发送给n个从fpga,从fpga在接收到复位信号以后,等待复位信号结束后产生各自的fifio写使能(fpgax_fifo_wen,其中x代表从fpga的编号)。这样便保证了多片fpga同时开启fifo的写使能。

s2、多通道采集系统的触发同步

s2.1、fpga的主从触发属性选择

利用fpga的三态门iobuf,将主从信号放置在同一fpga引脚上,再根据触发源的设置,选择fpga的主从触发属性:当三态门的控制端t为低电平时,fpga的io口作为输入口,即fpga从管脚接收信号,此时fpga为从触发fpga;当三态门的控制端t为高电平时,fpga的io口状态为输出,即从fpga向外部输出信号,此时为fpga为主触发fpga;

如图9所示,fpga的io默认的状态时输入,即fpga从管脚接收信号,此时fpga工作在从触发模式下。当三态门的控制端t为高时,fpga的io口状态为输出,即从fpga向外部输出信号,此时为主触发模式。利用上述的方法,将触发源选择作为三态门的控制端来控制fpga的主从属性,只需要原来一半io口,就可以完成同样的功能,极大地减小了系统的成本,提高了系统的效率。

s2.2、模拟触发同步

将模拟触发信号输入至主控fpga,主控fpga再通过1:n驱动将模拟触发信号驱动为n路的触发信号,并发送给n个从fpga,作为各自的触发信号;

s2.3、利用触发点完成并行数据的数字触发

s2.3.1、设置数字触发的双触发电平trigercomparevoltagemin和trigercomparevoltagemax,如图10所示,trigercomparevoltagemax设为128,trigercomparevoltagemin设为126,两个电平之间的差值大小代表不同的触发灵敏度;

s2.3.2、当fifo存满预触发深度后,开启fifo的读使能,使各个fifo处于边读边写的状态,等待触发信号;

s2.3.3、确定并行数据的精确触发点

对m路并行数据d0-dm-1延迟一个数据时钟sclk,得到延迟后的数据d0_delay~dm-1_delay,其中,sclk为fpga的系统时钟;

以上升沿触发有效,当模拟触发信号到来时,如果d0_delay,…,d2n_delay,…,dm-2_delay均小于trigercomparevoltagemin,且d0_delay…<d2n_delay<…<dm-2_delay,n为正整数,则认为m路并行采样数据具有上升趋势,开启触发定位使能data_cmp_en;

将d0_delay,d1_delay,…dm-1_delay分别与trigercomparevoltagemax进行比较,找出d0_delay,d1_delay,…dm-1_delay中大于trigercomparevoltagemax的第一个采样点dn_delay记为精确的触发点,作为主触发fpga的数字触发定位值n,此时关闭fifo读使能,使fifo处于只写不读的状态,完成一次数字触发;在图10中,触发点定位在d5路,输出数字触发定位的位置为6。关闭fifo读使能,将数字触发定位值发送至后端波形处理模块进行丢点,保证触发点的稳定显示,完成一次数字触发的精确定位。

s2.4、触发点同步

s2.4.1、读使能的同步

将主触发fpga的读使能由1:n驱动发送给各个从触发fpga;

s2.4.2、触发点定位同步

如图11所示,根据主触发fpga的数字触发定位值n产生一个宽度为n×sclk的脉冲信号,其中tsclk为主fpga系统时钟周期,主控fpga将脉冲信号由1:n驱动发送给各从触发fpga,从触发fpga接收到脉冲信号后,用各自的系统时钟sclki对脉冲长度进行计数所得到的计数值作为主触发通道的精确定位值,各从fpga根据主触发fpga的数字触发定位值进行丢点处理,实现触发点同步;

s3、固定相位差消除

将信号源输出信号经过功分器后,用两根完全等长的同轴线接入采集系统的两个通道中,调节软件中的丢点数,使两个通道波形完全重合,即完成两个通道间相位差的校正,然后以第一个通道为基准,依次校准各个通道,从而消除固定的相位差,最终到达多通道采集系统存储同步。

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

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