基于Lab VIEW的简单信号发生器的设计

时间:2022-10-25 03:49:11

基于Lab VIEW的简单信号发生器的设计

摘 要:信号发生器是实验教学、生产实践和科学研究中不可缺少的通用电子测量仪器之一,主要用于产生具有不同频率和幅度的各种波形,为实验研究提供所需要的特定信号。为此设计了基于Lab VIEW控制的信号发生器。通过USB接口连接已有的便携式信号发生器,在上位机上使用Lab VIEW所生成的应用程序,对小型信号源进行控制,实现双通道不同频率和幅度的各种波形,达到便携简单方面的效果。该文主要从Lab VIEW软件设计方面和利用VISA进行软硬件通信方面进行介绍,提出了优化方案,给出了实验结果并对结果进行了分析。

关键词:Lab VIEW VISA 信号发生器

中图分类号:TN710 文献标识码:A 文章编号:1674-098X(2014)09(a)-0048-02

信号发生器是电子实验室和电子测量中经常使用的一种仪器设备,主要是用来产生不同幅值和频率的信号,包括常用的正弦波、三角波、方波以及锯齿波信号等。传统信号发生器由纯粹物理器件及硬件电路构成,存在着一些弊端,如体积较大、质量较重、移动不便、信号失真较大、波形种类较单一、可调范围小等,而且需要独立电源供电,容易受其干扰;在科研和生产的一些实际应用中,如工业过程控制、生物医学、地震模拟机械振动等常常需要用到低频信号源,由硬件电路构成的低频信号难以令人满意。此外,这种独立的传统仪器,仪器的旋钮和开关、内置电路及用户所能使用的功能都是已经固定了,用户通常不能对其加以扩展或自定义功能。这些硬件或电路带来的弊端可通过基于软件思想的虚拟信号发生器来灵活、高效地克服。

1 系统总体介绍

系统总体介绍如图1所示,通过Lab VIEW编写信号发生器程序,利用VISA与硬件相连接。上位机安装驱动,通过USB接口与信号发生器硬件相连,从而由上位机控制产生波形。此外,根据Lab VIEW编写程序,仿真出显示波形。

2 系统硬件介绍

2.1 信号发生器介绍

该文采用的是硬件是MHS2300系列双通道DDS信号发生器。该仪器采用大规模FPGA集成电路和32位高速ARM微处理器,内部电路采取表面贴片工艺,大大提高了仪器的抗干扰性和使用寿命。信号方面,仪器具有双路DDS信号输出,两路输出均有正弦波、方波、三角波、锯齿波脉冲波的标准函数波形的同时,还具有15个1024*10 bits的任意波输出,扫描方面能够实现自定义起点终点和扫描时间的频率扫描、幅度扫描和占空比扫描等三种扫描方式。CH1和CH2两个通道完全对称,正弦信号频率最高为20 MHz,幅度最高可达到20 Vp-p,频率分辨力最小可达10 uHz,电源供电采用单一5 V供电,极大方便了本机的使用灵活性。在与PC机连接后,能够使用PC机控制该仪器,并且能够在PC记上编辑任意波形后下载到仪器输出波形。本仪器在信号产生、波形扫描、参数测量以及使用方面都有很大的优势,是电子工程师、电子实验室、生产线及教学、科研的理想测试、计量设备。

2.2 仪器通信协议

该信号源与PC通过USB接口连接通信,通过安装CP2102驱动以及遵循该仪器的通信协议。根据协议,我们知道控制指令总体结构采用命令行方式,通信速率为9600,19200,38400和57600bps可选,由PC发出命令,本机解析执行,然后返回结果给PC机,每个命令的结尾符号为换行符(十六进制表示为“0x0a”),以下就不同命令加以说明。

该机器的命令总体结构分三部分,各个指令均以逗号(,)分隔。起始指令包括一个字符的起始标志冒号(:),和十进制表示的本机地址两个字符,比如,本机地址设定为01,则起始指令就是:01。命令部分可以包含1条或者多条指令同时执行,指令总体有三类,第一类为读取指令,以小写字母r开头;第二类为写入指令,以小写字母w开头;第三类为任意波传输指令,以小写字母a开头;针对r和w指令,本机定义了若干可以访问的寄存器地址,读取或者写入都是需要指定寄存器地址的,比如,读取CH1的频率值的指令为r23,读取CH1的幅度值的指令为r25。写入CH2的频率值为12.45 kHz的指令为w241245000,写入CH2的幅度值为2.58 V的指令为w26258。结束指令为三位十进制数的LRC校验值,后面再加换行符0x0a,其中的LRC校验值为前面所有字符的ASCII值之和再取反加1得到,这个LRC值也可以由本机设定为不进行检验和进行检验,一般为了简化操作,本机默认是不进行LRC校验的。根据通信协议,我们可以利用Lab VIEW中的连接字符串函数,将我们所需要的字符串联起来。

