基于虚拟仪器的课程设计.docx

上传人:b****3 文档编号:3856571 上传时间:2022-11-25 格式:DOCX 页数:11 大小:108.11KB
下载 相关 举报
基于虚拟仪器的课程设计.docx_第1页
第1页 / 共11页
基于虚拟仪器的课程设计.docx_第2页
第2页 / 共11页
基于虚拟仪器的课程设计.docx_第3页
第3页 / 共11页
基于虚拟仪器的课程设计.docx_第4页
第4页 / 共11页
基于虚拟仪器的课程设计.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于虚拟仪器的课程设计.docx

《基于虚拟仪器的课程设计.docx》由会员分享,可在线阅读,更多相关《基于虚拟仪器的课程设计.docx(11页珍藏版)》请在冰豆网上搜索。

基于虚拟仪器的课程设计.docx

基于虚拟仪器的课程设计

基于虚拟仪器的课程设计

摘要

现代生产要求电子仪器品种多、功能强、精度高、自动化程度高,而且要求测试的速度快、实时性好,具有良好的人机界面。

虚拟仪器正好可以实现这些要求。

在电子实验中使用多种仪器,如信号发生器、万用表、频率计、示波器等,如果能把它们都设计成虚拟仪器,利用计算机来提高仪器的集成度,减少实验匹配的仪器的种类、数量和实验室面积,便能从根本上改变实验室的面貌,克服传统测量仪器单一功能的缺点。

本设计正是以这种思想为出发点,以电子技术实验室的真实函数信号发生器、示波器、频率计为蓝本,利用LabVIEW编程来设计虚拟函数信号发生器、虚拟存储示波器、虚拟频率计,并将其合并在一个虚拟平台上面,能够分别实现虚拟仿真函数信号发生器、存储示波器、及频率计的功能,实现真正意义上的虚拟仪器平台。

其虚拟平台上面的函数信号发生器可以产生正弦波、三角波、方波三种波形,并能够实现波形频率从1Hz到2MHz可调,峰峰值从0.1V到8.0V可调,实时性很好;示波器能正确的显示波形,并能实现频率和幅值的可调;频率计可以对0HZ到99.99KHZ的信号进行频率的测量。

本设计利用RS-232串口进行数据的传输,实现了LabVIEW与FPGA的通信。

同时对仿真信号的生成与控制做了详细的分析,以及对设计中的问题进行了深入的探讨。

本设计旨在找到一个能够改革教学实验室的有效途径。

关键词:

虚拟仪器,LabVIEW,RS-232,FPGA

THEDESIGNOFVIRTUALINSTRUMENTSPLATFORMBASEDONLABVIEWANDFPGA

ABSTRACT

Modernproductionrequireselectronicinstrumentationvarietymany,strongfunction,highprecision,highdegreeofautomation,andhighspeed,goodreal-timeintesting,goodman-machineinterface.VirtualInstrumentscanmeetpreciselytheserequirements.Avarietyofinstrumentsareusedintheelectronicexperiments,suchassignalgenerator,multimeter,frequencymeter,oscilloscope,etc.Ifweareabletodesignthemtovirtualinstruments,improvetheintegrationofinstrumentsusingcomputerandreducethetypeandnumberofinstrumentsmatchedtoexperimentsandthespaceoflaboratory,thenwecanchangethefaceofthelaboratoryfundamentallyandconquertheshortcomingsofsinglefunctionofthetraditionalmeasuringinstruments.

Thedesignofthisthinkingisthestartingpointofelectronictechnologytotherealfunctionofthelaboratorysignalgenerator,oscilloscope,frequencymeterbasedontheuseofLabVIEWprogrammingtodesignthevirtualfunctionsignalgenerator,virtualstorageoscilloscope,thevirtualfrequencymeter,andcombinedinavirtualplatform,toachievethevirtualsimulationfunction,respectively,signalgenerator,oscilloscope,andfrequencyoffunctions,therealizationofthetruesenseofthevirtualinstrumentplatform.Itsvirtualplatformfortheabovefunctionsignalgeneratorcanproducesinewave,trianglewave,squarewavethree,andbeabletoachievethewaveformfrequencyfrom1Hzto2MHzAdjustablepeakpeakadjustablefrom0.1Vto8.0V,averygoodreal-time;oscilloscopewaveformdisplaycorrectly,andtoachieveanadjustablefrequencyandamplitude;0HZCymometercan99.99KHZsignaltothefrequencymeasurements.

