当前位置:文档之家› 虚拟信号发生器(labview)

虚拟信号发生器(labview)

虚拟信号发生器(labview)4 系统总体的设计及实现4.1 系统框架和设计流程4.1.1程序框图的设计流程用LABVIEW设计虚拟信号发生器的主要步骤是在设计程序框图上,图4.1是设计程序框图的主要流程。

图4.1 程序框图的设计流程4.1.2系统设计设计信号发生器的主要任务是设计程序框图和前面板,在设计这两部分中若没有出现数据类型不匹配、控件的属性设置等问题,再跟硬件连接,看是否可以产生各种信号,并且能被数字示波器采集到,并在硬件允许的范围内体现比现有信号发生器更宽泛的信号范围。

4.2 系统具体应用程序按系统的总体要求,可以分为两部分来设计,一个是基本波形的系统设计,如正弦波,方波,三角波和锯齿波,另一个是基于数字脉冲的PWM波设计。

4.2.1程序框图的具体设计步骤利用LABVIEW设计一个系统,其中的主要部分是程序框图的设计,以下就是程序框图设计的基本过程。

1)创建虚拟通道,可以根据输出的波形的类型来设置物理通道的性质,并可以设置波形的一些基本参数。

图4.2是输出基本波形的通道,图4.3是输出PWM波的通道。

图4.2 基本波形虚拟通道图4.3 PWM波虚拟通道2)设置基本波形的缓冲区和采样时钟,缓冲区中则可以对信号的频率、幅值、采样值、波形类型等进行设置,采样时钟设为模拟。

本设计中的PWM波是基于计数器产生的,采样时钟则是设置成计数器(隐式)。

时钟采样方式均设置为连续采样。

图4.4是基本信号的时钟,图4.5则是PWM波的时钟。

图4.4 基本波形信号时钟图4.5 PWM波信号时钟3)基本信号发生器需要先设置模拟信号的通道数及采样数,然后运行,PWM 波则是则是在设置好波形参数和时钟后可以直接运行。

图4.6 基本信号波形运行图4.7 PWM波运行4)运行后,需要不断循环该程序,则在两个程序后都添加循环程序,并可以根据用户的需求随时按下停止按钮。

在程序停止后,添上任务清除控件,若有错误产生,则在最后加上可以提示错误的错误对话框。

具体程序如图4.8所示。

图4.8 循环及清除程序4.2.2基本波形信号发生器系统采用的是USB6211采集卡,由于该卡支持DAQmx驱动程序,所以本设计是直接使用DAQmx-Data Acquisition开发的。

在这部分中,主要是采集参数的设置,其中包括物理通道的选择,采样模式、采样率、每通道采样数、每缓冲的循环次数的配置,采样最大最小值、预设频率、幅值、波形类型的设置。

具体程序见图4.9。

图4.9 基本信号发生器程序该程序运行时的具体步骤如下:1)先创建一个模拟输出的电压任务。

2)以波形缓冲区的采样速率为基础来设定采样时钟速率,采样模式设置为连续采样模式。

3)给输出缓冲区编写波形。

4)开始运行任务。

5)不断循环,直到用户按下停止按钮,每100毫秒查核错误,看任务是否完成。

6)调用清除任务来清除任务,若出现错误,则使用弹出对话框显示错误或警告。

在设计好程序之后,图4.10是基本信号发生器程序所对应的前面板,分别显示了波形参数,采样参数,物理通道参数和输出波形等控件,可以很方便地进行参数调节,物理通道修改和观察输出波形是否出现失真或噪声。

图4.10 基本信号发生器前面板4.2.3PWM波信号发生器脉宽调制(PWM)信号可以使用计数器或数字I/O输出等数字信号来产生,或者也可以利用任意波形发生器或RF信号发生器之类的模拟信号来产生。

NI很多的多功能数据采集(DAQ)设备都可以用来产生脉宽调制(PWM)信号。

该设计的PWM波是基于USB6211的计数器来设计的。

图4.11是PWM波信号发生程序。

图4.11 PWM波信号发生程序该程序运行时的具体步骤如下:1)先创建一个计数器的输出通道,在一个频率范围内产生脉冲。

如果脉冲空闲状态设置为低信号,则生成的第一个转换是从低电平到高电平。

2)使用DAQmx的定时(隐式)来配置的脉冲产生的时间。

3)调用Start,并开始产生脉冲序列。

4)不断循环,直到用户按下停止按钮,每100毫秒查核错误,看任务是否完成。

5)调用清除任务来清除任务,若有错误出现,使用弹出对话框显示错误或警告。

该程序所对应的前面板如图4.12所示,显示了PWM的基本参数,可以很方便地修改波形的计数器通道、频率、占空比等波形输出条件。

图4.12 PWM波信号发生前面板4.3硬件连接调试在分别完成基本信号发生器和PWM波信号发生器的前面板和程序框图后,需要与硬件连接,设置物理通道,然后运行,看是否可以输出符合实验要求的波形。

连接数据采集卡USB6211到电脑上,在系统提示可以使用后,打开LABVIEW 程序,按照实验要求选择合适的物理通道和合适的波形参数,开始运行,并用示波器采集信号,观察是否有信号被采集到。

在数字示波器采集到正确的波形后,说明该系统的设计是正确的。

