LabVIEW的串口转WiFi数据传输实现方法

接口/总线/驱动

1114人已加入

描述

摘要: 在测控领域,仪器与计算机之间通常采用串口通信,串口通信是有线传输,存在传输距离短、可移动性差等缺点。本文采用串口与WiFi相结合的方式,提出了一种基于软件LabVIEW的串口转WiFi数据传输的实现方法,从而使串口通信摆脱了线缆的束缚。

引言
在测控领域,仪器通常需要与计算机建立通信来传输测量信息以及对仪器进行控制。在仪器上,常用的通信接口为串口,串口通信的传输介质是有线电缆,虽然有线传输能适应绝大多数的工业环境,但在一些特殊环境中(如强腐蚀性、布线困难、仪器产生交叉运动等),有线传输由于其自身的缺陷将无法适应。本文介绍了一种基于LabVIEW的串口转WiFi数据传输实现方法,在LabVIEW平台上实现串口通过WiFi传输数据。

1LabVIEW简介

LabVIEW是NI公司推出的一种图形化编程语言,自问世以来经过了快速发展,现被广泛应用于测控领域。LabVIEW 集成了满足 GPIB、VXI、RS232和RS485协议的硬件及数据采集卡通信的全部功能,还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣[1]。

LabVIEW的图形化编程语言又称为“G”语言,使用这种语言编程时,基本上不用写程序代码,取而代之的是流程图或框图。它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此LabVIEW 是一个面向最终用户的工具。它可以增强构建科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。使用它进行原理研究、设计、测试并实现仪器系统,可以大大提高工作效率。

2串口转WiFi的硬件实现

雷凌公司生产的RT5350芯片集成了MIPS 24KC 360 MHz处理器,支持IEEE802.11b/g/n标准以及WEP64/124、WPA、WPA2、WAPI加密,具有USB、GPIB、SPI、UART等接口。该芯片体积小,功能强大,价格低廉,并且仅需很少的外围器件就可以正常工作,能够实现低成本开发无线WiFi产品。因此,选用RT5350作为串口转WiFi硬件系统的核心芯片,能直接将串口数据转成WiFi数据发送,串口转WiFi的硬件系统框图如图1所示[2]。

WIFI

 

图1 串口转WiFi硬件框图

通过硬件电路的设计以及调试,制作出来的串口转WiFi模块可以实现串口转WiFi服务器、串口转WiFi客户端、串口转以太网这3种模式,可以根据需要将模块配置成相应的工作模式。例如简单的点对点通信,只要将一个模块配置成串口转WiFi服务器模式,另一个模块配置成串口转WiFi客户端模式,就能够实现串口转WiFi点对点的数据传输。在实际测试中,采用的是主从模式,即主机与无线WiFi路由器连接(自身带有无线WiFi功能的电脑无需连接路由器),将与仪器连接的串口转WiFi模块配置成客户端模式,具体连接方式如图2所示[3-4]。

WIFI

图2 网络连接方式

3软件设计

3.1程序设计思路
串口转WiFi,在发送数据时,是通过读取串口上的数据,将其存入缓冲区,然后把数据赋值给网络数据发送端,将数据发送出去;在接收数据时,先读取网络接收到的数据,同时存入缓存区,再将数据发送给串口。

串口转WiFi数据传输采用的是TCP通信协议,通常TCP通信在软件设计上需要编写上位机和下位机,对于带有操作系统的仪器,只需将编写好的程序移植到仪器上就能实现数据的传输,这里不再讨论。

在测控领域中,多数仪器上没有操作系统,上、下位机这样的通信模式并不适用,需要编写程序仅在PC机端就能完成数据传输。而串口转WiFi数据传输的重点在于模块之间通信链路的建立,在数据传输系统搭建完成后,所有模块都已连接到服务器,PC机发送数据时默认是给所有连接的模块发送,即发送时若不指定模块,所有连接的模块将同时接收到PC机发送的数据。模块是根据IP地址来区分的,即一个模块对应一个IP地址,因此,在发送数据时输入IP地址就能给对应的模块发送数据。

3.2主机程序设计
主机使用LabVIEW作为开发平台,让计算机串口、网口与串口转WiFi模块之间建立桥梁,从而实现串口数据的无线传输功能。在串口数据处理上,调用的是LabVIEW的VISA来进行编程,它是一个标准应用程序编程接口,集成了串口的驱动函数,通过调用VISA的串口通信功能函数能够实现串口的初始化、读写与关闭功能。在网络数据处理上,调用LabVIEW的TCP协议来进行编程,通过调用TCP协议的功能函数实现打开TCP连接、建立TCP监听与读写TCP数据等功能。程序按功能可以分为两个模块:串口数据处理模块和网络数据处理模块。

串口数据处理模块的功能是为主机串口与串口设备建立连接,确保两者之间通信顺畅。调用“VISA配置串口”来配置串口号、波特率、数据位和校验位,完成串口的初始化;调用“VISA发送”给串口发送数据;调用“VISA读取”读取主机串口接收到的数据,并将其存入缓存区[5-6]。
网络数据处理模块功能是为主机与串口转WiFi模块建立网络连接,调用“打开TCP连接”使主机与指定模块建立通信链路,需输入模块的IP地址与端口;调用“写入TCP数据”向模块发送数据;调用“读取TCP数据”来读取接收到的网络数据。软件的流程框图如图3所示。

WIFI

图3 LabVIEW程序流程框图

LabVIEW在发送网络数据时,常用的方法是调用两个“写入TCP数据”函数,第一个“写入TCP数据”指定发送数据的大小,第二个“写入TCP数据”发送数据(如图4所示)。同样,在读取数据时,调用两个“读取TCP数据”函数,第一个“读取TCP数据”采集数据的大小,第二个“读取TCP数据”读取数据(如图5所示)[78]。这种方法只适用于收发都是LabVIEW程序控制,与其他平台网络数据传输软件不兼容,无法正确接收数据,因为在发送数据时不发送数据的大小。解决的办法是接收数据只调用一个“读取TCP数据”函数,如果数据大小固定,在函数“读取的字节”端输入固定值,否则,在发送数据时在结尾处加上回车。LabVIEW串口转WiFi数据传输接收和读取的后面板略——编者注。

4效果验证

为了测试数据传输的可靠性,在主机上用虚拟串口软件产生一对虚拟串口COM2、COM3,打开串口调试助手软件,把串口配置成串口号为COM2、波特率为115 200、数据位为8,LabVIEW 程序的串口配置成串口号为COM3,其余一样,这样两者就建立了连接。再将串口转WiFi模块与另一个PC机用串口线连接,配置模块连接主机的无线路由器,在主机LabVIEW程序中输入模块的IP地址与端口,并打开网络连接,这时主机与模块之间通过WiFi连接。

在PC机上打开串口调试助手,给串口发送字符“模块测试数据”,数据会通过模块发送到主机,主机上LabVIEW程序的网络数据接收框显示“模块测试数据”,同时主机上串口调试助手也同样显示。同样,主机上串口调试助手发送字符“主机测试数据”,在LabVIEW程序的串口数据框和PC机串口调试助手都会显示“主机测试数据”,说明数据传输收发正常(如图6所示)。

WIFI

图6 LabVIEW串口转WiFi前面板显示

结语

随着无线技术的广泛应用,传统的有线传输逐渐被无线传输所取代,无线传输不受线缆的束缚,设备位置改变不需要重新布线。通过基于LabVIEW的串口转WiFi数据传输可以将串口数据以无线的方式进行传输,使得串口设备之间的连接更加方便快捷。该方法成本低,使用方便,并且具有良好的通用性和可扩展性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分