基于labview的数字示波器设计之欧阳德创编.docx
《基于labview的数字示波器设计之欧阳德创编.docx》由会员分享,可在线阅读,更多相关《基于labview的数字示波器设计之欧阳德创编.docx(25页珍藏版)》请在冰豆网上搜索。
![基于labview的数字示波器设计之欧阳德创编.docx](https://file1.bdocx.com/fileroot1/2023-2/8/624c15c0-d60c-44a7-b7a5-779c126db0e3/624c15c0-d60c-44a7-b7a5-779c126db0e31.gif)
基于labview的数字示波器设计之欧阳德创编
测控仪器设计课程设计
时间:
2021.03.07
创作:
欧阳德
说明书
姓名:
学号:
班级:
测控081班
专业:
测控技术与仪器
学院:
机械工程学院
时间:
2011.7.4~2011.7.15
地点:
机械工程学院机房
指导教师:
前言………………………………………………………………………………2
课程设计任务书…………………………………………………………………3
示波器设计方案…………………………………………………………………4
示波器工作原理与设计步骤……………………………………………………7
一、模拟采集模块………………………………………………………7
二、时基控制……………………………………………………………9
三、波形显示模块………………………………………………………9
四、参数测量模块………………………………………………………13
五、频谱分析模块………………………………………………………15
六、数据存储和回放模块………………………………………………16
七、波形打印模块………………………………………………………17
八、主要控制结构………………………………………………………18
总结………………………………………………………………………………19
附录:
前面板和程序框图………………………………………………………21
前言
由于电子技术、计算机技术的高速发展及其在电子测量技术和仪器领域中的
应用,新的测试理论、新的测试方法、新的测试领域以及新的仪器结构不断出现。
电子测量仪器的功能和作用已经发生质的变化。
在先进的测控系统中,不仅希望
设备能够单独进行测试,还希望他们之间能够互相通信,构成测试系统,甚至是
测试网络系统,实现信息共享,以便对众多的被测信号进行对比、综合和自动分
析、从而得出准确的判断。
这是电子行业本身给测试设备提出的要求,传统的测
试仪器在此方面受到很大的限制。
由于上述原因,并且随着电子技术和计算机技
术的快速发展以及价格不断下降,改变了传统的电子技术设计观念,使原来部分
由硬件完成的功能,现在能由软件实现。
例如仪器面板和数字滤波等,实现硬件
软件化。
而不少硬件难以实现的功能,例如复杂的信号分析,数据统计和三维图
像显示等,在计算机中则较容易实现。
在市场的需求和相关技术支持下,促使了
基于个人计算机的测控仪器——虚拟仪器的发展。
虚拟仪器利用计算机强大的处
理能力,使得它成为了一种很好的工具,其应用范围也越来越广泛。
与传统仪器
相比,虚拟仪器在智能化程度、处理能力和可操作性等方面均具有明显的技术优
势。
示波器是在科学研究和工程设计中广泛应用的一种通用仪器。
目前研制一种
结构简单、操作方便、生产技术要求不高、费用低的数字示波器是非常必要的。
本文介绍了一种新型的示波器:
虚拟数字存储示波器。
虚拟数字存储示波器是虚
拟仪器技术的一种具体应用。
该虚拟仪器基于计算机平台,将虚拟仪器硬件和软
件紧密结合,实现比传统仪器更强大的功能。
虚拟数字存储示波器系统由数据采
集、数据分析和结果输出显示三个主要功能部分组成。
其中,数据分析和结果输
出显示完全由计算机软件系统来完成,只有数据采集是在软件的控制下由硬件来
完成。
本文主要完成对软件系统的设计。
测控仪器设计课程设计任务书
设计题目:
基于Labview的数字示波器设计
设计要求:
一、主要功能模块
数字示波器主要由软件控制完成信号的采集、处理和显示。
系统软件总体上包括数据采集、波形显示、参数测量、频谱分析及波形存储和回放等五大模块,功能结构框图如下:
1.数据采集模块
主要完成数据采集的控制,包括触发控制、通道选择控制、时基控制等。
其中:
1)触发控制包括触发模式、触发斜坡、触发电平控制;
2)通道选择主要控制单通道或双通道测量;
3)时基控制主要控制采集卡扫描率、每一通道扫描次数(取样数)。
2.波形显示模块
软件需提供五种波形显示模式:
1)A、B、A&B模式:
通过显示通道选择按键A和B,可以任意显示某一通道或两通道输入信号的波形。
2)XY模式:
当两通道都处于选通状态时,使用此模式来显示李沙育(Lissajous)图形、测量相位差或频率。
3)A+B,A-B模式:
当两通道处于选通状态时,使用此模式显示两通道信号代数相加、相减后的波形。
4)A&A积分
5)A&A微分
3.参数测量模块
主要模拟HP54603B的参数测量功能,完成包括Vrms等19个电压参数和频率、周期等7个时间参数的测量,并显示其测量结果。
4.频谱分析模块
采用快速FFT算法,完成频域信号分析。
可实现的频谱分析控制包括:
1)Window选择,提供9种频谱分析窗口;
2)Log/Linear选择,提供3种坐标显示模式;
3)DisplayUnit选择,提供8种单位。
5.数据存储和回放模块
按键“写盘”控制是否进行数据存储;按键“读盘”控制是否从数据文件中读取数据。
主面板提供了两个文件名输入框,前—个为信号波形数据文件名输入框,后一个为采样周期文件名输入框,这两个文件由写盘功能和读盘功能共用。
从软盘或硬盘上读取的数据同实时采集的数据一样,能够进行自动参数测量以及显示波形,并保留在显示窗口(显示模式可以设置为三种模式中的任意一种),还可以根据需要设置进行频谱分析。
二、主要控制结构
1.测量控制结构
通过逻辑按键“测量”控制是否进行测量;通过逻辑按键“通道”控制通道选择。
2.自动调整扫描率控制结构
由逻辑按键组“自动”、“手动”来控制是自动调整扫描率,还是手动调整扫描率。
虚拟仪器设计
示波器设计方案
虚拟示波器由硬件设备与接口、设备驱动软件和虚拟仪器面板组成。
其中硬件设备与接口包括仪器接口设备和计算机,设备驱动软件是直接控制各种硬件接口的驱动程序。
本设计的信号处理与结果显示都由软件完成,并以虚拟仪器面板的形式在计算机屏幕上显示与真实仪器面板操作性对应的各种控件。
本虚拟数字存储示波器是在对传统示波器进行分析后,基于多功能DAQ采集卡和LabVIEW开发平台来设计的具有数字存储示波器、数字万用表、数字频率计三者功能与一体的一个功能强大的电子测试仪器,主要由数据采集部分、数据处理部分、波形显示部分、波形存储和回放以及频谱分析等部分组成,可以完成对信号的输入及获取、信号电压参数及时间频率参数的自动测量、信号的波形显示及存储回放和信号的频谱分析等功能。
该示波器主要由数据采集DAQ(DataAcquisition)、接口总线、硬件驱动程序和虚拟数字示波器软件构成。
图2.1所示为虚拟数字示波器的整体组成结构图。
信号检测电路时信号调理辅助电路,接收传感器传送过来的物理信号,并从混合信号中提取出待测的微弱信号,输出的多路信号时已经放大滤波和电平变换后的标准信号,送入数据采集卡板(由硬件程序驱动工作),通过系统总线送进计算机进行处理。
在使用DAQ卡之前必须对DAQ卡的硬件进行配置,这些控制程序用到了相应的底层DAQ驱动程序。
图1虚拟数字示波器结构图
该虚拟仪器的软件是以LabVIEW开发环境为平台,采用的是自顶而下的设计方法,首先,有要实现的目标功能来制定一个整体框架。
由一个采集开关启动整个仪器采集过程,在采集状态下,可以进行参数的测量显示;同时,还可以进行时基的设置、触发通道的设置、触发模式的设置等;对于显示面板上的波形可以任意地进行位置的调整、缩放;对于当前的波形能够保存到硬盘上或U盘上;同样,也能把硬盘或U盘上的数据读到显示面板上(这是将停止数据的采集)并还能进行参数的测量;还可以把当前的波形打印出来。
此外,应用高效数字信号处理技术,还可实现FFT算法,对频域信号进行分析。
该示波器的主要控制结构有:
自动/手动设置扫描率的控制结构,写盘/读盘控制结构,采集控制结构,测量控制结构,打印控制结构,通道选择控制结构,以及频谱分析控制结构。
在这个总体框架的基础上来进行各个模块的具体设计,并分别测量,测试通过后再把它们连接起来,构成一个完整的系统,最后进行整个系统性能的调试,直到调试结果符合要求为止。
主程序流程图及模块条用如图所示。
另外,主面板的设计要力求简单、方便、使用、美观。
图2主程序流程图
示波器工作原理与设计步骤
虚拟数字示波器的原理是对信号波形进行密集的采样,采样值被数字化后存储起来,当重建波形时便从缓冲区取数,然后用清晰、均匀一致的轨迹映现在屏幕上。
对模拟信号进行数据采集后存入数据文件,由软件对数据进行相应分析、处理,并在屏幕上显示处理结果。
两通道示波器,可以同时分析扫描两路信号,这种功能的实现得益于计算机的高速计算能力,计算机只需要多做一组或几组运算即可。
本虚拟数字示波器的设计双通道台式数字存储示波器的功能,并在仪器分析和处理功能上有所扩展。
仪器主要功能包括:
双通道信号输入、触发控制、通道控制、时基控制、波形显示、参数自动测量、频谱分析、波形存储和回放等。
功能结构框图如下:
图3功能结构框图
一、模拟采集模块
由于DAQ数据采集模块是建立在数据采集卡的基础上,所以,本设计采用一个虚拟采集模块代替DAQ数据采集模块。
该模块应用两个基本函数发生器来产生两仿真信号分别用来模拟A、B通道信号,其采样信息通过对簇sample/pol的扫描率和扫描数解除捆绑后再捆绑组成的新簇输入。
通过前面板还可以调整仿真信号的参数(波形类型、频率、幅值)和屏幕刷新速度,最后经提取波形成分将信号的幅值信息组成一个二维数组。
模块图标如图1.1所示。
图1.1模拟采集模块图标
模块程序框图如图1.2所示。
图1.2模拟采集模块程序框图
图1.3模拟采集模块前面板
二、时基控制
时基控制面板如图2.1所示
图2.1时基控制面板
图2.2时基控制在主程序的框图
三、波形显示模块
软件提供了五种波形显示模式:
◆ABA&B模式:
在此模式下,通过显示通道选择按键“A”和“B”,可以任意显示某一通道或两通道输入信号的波形。
◆XY模式:
当A、B两通道都处于选通状态时,使用此模式来显示李沙育(Lissajous)图形、测量相位差或频率。
◆A+BA-B模式:
当A、B两通道都处于选通状态时,使用此模式显示两通道信号代数相加、相减后的波形。
◆A&A积分模式:
当A通道处于选通状态时,使用此模式显示A通道信号和A通道信号对采样间隔的离散积分的波形。
◆A&A微分模式:
当A通道处于选通状态时,使用此模式显示A通道信号和A通道信号对采样间隔的离散求导的波形。
对于前三种模式其横坐标是时间参数,首先对扫描数求倒数,然后看其是否小于等于扫描周期(乘1000后以毫秒为单位),若小于(即扫描数×以毫秒为单位的扫描周期大于等于1毫秒),则单位显示ms;若不小于(即扫描数×以毫秒为单位的扫描周期小于1毫秒),则单位显示为us,同时横坐标时间参数通过条件变量把数值扩大1000倍。
前面板单位的显示是通过一个布尔输出来显示的。
通过对电压二维数组的索引分别提取A、B两波形的幅值数据,在根据对应的通道按钮来决定是否将其数据清零,然后根据A、B基值的位置相应的改变其幅值数据,最后通过对横纵坐标的参数数值捆绑成簇,以便显示在display显板(即XY图)。
A的积分和微分运算分别通过积分X(t)和微分X(t)节点来实现波形数据离散积分和微分,其求导时间参数采用扫描周期(即采样间隔)。
而A、B图形采样模式的改变时通过一个条件结构来实现的。
模块图标、前面板和程序框图分别如图3.1、图3.2、图3.3所示。
图3.1波形显示.VI模块图标
图3.2波形显示.VI前面板
图3.3波形显示.VI程序框图
四、参数测量模块
本模块主要模拟HP54603B的参数测量功能,完成包括Vrms等12个电压参数和频率、周期等7个时间参数的测量,并显示其测量结果。
模块图标如图4.1所示。
图4.1参数测量模块图标
模块程序框图如图4.2所示。
◆利用数组最大值与最小值(ArrayMax&Min)节点求出最大值、最小值和峰峰值。
◆利用交流和直流分量估计(AC&DCEstimator)节点求出直流和交流分量。
◆分别利用均方根节点(RMS.vi)和均值节点(Mean.vi)求均方根值和平均值。
◆利用脉冲参数节点(PulseParameters.vi)可以求时域参数。
如上升时间、下降时间、电压顶部、电压底部、电压幅值、延迟时间和持续时间,并通过对扫描周期的运算可求出正宽度、负宽度和占空比。
◆利用应用程序控制→属性节点可以控制调用模块时前面板的显示。
◆点击暂停可以暂停参数测量,点击返回可以退出参数测量前面板。
当按键暂停按键未按下时,第一个条件结构执行假时的程序进行参数测量;当暂停按键按下时,第一个条件结构执行真时的空程序,参数测量暂停。
返回按键未按下时,第二个条件结构执行假时的程序,通过对应用程序控制属性节点的调用和一个布尔真常量,使其前面板始终处于打开状态,且输出(送入测量按键的局部变量)为真,该子VI持续运行;当返回按键按下时,第二个条件结构执行真时的程序,通过对应用程序控制属性节点的调用和一个布尔假常量,是其前面板由打开转为关闭状态,且输出(送入测量按键的局部变量)变为假,分析按键被弹起,该子VI停止运行。
◆参数测量前面板和参数测量模块程序框图如图4.2和4.3所示
图4.2参数测量前面板
图4.3参数测量模块程序框图
五、频谱分析模块
采用快速FFT算法,完成频域信号分析。
可实现的频谱分析控制包括:
◆利用按窗函数缩放(ScaledWindow.vi)完成信号加窗,提供9种频谱分析窗口;
◆利用频谱单位转换(SpectrumUnitConversion.vi)完成Log/Linear选择,提供3种坐标显示模式和8种频谱单位;
◆利用频谱分析显示模块子VI完成频谱分析结果的显示和主VI对其的调用。
首先根据通道的选择提取要分析的信号(A信号或B信号),然后完成信号加窗,自功率谱的输出,最后完成对显示坐标及频谱单位的转换,并送入频谱分析显示模块,另外通过功率和频率估计节点来提取信号基频,供其他模块使用。
通过分析逻辑按键和一个条件结构决定是否调用其显示模块。
频谱分析显示模块是将输入的df(频谱间隔)和频谱通过捆绑成簇,然后送入频谱图(XY图)显示,输入的频谱单位通过一字符显示控件显示在频谱图相应位置。
另外,通过在其前面板上添加了暂停和返回按键和两个条件结构,使其可以暂停分析和关闭该子VI。
当按键暂停按键未按下时,第一个条件结构执行假时的程序进行频谱分析;当暂停按键按下时,第一个条件结构执行真时的空程序,频谱分析暂停。
返回按键未按下时,第二个条件结构执行假时的程序,通过对应用程序控制属性节点的调用和一个布尔真常量,使其前面板始终处于打开状态,且输出(送入分析按键的局部变量)为真,该子VI持续运行;当返回按键按下时,第二个条件结构执行真时的程序,通过对应用程序控制属性节点的调用和一个布尔假常量,是其前面板由打开转为关闭状态,且输出(送入分析按键的局部变量)变为假,分析按键被弹起,该子VI停止运行。
频谱分析显示模块图标如图5.1所示。
图5.1频谱分析显示模块图标
频谱分析显示模块程序框图如图5.2所示。
图5.2频谱分析程序框图
六、数据存储和回放模块
传统的示波器存储的数据一般是易失性的存储器,但这样保存的数据容易丢失,而该虚拟示波器使用的存储工具是软盘或硬盘,数据不易丢失且携带方便,实现了数据的保存和读取,对波形的事后分析有很大的意义。
按键“写盘”控制是否进行数据存储;按键“读盘”控制是否从数据文件中读取数据。
主面板提供了一个文件名输入框,这一个文件由写盘功能和读盘功能共用。
从软盘或硬盘上读取的数据同实时采集的数据一样,能够进行自动参数测量、显示波形以及波形打印,并保留在显示窗口(显示模式设置为五种模式中的任意一种)。
模块的程序框图如图6.1所示。
在该模块的设计中应用了多个局部变量,使用时要注意选择正确,另外,通过对数组写入时的转置,可以使我们在察看数据文件时看到完整的数据。
图6.1读盘写盘程序框图
七、波形打印模块
一般的数字示波器都没有打印功能,这在一定程度上限制了示波器的功能。
为了完善该示波器的功能,本虚拟示波器的设计添加了一个波形打印模块,将主面板的波形数据送到波形打印模块子VI显示面板,模块程序框图如图7.1所示。
当按下打印按键时,完成主VI对子VI波形数据和单位的传输,它没有循环,打印原理就是执行一次波形的显示。
该子VI运行时用获取日期/时间字符串(GetData/TimeString)节点可以获取系统当前时间,并显示在打印波形显示面板的右上部。
通过对VI属性中打印选项的设置使每次VI执行结束自动打印前面板,如图7.2所示,其他打印选项可根据需要自由选择。
八、主要控制结构
1、测量控制结构
通过逻辑按键“测量”控制是否进行测量;通过逻辑按键“通道”控制通道选择,且在测量过程中可随时切换测量通道。
2、自动调整扫描率控制结构
由逻辑按键“自动”和“手动”来控制是否根据扫描数来自动调整扫描率,两个按键之间通过使用一个事件结构来进行自动/手动按键的切换,使一个按键变化的时候,另一个按键也相应变换一次。
3、模拟信号控制
可通过对模拟信号选择内参数的调整,来改变使用的两模拟信号的类型及相关数据;可通过刷新控制滑动条实现屏幕刷新的快慢程度。
4、按键总体使用情况
当主模块运行时,如果采集按键没有按下,则可使用的功能包括“写盘”、“读盘”、“测量”、“波形打印”等;当采集按键按下时,可使用全部功能模块,但当进行“读盘”操作时,采集按键将会自动弹起。
总结
本次课程设计---基于LabVIEW的虚拟数字示波器设计是测控仪器设计专业课程与LabVIEW课程重要的综合性与实践性教学环节,通过设计实践不仅可以检测我们对所学知识的掌握程度,更有助于培养我们独立学习、搜寻所需信息的能力,而对于越来越多专业课的学习,这次课程设计更发挥着很大的作用,所以我们要认真对待此次设计,对于以后的专业学习会有很大的帮助。
老师刚布置完设计题目时,觉得这个设计很难,之前学的测控仪器设计都只局限在课本的内容,没有具体的实践与操作过,根本不知道数字示波器是什么;而且在本次的设计中有很多概念、原理和术语都不曾见过;对于LabVIEW的课程学习也都只接触到最基本的操作,在没有弄清原理之前想要设计实际应用的仪器根本不可能。
所以,在做设计之前,我花了很长时间,通过书籍和网络来了解此次设计任务书中的执行文件,而且搜索了相关的设计资料。
随着逐步了解了各个模块的相关功能,在总体了解了功能之后,开始了每个子模块的设计。
在子VI设计好了之后,又结合了设计资料进行了总体框图的设计。
当看到辛辛苦苦做的子模块在总图中只占了很小的部分,当时还真是怕做不完了,但是随着与同学们的讨论,大家的步伐相当,共同研究总体设计中出现的各种问题,设计过程是辛苦的,但结果却是快乐的,大家的总体框图相继都有了大致的形状,也没有什么断线,本以为任务快完成了,没想到更大的挑战正等着我们。
调试,修改,再调试,再修改……循环的过程很痛苦,主要是没有显示任何错误,却没有波形出现,老师的答疑很大程度上有了很好的促进作用,结局了部分问题,同学们都在一起讨论了彼此的问题,使得问题基本迎刃而解。
后来又经过了多次调试,终于弄出来了,这时候大家的心情早已忘了设计时的辛苦,看到了自己的波形,都极具成就感。
设计过程中出现的部分问题:
1.大家按照相关的指导开始的第一个模块---数据采集模块,发现LabVIEW中没有对应DataAcquisition子模板中的AIWaveformScan(scaledarray).vi,这就使得设计出现了第一个难题,利用搜索功能也找不到,后来到大家都安装了之前老师给的NIDAQ,本以为会有,结果大失所望。
同学们联系了各种渠道问这个问题,后来又弄到了一个TraditionalDAQ的相关插件,大家好多都安装上了,结果电脑是Win7的同学安装不了,大家只能互相借用电脑完成了这个模块的设计。
但是最后总框图中由于采用了模拟输入,没有相关硬件连接,设计的这个模块没有用在总图中,但是做完了这个模块大家都很有信心了。
2.设计的各个子模块中,也出现了很多关于类型不匹配的问题,特别是枚举型输入的连接经常出现错误,还有连接的各个波形图,波形图表,XY图,更是需要有人尝试着连接,直到没有断线出现。
3.在总程序框图设计时,最常出现的问题也是与子VI的连接错误,有多种可能性,例如,用簇时,需要将总程序的各个单项连接顺序与子VI中簇的顺序相同;枚举连接case结果时,也需要将总程序与子程序一一对应。
4.在进行前面板控制时,在自动/手动的切换中,没有找到相应的程序,但通过在事件结构后加分支,在利用自动与手动直接的设置即可完成该操作。
5.在调用子VI时,在前面板的控制中如测量,分析模块在执行时会有相应的子模块弹出和关闭,可以通过在各子模块中,利用文件—VI属性,进行自定义操作即可解决该问题。
6.在波形打印控制时,没有找到相应的位置进行正确的操作,后来找到了对VI属性中打印的控制即实现了此功能。
7.对背景颜色及文字颜色进行调整时,没有找到背景颜色的调整,后来经同学指点,在查看—工具选板中可以找到颜色调整,移动等功能。
虽然设计的数字示波器基本完成了设计要求的各项功能,但仍然会有参数调整等各方面不完善的地方,都可在进一步优化。
通过本次的设计,不仅掌握了很多关于示波器的知识,进一步加深,巩固所学的知识,最重要的是掌握了学习的方法,不仅要靠自己努力完善各项工作,更重要的是团队的合作。
本次设计基本完成了设计要求的各项功能。
附录:
示波器前面板
虚拟仪器总程序框图
时间:
2021.03.07
创作:
欧阳德