多路信号发生器 和 双通道虚拟示波器设计 13.docx
《多路信号发生器 和 双通道虚拟示波器设计 13.docx》由会员分享,可在线阅读,更多相关《多路信号发生器 和 双通道虚拟示波器设计 13.docx(20页珍藏版)》请在冰点文库上搜索。
多路信号发生器和双通道虚拟示波器设计13
内蒙古科技大学
虚拟仪器课程设计说明书
题目:
一、多路信号发生器
二、虚拟示波器
一、多路信号发生器
1.设计题目:
多路信号发生器
2设计目的:
了解、熟悉并掌握虚拟仪器的相关知识;完成所要求的实验内容。
3.设计要求:
(1)可以输出任意一种以下的信号:
正弦波信号、方波信号、锯齿波信号或三角波信号,且可输出双路信号。
(2)信号频率、幅值、占空比、相位和偏移量可调。
(3)设置成双通道。
4.设计思路:
采用基本函数信号发生器生成两路信号,用while循环循环采集两路信号,产生波形并将其用波形图显示。
5.设计实现过程
(1)条件结构的分层设计及while循环
从“程序框图”面板中点击右键,然后按照“编程”——“结构”——“条件框图”的顺序,拖到面板中如图示:
将其设置为共六层,包括“三角波信号”、“方波信号”、“锯齿波信号”、“正弦波信号”、“正弦&方波”及“默认”层。
按上述顺序在“条件结构”并列位置找到“while循环”,如图示:
再在while循环结构中选择函数发生器,如图所示;
再单击“波形生成”图标,找出“基本函数发生器”图标如图所;
将其拖放到程序框图中,分别用于通道一、二及双通道产生波形信号。
(2)函数模块基本参数设置
在前面板中,击右键,从Express中的数值输入控件中,选择数值输入控件,并将其拖入前面板中,之后,按住Ctrl键不放,一次拖动复制八个,并分别命名为“频率1”、“幅值1”、“幅值2”、“频率2”、“相位1”,“相位2”、“占空比1”“占空比2”。
然后在程序框图中分别将此八个控件与函数发生器模块一、二相连,如图4所示。
。
设置采样信息,再在前面板输入文本控件中选择文本下拉列表,作为通道选择。
如下图:
(3)DAQ数据采集卡的配置
①配置信号采集通道
在程序框图中击右键,在函数选板的“输入”子目录中打开“DAQAssistant”,然后配置采集信号类型(AcquireSignals),选择“AnalogInput→Voltage”单击进入,再选择“Dev1(PCI-6221)→ai0,ai1”单击“Finish”,进入配置选板,选择“TerminalConfiguration→RSE”,再“Timingsettings”中设置“AcquisitionMode→ContinuousSamples”然后单击“Run”看是否能够采集到信号,若不能,再重复上述步骤,直至能采集到信号才完成通道配置。
(如图7)
②配置信号输出通道
在程序框图中击右键,在函数选板的“输入”子目录中打开“DAQAssistant”,然后配置采集信号类型(GenerateSignals),选择“AnalogOutput→Voltage”单击进入,再选择“Dev1(PCI-6221)→ai0,ai1”单击“Finish”,进入配置选板,选择“TerminalConfiguration→RSE”,再“Timingsettings”中设置“GenerationMode→ContinuousSamples”然后去掉采样点与采样率的默认值,最后单击“OK”即完成信号输出通道配置。
(如图8)
(4)整体结构细节
由while循环中的基本函数信号发生器发送数据,产生波形信号,通过信号的合并,一同输给波形显示控件。
如图:
将双通道的信号写入,while循环使信号连续采样,生成连续波形,布尔开关控制启停。
如图:
完成多路信号采集,和输出波形
(5)采样,调节,输出,显示
调节采样回去的波形,进行频率、幅值、相位、占空比的设定。
程序图如图
6调试过程
在调试发现在双通道中运行不正常,但幅值和频率都可调,只是只输出单通道,在查找错误的时候发现,在双通道的DAQ设的通道是一个ai0。
而在板卡上的连线选择的是ai0,ai8。
每个信号配置都需要一个通道,故将原来的单通道西号配置改成双通道ai0,ai1.。
并且采样点数过少,波形显示变化较慢,故将采样点数设置在1000以上。
7面板布局(如下图所示)
前面板布局
8程序框图
9总结
打开电源,运行程序,由于我没有设计通道选择,输出波形是双路同步输出,所以波形图同时显示两路波形。
分别给两个通道选择信号类型,调节参数直至符合要求,在前面板的“信号显示”控件中可看到采集回来的信号,完成了设计。
二、虚拟示波器
1、示波器功能
主要功能包括:
双通道信号输入、触发控制、通道控制、时基控制、波形显示、参数自测量等。
本次设计的数据采集的功能与普通示波器一样;波形显示模式:
通道A或B、A+B及AB同时检测;电压参数测量,时间/频率参数测量,数据存储与回放,测量结果显示等。
2、主要功能模块
虚拟示波器器主要由软件控制完成信号的采集、处理和显示。
系统软件总体上包括数据采集、波形显示、参数测量等模块。
3、波形显示模块
软件提供了三种波形显示模式:
*ABA&B模式:
通过显示通道选择按键可以任意显示某一通道或两通道输入信号的波形;
*AB模式:
当两通道都处于选同状态时,使用此模式来显示双通道波形
*A+B模式:
当两通道都处于选通状态时使用此模式来显示两通道信号带数相叠加后的波形。
4、示波器前面板设计
虚拟示波器的界面图,分为波形显示区和操作面板区。
波形显示区横轴表示时间,纵轴表示幅值。
单元格当前时间和幅值也可通过操作面板的“时间”框、“幅值”框显示。
操作区有:
显示模式转换,数据采集配置,时基控制,数据处理等。
数据采集是调节波形幅值,波形周期和选择显示的波形是哪个通道的,先是波形的类型等。
时基控制是选者扫描率,扫描数,选择手动、自动等。
设计这部分时,主要考虑操作简洁,用户能通过面板上的各种按钮、开关等控键来控制虚拟示波器的工作。
由于波形显示控件的刻度有可能不符合要求,可在显示器模板上点击鼠标右键,对其进行属性设置,如根据示波器的频率与幅度值的变化,利用工具模板中的文字工具,对显示器横(时间)、纵(幅度)坐标的刻度重新设置。
1前面板设计
图1波形显示控件
图2时基幅值控制
图3数据存储与回放
图4通道选择图5信号测量
图6按钮开关
图7采集信号
2程序框图设计
最外面是开始采集的while和条件结构
图9while和条件结构
While循环内部包括很多部分,包括数据采集,数据测量,数据存储与回放
1、存储回放
数据存储为“真”时,将数据写入
数据回放为“真”时,将数据读取
2、通道选择
通道设置的是数字输入控件,将控件的表示方法改为“U16”的16为整型,由于示波器需要双通道,所以建立一个条件循环结构,创建四个层次,第一个(标号为1),是数据A的信号通过,第二个是数据B的信号通过,三是数据A和B同时通过,四是AB信号的叠加
采集数据A的信号
同步采集A和B的信号
AB的叠加信号
3、创建XY标尺属性节点
单击后面板的波形显示控件,选择“属性节点”,选择X标尺(或Y标尺)中的“范围选项”,从中选择“最大值、最小值、增量”等,将图标拖至程序框图中,图表显示为“读取”类型,不符合要求,将整个图标改为“写入”,右键单击图标,第一行既是。
之后定义各个变量参数,是指符合要求,框图如下:
5、数据读盘
由下图可见,是刚才采集的通道叠加的波形信号。
测量的叠加信号
测量的双通道信号
6、采集,信号配置,统计
While循环外是设置的采样信息,采样率,采样数还有信号通道配置,完成基本设定后,就可以进行采集数据了,通过波形显示控件,观测波形大小,周期,但不能显示测量数据的均值、算术平均值、初值时间等,所以还应该添加数据统计控件,如下图:
7、整体框图如下:
示波器前面板如下
程序框图如
由于框图过大,只显示一部分
8、调试
调试过程很不顺利,首先就是数据存储与回放功能的实现,在设计与调试时总出现错误,比如“用户文件错误”“无法检测到波形”等等,还有一个疏忽,就是在创建XY标尺时,设计输入变量时,属性节点提示错误,经过检查,是由于数据既存在DEL格式,又存在无符号整型,使得发生数据错误。
几经调试,终于成功检测到波形,但有一点很遗憾,就是数据存储与回放功能不尽如人意,只能顺序回放存储的数据,却不能即存即放,文件到达结尾会自动跳出程序,不解。
九.设计总结:
通过学习这门课程以及这次的设计,我熟悉了LbVIEW编程环境及其特点,也学会了简单的程序设计,了解了图形化编程的方法和步骤;同时也使我掌握了数据对象类型与操作和数据、簇的概念与使用,以及其中的一些函数及结构的用法。
让我体会更深的是虚拟仪器技术给设计者带来了极大的方便以及发展空间,使我看到了虚拟仪器技术对于测试测量行业发展具有的巨大潜力,当然,通过短短几周的设计并不能充分理解和运用Labview相关知识,还需在今后的实践中继续训练。