首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 单元电路介绍 > 其它电路
用LabVIEW和PIG单片机打造虚拟数字存储示波器
来源:本站整理  作者:佚名  2011-12-19 20:23:35



  示波器是科学研究和电子开发中广泛使用的一种通用仪器,但其不菲的价格是普通入难以接受的。本文将向读者介绍一种基于LabVIEW和PIC单片机的虚拟数字存储示波器。

  20世纪80年代,美国国家仪器公司(NationalInstruments,简称NI)提出“软件即是仪器”的虚拟仪器(VirtualInstrul:nent,简称VI)概念,引发了传统仪器领域的一场重大变革,使得计算机和网络技术得以进入仪器领域,并和仪器技术紧密结合。虚拟仪器通过软件将计算机硬件与仪器硬件有机地融合为一体,从而把计算机强大的计算处理能力和仪器的测量、控制能力结合在一起,大大缩小了仪器硬件的成本和体积,并通过软件实现数据的显示、存储和分析处理。

  LabVIEW是目前使用最为广泛的虚拟仪器软件,它采用图形化编程语言,编程就像设计电路图一样,不用编写程序代码,取而代之的是程序框图的形式,可以在很短的时间内掌握并应用到实践中去。关于虚拟仪器和LabVIEW更加详细的内容,读者可以登陆NI公司网站www.ni.com查看,并可下载LabVIEW评估版软件。

  本文介绍的虚拟数字存储示波器是虚拟仪器技术的一种具体应用。该虚拟示波器基于计算机平台,将LabVIEW软件与单片机紧密结合,简单快捷地实现传统数字存储示波器的基本功能。它由数据采集、数据分析和输出显示三个主要功能部分组成。

  其中,数据分析和输出显示由LabVIEW软件来完成,只有数据采集是在LabVIEW软件的控制下由单片机硬件来完成。虚拟示波器工作原理如下:LabVIEW通过计算机串口向单片机发送指令,单片机收到上位机的指令后,按照指令的要求确定A/D采样的方式、采样间隔和采样次数,然后开始对信号进行A/D采样,并将采样值通过串口发送给上位机,LabVIEW再将接收到的数据还原为波形并进行显示,见右图。

  一、下位机的组成下位机以MicroChip 公司的PICl6F73 单片机为核心,利用PICl6F73的片上ADC模块来进行A/D采样,并利用USART通信模块以异步方式与上位机进行串行通信。

  1.硬件设计

  PICl6F73单片机的片上ADC模块为8位分辨率,有5个模拟信号输入通道,A/D转换采用“逐次逼近法”,一次A/D转换所需的时间最短为十几微秒。如下图所示,利用PICl6F73的RAO口即模拟输入通道0进行A/D采样。

  USART(通用1司步异步收发器)是PIC单片机上一个常用的串行通信接口,利用全双工的异步通信模式可以非常方便地实现单片机和计算机的串行通信。电路中MAX232芯片的作用是完成ITL电平到RS232电平的转换。

  设计中还使用了两个LED来进行单片机工作状态的指示,绿色LED为单片机运行状态指示,红色LED为A/D采样状态指示。

  在面包板上搭的电路如左图所示。

  2.软件设计

  下位机软件采用C语言编写,主要由串行通信、A/D转换、中断和延时等几部分组成,软件流程图如图4所示。

  二、上位机的组成

  -上位机软件主要由串行通信、数据转换、数据存储和读取、波形显示和分析等模块组成,将这些模块在LabVIEW的程序框图中按其逻辑关系组合起来,就形成了完整的虚拟示波器上位机程序。

  1.示波器面板示波器面板下见图,它用来模拟真实示波器的操作面板,是用户与虚拟示波器交互的接口。设计时,主要考虑界面美观、操作简洁,用户可以通过鼠标来控制面板中的开关和旋钮以模拟传统示波器的操作,前面板上还设有各个功能模块按钮,当接下相应按钮时,即可调用该子程序。

  2.通信程序

  LabVIEW与单片机的串口通信程序使用LabVIEW中的串行VI来完成,串行VI包括下表所示节点。

