LabVIEW与单片机串口在数据采集系统中的应用

2019-11-11来源: eepw关键字:LabVIEW  单片机串口  数据采集系统

1.LabVIEW分析


LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发的,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显着区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。


LabVIEW也有传统的程序调试工具,如设置断点、以动画方式显示数据及其子程序(子VI)的结果、单步执行等等,便于程序的调试。采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。


它主要的方便就是,一个硬件的情况下,可以通过改变软件,就可以实现不同的仪器仪表的功能,非常方便,是相当于软件即硬件!现在的图形化主要是上层的系统,国内现在已经开发出图形化的单片机编程系统(支持32位的嵌入式系统,并且可以扩展的),不断完善中(大家可以搜索 CPUVIEW 会有更详细信息;)。


1.1VISA简介

VISI俗称虚拟仪器软件规范,是所有标准I/O函数库及其相关规范的总称,用于完成计算机与仪器之间的连接,实现对仪器的控制。VISI本身并不具备编程能力,是通过调用底层驱动程序来实现对仪器的编程,其层次如图1所示。VISA是采用VPP标准的I/O接口软件,其软件结构包含三部分,如图2所示。

VISA的I/O控制特点

①适用于各种仪器类型(如VXI仪器、GPIB仪器、RS-232串行仪器、消息基器件、寄存器器件、存储器器件等仪器);

②适用于各种硬件接口类型;适用于单、多处理器结构或分布式网络结构;

③适用于多种网络机制。

VISA的I/O软件库的源程序是唯一的,与操作系统及编程语言无关,只是提供了标准形式的API文件作为系统的输出。


1.2VISA库中的串口通讯函数

主要的串口通讯函数调用路径为:FunctionsInstrument I/OVISAVISA AdvancedInterface SpecificSerial。

①VISA Configure Serial Port节点(图3所示)

该节点主要用于串口的初始化。主要参数如下:

VISA resource name:VISA资源名称,本文指串口号。baud rate:波特率,默认为9600。
data bits:一帧信息中的位数,LabVIEW中允许5~8位数据,默认值为8位。
stop bits:一帧信息中的停止位的位数,可为1位、1位半或2位。
Parity:奇偶校验设置。可为无校验、奇校验或偶校验。
flow control:该参数数据类型为簇,用于串行通讯中的握手方式。

②VISA Read节点(图4所示)

该节点为串口读子VI,为本文中的主要节点,将串口中的数据读出,然后利用LabVIEW的强大数据处理功能对其进行分析处理。主要参数意义如下:

VISA resource name:VISA资源名称,本文指串口号。baud rate:波特率,默认为9600。


byte count:用于设置所要读的字符数。由于LabVIEW的串行通讯子VI只允许对字符串的读写,因此本文中在进行数据处理时,必须要实现字符串与数字之间的正确转换。其次,若要读入当前串口中的所有字符,则要执行“VISA Bytes at Serial Port”子VI,用以确定将要读入的确切的字节数,然后将其输出作为VISA Read节点的输入即可。

③VISA Close节点(图5所示)

该节点用于将打开的VISA资源关闭。只有一个主要参数:

VISA resource name:VISA资源名称,本文指串口号。baud rate:波特率,默认为9600。


本文所用LabVIEW串口通讯程序的波特率为9600,8位数据位,无奇偶校验,1位停止位,硬件握手、禁止软。


2单片机设计

2.1硬件

MCS-51单片机有一个全双工串行口其功能非常强大。

该串行口有4种工作方式,由片内的定时器/计数器产生,接收、发送均可触发中断系统,使用十分方便,波特率还可用软件设置。


有2个物理上独立的接收、发送缓冲器SBUF,对外也有两条独立的收、发信号线RXD(P3.0)和TXD(P3.1)。


本文采用RS232串行接口标准,在电气特性上,RS232采用负逻辑,要求高低两信号间有较大的幅度,标准为:逻辑“1”在-5V~-15V之间,逻辑“0”在+5V~+15V之间,通常采用-10V左右为逻辑1,+10V左右为逻辑0。由于MCS-51系统的信号输入输出为TTL电平,逻辑1为3.8V左右,逻辑0为0.4V左右,因此,必须外接电路实现TTL电平到RS232电平的转换。本文特别采用MAX232E实现此转换。


采用TLC0831芯片进行数据的采集。TLC0831芯片为8位逐次逼近电压型A/D转换器,不需寻址,支持单信道输入串口输出,极性设置固定。其主要特点为:8位分辨率;5V的电源提供0~5V的可调基准电压;输入输出可与TTL和MOS兼容。若要提高信号的采样频率,只需选择转换速度较快的A/D芯片即可。硬件部分原理图如图6。


2.2软件

下面给出单片机软件部分的主要程序。波特率设置为9600,用定时器1产生波特率,串口工作在方式1,无奇偶校验。定时器0设定采样的时间间隔。TLC0831为A/D转换器数据采样子程序,SEND为单片机发送子程序。



3结论

虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。目前使用较多的是 IEEE 488 或 GPIB协议,未来的仪器也应当是网络化的。


LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。LabVIEW [2]集成了与满足 GPIB、VXI、RS-232 和 RS-485 协议的硬件及数据采集卡通讯的全部功能。它还内置了便于应用TCP/IP、ActiveX 等软件标准的库函数。这是一个功能强大且灵活的软件。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。