4.4整体程序的具体实现在设计完两部分程序后,因为两个程序中所涉及的物理通道不同,所以需要用条件结构将它们组合在同一个程序框图中,通过条件语句的真假转换按钮来分别运行两个程序,也可以更方便地进行程序修改。

图4.13、图4.14是分别是组合后的程序框图。

图4.13总程序框图——基本波形图4.14总程序框图——PWM波形LABVIEW提供了非常丰富的图形界面来进行前面板的设计,波形图能非常清楚而且实时显示虚拟信号发生器所产生的波形信号,所以将以上两个程序的前面板组合在一起,并填充上颜色,使其更接近一个真实信号发生器的操作面板。

图 4.15的前面板就是由两个程序的前面板所组合成的。

图4.15 总程序前面板结论本设计在研究虚拟仪器技术、DAQ应用技术的基础上,使用虚拟仪器技术实现了信号发生器。

前面板应提供良好的人机交互界面,可以实现实验室里几种常见的信号波形。

本设计大部分工作是程序的编写,所涉及的硬件部分都是现成的。

但是对硬件的了解也是必需要做的工作,特别是对USB6211采集卡的了解,其中包括采集率,采集通道,采样方式等,然后根据实际情况选择合适的参数。

与现有的信号发生器相比,该信号发生器的输出波形类型没有很大的改变,而且波形的频率由于硬件板卡本身对于采样频率的限制,并没有在原来的基础上提高有所提高。

在输出基本波形时如果需要增波形的频率,则需要减小波形的采样频率,否则会由于硬件的溢出问题而不能运行,但是减小采样频率容易让波形产生失真。

如果在这个设计上进一步研究信号发生器,在波形的类型上应该有更多的变化,更迅速的响应时间,更准确的调节过程。

对于信号波形的参数,如频率、幅值、相位、占空比等的设定有更好更精确的方式,而且在波形失真和噪声方面有更好的解决方法。

在面板美化方面也可以做得更好更漂亮。

通过本设计,深刻地认识到了虚拟仪器技术是当代仪器发展的重要发展方向。

虚拟仪器也以崭新的模式和强大的功能深入人心,伴随计算机技术和信息技术的发展虚拟仪器必将拓展到各个领域,引起仪器的深层次变革。

参考文献[1]周大鹏,常峰,何光普.基于虚拟仪器的函数信号发生器设计[J].乐山师范学院学报,2009,24(5):34-35.[2]李震,柯旭贵,汪云祥.虚拟仪器的发展历史,研究现状与展望[J].2003,18(4):1-4. [3]刘萍,曹慧,邱鹏.虚拟仪器的发展过程[J].山东科学,2009,22(1):23-25.[4]王霞,虚拟仪器的发展过程及应用[J].机械研究与应用,2009(5):12-14.[5]Robert H,Bishop.LABVIEW实用教程[M].乔瑞萍,林欣,译.电子工业出版社,2001.[6]杨乐平,李海涛.LABVIEW程序设计与应用[M].电子工业出版社,2001,7:1-4.[7]连海洲,赵英俊.基于LABVIEW技术的虚拟仪器系统[J].仪器与测控,2001,8:21-23.[8]LABVIEW TM User Manual National Instruments Corporation[M].1998,1.[9]余成波,胡新宇.传感器与自动检测技术[M].高等教育出版社,2004:58-65.[10]曹玲芝.现代测试技术及虚拟仪器[M].北京航空航天大学出版社,2004:18-20.[11]雷振山.LABVIEW 7 Express实用技术教程[M].中国铁道出版社,2004:254-265.[12]侯国屏,王坤,叶齐鑫.LABVIEW 7.1 编程与虚拟仪器设计[M].清华大学出版社,2005:407-415.[13]于洁,钟佩思.信号发生器在虚拟仪器界面中的设计与实现[J].山东理工大学学报,2005,19(2):106-110.[14]范福玲,韩建勋.基于LABVIEW的虚拟信号发生器的设计[J].中原工学院学报,2006,17(4):26-28.[15]李广才,聂东.一种新型多功能虚拟信号发生器的设计[J].肇庆学院学报,2008,29(2):25-28.[16]刘连生,汪海兵.基于虚拟仪器信号发生器设计与实现[J].中国民航大学学报,2007,25(7):122-123.[17]María José Moure,María Dolores Valdés,Enrique Mandado.Virtual Instruments Based on Reconfigurable Logic[M].Springer Berlin / Heidelberg,2004,2.[18]刘全心,南建平.基于LABVIEW的虚拟函数信号发生器的设计[J].仪器仪表用户,2007,14(5):31-32.致谢感谢田建创老师的悉心指导。

田老师对我的设计给予了关心和指导,对于论文的形成自始自终都予以关注和督促,谢谢。

感谢蔡铁锋老师、王文明老师在开题答辩和中期检查中给予我的帮助和指导。

感谢孔超然老师,为我们做实验提供了场所和设备。

感谢大学四年学校里的老师和同学们,为我提供的学习环境。

你们使我懂得了如何去主动地学习,使我对本专业的知识产生了浓厚的兴趣,谢谢你们。

感谢NI的工程师们,为虚拟仪器设计出了如此完美的开发平台。

感谢所有关于LABVIEW的论坛。

通过学习你们的帖子,我知道了如何去编程,并完成了我的设计。

相关主题