基于FPGA的虚拟测试系统实现
扫描二维码
随时随地手机看文章
1 引言
传统测试测量仪存在价格昂贵、体积庞大、数据传输速率低、存储显示困难等问题,本文选用FPGA实现数据处理、逻辑控制,充分利用PC机,结合Labwindows图形化上层应用软件界面生成的虚拟测试系统具有较强的竞争力。本系统在FPGA单板单片主控器件控制下,实现两路独立、幅值可控的信号发生器,一路虚拟存储示波器,具有外部触发信号和采样时钟的16路高速逻辑分析仪。
2硬件设计
2.1硬件系统框图
硬件系统设计是以并行处理能力强、可重配置的低端FPGA单片EP1C6为主控器件。图1所示为硬件系统框图,是由参考电压及选择模块、USB2.0接口模块、电源设计模块、高速存储模块、示波器调理输入A/D转换模块、逻辑分析仪匹配输入比较模块和信号源输出滤波模块组成。
USB2.0接口模块用于配合应用软件接受上位机命令及返回采集数据。采用Cypress公司的CY7C68013 USB2.0设备器件,该器件内部增强型8051控制数据传输。通过下载固件代码配置8051,使设备器件对主控FPGA动作模拟为片外从属FI-FO,减少FPGA设计难度。电压参考选择模块可为信号源D/A、比较器和示波器A/D提供参考电压。考虑到多种测量功能间的切换及同时工作的可能,采用两路参考电压输出和参考电压通路选择模块实现双路信号源独立工作、单路信号源协同示波器工作、单路信号源协同逻辑分析仪工作等模式。
2.2双路信号源设计
利用FPGA内部M4K存储模块、逻辑资源和高频时钟,以DDS/控制模块+高速D/A实现双路信号源,避免采用专用DDS器件,从而节省成本,提高功能的多样性。双路信号源电路设计的前端模块包括DDS方式实现的可变幅度、相位的正弦波以及硬件语言表述的占空比可调的方波、三角波、调制波形等数据输出;后端包括有高速D/A转换器DAC2900 (如图2所示)和信号调理电路组成的模数转换模块(如图3所示),其中调理模块主要由强驱动模块和35 MHz截止频率的3阶π型低通网络组成。
2.3高速逻辑分析仪及存储示波器设计
高速逻辑分析仪的采样率为150 MHz,对于16路采样来说,数据量达到150 M×16 bit。采用两片10 ns级的256 K×16 bit RAM扩展数据位,实现降速存储。位数扩展1倍,存储速率降低1倍,对于75 MHz的存储速度,选用Cypress公司的CY7C-1041-8ns。RAM数据地址线和逻辑分析仪比较器接口与FPGA相连,RAM接口和存储示波器相复用。
虚拟存储示波器的设计采用前端调理和高速A/D采样器件TLC5540实现。图4为示波器前端调理电路,包括箝位电路、放大衰减网络和功率放大3部分。箝位电路主要是将输入电压箝位于后端A/D的输入范围,防止电路损坏。通过示波器观察箝位波形,打开衰减网络,反之,信号过小,打开放大网络以实现高幅值带宽。功率放大电路的目的在于提高信号的驱动能力和测量精度。
3板卡逻辑设计
3.1控制逻辑实现
SOPC(System on Programmable Chip)技术是Altera公司于2000年最早提出的,提供了使用大规模可编程器件FPGA实现SOC功能。SOPC的引进对仅为小批量应用或处于开发阶段SOC带来有效解决方法。配合Altera公司提供的NIOS II软核处理器生成高效的SOPC系统从而实现板卡控制设计,简化了数据通讯和模块间的协调。图5详细介绍了SOPC系统组成。
由图中可以看出,Avalon总线是整个系统的桥梁。Avalon接口规范是为可编程片上系统SOPC环境下外设的开发而设计的,为外设的设计者提供表述主外设和从外设中基于地址读/写接口的基础,是SOPC硬件系统的重要部分。
Nios II处理器软核支持中断异常和用户自定义指令集等,完全支持C语言,并且可编写用户逻辑接口实现一个简化的、无冗余的专用Nios II处理器系统。上位机指令可以完全以字符串的方式通过USB接口模块发送给软处理器,Nios软核通过编程实现命令解析,并同时响应输出,配置各外设,按命令完成指定作业,返回数据。FPGA内部软核通过GPIO和片外器件相连组成整个系统。 Nios II软核处理器的优点在于命令解析和Avalon外设总线位宽匹配,SOPC系统能高效完成逻辑分析仪和示波器的控制传输。然而,其数据传输在高速情况下略显不足成为系统瓶颈,主要在于C语言指令集。而作为高速采集和存储的逻辑分析仪、示波器和RAM之间接口的读写速率高于100M,实现高速采集通道,并对总线提供简单的开始采集、采集结束、数据满等信号作为外设挂接在Nios软核上,是提高测量系统参数的关键。本系统在Nios软核的基础上,高速接口模块采用Verilog HDL语言和FPGA内部资源来实现,即就是片外高速读取控制模块。
3.2改进型低资源消耗率DDS的FPGA实现
本系统基于FPGA实现双路完全独立的DDS信号源,硬件设计构成了DDS技术实现的第三部分,前面两部分相位累加器和查找表ROM设计细节介绍如图6所示。
单路DDS的FPGA设计实现主要包括相位累加器地址产生及控制模块、波形存储及类型选择模块。相位累加器地址产生及控制模块对接收到的控制指令实施执行,并产生相应的控制信号、寻址后端LUT ROM,实现DDS信号源。其翻译及执行的信号包括信号类型TYPE_IN、输出信号相位DAC2900_Pha、输出信号频率DAC2900_Freq和输出信号幅度DAC2900_A等。相位累加模块根据输入信号参数,计算并产生地址,用以LUT ROM查找幅度值,输出相位。而波形存储模块分为周期信号产生的正弦信号、锯齿波信号以及方波信号和非周期的高斯噪声信号。其中:sin_rom存储的数据为量化的一个周期的正弦波数据。trig_rom块并不是一个ROM模块,而是一个三角波计算生成模块。为了节省FPGA片内RAM模块,结合三角波的线性特性,利用地址产生三角波幅度值,实现如图7所示,其中K_in[9:0]为产生的三角波波形设定斜率,clock、address和q[9:0]实现与sin_rom接口兼容。square_rom和trig_rom一样,采用Verilog HDL模拟的查找表ROM,可有效减少对FPGA资源的占用,本设计的trig_rom仅占用一个10位加法器。noise_rom为改进型加法同余伪随机序列。数字随机噪声的设计也就是伪随机序列设计,其具有良好的随机性,它的相关函数接近白噪声的相关函数。伪随机序列算法包括:平方取中算法、同余算法、小数开方法、Tausworthe序列。而同余算法包括加法同余数列、线性同余数列和乘进位算法。结合各种算法及其在FPGA上的实现复杂度和资源重用率,设计了易于FPGA实现的改进型加法同余伪随机序列。
结束语
综合考虑成本、性能和应用等因素,充分利用FPGA的逻辑资源,实现了中低档测量系统。双路信号源独立工作可产生最大2 MHz的无失真三角波、正弦波、方波及调制波形等;示波器可虚拟存储采样速率为40 MS/s;逻辑分析仪最高采样频率150 MHz,存储深度256 K×32 bit。适用于教学试验。并协同上位机软件和USB2.0接口实现便携、即插即用。系统预留以太网接口,可实现测量设备网络共享。同时还需进一步提高系统复杂度,充分利用FPGA特点,由上位机动态配置板卡功能。