基于微型计算机的虚拟仪器是现代电子测量仪器发展的重要方向, 其中虚拟数字存储示波器是一种应用十分广泛的虚拟仪器。虚拟示波器能充分发挥和利用计算机的软硬件资源, 使之成为仪器功能的组成部分, 比如: 利用计算机的图形界面完成对虚拟控制和显示面板的定义; 利用计算机的存储及文件功能完成对信号的记忆、存储和回显; 利用计算机的数据处理及控制能力完成对数据的采集、传送、分析处理和显示等。PXI 总线是最新一代的测试总线技术, 是PCI 总线在测试领域的扩展,于1997 年被美国NI 公司首次提出, 并于次年被采用为工业标准。PXI 总线可简单地认为是Micorosoft Windows、Compact PCI(CPCI) 和VXI 技术的综合: 机械规范方面采用CPCI 的核心技术, 即欧式插卡机械机构和气密式针孔接头, 特别适用于恶劣的工业环境; 电气规范方面在保持了PCI/CPCI 总线所有优点的前提下增加了专门的系统参考时钟、触发总线、星形触发总线和模块间的局部总线, 以此来满足高精度的定时、同步与数据通信要求。基于此, 本文采用PXI总线, 利用现有的PXI 工控机及高速数据采集板,设计了基于PXI 总线的虚拟数字存储示波器软件。
虚拟示波器的结构组成如图1 所示, 它由预处理电路、AD 转换电路、SDRAM、高频时钟及时序产生电路、触发电路和FPGA[3]芯片、及逻辑控制器组成。待测信号经测试探头输入预处理电路, 实际被测信号的幅值变化范围可能从数毫伏到上百伏, 预处理电路的作用就是对其进行放大或衰减调理, 使之适应A/D 转换器的输入需求。A/D 转换电路负责将模拟量转换成数字量, 在数据采集模式下, 转换后的数字量在SDRAM 控制器的控制下, 被依次写入128MB SDRAM。在示波模式下, 数字量通过FPGA内部的FIFO 通过PXI 总线被CPU 读入、处理、显示。本示波器的两路输入信号共用同一A/D 转换电路, 因此在A/D 转换前加了高速双路选择器, 通过快速切换完成两路信号的数据采集。这里的PXI 总线可以实现示波器与PC 机主板间的数据传输。整个板卡是在高度稳定的时钟控制下, 进行有序地工作, 这一时钟是高频时钟发生器产生的。
基于PXI总线的虚拟数字存储示波器软件设计
2.1 预处理电路
数据采集电路的核心是A/D 转换器, 而高速A/D芯片允许的输入信号范围一般是固定的( 如- 0.5~0.5V) 。预处理电路结构如图2 所示, 其作用是对小信号进行放大, 对大信号进行衰减, 以保证足够的动态范围。同时, 为了不给被测信号带来影响, 它还具有较高的输入阻抗。预处理电路由衰减网络、阻抗变换、主放大、偏置调节、驱动放大等组成。这里衰减网络由继电器控制, 完成10 倍、100 倍衰减。主放大器选用宽频带运算放大器AD8056, 该芯片的主要特性是: 300MHz 带宽( - 3dBBandwidth, G=+1) 。采用负反馈放大方式, 与继电器相配合完成1、2、5 倍放大。实际阻抗变换电路中也包含一片AD8056, 主要用作跟随器, 起隔离作用。驱动放大电路采用AD 公司的AD8138, 该放大器具有较宽的模拟带宽( 320MHz, - 3dB, G=+1) , 而且可以实现将单端输入信号变成差分输出的功能。这一变换在高速的模数转换电路中非常有用, 因为几乎所有的高速AD 芯片的模拟输入端都为差分信号, 虽然部分芯片的手册中提到也可使用单端信号, 但这样会使AD 转换结果的二次谐波增大, 降低系统的信噪比( SNR) 。AD8138 很好地解决了这个问题, 可以非常容易地将用户端的单端信号转换成差分输出而不必使用变压器耦合, 大大精简了电路结构。偏置调节电平由DAC 输出, 并由计算机程控调节。
基于PXI总线的虚拟数字存储示波器软件设计
2.2 AD 转换电路
该模块采用了AD 公司的高速、低功耗、同步采样模/数转换器AD7677, 它采用+5V 工作电压,AD7677 采用具有94dB 共模抑制能力的差分输入通道, 将其Ref 引脚与IN- 引脚接到一起, 为差分电路提供2.5V 的参考电压。这里模拟量采用单端输入, 将IN- 端接共模电压2.5V, IN+端接前端信号调理模块的输出。AD7677 的时钟信号由外部提供, 最高采样频率可达1M/S。将COVST 引脚置低电平, 时钟信号下降沿触发, A/D 开始转换, 转换完成后产生转换结束信号EOC。将AD7677 的COVST 引脚接高电平, 使转换结果以16 位的方式输出。输出至FPGA, 存入同步动态存储器。AD7677 转换电路如图3 所示。
基于PXI总线的虚拟数字存储示波器软件设计
2.3 实时时钟
DS1302 是一种高性能, 低功耗, 带RAM的实时时钟芯片, 它可以对年、月、日、周日、时、分、秒进行计时, 且具有闰年补偿功能, 工作电压宽达2.5~5.5V, 采用三线接口与CPU 进行同步通信,并可采用突发方式一次传送多个字节的时钟信
号或RAM数据。在一个采样周期内, 当输入数据全部采样完毕后, FPGA 读取DS1302 中的时间值, 并进行存储DS1302 的SCLK、RST、I/O 口分别与MEGA64 的I/O 相连进行串行通讯, 实现对采样时间的记录。
2.4 SDRAM
SDRAM的特点是存储容量大、速度快, 被广泛应用于计算机内存条上。本示波器选用四片32MB同步动态存储器HY57V56820T 作为在线存储器。SDRAM控制器的作用是以100MHz 的速率将A/D芯片输出的数据正确写入四片HY57V56820T 中,同时负责将其中已存好的数据正确读出, 通过PXI总线再送到计算机内存。另外还负责SDRAM刷新。在数据采集模式下, 示波器能以100Mb/s 的速度将AD 转换器输出的数据实时存入SDRAM, 数据采集过程是先由模块上的SDRAM实时接收数据, 再由PXI 总线传递到计算机内存。实际电路中SDRAM控制器是在FPGA 芯片上用VHDL 编程实现的。图4 为其读写状态机。
基于PXI总线的虚拟数字存储示波器软件设计
虚拟仪器作为21 世纪的仪器, 具有编程灵活、可自定义、数据处理和分析功能强大、开发周期短等优点, 推动着测控技术的革命, 在远程控制方面有广阔的应用前景。LabWindows/CVI是美国NI 公司利用虚拟仪器技术 开发的32位面向计算机测控领域虚拟仪器的软件开发平台, 代表着当今虚拟测控的发展趋势, 它最大的特色是提供了功能强大的库函数[5], 其中包括:用户界面库函数, 高级数据分析库函数, 数据采集,DDE, ActiveX 及TCP/IP 库函数等, 可以实现满意的控制效果和仿真结果。本设计采用LabWindows/CVI, 充分运用高级数据分析库函数等高级编程技术对软件进行模块化设计[6]。虚拟示波器软件结构如图5 所示。系统自检与初始化模块主要完成系统硬件故障诊断、端口初始化等操作。时基控制主要控制采集卡扫描率、通道扫描次数( 取样数) ; 触发控制包括触发电平控制、触发模式、触发斜坡等; 通道控制主要控制单通道或双通道测量; 数据采集模块主要完成数据采集的控制, 包括触发控制、通道控制、时基控制等。其中, 参数测量模块包括电压参数和频率、周期等时间参数的测量, 并显示测量结果。频谱分析模块采用FFT 算法, 完成频域信号分析。
基于PXI总线的虚拟数字存储示波器软件设计
示波器主面板如图6 所示。当面板上“电源开关”键打开后, 调用驱动程序开始数据采集过程, 首先要根据触发通道的不同和触发方式的不同, 选取不同的数据采集方式, 同时根据用户设置的触发电平和触发位置的不同也应该选择采集不同时间段的被测数据。得到的数据在送显示之前, 采集回来的波形数据根据需要可能还要经过一定的处理, 如平滑、插值、防抖等。由于示波器的数字存储功能、实时采样特点, 以及其单次触发、滚动显示、自动时基量程、波形停留、自动光标测量等特点, 决定了此部分程序模块时序复杂、分支颇多, 是设计和调试的重点。
基于PXI总线的虚拟数字存储示波器软件设计
本文所述虚拟数字存储示波器技术已运用在某自动测试系统中, 其实现的示波器可双通道同时工作于100MHz 采样频率, 检测输入范围在10mV~100V 的信号( 灵敏度为10mV) 。该自动测试系统基于测试领域最先进的PXI 总线技术, 体积小巧、使用方便、抗干扰能力强, 能满足军用研究所、基地维修中心等需要。