CN110836993B - 基于fpga的随机等效采集系统 - Google Patents
基于fpga的随机等效采集系统 Download PDFInfo
- Publication number
- CN110836993B CN110836993B CN201911113408.9A CN201911113408A CN110836993B CN 110836993 B CN110836993 B CN 110836993B CN 201911113408 A CN201911113408 A CN 201911113408A CN 110836993 B CN110836993 B CN 110836993B
- Authority
- CN
- China
- Prior art keywords
- module
- data
- address
- sampling
- trigger
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/02—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
- G01R13/0218—Circuits therefor
- G01R13/0254—Circuits therefor for triggering, synchronisation
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R13/00—Arrangements for displaying electric variables or waveforms
- G01R13/02—Arrangements for displaying electric variables or waveforms for displaying measured electric variables in digital form
- G01R13/0218—Circuits therefor
- G01R13/0272—Circuits therefor for sampling
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种基于FPGA的随机等效采集系统,将各采样批次采集得到的采样数据进行串并转换后存储至数据缓存模块的RAM中,由脉冲输出模块得到第一个有效的触发信号和之后的第一个随路时钟的时间间隔,经过脉冲展宽模块展宽后,由时间间隔测量模块测量得到测量值;等效采样控制模块的标志寄存器根据测量值将对应位置为1;起始地址计算模块根据测量值计算得到起始地址,并存储在起始地址存储模块中,当等效采样完成后,上位机根据起始地址读取每个采样批次采集的数据进行波形重构,得到等效采样波形。本发明利用RAM存储数据,上位机读取RAM中的数据并进行数据重构,提高波形捕获率高,减少FIFO资源消耗。
Description
技术领域
本发明属于测试技术领域,更为具体地讲,涉及一种基于FPGA的随机等效采集系统。
背景技术
示波器作为一种用途十分广泛的电子测量仪器,具有波形实时显示、高级触发、协议分析、波形搜索、频率测量等功能。采样率是数字示波器一个非常重要的指标,表征数字示波器对信号采样的频率,示波器的采样速率越快,被采样的波形分辨率越高,信息的丢失越低,如何提高波形的采样率具有重要的工程意义。
目前,随机等效采样可以有效提高数字示波器的采样率。目前的常规随机等效采样技术利用FPGA(Field Programmable Gate Array,现场可编程门阵列)输出随机脉冲,通过外部电路展宽脉冲,同时FPGA缓存随机采样数据,然后利用上位机软件对随机采样数据重新排列组合,最终恢复和显示波形。这种方式在利用软件重构波形时,示波器每刷新一幅波形软件都需要重复执行启动采集、判断采集是否完成、读取数据很多次。由于受到主控器总线速率和运算速率的限制,特别当等效采样倍率较大的情况下,软件需要花费大量时间进行波形重构,从而导致示波器等效采样模式下死区时间较长,波形刷新率降低,对信号变化不敏感,实用性不强。
在申请号为CN201811321479.3、名称为“一种随机时间等效采样系统”的专利中提出的一种使用FPGA对数据进行重构的方法,该方法先将数据先存入FIFO(first inputfirst output,先入先出队列)中,然后再将FIFO中的数据根据地址产生器产生的地址,依次搬入8bit位宽的RAM中。上位机再将RAM中的数据搬入显示数组中进行显示。波形捕获率不高,且浪费FIFO资源。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于FPGA的随机等效采集系统,利用RAM存储数据,上位机读取RAM中的数据并进行数据重构,提高波形捕获率高,减少FIFO资源消耗。
为了实现以上发明目的,本发明基于FPGA的随机等效采集系统包括信号调理模块、ADC模块、触发产生模块、串并转换模块、脉冲输出模块、脉冲展宽模块、数据存储模块、时间间隔测量模块、地址生成模块、起始地址计算模块、起始地址存储模块、等效采样控制模块、上位机模块,其中:
信号调理模块用于对输入的模拟信号进行信号调理,将调理后的输入信号输出至ADC模块和触发产生模块;
ADC模块用于对调理后的输入信号进行采样,将得到的采样数据发送给串并转换模块,同时将采样数据的随路时钟ADCLK发给脉冲输出模块和数据存储模块;
触发产生模块用于接收调理后的输入信号,与预设的触发电平进行比较,生成触发信号Trigger并发送给脉冲展宽模块;
串并转换模块用于对采样数据进行解串降速,记采样数据的解串降速倍率为M,记一个ADC采样点占用的内存容量位数为B,将转换得到的M路数据作为并行采样数据DATA发送给数据存储模块;
地址生成模块用于生成采样数据在数据缓存模块RAM中的写地址,记数据存储模块的RAM中每个内存区的基地址为ADDR_BASE,偏移地址为ADDR_OFFSET,偏移地址的初始值为0,写地址ADDR_WRITE=ADDR_BASE+ADDR_OFFSET,设置一个初始值为0的循环标志;当地址生成模块接收到等效采样控制模块发送的切换内存区信号,即切换到下一个未存储内存区的基地址进行地址计算,并重置偏移地址ADDR_OFFSET=0,循环标志为0;当接收到重启本次采样信号,重置写地址ADDR_WRITE=ADDR_BASE,偏移地址ADDR_OFFSET=0,循环标志为0;数据缓存模块RAM每存入一次数据后,则地址生成模块令偏移地址ADDR_OFFSET自加当时,则令ADDR_OFFSET=0,在写地址ADDR_WRITE第一次等于时,置循环标志为1;在接收到等效采样模块发送的触发完成标志时,将当前生成地址作为触发地址ADDR_TRIG;在当前批次采样数据存储完成后,将循环标志、触发地址ADDR_TRIG发送给等效采样控制模块;
数据存储模块使用RAM接收并行采样数据DATA和随路时钟ADCLK,在随路时钟ADCLK下对并行采样数据DATA进行存储,在存储时生成触发使能信号Trig_en并发送给脉冲输出模块;其中RAM中划分有X个内存区,X为等效采样的倍数,每个内存区大小为(N+M)B,N表示ADC模块采集一幅波形的采样点数,每个内存区用于存储ADC模块一个批次的采样数据;
在每个内存区进行数据存储时,数据存储模块中设置一个计数器,每往RAM中存入一次数据时,计数器自加M;RAM每次存入数据时,按照地址生成模块发送的写地址ADDR_WRITE进行存储;当计数器的计数值CNT大于等于α*N+M时,α表示预设的预触发深度参数,α∈[0,1],向脉冲输出模块发送触发使能信号Trig_en;之后如果未接收到地址生成模块发送的触发地址,则计数器停止计数,继续按照地址生成模块发送的写地址ADDR_WRITE进行存储,当接收到地址生成模块发送的触发地址ADDR_TRIG,之后每次存入数据时,计数器自加M,并按照地址生成模块发送的写地址ADDR_WRITE进行存储;当计数器的计数值CNT大于等于N+M时,则数据缓存模块的RAM进入STOP状态,数据存储模块停止向RAM中写入数据,计数器停止计数并复位为0,该批次采样数据缓存完成;
脉冲输出模块根据接收的随路时钟ADCLK和触发信号Trigger、触发使能信号Trig_en生成脉冲信号T,并将脉冲信号T发送给脉冲展宽模块,并向等效采样模块发送触发完成标志Flag;
脉冲展宽模块对脉冲信号T进行展宽之后将其送至时间间隔测量模块作为其时间闸门;
时间间隔测量模块对脉冲信号进行测量,将得到的测量值Count发送给等效采样控制模块;
等效采样控制模块在接收到触发完成标志Flag后转发给地址生成模块,在接收到测量值Count后按照以下公式计算得到本次采样数据的序号S:
其中,Count_T和Count_2T分别表示有时间间隔测量模块预先测得的1个和2个随路时钟展宽后的脉冲信号测量值;
在等效采样控制模块中设置一个宽度为Xbit的标志寄存器,每位的初始值均为0;在每次计算得到序号S后,计算参数A=[S/X],参数C=S%X,[]表示取整,%表示求余,然后判断标志寄存器的第C位是否为0,如果是,则将标志寄存器的第C位置为1,并等待由地址计算模块发送的循环标志、触发地址ADDR_TRIG,然后将参数A、参数C、循环标志和触发地址ADDR_TRIG发送给起始地址计算模块,向地址生成模块发送切换内存区信号开启下一次采样;如果标志寄存器的第C位已经为1,向起始地址计算模块发送重启本次采样信号重新进行本次采样;当标志寄存器中的每一位均为1,则表示本次等效采样完成,向上位机模块上报等效采样完成信号;
起始地址计算模块用于根据接收的参数A、循环标志和触发地址ADDR_TRIG计算出本次采样数据在数据存储模块的起始地址ADDR_START,将起始地址ADDR_START和参数C发送至起始地址存储模块进行存储,起始地址ADDR_START的计算方法如下:
起始地址存储模块用于将接收到的各批次采样数据的起始地址ADDR_START和参数C并进行存储;
上位机模块在接收到等效采样完成信号后,从起始地址存储模块读取各批次采样数据的起始地址ADDR_START和参数C,首先按照起始地址ADDR_START读取数据存储模块中X个内存区的各采样批次数据,根据参数C进行波形数据重构,根据以下公式计算得到各采样批次数据中的第j个数据在等效采样波形中的序号Di,j:
Di,j=Ci+(j-1)X
其中,Ci表示第i采样批次对应的参数C,i=1,2,…,X,j=1,2,…,N。
本发明基于FPGA的随机等效采集系统,将各采样批次采集得到的采样数据进行串并转换后存储至数据缓存模块的RAM中,由脉冲输出模块得到第一个有效的触发信号和之后的第一个随路时钟的时间间隔,经过脉冲展宽模块展宽后,由时间间隔测量模块测量得到测量值;等效采样控制模块的标志寄存器根据测量值将对应位置为1;起始地址计算模块根据测量值计算得到起始地址,并存储在起始地址存储模块中,当等效采样完成后,上位机根据起始地址读取每个采样批次采集的数据进行波形重构,得到等效采样波形。
本发明具有以下有益效果:
1)在以往常规的软件重排数据方式中,由于上位机不知道多次采集的数据之间的相对顺序,需要完成一幅波形的采集后,就进行数据读取,以免出现乱序。而本发明会存储各采样批次的起始地址,可以一次性读取采样数据,而不会丢失各采样批次的排列顺序,然后对所有数据进行重构,无需多次读取数据。
2)在以往采用FPGA进行数据重排的方式,本发明不需要进行采样波形数据的缓存,而是直接将数据实时存入RAM中,大大提高了波形的捕获率,减少了死区时间,同时减少了FPGA中FIFO资源的使用。
附图说明
图1是本发明一种基于FPGA的随机等效采集系统的具体实施装置;
图2是本发明RAM存储示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
图1是本发明基于FPGA的随机等效采集系统的具体实施方式结构图。如图1所示,本发明基于FPGA的随机等效采集系统包括信号调理模块1、ADC模块2、触发产生模块3、串并转换模块4、脉冲输出模块5、脉冲展宽模块6、数据存储模块7、时间间隔测量模块8、地址生成模块9、起始地址计算模块10、起始地址存储模块11、等效采样控制模块12、上位机模块13。其中串并转换模块4、脉冲输出模块5、数据存储模块7、时间间隔测量模块8、地址生成模块9、起始地址计算模块10、起始地址存储模块11、等效采样控制模块12在FPGA中实现,下面具体对各个模块进行详细说明。
信号调理模块1用于对输入的模拟信号进行信号调理,将调理后的输入信号输出至ADC模块2和触发产生模块3。
ADC模块2用于对调理后的输入信号进行采样,将得到的采样数据发送给串并转换模块,同时将采样数据的随路时钟ADCLK发给脉冲输出模块5和数据存储模块7。
触发产生模块3用于接收调理后的输入信号,与预设的触发电平进行比较,生成触发信号Trigger并发送给脉冲输出模块。
串并转换模块4用于对采样数据进行解串降速,记采样数据的解串降速倍率为M,M的取值与ADC具体型号有关,记一个ADC采样点占用的内存容量位数为B(B=8,16,24…)。将转换得到的M路数据作为并行采样数据DATA发送给数据存储模块7。因为FPGA中的时钟频率无法达到ADC的采样率,因此需要采用串并转换来对采样数据进行降速,以适应FPGA中的时钟频率的要求,显然降速后的并行采样数据的速率为原始采样数据的1/M,需要令并行采样数据DATA的时钟与随路时钟ADCLK一致。实际上,随路时钟ADCLK就是FPGA的工作时钟。
地址生成模块9用于生成采样数据在数据缓存模块的RAM中的写地址,记数据存储模块7的RAM中每个内存区的基地址为ADDR_BASE,偏移地址为ADDR_OFFSET,偏移地址的初始值为0,写地址ADDR_WRITE=ADDR_BASE+ADDR_OFFSET,设置一个初始值为0的循环标志。当地址生成模块9接收到等效采样控制模块12发送的切换内存区信号,即切换到下一个未存储内存区的基地址进行地址计算,并重置偏移地址ADDR_OFFSET=0,循环标志为0;当接收到重启本次采样信号,重置写地址ADDR_WRITE=ADDR_BASE,偏移地址ADDR_OFFSET=0,循环标志为0。数据缓存模块7的RAM每存入一次数据后,则地址生成模块9令偏移地址ADDR_OFFSET自加当时,则令ADDR_OFFSET=0,即写地址在每个内存区的写地址范围内循环产生,在写地址ADDR_WRITE第一次等于时,置循环标志为1。在当前批次采样数据存储完成后,将循环标志、触发地址ADDR_TRIG发送给等效采样控制模块12。
数据存储模块7使用RAM接收并行采样数据DATA和随路时钟ADCLK,在随路时钟ADCLK下对并行采样数据DATA进行存储,在存储时生成触发使能信号Trig_en并发送给脉冲输出模块5。在随机等效采样时单次采样数据分布在触发点前后的位置,由于触发信号产生时间不固定,因此需要动态缓存触发点前后的数据,但是RAM不具备边读边写的功能,因此本发明将数据存储模块7中的RAM中划分有X个内存区,X为等效采样的倍数,每个内存区大小为(N+M)B,N表示ADC模块2采集一幅波形的采样点数,一般为方便存储至RAM中,取N为2n,n为一个正整数。每个内存区多分配M个数据的空间,是为了校准触发点。ADC模块2采集的单幅波形采样数据只能在划定的区域内循环复写。触发使能信号Trig_en的生成过程描述如下:
在每个内存区进行数据存储时,在数据存储模块7中设置一个计数器,每往RAM中存入一次数据时,计数器自加M。RAM每次存入数据时,按照地址生成模块发送的写地址ADDR_WRITE进行存储;当计数器的计数值CNT大于等于α*N+M时,α表示预设的预触发深度参数,α∈[0,1],向脉冲输出模块发送触发使能信号Trig_en,数据缓存模块7的RAM进入READY状态。在READY状态下,若有效触发信号没有产生,即之后如果未接收到地址生成模块9发送的触发地址,则计数器停止计数,继续按照地址生成模块9发送的写地址ADDR_WRITE进行存储。若有效触发信号产生,即当接收到地址生成模块9发送的触发地址ADDR_TRIG,之后每次存入数据时,计数器自加M,并按照地址生成模块发送的写地址ADDR_WRITE进行存储。当计数器的计数值CNT大于等于N+M时,则数据缓存模块7的RAM进入STOP状态,数据存储模块7停止向RAM中写入数据,计数器停止计数并复位为0,该批次采样数据缓存完成。
脉冲输出模块5根据接收的随路时钟ADCLK和触发信号Trigger、触发使能信号Trig_en生成脉冲信号T,并将脉冲信号T发送给脉冲展宽模块。图2是本实施例中脉冲输出模块的结构图。如图2所示,本实施例的脉冲输出模块5将参考电压Vcc作为触发器D1的D端和set引脚输入,将触发信号TRIG作为触发器D1的CP端输入,将触发使能信号TRIG_EN作为触发器D1的清零输入,触发器D1的Q端输出信号作为触发器D2的D端输入以及触发器D4的CP端输入,将随路时钟ADCLK作为触发器D2、D3的CP端输入,将触发器D2的Q端输出信号作为触发器D3的D端输入,将触发器D3的Q端输出信号经反相器I取反后作为触发器D4的清零输入,将参考电压Vcc作为触发器D4的D端和set引脚输入,触发器D4的输出信号即为脉冲信号T。
脉冲输出模块5的具体工作过程如下:初始化采集后,触发器D1~D4的Q端输出信号都为逻辑电平“0”,当系统允许触发后,TRIG_EN输出为高电平,触发器D1被上升沿触发,其输出电平由“0”变为“1”,同时触发器D4也会被上升沿触发,其输出信号,即脉冲信号T的电平由“0”变为“1”;在触发器D1收到第一个触发沿后,触发器D2检测到第一个ADCLK时钟沿则锁存触发器D1输出的高电平,第二个ADCLK时钟沿时触发器D3则锁存触发器D2输出的高电平,此时触发器D4被清零,触发器D4输出的脉冲信号T由“1”变为“0”。
由于随路时钟ADCLK通常在108Hz数量级,其周期在纳秒级,难以直接测量,因此需要脉冲展宽电路将脉冲展宽之后再进行测量。而展宽脉冲也不能太窄,因此本发明在脉冲输出模块5中,将原来的时间间隔Δt叠加上一个采样间隔。先利用一个D触发器产生Trig_en有效后的第一个Trigger的上升沿,再利用两个D触发器级联产生在Trig_en有效后的第二个ADCLK的上升沿,最终使用第四个D触发器产生了一个在Δt上叠加了一个采样间隔的脉冲信号。
脉冲展宽模块6对脉冲信号T进行展宽之后将其送至时间间隔测量模块8作为其时间闸门。本实施例中脉冲展宽模块6采用双斜电容充放电脉冲展宽电路实现,展宽倍数可以根据需要进行设置。
时间间隔测量模块8对脉冲信号进行测量,将得到的测量值Count发送给等效采样控制模块12。
等效采样控制模块12在接收到触发完成标志Flag后转发给地址生成模块,在接收到测量值Count后按照以下公式计算得到本次采样数据的序号S:
其中,Count_T和Count_2T分别表示有时间间隔测量模块预先测得的1个和2个随路时钟展宽后的脉冲信号测量值。为减小非线性因素造成的误差,分母采用Count_2T-Count_T,因此序号S的取值为[0,M×X-1]。
在等效采样控制模块12中设置一个宽度为Xbit的标志寄存器,每位的初始值均为0。在每次计算得到序号S后,计算参数A=[S/X],参数C=S%X,[]表示取整,%表示求余,然后判断标志寄存器的第C位是否为0,如果是,则说明数据缓存模块7中的RAM尚不存在该采样位置的数据,将标志寄存器的第C位置为1,并等待由地址计算模块发送的循环标志、触发地址ADDR_TRIG,将参数A、参数C、循环标志和触发地址ADDR_TRIG发送给起始地址计算模块10,向地址生成模块9发送切换内存区信号开启下一次采样;如果标志寄存器的第C位已经为1,说明数据缓存模块7中的RAM中已经存储了该采样位置的数据,继续数据存储并无意义,向起始地址计算模块10发送重启本次采样信号重新进行本次采样。当标志寄存器中的每一位均为1,则表示本次等效采样完成,向上位机模块13上报等效采样完成信号。
起始地址计算模块10用于根据接收的参数A、循环标志和触发地址ADDR_TRIG计算出本次采样数据在数据存储模块的起始地址ADDR_START,将起始地址ADDR_START和参数C发送至起始地址存储模块11进行存储。由于数据是经过串转并降速后存入数据存储模块7中的,因此触发信号Trigger到来时,一次写入了M个数据,需要根据参数A来找出满足触发条件的第一个数据,即本次采样数据在数据存储模块7中的RAM中起始地址ADDR_START。具体计算方法为:
起始地址存储模块11用于将接收到的各批次采样数据的起始地址ADDR_START和参数C进行存储。本实施例中,在起始地址存储模块11中设置一个地址记录表,以一个2X的二维寄存器的方式实现,即第一行为X个[log2X]位寄存器,用于记录S值;第二行为X个[log2(X*N)]寄存器,用于记录ADDR_START。每产生一个有效地参数C,即将参数C和其对应的波形数据的ADDR_START一一对应好记录到表中,记录顺序就是参数C产生的先后顺序。因此表中的参数C的顺序就是RAM中各个内存区中数据对应的参数C的顺序。
上位机模块13在接收到等效采样完成信号后,从起始地址存储模块11读取各批次采样数据的起始地址ADDR_START和参数C,首先按照起始地址ADDR_START读取数据存储模块7中X个内存区的各采样批次数据。从每幅波形的起始地址对应点开始读取,但是由于触发机制,该点不一定位于这幅波形所在内存区的第一个地址,因此在读取完这片内存区后需要返回内存区起始继续读取,即自起始地址ADDR_START开始循环读取N个数据,作为对应采样批次的数据。
接下来根据参数C进行波形数据重构。由于本发明中每个内存区的数据对应一个采样批次,即对应一个参数C。因此可以根据以下公式计算得到各采样批次数据中的第j个数据在等效采样波形中的序号Di,j:
Di,j=Ci+(j-1)X
其中,Ci表示第i采样批次对应的参数C,i=1,2,…,X,j=1,2,…,N。
实施例
为了更好地说明本发明的技术方案,采用一个具体实施例对本发明随机时间等效采样系统的具体过程进行详细说明
本实施例中采用的ADC采样率为1.25GSPS,分辨率为8位,即一个采样点容量为1Byte,输出随路时钟ADCLK的频率为312.5MHz,设置等效采样倍数X=40,则等效采样控制模块12中设立一个宽度为40bits的标志寄存器。串行数据经过串并转换模块4后变成4路输入信号,即4倍降速,M=4,每一路数据速率为312.5MHz。数据存储模块7选用一片DDR3颗粒,存储宽度为8bits,存储带宽大于1.25GB/s,满足ADC数据实时存储要求,DDR3每次存储突发长度为8bits,即一次存储操作可以存入64bits数据。
假设上位机模块13显示一幅波形需要1000个点,则需要采集40幅波形,每一幅波形需要采集25个点。由于DDR3一次存储操作可以存入8个数据点,因此为了方便计算波形起始点位置,每一采样批次波形的采样点数N=32。数据存储模块7的RAM分为40个内存区,每个内存区大小为(32+4)*8bit。
本实施例中基于FPGA的随机等效采集系统的具体工作流程如下:
步骤1、在第一次采集之前,先给脉冲展宽模块输入一个时钟周期(3.2ns)和两个时钟周期(6.4ns),再将展宽后的这两个时钟信号送至时间间隔测量模块8,测得对应计数值,假设Count_3.2ns=1000,Count_6.4ns=2000。
步骤2、上位机模块13根据用户的设置向等效采样控制模块发送预触发深度α=0.5,等效采样倍数X=40,即每一次等效采样预触发深度为N/2=16。
步骤3、上位机模块13发送一个低复位有效信号RST_N=0,对FPGA内部的数据存储模块7、时间间隔测量模块8、地址生成模块9、起始地址计算模块10和起始地址存储模块11进行复位。
步骤4、采集第一幅波形时,等效采样控制模块12向地址生成模块9发送第一块内存区的存储起始地址ADDR_BASE。ADC模块2的采样数据经过4路降速后,每一路的数据时钟为312.5MHz。第一次采样得到的4个点首先缓存在数据存储模块7中,当第二次采样的4个点送入数据存储模块后,开启一次DDR3存操作,将8个数据点一次存入地址为0~7的DDR3中,如此重复,当预触发深度存满后,数据存储模块7输出Trig_en=1,脉冲输出模块5判断到Trig_en=1后即等待触发Trigger信号到来,地址生成模块9持续产生0~35的循环地址给数据存储模块7,对该段中的数据进行实时刷新。
步骤5、当触发信号Trigger有效后,假设触发时刻与之后ADCLK第二个上升沿之间的时间脉冲宽度,T处于3.2~6.4ns范围内,脉冲输出模块5将T输出至脉冲展宽模块6。
步骤6、脉冲展宽模块6将脉冲展宽后发送给时间间隔测量模块8对脉冲进行计数,假设得到Count=1282测量得到参数S:
时间间隔测量模块8将参数S发送到等效采样控制模块12。
步骤7、由于C=45%40=5,因此将标志寄存器的第5位置为1。起始地址计算模块根据A=45/40=1计算得到,因此真正的触发点是Trigger信号到来前,最后一次写入的4个数据中的倒数第一个数据。起始地址计算模块10将该数据的地址和C值发送给起始地址存储模块11。之后复位脉冲输出模块5、时间间隔测量模块8、地址生成模块9、起始地址计算模块10进行下一次采集。
假设之后有一次参数S的值为5,由于C=S%40=5,因此标志寄存器的第5位应该置为1,但由于之前已经置为了1,因此这一次采集是重复的数据,不需要继续完成剩余数据的采集,可以直接复位脉冲输出模块5、时间间隔测量模块8、地址生成模块9、起始地址计算模块10进行下一次采集。
步骤8、重复步骤4至步骤7,直至标志寄存器的40bit全部都置为1之后,上位机将RAM中各内存区的数据一次性读取出来进行波形数据重构。假设地址记录表中的数据是[5,15;8,64;…32,1436],说明第1个内存区中的数据的参数C为5,起始地址为15,这个点是等效采样波形中时间意义上的第1个数据。根据序号Di,j的计算公式,D1,1=5+(1-1)*40=5,因此其应该是等效采样波形的第5个数据,该采样批次的第2个数据应该是等效采样波形的第45个数据。以此类推,当地址累加到36后,截取低5位为有效地址,将地址重置为0,又回到了该片内存的开始位置,继续读取数据,直至地址累加至10,则该片内存区中的数据都已经读取完毕了,即本采样批次数据处理完毕。接着处理下一采样批次的数据,直至所有波形重构完毕,将重构得到的等效采样波形进行显示即可。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种基于FPGA的随机等效采集系统,其特征在于包括信号调理模块、ADC模块、触发产生模块、串并转换模块、脉冲输出模块、脉冲展宽模块、数据存储模块、时间间隔测量模块、地址生成模块、起始地址计算模块、起始地址存储模块、等效采样控制模块、上位机模块,其中串并转换模块、脉冲输出模块、数据存储模块、时间间隔测量模块、地址生成模块、起始地址计算模块、起始地址存储模块、等效采样控制模块在FPGA中实现,其中:
信号调理模块用于对输入的模拟信号进行信号调理,将调理后的输入信号输出至ADC模块和触发产生模块;
ADC模块用于对调理后的输入信号进行采样,将得到的采样数据发送给串并转换模块,同时将采样数据的随路时钟ADCLK发给脉冲输出模块和数据存储模块;
触发产生模块用于接收调理后的输入信号,与预设的触发电平进行比较,生成触发信号Trigger并发送给脉冲展宽模块;
串并转换模块用于对采样数据进行解串降速,记采样数据的解串降速倍率为M,记一个ADC采样点占用的内存容量位数为B,B=8,16,24…,将转换得到的M路数据作为并行采样数据DATA发送给数据存储模块;
地址生成模块用于生成采样数据在数据缓存模块RAM中的写地址,记数据存储模块的RAM中每个内存区的基地址为ADDR_BASE,偏移地址为ADDR_OFFSET,偏移地址的初始值为0,写地址ADDR_WRITE=ADDR_BASE+ADDR_OFFSET,设置一个初始值为0的循环标志;当地址生成模块接收到等效采样控制模块发送的切换内存区信号,即切换到下一个未存储内存区的基地址进行地址计算,并重置偏移地址ADDR_OFFSET=0,循环标志为0;当接收到重启本次采样信号,重置写地址ADDR_WRITE=ADDR_BASRE,偏移地址ADDR_OFFSET=0,循环标志为0;数据缓存模块RAM每存入一次数据后,则地址生成模块令偏移地址ADDR_OFFSET自加当时,则令ADDR_OFFSET=0,在写地址ADDR_WRITE第一次等于时,置循环标志为1;在接收到等效采样模块发送的触发完成标志时,将当前生成地址作为触发地址ADDR_TRIG;在当前批次采样数据存储完成后,将循环标志、触发地址ADDR_TRIG发送给等效采样控制模块;
数据存储模块使用RAM接收并行采样数据DATA和随路时钟ADCLK,在随路时钟ADCLK下对并行采样数据DATA进行存储,在存储时生成触发使能信号Trig_en并发送给脉冲输出模块;其中RAM中划分有X个内存区,X为等效采样的倍数,每个内存区大小为(N+M)B,N表示ADC模块采集一幅波形的采样点数,每个内存区用于存储ADC模块一个批次的采样数据;
在每个内存区进行数据存储时,数据存储模块中设置一个计数器,每往RAM中存入一次数据时,计数器自加M;RAM每次存入数据时,按照地址生成模块发送的写地址ADDR_WRITE进行存储;当计数器的计数值CNT大于等于α*N+M时,α表示预设的预触发深度参数,α∈[0,1],向脉冲输出模块发送触发使能信号Trig_en;之后如果未接收到地址生成模块发送的触发地址,则计数器停止计数,继续按照地址生成模块发送的写地址ADDR_WRITE进行存储,当接收到地址生成模块发送的触发地址ADDR_TRIG,之后每次存入数据时,计数器自加M,并按照地址生成模块发送的写地址ADDR_WRITE进行存储;当计数器的计数值CNT大于等于N+M时,则数据缓存模块的RAM进入STOP状态,数据存储模块停止向RAM中写入数据,计数器停止计数并复位为0,该批次采样数据缓存完成;
脉冲输出模块根据接收的随路时钟ADCLK和触发信号Trigger、触发使能信号Trig_en生成脉冲信号T,并将脉冲信号T发送给脉冲展宽模块,并向等效采样模块发送触发完成标志Flag;
脉冲展宽模块对脉冲信号T进行展宽之后将其送至时间间隔测量模块作为其时间闸门;
时间间隔测量模块对脉冲信号进行测量,将得到的测量值Count发送给等效采样控制模块;
等效采样控制模块在接收到触发完成标志Flag后转发给地址生成模块,在接收到测量值Count后按照以下公式计算得到本次采样数据的序号S:
其中,Count_T和Count_2T分别表示有时间间隔测量模块预先测得的1个和2个随路时钟展宽后的脉冲信号测量值;
在等效采样控制模块中设置一个宽度为Xbit的标志寄存器,每位的初始值均为0;在每次计算得到序号S后,计算参数A=[S/X],参数C=S%X,[]表示取整,%表示求余,然后判断标志寄存器的第C位是否为0,如果是,则将标志寄存器的第C位置为1,并等待由地址计算模块发送的循环标志、触发地址ADDR_TRIG,然后将参数A、参数C、循环标志和触发地址ADDR_TRIG发送给起始地址计算模块,向地址生成模块发送切换内存区信号开启下一次采样;如果标志寄存器的第C位已经为1,向起始地址计算模块发送重启本次采样信号重新进行本次采样;当标志寄存器中的每一位均为1,则表示本次等效采样完成,向上位机模块上报等效采样完成信号;
起始地址计算模块用于根据接收的参数A、循环标志和触发地址ADDR_TRIG计算出本次采样数据在数据存储模块的起始地址ADDR_START,将起始地址ADDR_START和参数C发送至起始地址存储模块进行存储,起始地址ADDR_START的计算方法如下:
起始地址存储模块用于将接收到的各批次采样数据的起始地址ADDR_START和参数C进行存储;
上位机模块在接收到等效采样完成信号后,从起始地址存储模块读取各批次采样数据的起始地址ADDR_START和参数C,首先按照起始地址ADDR_START读取数据存储模块中X个内存区的各采样批次数据,根据参数C进行波形数据重构,根据以下公式计算得到各采样批次数据中的第j个数据在等效采样波形中的序号Di,j:
Di,j=Ci+(j-1)X
其中,Ci表示第i采样批次对应的参数C,i=1,2,…,X,j=1,2,…,N。
2.根据权利要求1所述的随机等效采集系统,其特征在于,所述脉冲输出模块包括4个触发器D1、D2、D3、D4和反相器I,用于根据接收的随路时钟ADCLK和触发信号TRIG、触发使能信号TRIG_EN生成脉冲信号T,并将脉冲信号T发送给脉冲展宽模块;其中,将参考电压Vcc作为触发器D1的D端和set引脚输入,将触发信号TRIG作为触发器D1的CP端输入,将触发使能信号TRIG_EN作为触发器D1的清零输入,触发器D1的Q端输出信号作为触发器D2的D端输入以及触发器D4的CP端输入,将随路时钟ADCLK作为触发器D2、D3的CP端输入,将触发器D2的Q端输出信号作为触发器D3的D端输入,将触发器D3的Q端输出信号经反相器I取反后作为触发器D4的清零输入,将参考电压Vcc作为触发器D4的D端和set引脚输入,触发器D4的输出信号即为脉冲信号T。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911113408.9A CN110836993B (zh) | 2019-11-14 | 2019-11-14 | 基于fpga的随机等效采集系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911113408.9A CN110836993B (zh) | 2019-11-14 | 2019-11-14 | 基于fpga的随机等效采集系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110836993A CN110836993A (zh) | 2020-02-25 |
CN110836993B true CN110836993B (zh) | 2021-01-26 |
Family
ID=69574980
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911113408.9A Active CN110836993B (zh) | 2019-11-14 | 2019-11-14 | 基于fpga的随机等效采集系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110836993B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11798618B2 (en) * | 2019-11-15 | 2023-10-24 | Rohde & Schwarz Gmbh & Co. Kg | Signal analyzer and method of processing data from an input signal |
CN112629683B (zh) * | 2021-03-09 | 2021-07-13 | 成都成电光信科技股份有限公司 | 一种单光子计数装置及其方法 |
CN113377290B (zh) * | 2021-06-03 | 2022-07-26 | 电子科技大学 | 基于axi协议的具有深存储和双捕获功能的数据采集装置 |
CN113466522B (zh) * | 2021-07-09 | 2022-04-19 | 电子科技大学 | 一种数据采集系统的触发点偏移动态校正方法 |
CN113517894B (zh) * | 2021-07-14 | 2022-07-08 | 上海安路信息科技股份有限公司 | 串并转换电路 |
CN116366084B (zh) * | 2022-09-07 | 2023-11-10 | 无锡国芯微电子系统有限公司 | 一种基于fpga的多信道pdw高密度实时处理方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901472A (zh) * | 2019-03-20 | 2019-06-18 | 电子科技大学 | 一种基于fpga的顺序等效采样系统 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101067630B (zh) * | 2007-05-17 | 2010-06-09 | 王悦 | 一种波形刷新率更高的示波器 |
CN101281224B (zh) * | 2008-04-18 | 2011-06-01 | 电子科技大学 | 数字示波器波形捕获率的测试方法 |
CN102053184B (zh) * | 2009-11-10 | 2014-06-25 | 北京普源精电科技有限公司 | 一种具有高波形捕获率的数字示波器及其控制方法 |
CN105629016A (zh) * | 2014-10-29 | 2016-06-01 | 江苏绿扬电子仪器集团有限公司 | 示波器采样与成像系统 |
CN105807114B (zh) * | 2014-12-31 | 2018-06-26 | 深圳高宜电子科技有限公司 | 数字示波器采集数据的存取方法、装置及数字示波器 |
WO2017117770A1 (en) * | 2016-01-07 | 2017-07-13 | Shanghai Oxi Technology Co., Ltd | Fingerprint imaging system and anti-fake method for fingerprint identification |
CN206489205U (zh) * | 2017-02-16 | 2017-09-12 | 深圳市鼎阳科技有限公司 | 降低示波器外触发波形抖动的系统、数字芯片和示波器 |
CN109581016B (zh) * | 2018-11-07 | 2020-10-16 | 电子科技大学 | 一种随机时间等效采样系统 |
CN110346625B (zh) * | 2019-07-08 | 2021-05-14 | 电子科技大学 | 一种可调分频器的触发信号产生方法 |
-
2019
- 2019-11-14 CN CN201911113408.9A patent/CN110836993B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109901472A (zh) * | 2019-03-20 | 2019-06-18 | 电子科技大学 | 一种基于fpga的顺序等效采样系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110836993A (zh) | 2020-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110836993B (zh) | 基于fpga的随机等效采集系统 | |
CN110940841B (zh) | 基于fpga的数字三维示波器快速采集系统 | |
CN109581016B (zh) | 一种随机时间等效采样系统 | |
CN109901472B (zh) | 一种基于fpga的顺序等效采样系统 | |
CN2938113Y (zh) | 一种数字示波器 | |
CN100570373C (zh) | 一种极高波形捕获率数字存储示波器 | |
US4271486A (en) | Waveform storage system | |
US10656182B2 (en) | Method and device for accessing data acquired by digital oscilloscope, and digital oscilloscope | |
CN108776249B (zh) | 具有双捕获功能的示波记录仪 | |
US6760867B2 (en) | Guaranteed method and apparatus for capture of debug data | |
WO2012050633A1 (en) | Memory subsystem for counter-based and other applications | |
JP2004317317A (ja) | 試験装置 | |
CN103558434A (zh) | 一种快速定位数字示波器触发点系统 | |
CN109991458B (zh) | 一种基于fpga的波形纵向平均系统 | |
CN112067870B (zh) | 一种基于fpga的示波器参数自动测量装置及方法 | |
CN109165171B (zh) | 自适应的快速数字波形成像方法 | |
CN111077354B (zh) | 一种基于fpga产生用户自定义波形的装置及方法 | |
WO2021109366A1 (zh) | 数字产品的仿真信号查看方法及系统 | |
Wanyu et al. | Design of random equivalent sampling control module based on FPGA | |
CN107066421A (zh) | 一种示波器及其采集数据上报方法 | |
CN112711393A (zh) | 一种基于fpga的实时多通道累加方法 | |
JP2000090693A (ja) | メモリ試験装置 | |
JPH052030A (ja) | デイジタルストレ−ジオシロスコ−プ | |
Huang et al. | The Segmented Storage System in Digital Oscilloscope | |
JP3631557B2 (ja) | 半導体メモリ試験装置 |
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 |