基于FPGA的数字示波器波形合成器研究

FPGA/ASIC技术

190人已加入

描述

引言

波形刷新率是评判数字示波器性能优劣的重要指标之一,它直接体现了示波器抓取波形细节的能力,刷新率越高意味着捕获异常的能力越强。目前国内示波器的最高波形刷新率在200000wfms/s左右,而高于200000wfms/s的基本上依赖进口。国内示波器刷新率做不高的主要原因有2个:

①波形合成技术和国际先进水平相比,差距还比较大;

②波形存储采用外部存储器。

本文通过对示波器波形合成技术的深入研究,提出一种基于FPGA的高刷新率的波形合成器,刷新率可达到400000wfms/s,该波形合成器已经成功应用在高刷新率示波器中。

1、波形三维映射模型

波形数据的三维信息包括:时间,幅度和幅度命中次数。在现代DSO中,可将多次触发后采集到的多帧数据展现在屏幕上,并通过三维映射灰度图来体现时间,幅度以及波形数据在每一个幅度上的命中次数。例如进行10次采样每次采样700个样点,那么进行三维映射时,会将这10次采样的波形进行叠加,然后将叠加后的波形数据映射到三维数据库中。

如图1所示,三维波形数据库可以看作是一个m×k的二维矩阵,m表示DSO屏幕的垂直分辨率(幅度),k表示DSO的水平分辨率(时间),而矩阵中元素amk表示幅度命中次数(概率),如图所示。

FPGA

图1  三维波形数据库

为了将三维波形数据库中的信息转换为方便用户观察的显示画面,需要将幅度命中次数转换为波形灰度或颜色等级,所以波形三维映射模型实质上是一种三维波形成像技术。它直接将每次采集到得数据映射到三维数据库(灰度图),然后将灰度图以人眼可以接受的速率传送到屏幕上显示。对于图2这个m×k矩阵,若其元素用c位存储,则灰度图需要的存储空间为:m×k×2c/8字节,国内示波器一般将这个三维数据库(灰度图)存放在外部存储器中例如SRAM,SSRAM。很明显,频繁的访问外部存储器将会大大的减小数据映射速度,降低了波形刷新率。

FPGA

图2  三维数据库矩阵

2、高刷新率波形合成器

波形刷新率WRR(WaveformRefreshRate)定义为:

WRR=1/(Tacq+Tdead)       --公式(1-1)

Tacq为采集时间,即采集一幅完整波形所需的时间,它和存储深度,采样率等因素有关。Tdead为死区时间,主要由2部分组成:波形数据读取时间Tr和波形数据映射时间Tmap。系统架构决定后,Tacq和Tr也就基本上确定了,但不同的波形合成器会导致Tmap不同,而且Tmap一般远大于Tacq和Tr,所以刷新率可以近似等价于:

WRR=1/Tacq          --公式(1-2)

所以Tmap的大小直接影响波形刷新率。

FPGA

图3  传统DSO结构框图

图3是传统DSO的内部结构框图,采样电路A从外部采集信号存入动态存储器DDR,波形合成器将新的采样数据和SRAM中旧的采样数据进行叠加操作,最后将叠加后的数据写回静态存储器SRAM。假设一幅波形有k个采样点,则有:

Tmap=k*(trd+tmd+twr)  --公式(1-3)

trd为静态存储器(三维数据库)的读取时间,tmd为修改时间,twr为写入时间,在同步设计中,trd=trd=twr,所以公式(1-3)可以简化为:

Tmap=3k*trd-         -公式(1-4)

由于传统DSO采用外部静态存储器SRAM存放三维数据库(灰度图),外部存储器一般只有一个读、写端口,就会带来下面2个问题:①每次只能映射一个波形数据,无法做到并行映射。②波形映射时,会以“读-修改-写”这样的存储操作模式,无法做到流水处理。这2个问题导致Tmap时间过长,也是国产示波器的刷新率做不到200000wfms/s以上的主要原因。

为了解决上面的瓶颈,本文提出了一种基于fpga的高刷新率波形合成器。高刷新率的DSO结构图如下图4所示,波形合成器B不再采用外部静态存储器SRAM存储三维数据库(灰度图),而是采用FPGA内部的BLOCKRAM进行替代。采样BLOCKRAM可以带来下面的好处:首先BLOCKRAM可以配置成双口模式有利于进行“读-修改-写”的流水处理,其次可以将BLOCKRAM配置成多个小存储块有利于波形并行映射。

FPGA

图4 高刷新率DSO结构图

高刷新率波形合成器内部结构如图5所示,波形合成器由n个小波形合成器G1~Gn组成,波形三维数据库也拆分成由n个小的BRAM块BRAM1~BRAMn组成。

Tmap=(k/n)*trd     --公式(1-5)

采样数据通过DISPATCH模块并行的分发到各个小波形合成器中,这样波形合成器在某一个时刻可以完成n个采样点的并行映射。波形映射时,BRAM采用双口模式,“读-修改-写”这样的存储操作模式,就可以做到流水处理。这就克服了上文提到的采用外部存储器存放三维数据库带来的2个问题。

FPGA

图5  高刷新率波形合成器结构图

由于高刷新率的波形合成器在某一个时刻可以完成n个采样点的并行映射,并可以完成“读-修改-写”的流水处理,假设一幅波形有k个采样点,则有:

对比公式(1-4)和公式(1-5)可以看出,和传统DSO相比,基于高刷新率波形合成器的DSO的Tmap减少为原先的1/3n,刷新率约提高3n倍。从公式(1-5)可以看出,Tmap和n成反比关系,从理论上分析n→∞时,Tmap→0,意味着刷新率可以做到很大。实际应用时,n受限于FPGA的逻辑资源和BLOCKRAM资源,目前采用本文的波形合成器,最高刷新率可达400000wfms/s。但随着这几年FPGA工艺和技术的飞速发展,FPGA的逻辑资源和BLOCKRAM会越来越大,本文提出的波形合成器将会广泛运用在高刷新率的示波器中。

3、结论

通过对波形合成技术的深入研究,提出一种高刷新率的波形合成器,示波器刷新率达到200000wfms/s以上,对高刷新率示波器以及高刷新率数据采集卡的开发有很大借鉴作用。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分