ThedesignoftheuseofRS-232serialportfordatatransmission,therealizationoftheLabVIEWandFPGAcommunication.Atthesametime,thegenerationofsimulationandcontrolsignalstodoadetailedanalysis,aswellasdesignissuesindetail.Thedesignofareformaimedatfindinganeffectivewayofteachinglaboratory.

KEYWORDS:

VirtualInstrument,LabVIEW,RS-232,FPGA

1研究内容分的功能

利用LabVIEW软件和FPGA的通讯在计算机屏幕上实现虚拟仪器平台面板,此虚拟仪器平台上包括函数信号发生器、存储示波器和频率计仪器,用户可以通过鼠标对操作面板的按钮、开关和按键,进行上述仪器的功能切换并设置各种工作参数,来控制和操作相应的仪器。

测量和分析结果可以从虚拟仪器面板上读出。

用户在屏幕上通过虚拟仪器面板对仪器的操作如同在真实仪器上的操作一样直观、方便、灵活。

利用虚拟仪器开设综合性、创新型实验,使理论教学与实践更好的紧密结合,教学更生动、更形象,全面提高学生工程素质。

同时还可以激发学生的实验兴趣,使学生的实验技能、创新能力得到显著提高。

由于此仪器平台具有多台仪器的功能,实验所需仪器的占地面积被减小,相应的实验准备过程被大大的简化。

函数信号发生器、频率计和存储示波器作为实验课程上必备的实验仪器,本课题设计虚拟仪器平台比传统的更加灵活,节约成本。

教师在教学过程中不需要在一台真实的仪器前操作,只需在电脑上即可完成仪器的演示。

虚拟仪器的教学更好的结合了理论与实践相结合,使学生的软件与硬件技能同步提高,虚拟仪器软硬件上模块化的设计使学生在学习的方式上更加灵活,也容易掌握。

由此可见,就课程的开设和学生的实际情况来讲虚拟仪器教学是可行的,虚拟仪器平台的设计对于我们日后教学是有一定的意义的。

2虚拟仪器的背景

§1.1.1虚拟仪器技术

由于电子技术、计算机技术、软件技术、网络技术的高度发展及其在电子测量技术与仪器上的应用,新的测试理论、新的测试方法、新的测试领域及新的仪器结构不断出现,许多方面已经突破传统的仪器概念,电子测量仪器的功能和结构己经发生了质的变化。

在这种背景下,八十年代末美国率先研制了虚拟仪器(VirtualInstruments)。

虚拟仪器就是利用现有的计算机加上特殊设计的仪器硬件和专用软件,形成既有普通仪器的基本功能,又有一般仪器没有的特殊功能的高档、低价的新型仪器。

虚拟仪器利用个人计算机强大的图形环境和在线帮助功能,建立虚拟仪器面板,完成对仪器的控制、数据分析与显示。

代替传统仪器,改变了传统仪器的使用方式,提高仪器的功能和使用效率,同时大大降低了仪器的价格,使用户可以根据自己的需要定义仪器的功能。

用于虚拟仪器的开发环境目前有两大类:

一是文本式的编程语言,如VisualBasic,VisualC++、LabWindow/CVI等,另一类是图形化编程语言,具有代表性的有LabVIEW,HPVEE。

其中影响最大的要数LabVIEW(LaboratoryVirtualInstrumentEngineeringWorkbench,实验室虚拟仪器工程平台)语言,被称为“仪器仪表界面”,是专为数据采集与仪器控制、数据分析和数据表达而设计的开发软件[1]。

§1.1.2国内外发展状况及前景

早在八十年代,随着NI旗航产品LabVIEW的诞生,NI就提出“软件就是仪器的口号”,开辟了“虚拟仪器技术”的崭新测量概念。

从九十年代开始,国内一些大学在实验教学领域相继开展了虚拟仪器系统的研究与开发工作。

目前,我国部分高校还正在开展虚拟仪器的研究工作,重点在于研制具有自主知识产权的虚拟仪器软件平台,并开发响应的虚拟仪器设备。