VI名称 V1功能
VISAConfigueScrialPort 初始化VTSA resource name指定的串口通信多数
VIS Write 将输出缓冲区中的数据发送到VISA rcsource name指定的串口
VISARead 将VISA resour name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中
VISA Serial Break 向VISA resource 指定的串口送一个暂停信号
VISA Bytes at Serial Port 查询VISA resource name指定的串口接收缓冲区中 的数据字节数
VISA Close 结束与VISA resource name指定的串口资源之间的会话
VISA Set I/O Buffer Size 设置VISA resource name 指定的串口的输入输出缓冲区大小
VISA Flush I/O Buffer 清空VISA resource name指定的串口的输入输出缓冲区

  在LabVIEW环境中使用串口和在其他开发环境中的开发过程类似,首先需要调用VISAConfigureSe一rialPort完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位等1初始化完成后,就可以使用这个串口进行数据收发,发送数据使用VISAWrite,接收数据使用VISARead;在串口使用结束后,要用VISAClose来关闭串口。基本的串口操作程序框图如下图所示。

  3.设计步骤

  首先运行NationalInstrumentsLabVIEW8.2,如下图所示,在启动界面里选择“新建VI”;

然后在“前面板”上单击鼠标右键,在弹出的“控件”菜单中见下图找到虚拟示波器面板所需的控件并分别拖放到前面板里)接下来在“程序框图而板”上单击鼠标右键,

在弹出的“函数”菜单中见下图找到“while循环”、“条件结构”、“事件结构”和“VISA。

分别拖放到程序框图面板里;最后按照下图所示,将各个节点接其逻辑关系连接起来,虚拟示波器的上位机程序就完成了。

  三、使用方法

  虚拟示波器的使用方法非常简单,只需将0~+5V范围内的被测信号连接到下位机的模拟输入通道0,单片机上电后绿色LED点亮,接下来就可以在上位机用LabVIEW进行数据采集和波形分析等操作了。

  1.数据采集首先设置好数据保存路径、串口号、波特率、来样间隔和增益;然后点击“开始n按钒,LabVIEW即将指令通过串口发送出去十下位机在接收到正确的指令后点亮红色LED开始进行A/D采样,并将采样值通过串口发送给上位机,LabVIEW会将接收到的数据在“实时数据”窗口进行显示,并将来样数据保存在文本文件中。
  2.波形分析点击“停止”按钮,停止A/D采样后点击“分析”按钮,LabVIEW会从保存的文件中读取采样数据并在“波形分析”窗口还原为波形,并将其中的最大值和最小值显示出来。在进行波形分析时,可使用下图所示的“图形控制工具”在窗口中放大、缩小和移动所显示的波形,对波形细节特征进行仔细的观察和分析,见下图。
 
  根据奈奎斯特采样定理,采样频率应至少是被测信号频率的两倍,才能得到被测信号的准确波形。由于PICl6F73单片机的A/D转换时间在20μs以内,可以认为采样信号的最高频率是50kHz,所以该虚拟示波器可以对25kHz以下的信号进行准确采样。
  在计算机屏幕上显示的波形是由存储的采样值经过处理后重建的波形。重建波形最简单有效的方法就是在各个采样点之间用直线连接,这种方法称为线性内插法。使用线性内插法时,只要采样密度比较大,就能恢复出比较平滑的信号波形。当用较高的来样频率对低频信号进行采样时,采样密度过大会使生成的数据文件增大,将占用更多的硬盘空间。因此,在实际使用中可以根据信号的频率适当调节采样间隔来改变采样速率。
  四、总结
  该虚拟示波者部9设计充分利用了LabVIEW和PIC单片机各自的优点:
  上位机无需编程,使用LabVIEW的VI实现所需功能;下位机结构简单,所需器件少,通过串口与上.位机通信.摆脱了LabVIEW对计算机板卡的依赖,成本低廉。此外,该虚拟示波器还具有传统示波器所没有的数据保存功能,具有很强的实用性。在本期配刊光盘中有该虚拟示波器的下位机程序和上位机LabVIEW源程序.读者可以根据需要在笔者设计的基础上增加多通道采集、滤波、频谱分析、波形打印等功能,打造一台适合自己的数字存储示波器。

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:145,906.30000 毫秒