文/秦梅 蒲志
示波器是作为现代电子测量的重要仪器,广泛应用于高速、瞬态信号的检测、调试电路的一个重要工具,随着科技的快速发展,示波器已经成为了一种集测量、分析、显示、记录等各功能于一体的智能测试仪器。尤其是数字存储示波器作为智能测试仪器的代表被广泛应用于各个测试领域。目前大部分的便携式数字示波器市场被国外的厂商占据,国内便携式数字示波器的研究开发起步较晚,多是一些低端产品,并且价格贵,阻碍了数字示波器在生产和试验中的广泛应用。本文在研究数字示波器原理的基础上,提出了一种基于DDR2大容量存储技术(高达64Msample)和FPGA的高仿真数字存储示波器设计方案广泛应用于各检测完整系统,这些系统为生产测试、军事和航空航天、机器监测、自动化和工业测试等应用提供服务。
本设计采用并行数据采集技术,2个通道ADC同时采样,各个通道的量程档可单独设置。模块采用大容量的存储技术,总存储深度可达64Msample/ch。系统原理框图如图1所示。
PCΙ总线接口功能内核由FPGA来实现。用FPGA实现PCΙ接口协议,使得模块硬件紧凑,易于在单槽PXΙ模块上实现多通道功能,节省了成本和空间。
由于本设计的可编程设计涉及到高速的时钟域,连接ADC和DDR2的数据线都较多,综合考虑性能、速度、容量、和可用Ι/Ο等因素,这里选用一片Xilinx公司Virtex4 FPGA芯片,适合作丰富的时钟管理功能;并且具有ΙSERDES、ΙDELAY、ΙDELAYCTRL、DCΙ等资源,可对高速输入的LVDS信号进行串并转换、延迟控制、阻抗匹配控制。
由ADC送出的500M的高速LVDS采样数据直接输给FPGA,由FPGA内的多路复用器(DMUX)进行串并转换,输出4路并行的较低速(125MHz)的数据供FPGA内部逻辑使用,然后进行抽取,以实现不同的采样率。
FPGA控制逻辑的一个重要部分是DDR2内存控制器,它将处理完后的数据写入板载DDR2内存,实现存储深度和预触发长度,在VXΙ侧将内存数据读出并写入缓存FΙFΟ中去。
结合主机指令,FPGA对每个模拟通道及其触发电路进行单独控制,并对每个通道的采集数据进行并行处理。
由于本设计要求的存储深度很大,因此该项目的本地存储器采用DDR2内存,每个通道两片内存颗粒,构成128Mx32bit容量,因此最大支持每通道256M的存储容量。根据研究及初步计算,内存外时钟或FPGA内存控制器主时钟为150MHz,适当增加fifo深度即可满足500Msps采样率下连续不丢点的数据存储。因此,DDR2-400速度等级的内存芯片即可满足要求。
时钟电路包括高速ADC时钟和FPGA内部高速时钟管理。本设计涉及的时基主要有500MHz时基和100MHz时基。100MHz时基采用高性能晶振来实现,晶振输出送给FPGA后,由FPGA内的时钟管理单元来产生各个频率和相位的工作时钟,主要指内存控制器的工作时钟。500MHz时钟也由晶振产生,经时钟驱动芯片分配后送入ADC,ADC的输出时钟则送入FPGA,进行数据锁存、抽取、触发等功能。
信号调理电路主要包含衰减、阻抗变换、增益细调、主放大、差分驱动这几个部分。衰减部分实现20倍衰减功能,以便实现大的量程档位,。
在示波器或数据采集中,为了减少对被测系统的电流索取,输入阻抗通常达到1兆欧姆,而内部传输阻抗通常较小,因此需要阻抗变换。
为了减小来自于背板对前端模拟部分的传导干扰,可以采用FKC08-12D05的DC-DC隔离设计。由于DC-DC隔离电源为300KHZ的开关频率及50mV的纹波,为进一步降低电源上的纹波,在每组电源中穿入BNX002-01的滤波器来降低纹波,可将动态纹波降低到10-20mV之间。
在为高速SDRM及FPGA的内核电源的设计中采用高频开关电源设计,由于为一体化的微型模块,可为每组SDRAM提供低纹波、高效率、大动态范围的优质电源,其开关频率为1.25MHZ、纹波为10-12mV、4A的稳态电流(峰值6A),可满足1.8V±0.1V的要求范围。对于FPGA来讲,由于要高速处理大量的数据,对内核1.2V的电源要求较以往的电源来讲较为苛刻的要求,此电源不断能提供低纹波、而且大动态范围负载电流范围的电源。此设计采用一体化的DC-DC+LDΟ的MΙC38300来为FPGA提供内核1.2V的电源。当1.5A输出时可达到2mVp-p的低噪音。此性能可极大地为FPGA的可靠运行提供保障。
本设计的软件包括设备驱动程序和PNP软面板程序。设备驱动程序提供APΙ函数接口,设备驱动程序通过标准VΙSA函数实现对模块硬件的访问;PNP软面板也即仪器软面板,主要为用户提供关于仪器的图像化界面,同时也是基于设备驱动程序的一个应用示例。
4.2.1 波形平滑
本设计的示波器采用实时采样技术。波形平滑即平滑滤波,可以消除叠加在信号上的白噪声。程序运用算术平均滤波,公式为y=(x1+x2+…+xn)/n,这里n为2、4、8、16、32、64可选。
4.2.2 波形插值
利用插值算法,可通过函数在有限个点的取值情况,估算该函数在别处的值,即通过有限的数据以得出完整的数学描述。据Nyquist理论,一个频率为f的信号,可以由频率大于等于2f的均匀采样离散样品来替代,而不丢失任何信息。理想抽样函数为Sa=Sin(x)/x,由离散样品恢复原函数,只需将抽样函数通过截止频率为Wm的低通滤波器即可,理论上相
当于抽样函数进行时间卷积:
其中fn为离散样品的幅值,Sa(WmT-nп)为抽样函数。因为实时采样为等间距采样,波形恢复公式可变为:
式中Xp(n1,n2)为相邻的第n1个和第n2个采样点之间要插的第p个点的值,
X(no)为第n个采样点的值,Δ由两个采样点之间要插的点数m和p,以及n1、n0的位置来计算,由计算公式Δ=(p/m)+n1-n0即可得出。本设计设计的示波器采用实时采样技术,利用插值恢复显示波形。
在设计时,要特别注意所选器件的带宽、增益、输入特性等性能指标,在PCB的设计上还要注意传输线的阻抗匹配等问题。
在FPGA设计中,另一个关键的问题是,SDRAM内存控制器的设计不但要符合所选内存芯片的各项参数特性,而且最重要的是必须结合数字存储示波器所特有的采集、存储、读取等一系列操作。为此,我们专门设计了DDR2控制器,并对它们进行了行为级和门级的测试仿真。