2003年10月和2004年1月NI分别联合吉林大学和华中科技大学创建LabVIEW实验室;2004年12月清华大学与美国国家仪器公司在精密仪器和机械系新建虚拟仪器联合教学实验室。

LabVIEW作为一种模块化、图形化程序设计工具具有图形化程序设计编程简单、直观、开发效率高、测试系统开发完整等优点。

在国内外,航天、航空、通信、汽车、半导体、自动控制和生物医学等世界范围的众多领域内得到广泛应用使得非专业人员进行虚拟仪器开发变得容易。

在虚拟仪器的硬件构成中,数据采集卡的性能是最重要的。

由于PCI总线传输速率高,数据吞吐量大,因此基于PCI总线的数据采集卡成为设计的主流。

但是由于数据采集卡价格昂贵,且教学实验波形精确度要求不高,也可采用基于NiosⅡ与LabVIEW的函数波形发生器设计,即采用FPGA结合微处理器的形式。

DDS部分功能由FPGA来实现,微处理器用于完成控制功能,再运用SOPC技术基于FPGA芯片将处理器、存储器、I/O等系统需要的模块集成到一起,软硬件可裁减,并具备在系统可编程的功能,可大大简化系统电路,提高系统集成度。

§1.1.3函数信号发生器设计思想

由于选择的是方案二即发送波形命令的形式来控制波形就大大降低了串口的发送负担,使得串口的发送速率能够满足设计要求达到实时性,具体的设计流程是把每种波形的参数都设定为不同的数字如表2-2(三角波用0表示,正弦波用1表示,方波用2表示),一共有四个波形参数分别为波形类型,频率系数(即在某个频段内的频率旋钮调节值),频段,峰峰值。

表2-2波形类型编码表

波形类型

发送参数

三角波

0

正弦波

1

方波

2

表2-3频段编码表

频段

发送参数

2MHz

0

200KHz

1

20KHz

2

2KHz

3

200Hz

4

20Hz

5

2Hz

6

波形类型由于有三种波形,其参数为0~2(十进制)占一位;频率系数由于在200K~2Mhz频段内步进为5Khz,因此可用0~359表示这频段内的360个不同频率,占三位。

频段有七段分别为2Hz,20Hz,200Hz,2Khz,20Khz,200Khz,2Mhz.因此用0~6表示,占一位,如表2-3。

峰峰值是以0.1V为步进的,而经测量D/A转换的最大峰峰值为8.5V,可用0~84表示这85个不同值,占2位。

这四种参数加起来一共要发送7位的十进制数,把这些数字连接到一起组成一帧按照一定的波特率发到串口,而且每当这七位数字有变化时就把新的数据发送到串口。

如发送数据为1234567七位数字,就表示要产生的波形为正弦波,频率系数为234,频段为5,峰峰值系数为67。

之后用FPGA设计一串口接收模块,按照设定好的波特率及编码方式解码,得到的波形指令通过DDS技术产生数字波形,再经过一D/A转换发送到示波器上验证结果。

§2.4.3频率计设计思想

由于选择了上面的方案,即发送控制命令的形式来控制FPGA发送信息大大降低了串口的发送负担,使得串口的发送速率能够满足设计要求达到实时性,具体的设计流程是把每个按键编码,其编码的规则如表2-4(高8位用“10”表示,低八位用“00”表示,频率用‘0’表示,占空比用‘1’表示),一共有三个控制参数分别为发送低8位,发送高8位,发送频率,发送占空比,发送低8位的控制信息用1位表示,发送高8位的控制信息用1位表示,发送频率和占空比用一位表示,将上面的三位组合到一起组成一帧按照一定的波特率发到串口,而且每当这3位数字有变化时就把新的数据发送到串口。

如发送数据为010三位数字,就表示要接收频率的低8位。

之后用一串口接收模块,按照设定好的波特率及编码方式解码,得到的控制指令使其工作时发送相应的数字。

表2-4发送指令编码表

名称

发送参数

频率低8位

010

频率高8位

001

占空比低8位

110

占空比高8位

101

§3.1.1人机交互界面的构成

由上图可知,人机交互界面有以下几部分组成:

1.背景图片:

主VI及其子VI频率计的背景图片是自画的,子VI函数信号发生器是以真实的信号发生器为蓝本,因此背景图片是以学校电子技术实验室的TH-SGO1P型功率函数信号发生器为模型,之后在LabVIEW中插入其图片。

