LabVIEW串口通信在数据采集中的应用

2011-07-28 01:32董翰川李文杰
网络安全与数据管理 2011年23期
关键词:机软件下位上位

董翰川 ,郭 勇 ,李文杰

(1.成都理工大学 信息科学与技术学院,四川 成都 610059;2.中国地质科学院 地球物理地球化学勘查研究所,河北 廊坊 065000)

可视化编程软件LabVIEW不仅能很轻松地将各种软硬件连接起来,还提供了强大的后续数据处理能力。与传统仪器相比,虚拟仪器提高了仪器资源的可再用性和可移植性,只需在原有基础上作相应改动即可增强它的功能,无需更换硬件设备[1]。基于此,本文在研究LabVIEW的基础上,开发了基于LabVIEW的串口收录系统,以单片机为核心的硬件部分作为前端数据采集系统,可实现200 kHz的采样速率、16 bit的分辨率,具有采样率高、应用性强等优点。该收录系统将采集数据以曲线方式显示在上位机上,以二进制.dat格式记录,并且可回放记录的数据,这是该系统的创新点。

1 系统总体方案

系统总体方案框图如图1所示,主要由前端数据采集和上位机波形显示记录两大部分组成。前端数据采集部分以单片机AT89C52为核心,8 KB内部ROM空间,硬件部分采集到的数据通过串口通信传送给上位机,收录系统实时显示、记录、回放接收的数据。

图1 系统总体方案框图

2 硬件部分的设计

2.1 数据采集部分

该部分采用美信公司的MAX306芯片和ADI公司的AD976芯片。MAX306内部提供16个信号通道,可在程序编程中指定某通道,通道选择端由单片机P1口低4位控制,信号经过某通道后送入A/D;AD976采样率为200 kHz/s、分辨率为16 bit,采集信号范围为-10 V~+10 V,精度为(1/216)×VREF=(1/216)×20=0.305 mV。 A/D 数据传送端和单片机P0口相连,A/D控制端和P1口高4位相连。

2.2 串口通信部分

上位机和下位机通过RS-232串口进行数据接收和发送,传输介质为二芯屏蔽电缆,简单易用。下位机采用TTL电平,串口采用RS-232电平,因此串口通信需经过电平转换,电路采用MAX232电平转换芯片,串口采用母头接法。通信前先进行初始化,包括串口工作方式、通信波特率设定等,这在下位机软件中实现。

3 软件部分的设计

3.1 下位机软件部分

下位机软件部分采用C51语言编写,这是专门为51系列单片机设计的高效率C语言编译器,符合ANSI标准,程序代码运行效率高,比汇编语言更简单易用[2]。

下位机软件程序流程图如图2所示。BUSY为转换结束状态标志位,BUSY=1表示转换完成可以读取,否则,继续转换。将读取结果送给AT89C52处理,转换为十进制后传送给液晶和上位机,喂狗部分防止程序跑飞。软件实现定点叠加平均数据处理、看门狗定时复位和冗余避错功能,将连续采集的3次数据求平均值,使得采集结果更准确。

其中十进制的转换是关键,转化公式是:

其中,VREF为 A/D参考电压 20 V,ValueP0为 A/D转换后的二进制结果。

3.2 上位机软件部分

上位机软件部分采用LabVIEW语言编写,程序中用到VISA资源包。VISA是虚拟仪器软件构架的缩写,是仪器编程的标准 I/O API,可控制 GPIB、串口、USB、以太网、PXI或VXI仪器,并根据使用仪器的类型调用相应的驱动程序,用户无需学习各种仪器的通信协议[3]。

LabVIEW收录系统程序流程图如图3所示。按下开始读取按钮后,程序进行串口配置,串口配置好后通信分两路实现,分别用于数据读取和数据存储:读取的数据显示在波形图标中;数据以二进制格式.dat文件存储在硬盘中。存储之前程序弹出对话框让用户指定存储路径。波形显示采集数据的同时,还可以回放之前已存储的数据文件,实现采集和回放同时进行。

图2 下位机软件程序流程图

图3 LabVIEW 程序流程图

3.2.1 上位机软件实现过程

软件编写要用到 VISA Configure Serial Port.vi、VISA Property Node.vi、VISA read.vi、VISA Close.vi、Write To Binary File.vi及Graph Chart.vi[1]。其功能分别是:

(1)VISA Configure Serial Port.vi用于串口配置,如串口资源名、波特率、数据位数、停止位、校验位等的设置。

(2)VISA Property Node.vi用于读取属性,将接收到的数据全部读出来。

(3)VISA Read.vi用于读取串口接收来的数据。

(4)VISA Close.vi释放串口资源,关闭函数。

(5)Write To Binary File.vi将接收数据以二进制形式保存起来。

(6)Graph Chart.vi用于显示采集波形。

3.2.2 LabVIEW系统界面和程序

根据上位机软件设计流程图,利用NI公司的可视化编程软件LabVIEW编写完成的系统界面如图4所示。运行前,用户只需设置串口资源,选择串口号、波特率大小、传输数据位数、停止位、校验位等。串口工作在方式 1,传输 1帧信息为10 bit,其中 1 bit起始位、8 bit数据位(先低位后高位)、1 bit停止位[4]。

图4上面部分为开始读数据、停止读取、回放、停止回放和退出系统5个控制按键。两个图形控件分别显示读取波形和回放波形,读取值以数字形式显示在读取值窗口。系统界面还可以利用LabVIEW自身强大的数据处理能力,借助内部处理函数进行波形调理、波形测量、FFT变换和滤波等。

4 测试与结论

将下位机程序下载到单片机,打开电源,按下采集独立按键,给MAX306某通道加上2 V左右的电压信号,测得结果如图4所示。借助信号发生器给单片机输入-10 V~+10 V范围内的任意波形,在上位机均可得到相应波形。

本文利用单片机采集数据,使用LabVIEW编写串口接收数据界面,将结果以二进制.dat格式存储起来,带查看回放功能,较好地实现了数据采集的实时显示和存储,达到了系统的设计要求和预期目标。该LabVIEW显示界面可应用于其他具有串口接口的数据采集系统,目前已应用于航空物探部分数据的收录。

[1]TRAVIS J,KRING J.LabVIEW大学实用教程 (第三版)[M].朱瑞萍,译.北京:电子工业出版社,2008.

[2]陈诚,李言武,葛立封.基于 LabVIEW的单片机串口通信设计[J].现代计算机,2009(1):198-200.

[3]林静,林振宇,郑福仁.LabVIEW虚拟仪器程序设计从入门到精通[M].北京:人民邮电出版社,2010.

[4]张毅坤,陈善久,裘雪红.单片微型计算机原理及应用[M].西安:西安电子科技大学出版社,2006.

猜你喜欢
机软件下位上位
发射机房监控系统之下位机
特斯拉 风云之老阿姨上位
小水电站计算机监控系统上位机软件的开发
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
道岔监测系统上位机软件设计
景洪电厂监控系统下位机数据传输网络改造
围观党“下位”,吐槽帝“登基”
以新思路促推现代农业上位
CAN总线并发通信时下位机应用软件设计