基于ARM的虚拟示波器的设计
- 格式:pdf
- 大小:599.31 KB
- 文档页数:3
收稿日期:2009-04
作者简介:张玉华(1980—),女,讲师,研究方向为智能仪器与自动化装置。
基于ARM的虚拟示波器的设计张玉华1,孙文海2(1.江西理工大学,江西赣州341000;2.江西省赣州市水利电力勘测设计研究院,江西赣州341000)
摘要:提出一种基于ARM的虚拟示波器的设计。文章分虚拟示波器的硬件设计和软件设计两大部分进行阐述,主要包括以ARM为主的下位机信号采集部分、以PC为主的上位机信号处理部分和ARM与PC机的通信部分。在硬件设计上,采用ARM+FPGA结构,使硬件系统更精简,体积更小;软件设计采用LabVIEW,大大简化了编程过程。整个设计采用模块化思想,设计简便,并易于修改和调试。关键词:虚拟示波器;ARM;FPGA;LabVIEW;USB
中图分类号:TM935.3 文献标识码:B 文章编号:1006-2394(2009)06-0019-03
TheDesignofVirtualOscilloscopeBasedonARM
ZHANGYu2hua1,SUNWen2hai2(1.JiangxiUniversityofScienceandTechnology,Ganzhou341000,China;
2.JiangxiganzhouSurveyandDesignInstituteofWaterConservancyandHydropower,Ganzhou341000,China)Abstract:AdesignofARM2basedvirtualoscilloscopeisintroducedinthispaper.Thehardwaredesignofvirtualoscilloscopesanditssoftwaredesignaremainlyillustrated,includingsignalgatheringfromtheARM2basedMC,signalprocessingofPCandcommunicationbetweentheARM2basedMCandPC.Inthehardwarecircuitdesign,thecombina2tionofARMandFPGAmakesthehardwaresystemsimplerandsmaller.ThesoftwareisdesignedbyusingLabVIEW,whichgreatlysimplifiestheprogrammingprocess.Thewholedesignisdividedintoanumberofsmallunits,whichmakesthedesigneasytomodifyanddebug.Keywords:virtualoscilloscope;ARM;FPGA;LabVIEW;USB
1 系统构成及参数要求系统主要包括以ARM为主的下位机信号采集部分、以PC机为主的上位机信号分析处理及波形显示部分、ARM与PC机的通信部分三大方面。其中下位机主要负责高速数据的采集,相当于一个高速数据采集卡;上位机主要用于波形的存储、显示和数据分析,上位机接收下位机采集的数据,利用计算机强大的分析和计算等功能对数据进行有效分析和处理;同时通过上位机的界面控制下位机。考虑到速度和便携式的要求,采用USB口进行数据通信,可实现安全高速的数据传输。本虚拟示波器期望达到的主要技术指标如下:输入信号范围:50mV~50Vp-p;通道数:独立双通道;模拟带宽:20MHz;单次带宽:10MHz;实时采样率:100mS/s;垂直分辨率:8位;垂直扫描:0V/div~5V/div;水平扫描:1ms/div~0.2s/div;存储深度:2KB/CH;频率计:0.1Hz~100MHz;波形显示模式:A或B通道,A&B双通道。2 波形的采样和重建的实现2.1 波形的采样采样分为实时采样和非实时采样。其中,非实时采样又称等效采样,它包括顺序采样和随机采样两种。在本虚拟示波器设计中,采用了实时采样和等效采样相结合的方法来实现对信号的采集。在等效采样时,无论是顺序采样还是随机采样,它们都是从某个触发位置开始通过一个定时器进行计时的。由于等效采样一般用在被测信号频率较高时,故不论是顺序采样中的定时还是随机采样中的时间测量,都是很短的,如ns级,这就要求定时器具有很高的时间分辨率,这不是一般的定时器所能做到的,而且在这种情况下要求控制器具有很高的速度对其进行控制,这将会大大增加系统的成本,也带来了技术的难度。因此,本设计结合了顺序采样和随机采样的特点,
考虑到现有的设备和技术,提出了一种更为简便的等效采样方法。
・91・2009年第6期 仪表技术第一次触发时以一个与被测信号频率相近的采样时钟进行连续的采样,直到采样数据写满整个FIFO;从开始采样到采样数据写满整个FIFO称为一轮采样,在一轮采样的过程中将忽略所有的触发信号。此方法可从信号波形的不同周期连续获得采样点,这样可以得到与原信号相似的波形,并且还具有正确的波形幅度,如图1所示。虽然重建的正弦波的频率和原来输入信号的频率完全不同,但是,这并不影响参数测量,因为被测信号的频率可以通过FPGA的测频/测周电路准确地测量出来。具体做法如下:图1 以接近信号频率的采样频率采样(1)信号频率f≤10MHz时当被测信号频率f≤10MHz时,系统采用实时采样的方法进行信号采集。使A/D转换器的采样时钟和FIFO的写时钟等于被测信号的10倍,即相当于以10倍于被测信号频率的采样时钟频率进行采样。(2)信号频率f>10MHz时当信号频率f>10MHz时,系统采用等效采样方法进行数据采集,此时A/D转换器的采样时钟和FIFO的写时钟频率略小于信号的频率。2.2 波形的重建一般来说,通过A/D转换得到的采样点重建原来信号的波形主要有两个方法:点连接和内插法。根据本设计中采用的采样方案,采用了正弦内插的方法来实现对波形的重建。X(t)=6∞n=-∞X(nTs)sin[π(t-nTs)/Ts](π(t-nTs)/Ts)式中插值函数为取样函数,插值间距为Ts=1/fs(fs为采样频率,Ts为采样周期),权重为X(nTs),无穷加权取样函数移位后的和即可重建出原信号,实际的计算上并不取无限项,只取若干项近似计算即可。由公式表明,由时间轴上每个样值对应有一个sinεε形式的函数与其相乘,即样值X(nTs)对函数sinεε进行加权就可以恢复原连续信号X(t)。3 虚拟示波器硬件电路设计从图2中我们可以看出,整个系统工作过程如下:首先被测信号从探头进入电路中,先到前置放大及增益可调模块进行衰减、放大、交直流选择,将信号变成适合在ADC中进行采样的信号范围。其中被测信号的放大/衰减倍数、交直流的选择由FPGA根据ARM
发出的控制信号进行控制。被测信号经过预处理后分为两路,一路通过整形电路进行处理后,得到标准的矩形脉冲信号,并送FPGA中的测频/测周电路构成的频率计,从而测量出输入信号的频率(图中未画出);另一路送高速A/D转换器进行模/数转换,转换后的数字量暂存在FPGA内部块RAM设计的FIFO中,供ARM读取并处理。在设计时,使A/D转换器的采样时钟和FPGA中的FIFO的写时钟一致,根据FPGA的测频/测周电路测得的信号频率,决定采用何种采样方法,并计算出合适的采样时钟和FIFO的写时钟,ARM
则发出A/D采样控制字和FIFO采样控制字,由A/D
采样控制器和FIFO采样控制器分别调整A/D转换器的采样时钟和FIFO的写时钟频率。此外,ARM可从FPGA的FIFO中取得数据,并根据上位机的指示来发送数据,上位机和下位机的数据传输采用USB传输方式。上位机把接收到的数据放在其缓存中,需要显示的时候,将存储器中存储的内容调出,而且上位机还可以通过软件程序对数据做进一步的分析和处理。
图2 下位机硬件电路整体框图硬件电路设计包括前端数据采集电路、FPGA逻辑控制电路、ARM监控系统电路、电源时钟电路和USB固件程序的设计。
4 虚拟示波器软件设计虚拟示波器的软件部分主要包括USB驱动程序软件和PC端应用程序软件两大部分。上位机PC通过USB接收数据,把接收到的数据放在其缓存中。当需要显示的时候,将存储器中存储的内容调出,采用正弦内插的方法对波形进行重建,并通过软件程序对数据做进一步的分析和处理。设备驱动程序必须采用WDM驱动模型,应用软件部分基于LabVIEW虚拟仪器开发平台。和PCI设备板卡一样,示波器设备采用动态链接库的方式进入软件开发平台。4.1 USB驱动程序设计在本设计的示波器系统中,USB设备驱动程序主要完成以下三大例程事务:
・02・仪表技术 2009年第6期(1)即插即用和电源管理例程。完成自动识别
USB设备和电源管理策略,决定什么时候应该采用何种电源,实现硬件资源分配和再分配,主要包括I/O端口,硬件中断号等。(2)设备控制例程。负责设备的控制,主要是指对设备的一些操作命令的发送或者一些标志的读取。该例程中用户自定义子功能码,上层应用软件子功能码必须和驱动程序保持一致。(3)数据读写例程。主要完成上层应用软件API函数所对应的打开设备、关闭设备、读设备和写设备等例程函数。4.2 PC端应用程序设计在本次设计中,按照模块化设计的思想,将上位机软件在功能上划分为多个模块,分别为数据采集模块、数据测量模块、数据滤波模块、数据存储及回放模块和用户界面模块。其中的数据测量模块、数据滤波模块和数据存储及回放模块都属于数据处理。而数据处理的前提是能够从下位机硬件中采集到数据,因此,必须在LabVIEW中确立下位机数据的传输方法,即如何通过USB接口将下位机数据传输到上位机软件中进行后续的处理。本设计中示波器设备是采用动态链接库的方式进入该软件开发平台的。软件设计结构框图如图3所示。
图3 软件设计框图5 结束语通过硬件电路和软件程序的设计,该虚拟示波器最终能实现对波形的显示、存储及回放和数据的测量、滤波与频谱分析。图4为所设计的双通道虚拟数字示波器。
图4 双通道虚拟数字示波器 由于虚拟示波器系统由用户自定义仪器功能,桌面整洁,操作条理,不但使测量人员从繁复的仪器堆中解放出来,而且具有测量精度高、测量速度快、系统组建时间短、可扩展性强、技术更新快和仪器智能化等优点。此外,虚拟示波器系统开发成本低,结合网络技术可以实现远程数据自动测量、自动记录、自动数据处理等,使得虚拟示波器系统具有很好的市场,发展前景广阔。
参考文献:
[1]王波.虚拟示波器系统设计与实现[D].苏州:苏州大学,2006.[2]谈玲.基于ARM的虚拟示波器的设计与研究[D].南京:南京信息工程大学,2006.