2.按钮控件:

其主要功能是可以产生一布尔量(true或false),当按钮按下是为真,弹起时为假。

频段选择和波形选择中的按钮即是这种控件,通过它来控制选中某一频段或者某一波形[8];档位和占空比等都是用这样的按钮来控制的。

3.指示灯控件:

LabVIEW中可以得到一些常见的指示灯与开关按钮,这里选用了与图片上最为接近的圆形指示灯。

在此设计中频段选择中的指示灯及频率指示灯,峰峰值指示灯都为此控件,当给指示灯一个true值时,指示灯亮,否则给它一个flase值时指示灯灭。

它们的存在使得面板的状态一目了然。

4.旋钮控件:

旋钮控件可以输出一些定义的数值,通过用鼠标旋转此控件即可达到改变输出值,还可以通过选中并点击鼠标右键进入控件属性设置改变控件的属性,如控件值的范围,步进等,本设计中用到的频率调节旋钮和幅值调节旋钮皆为转盘控件,设置频率调节旋钮范围为0到359,步进为1可调节400个不同值;设置幅值调节旋钮范围为0到8.4,步进为0.1 ,可以有85种不同的幅值调节[9]。

5.显示控件:

面板中的数值显示控件可以用于频率及幅值的显示。

§3.1.2界面的组件设计

由于LabVIEW自带的控件有限,有些虽然相似但也不是完全相同,如果不加以修改,整体的视觉效果会大打折扣,因此学会修改,设计控件是必须的。

在本设计中用到的组件的设计方法为

1.按钮设计:

在LabVIEW中虽然有圆形按钮较符合条件,但颜色和大小均不符合条件,且还有几种触发方式选择,不同的触发方式有不同的效果。

由于图片中的按钮为黑色且较小,在设计中还要多次使用。

这时拖到前面板上一个圆形按钮后选中点击鼠标右键的高级>自定义即可进入控件修改面板,再调整好大小及颜色后保存,就可以在控件面板的选择控件中调出自己的按钮控件了。

布尔开关的机械动作:

布尔开关有6种机械动作属性可供选择。

在前面板上用鼠标右键单击开关,在快捷菜单中选择MechanicalAction就可以看到这些可选的动作。

本设计选的为单击时转换[10]。

2.旋钮设计:

旋钮的大小及颜色设置如按钮设计,但还有一些如旋钮的范围,步进需要在旋钮属性里设置。

3.数码管显示设计:

为了得到仿真的效果,频率,幅值的显示采用的是数码管字体,LabVIEW中没有自带这种字体,需要自己安装。

把数值显示控件调整至需要大小,在前面板上的12pt应用程序字体中着到数码管字体,并可以对字体设置颜色,大小,位置设置,还可以通过工具面板中的颜色笔调节字体背景为黑色。

§3.2主VI程序框图设计

程序框图提供VI的图形化源程序。

在程序框图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。

图3-7是与图3-4对应的程序框图。

可以看到程序框图中包括了前面板上的开关和指示灯控件的连线端子,还有一些CIN节点,if循环结构及程序的循环结构。

整个程序框图设置了一个WhileLoop循环,使它持续工作下去[11]。

由电源开关控制这一循环的结束。

整个程序主要有以下几个模块:

器件选择模块;串口发送模块设计。

§3.2.1程序框图

LabVIEW是图象化的编程语言,它的软件设计是以图形连线的方式表示出来。

下图3-8即是LabVIEW部分的主VI的设计程序,

图3-7主VI程序框图

§3.2.2器件选择部分设计

图3-8器件选择设计图

器件选择模块的主要功能是得到器件参数,当前面板中的信号发生器控件按下时,参数为0,频率计控件按下时参数为1,示波器控件按下时参数为2。

首先,由于信号发生器,频率计,示波器都是输入控件,在程序框图中相当于普通编程语言的输入参数,只有输出端子,没有输入端子,且输出值为布尔量,通过布尔转(0,1)VI,可以把输出值转换为0或1,分别送到一CIN节点,对其编程如图信号发生器输入量设为a;频率计输入量设为b;示波器输入量设为c;输出为d。

CIN节点功能就是当a=1时,输出d=0,表示信号发生器;当b=1时,输出d=1,表示频率计;当c=1时,输出d=2,表示示波器。

