基于LabVIEW和STM32的上位机与下位机通信系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于LabVIEW和STM32的上位机与下位机通信系统设计
【摘要】LabVIEW是NI公司开发的图形化编程开发平台,具备强大的实时数据处理功能与显示功能。

作为虚拟仪器的开发平台,LabVIEW软件在测控领域中应用广泛。

本文采用STM32的单片机作为下位机,给出了LabVIEW与STM32的串口通讯方案,对采集系统进行了测试,利用LabVIEW编程及STM32串口通讯硬件及程序实现了上位机与下位机的实时通讯系统。

【关键词】LabVIEW;串口通讯;STM32;嵌入式
1.引言
作为通用计算机设备通信协议的串口,其作用是按位发送及接收字符。

虽然其通信速度低于并行通信,但鉴于其可用一根线发送数据同时用另一根线接收数据,且保持不失数据传输的精确度,所以广泛用于数据采集、监测控制及仪器仪表控制等场合,常用的RS485接口标准即能够实现更远距离的通信。

由美国NI 公司开发的虚拟仪器LabVIEW软件是一个强大的虚拟仪器编译环境,它采用图形化G语言使应用程序的开发更简化,人机界面友好。

因此本文开发了基于LabVIEW和STM32的上位机与下位机通信系统。

bVIEW上位机
LabVIEW的串口应用程序是通过VISA接口模块来进行编程。

VISA是应用于仪器编程的标准I/O应用程序接口,是工业界通用的仪器驱动器标准API(应用程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。

LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial 中,其中VISA Configure Serial Port作用为初始化VISA resource name 指定的串口通讯参数,VISA Write 作用为将输出缓冲区中的数据发送到VISA resource name 指定的串口,VISA Read 的作用为将VISA resource name 指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中,VISA Serial Break 作用为向VISA resource name 指定的串口发送一个暂停信号,VISA Byte sat 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环境中使用串口与在其他开发环境中开发过程类似,首先需要调用VISA Configure Serial Port 完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和硬件流控制等。

如果初始化没有问题,就可以使用这个串口进行数据收发。

发送数据使用VISA Write,接收数据使用VISA Read,在接收数据之前需要使用VISA Byte at Serial Port查询当前串口接收缓冲区中的
数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。

也可以分批读取接收缓冲区或者只从中读取一定字节的数据。

在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O Buffer则可以清空接收与发送缓冲区。

在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之间的会话。

3.STM32下位机
下位机系统包括硬件与软件两个部分:
硬件部分,由于串口通讯采用下位机与上位机进行通讯,因此是采用RS-232转USB电路来完成通讯的硬件电路,RS232转USB采用Prolific 公司生产的一种高度集成的RS232-USB接口转换器PL2303,它可以提供一个RS232全双工异步串行通信装置与USB功能接口的便利解决方案。

该器件内置USB功能控制器、USB收发器、振荡器和带有全部调制解调器控制信号UART,只需外接几只电容就可以实现USB信号与RS232信号的转换,能方便嵌入到手持设备中。

软件部分,STM32的库文件的标准配置就可以完成串口通讯,首先是对串口的两个I/O口进行初始化配置,然后对串口模块进行结构体的赋值并做串口的初始化配置,最后对收发函数进行编写,在要求比较低的通讯过程中可以采用普通的通讯方式,在速度和时间要求精确的场合可以采用高级串口中断的方式来完成串口通讯编程。

4.上位机与下位机通讯测试
通过Micro-USB数据线将STM32F107核心板与装有LabVIEW串口程序的PC相连,然后通过上位机程序选择串口来完成串口的初始化配置,然后进行上下位机的通信功能。

系统稳定通信正常。

5.总结
在本文中,我们采用LabVIEW中的串口VI对串口通讯系统中的上位机进行配置,以计算机作为上位机,STM32F107作为下位机,完成了上位机与下位机的正常通讯,事实表明,与传统的VC++的方法相比较,基于LabVIEW和STM32的串口通讯与数据传输效率高、功能全、操作简单、功能强大,具有良好的可移植性和可扩展性,能够很好地满足通讯需求。

在当今比较火热的物联网技术中能够有很好的应用前景和发展前景。

参考文献:
[1]李江全,刘恩搏,胡蓉,等.LabVIEW 虚拟仪器数据采集与串口通信测控应用实战[M].北京:人民邮电出版社,2010.
[2]徐晓东,郑对元,宵武.LabVIEW8.5常用功能与编程实例精讲[M].北京:电子工业出版社,2009.
[3]STMicroelectronics.UM0424 usermanual STM32F10xxxUSB development kit[Z].2008.
黄自鑫(1988-),男,研究生在读,就读于武汉纺织大学。

相关文档
最新文档