100MHz 数字存储示波表样机的研究与试制----数据采集系统设计(四)
3.4.4峰值采样
峰值采样是数字存储示波器的重要技术之一,它主要用来捕捉信号波形的毛刺以及实现波形的包络显示。如果我们使用模拟示波器来观察如图3-19所示的失真正弦波,那么只有当毛刺是重复性并且与主信号同步时,我们才有可能看到这个毛刺。但由于毛刺常常是源于其他的电路系统,所以这些毛刺信号往往是随机而且与主信号不同步的。
数字存储示波器要想准确的捕捉到毛刺,其中一个有效的方法就是提高采样率,减少采样点之间的时间间隔,使得采样点能够落在随机出现的毛刺上。但一味追求高采样率随之而来的问题就是存储空间的不够用,从而导致捕获时间的减少。例如,峰值采样的典型应用是观察某些电路故障的长时间记录,从中寻找毛刺或其他不规则现象。如果我们只有5K的存储深度,当采样率为50MHz时可以进行的最长捕获时间为100μS,而当采样率提高到1GHz时,最长捕获时间则缩短为5μS.所以,提高采样率与有限的存储深度之间存在着矛盾。解决这一矛盾的方法就是峰值采样。
采用峰值采样时,示波器始终以最高的采样率采样,在每个取样间隔中捕获信号波形的最大和最小值,并由正负峰值检测器将信号的最大、最小值暂时存储起来。当示波器要显示采样点的时候,示波器就用捕获的信号的最大最小值来代替原来的采样点数值,并将该峰值检测器清零。因此,峰值采样能够帮助我们发现由于取样间隔过宽而丢失的毛刺信号。
示波器上的峰值检测分为硬件(模拟)峰值检测器和数字式峰值检测器。模拟峰值检测器是一个专门的硬件电路,它以电容上电压的形式存储信号的峰值。这种的缺点是速度比较慢,它通常只能存储宽度大于几个微秒且具有相当幅度的毛刺。数字式峰值检测器是围绕AD而构成的,这时AD将以可能的最高采样速率连续的对信号进行采样,然后将峰值存储在一个专用的存储器中,当要显示采样点的时候,存储的峰值就作为该时刻的采样值来使用。数字式峰值检测器的优点是其速度和数字化过程的速度一样快。
本项目中,我们采用了数字式峰值检测方式。系统框图如图3-20.
在实际电路设计中,由于受FPGA速度的影响,AD的采样率不能设置为最高的100MHz,而是采用固定的10MHz.如图所示,调理通道出来的模拟信号经A/D采样后并不像普通采样那样直接进入FIFO,而是先经过峰值检测模块筛选出最大最小值后,再将最大最小值存入FIFO.写FIFO的时钟由时基档位决定。这样将AD采样时钟和写FIFO时钟区分开来,使得在低时基档位下同样能够捕捉到信号的毛刺。峰值检测模块的功能框图如图3-21.
由图可知,整个峰值检测模块主要由两个比较器,两个寄存器,最大最小值选择器以及控制电路组成。从AD送来的数据首先进入最大最小值寄存器,作为比较的初值,再与后面送进来的数据相比较。比较过程中的最大最小值再分别存入最大最小值寄存器。比较完一组数据后,控制电路连续发出两个FIFO写脉冲,将这组存储在最大最小值寄存器里的数据写入FIFO.当写FIFO结束以后,控制电路紧接着再发出一个CP脉冲,将下一组的第一个数据写入最大最小值寄存器,作为第二组比较的初值。峰值检测电路的时序仿真如图3-22.
其中的peak_sel信号为峰值功能选择信号,当peak_sel为高电平时,峰值功能被选中。base_out和p_clk分别为采样脉冲和比较脉冲,它们同为10MHz.即从AD进来一个数据就马上进行比较,比较结果作为最大最小值寄存器的锁存信号。从图3-19可以看到,AD数据同时送入比较器和寄存器,这就保证了当比较结果为真时,数据就会立即被写入寄存器。wclk信号为FIFO写时钟,它的电路要求是必须在前一组最后一个数据采进来之后,后一组第一个数据采进来之前,完成两次写FIFO的操作。MaxMin_sel信号为最大最小值选择信号,当它为低电平时,最大值写入FIFO;当它为高电平时,最小值写入FIFO.
由于峰值检测是以一组采样点中最大最小值的形式存储一个事件的幅值数据,所以事件的定时分辨率是无法知道的,它只能以峰值检测间隔的分辨率来显示检测到的事件。例如,示波器的AD以1GSPS(1ns间隔)采样,而峰值检测的采速为10MSPS(100ns间隔),快速事件将以100ns分辨率进行显示,而不是以AD采样的1ns.从AD来说,100ns之间有100个采样点,如果100个采样点中不止一个快速事件,而示波器也只能捕捉到这些事件中的最大值和最小值。
3.5 SCAN方式下的数据采集
当示波器的时基档打到某一档位的时候,示波器开始使用SCAN方式(即扫描方式)来显示波形。扫描方式主要用来观测低频信号和变化缓慢的信号。工作在扫描方式下的示