3 软件介绍与系统设计

3.1 软件介绍

简单信号发生器软件部分是在Lab VlEW8.6环境中编程实现。Lab VIEW是NI公司的创新软件产品,是目前应用最广、发展最快、功能最强的图形化软件集成开发环境,使用所见即所得的可视化技术建立人机界面,使用图标表示功能模块,使用图标之间的连线表示各模块之间的数据传递。Lab VIEW拥有一整套工具用于采集、分析、显示和存储数据,以及解决用户编写代码过程中可能出现的问题。其提供多种输入控件和显示控件用于创建用户界面,即前面板。输入控件指旋钮、按钮、转盘等输入装置。显示控件指图形、指示灯等输出显示装置。创建用户界面后,可添加各种VI和结构作为代码,从而控制前面板对象。

VISA是仪器编程的一个标准I/O应用程序编程接口(API)。在框图中几乎所有的Lab VIEW仪器驱动程序都使用VISA函数。VISA能够控制VXI、GPIB、PXI或串行仪器,可以根据使用的仪器类型,调用适当的仪器驱动程序。

3.2 总体程序设计

总体程序设计如图2所示。

按照硬件电路设计,系统软件编程的基本思路是首先对硬件初始化,在Lab VIEW中,使用VISA配置串口函数,设置VISA资源名称、比特率等信息,其他节点选择默认。之后进入While循环,设置停止按钮。之后建立层叠式顺序结构,设置通道,通道二与通道一相似。具体设计思路以通道一为例。

3.2.1 通信协议指令写入设计

通信协议指令写入部分如图3所示。

写入部分主要是根据通信协议指令格式,写入VISA。其中需要设置波形,通过条件循环结构,选择波形。频率和幅度通过数字转字符函数,转换为字符串,最后通过组合字符串函数,将所有字符组合,最后加入换行符。从而完成对仪器的通信指令写入。之后在层叠式顺序结构中,加入500 ms延时,以便仪器有足够时间返回数据。

3.2.2 通信协议指令读取设计

通信协议指令读取部分如图4所示。

在对仪器写入指令之后,通过连接属性节点,连接VISA读取函数。读取缓冲区的字符串,利用截取字符串函数与字符串转数值函数,获得需要的返回频率和返回幅值。从而得到最终输出的频率与幅值。由于软件仿真的频率与PC机的内存有关,当输出频率较大时(约1 MHz,具体与PC机内存配置有关),PC机无法正常仿真,故我们只采取仿真波形与幅值,最终将仿真波形反馈到前面板波形图中。

4 试验测试结果和分析

为测试系统的性能,测算并校验所采集信号,连接仪器与示波器,构建实验系统,并进行了实际性能测试。

如图5所示,当通道一选择方波,通道二选择正弦波时,可以稳定输出。当更改任意输入方式时,均可以达到预想波形且实时性良好。其中信号幅度最高为5 V,正弦信号频率最高为20 MHz。

5 结语

该文进行了基于Lab VIEW的简单信号发生器软件的设计,完成了上位机控制软件的开发,解决实现了与硬件通信的方案。系统中使用的仪器高度集成,灵活性强;能按要求产生多种常见信号,参数能在较大范围内连续可调;操作界面简单,性能稳定可靠,可按需增减其他功能模块。

参考文献

[1] 樊炜.虚拟任意波信号发生器研究[D].浙江大学,2003:1-2.

[2] MHS2300系列双通道DDS信号发生器通信协议[Z].2013.

[3] 张桐,陈国顺,王正林.精通LabVIEW程序设计[M].北京:电子工业出版社,2008:277-299.

[4] 王丽君,刘悦.基于LabVIEW的虚拟信号发生器及示波器的设计[J].华北水利水电学院学报,2010,31(3).

[5] 刘丽桑.基于LabVIEW的虚拟信号处理系统[J].光学仪器,2007(9).

[6] National Instruments Corporation.Using NI-DAQmx to Control USB Device[Z].Reference Materials,2005.

[7] National Instruments Corporation.Using External Code in LabVIEW[Z].Reference Materials,2003.

上一篇:中专学前教育专业毕业生在农村幼儿园工作现状... 下一篇:生存与电磁能量的熵关联