之后把d的值送至一数值转十进制字符VI,等待发送[12]。

CIN节点程序如下:

if(a==1)

d=0;

else

if(b==1)

d=1;

else

if(c==1)

d=2;

§3.2.3串口发送部分设计

串口的发送是很重要的一部分,主要功能是完成把波形指令发送到串口上。

在此,串口采用的是LabVIEW自带的串口发送模块VISA,可以很方便的调用。

在LabVIEW的VISA面板中有VISA配置、VISA读取、VISA写入、VISA关闭、VISA打开等关于VISA串口操作的模块。

图3-9串口配置与发送设计图

首先要先调用一个VISA配置VI,此VI的功能是完成串口的配置,如波特率,数据位数,有无奇偶校验等,在这里设置的是波特率为9600,一位起始位,八位数据位,一位停止位,无奇偶校验,无握手协议。

其次,调用一VISA写入VI,此VI是将连接好的一包数据按指定格式,速率发送的串口上。

最后,调用VISA关闭VI,关闭串口[13]。

§3.3函数信号发生器程序框图的设计

图3-10是与图3-5对应的程序框图。

可以看到程序框图中包括了前面板上的开关,旋钮,指示灯和数值显示等控件的连线端子,还有一些CIN节点,if循环结构及程序的循环结构。

整个程序框图设置了一个WhileLoop循环,使它持续工作下去。

由电源开关控制这一循环的结束。

整个程序主要有以下几个模块:

波形类型模块;频率选择模块;频段选择模块;幅值选择模块;串口发送模块设计。

§3.3.1程序框图

下图3-10即是LabVIEW部分的函数信号发生器的设计程序,

图3-10函数信号发生器的程序框图

§3.3.2波形类型部分设计

图3-11波形类型设计图

波形类型模块的主要功能是得到波形参数当前面板中的三角控件按下时,参数为0,正弦控件按下时参数为1,方波控件按下时参数为2。

首先,由于三角,方波,正弦都是输入控件,在程序框图中相当于普通编程语言的输入参数,只有输出端子,没有输入端子,且输出值为布尔量,通过布尔转(0,1)VI,可以把输出值转换为0或1,分别送到一CIN节点,对其编程如图三角输入量设为a;方波输入量设为b;正弦输入量设为c;输出为d。

CIN节点功能就是当a=1时,输出d=0,表示三角波;当b=1时,输出d=2,表示方波;当c=1时,输出d=1,表示正弦波。

之后把d的值送至一数值转十进制字符VI,等待打包发送。

CIN节点程序如下:

if(a==1)

d=0;

else

if(b==1)

d=2;

else

if(c==1)

d=1;

§3.3.3频率选择部分设计

图3-12频选模块设计图

频率选择模块的主要功能是由频段按钮与频率调节选钮的的值作为输入计算出频率值并且得到频率系数也频段参数。

频率旋钮调节输出是一0~359之间的数值假设为a,频段的判断方法与波形选择模块相似,可分别用0~6七个数字来分别表示2M~2Hz这七个频段,则频率的值为pinlv=205+a*5/(10^n)Khz。

这些数值转换也在一个CIN公式接点内完成。

§3.3.4峰峰值调节部分设计

图3-13峰峰值部分设计图

峰峰值的调节是由幅侄调节旋钮完成的,主要功能是调节信号的峰峰值大小,峰峰值的调节输出直接送到峰峰值的显示控件,范围为0~8.5V,步进为0.1v。

但其参数为真实值的十倍,以0~85代表0~8.5v之间的数值。

§3.3.5串口发送部分设计

串口的发送是很重要的一部分,主要功能是完成把波形指令发送到串口上。

在此,串口采用的是LabVIEW自带的串口发送模块VISA,可以很方便的调用。

图3-14串口配置与发送设计图

首先要先调用一个VISA配置VI,此VI的功能是完成串口的配置,如波特率,数据位数,有无奇偶校验等,在这里设置的是波特率为9375,一位起始位,八位数据位,一位停止位,无奇偶校验,无握手协议。

其次,调用一VISA写入VI,此VI是将连接好的一包数据按指定格式,速率发送的串口上。

最后,调用VISA关闭VI,关闭串口。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 外语学习 > 韩语学习

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1