由单片机进行前端数据采集,在通过串口与LabVIEW的数据通讯,巧妙的利用LabVIEW强大的信号分析处理功能,开发了一套投资少、操作简便的数据采集与信息分析系统(其虚拟面板如图7所示)。从系统运行良好,可以看出本实验很成功,可以投入市场。


关键字:LabVIEW  单片机串口  数据采集系统 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/Test_and_measurement/ic479567.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于LabVIEW的STM32调试平台设计
下一篇:利用LabVIEW产生字模的LED显示屏设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

LabVIEW和NI CompactDAQ助力UFSC复杂的车辆噪声测试
  声学图像识别50公里时速、1,904.3 Hz下的轮胎和排气噪声  “我们选择了紧凑且直流供电的NI硬件,它能为阵列中的麦克风提供电源。”  - Samir N.。 Gerges, Federal University of Santa Catarina (UFSC)  挑战:  开发一款便携且价格合理的声学波束形成形,实现通过噪声测量和其他应用中的噪声源识别 。  解决方案:  使用32个麦克风组成的螺旋阵列、NI LabVIEW软件、NI声音和振动测量套件,以及32通道的NI CompactDAQ系统,搭配8个NI 9234 4通道动态信号采集(DSA) 模块来获取噪声源的可视化图像,从而识别行驶车辆
发表于 2019-11-11
LabVIEW和NI CompactDAQ助力UFSC复杂的车辆噪声测试
LabVIEW无线传感器网络(WSN)模块先锋的介绍
使用图形化编程快速开发的优势对无线传感器节点编程传统上是需要具有嵌入式系统的知识,还要能够理解供应商所选用的特定的基于文本的编程语言。通过LabVIEW WSN Pioneer,您可使用相同的已成为工业开发采集、处理数据应用标准的图形化编程方法来向NI无线传感器节点添加智能性。LabVIEW WSN PiONeer还可灵活地将C代码与图形化代码直接结合,并在节点上运行,从而可实现算法重用。LabVIEW WSN Pioneer极大地简化了创建NI WSN测量节点的嵌入式应用过程,正如上述LED以1Hz的频率闪烁的案例LabVIEW WSN Pioneer包括
发表于 2019-11-11
LabVIEW无线传感器网络(WSN)模块先锋的介绍
利用LabVIEW产生字模的LED显示屏设计
  .文中介绍了一种直接利用 LabV I EW 的图片处理功能自动生成字符点阵的方法,利用该程序无需使用专门的字库可自动得到各种字符的点阵,然后将显示信息通过串行传输方式发送到单片机,通过单片机驱动相应的二极管发光,显示信息。硬件由计算机、单片机、驱动电路和 LED 显示屏构成,结构如图 1所示。图 1总体结构框图。  1. 基于 LabV I EW 的汉字字模的提取  1.1. 基于 LabV IEW 的汉字字模的提取方法  现在比较流行的方法是基于汉字字符的编码方式形成字模。  汉字机内码与区位码的关系为:  区位码=机内码- 160(1)  对于 16*16点阵字库,每个汉字占用 32 b i t 其首字
发表于 2019-11-11
利用LabVIEW产生字模的LED显示屏设计
基于LabVIEW的STM32调试平台设计
0引言ARM处理器是Acorn计算机有限公司面向低预算市场设计的第一款RISC微处理器。ARM处理器具有耗电少功能强、1 6位/32位双指令集和合作伙伴众多等特点。本设计采用STM32F103ZET6芯片进行研究。此芯片采用ARM 32位的Cortex-M3 CPU作为内核,芯片带有2通道12位的D/A转换器,12通道DMA控制器能支持外设:定时器、ADC、DAC、USART等,具有112个快速IO端口。同时此芯片具有多达13个通信接口,其中包括USB2.0全速接口[1].LabVIEW是一种程序开发环境,采用图标代替文本行创建应用程序的图形化编程语言。LabVIEW是一种图形化的编程语言的开发环境,它广泛地被工业界
发表于 2019-11-11
基于LabVIEW的STM32调试平台设计
基于LabVIEW的虚拟示波器设计
分析。 LabVIEW(实验室虚拟仪器集成环境)是NI公司(美国国家仪器公司)的创新软件产品,也是目前应用最广、发展最快、功能最强的图形化软件集成开发环境,可实现数据采集、仪器控制、过程监控和自动测试等实验室研究和工业自动化领域的实际任务。LabVIEW从基本的数学函数、字符串处理函数、数据运算函数、文件I/O函数到高级分析库,包括了信号处理、窗函数、滤波器设计、线性代数、概率论与数理统计、曲线拟合等,涵盖了仪器设计中几乎所有需要的函数。LabVIEW的功能模块包括数据采集、通用接口总线和仪表的实时控制、数据分析、数据显示以及数据的存储。拥有大量数据采集和仪表控制的功能模块和开发工具,因此,LabVIEW可以编出外观和功能
发表于 2019-11-11
基于LabVIEW的虚拟示波器设计
STC15w4k58s4单片机4串口同时收发例程
STC15w4k58s4 芯片的4串口同时收发例程单片机源程序如下:#include "intrins.H"#include "uart.H"#define uchar unsigned  char#define uint  unsigned   intuchar uart1buf[6]={0xa5,0x5a,0x4a,0xf8,0xff,0xff};uchar uart2buf[6]={0xa5,0x5a,0x4a,0xf8,0xff,0xff};uchar uart3buf[6]={0xa5,0x5a,0x4a,0xf8,0xff,0xff};uchar
发表于 2019-11-11
小广播
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved