《基于LabVIEW和STM32的上位机与下位机通信系统设计.docx》由会员分享,可在线阅读,更多相关《基于LabVIEW和STM32的上位机与下位机通信系统设计.docx(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于 LabVIEW 和STM32 的上位机与下位机通信系统设计【摘 要】LabVIEW 是 NI 公司开发的图形化编程开发平台,具备强大的实时数据处理功能与显示功能。作为虚拟仪器的开发平台,LabVIEW 软件在测控领域中应用广泛。本文采用 STM32 的单片机作为下位机,给出了 LabVIEW 与STM32 的串口通讯方案,对采集系统进行了测试,利用 LabVIEW 编程及 STM32 串口通讯硬件及程序实现了上位机与下位机的实时通讯系统。【关键词】LabVIEW;串口通讯;STM32;嵌入式1. 引言作为通用计算机设备通信协议的串口,其作用是按位发送及接收字符。虽然其通信速度低于并行通信
2、,但鉴于其可用一根线发送数据同时用另一根线接收数据,且保持不失数据传输的精确度,所以广泛用于数据采集、监测控制及仪器仪表控制等场合,常用的 RS485 接口标准即能够实现更远距离的通信。由美国 NI 公司开发的虚拟仪器 LabVIEW 软件是一个强大的虚拟仪器编译环境,它采用图形化 G 语言使应用程序的开发更简化,人机界面友好。因此本文开发了基于LabVIEW 和 STM32 的上位机与下位机通信系统。2. LabVIEW 上位机LabVIEW 的串口应用程序是通过 VISA 接口模块来进行编程。VISA 是应用于仪器编程的标准 I/O 应用程序接口,是工业界通用的仪器驱动器标准 API(应用
3、程序接口),采用面向对象编程,具有很好的兼容性、扩展性和独立性。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
4、 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 环境中使用串口与在其
5、他开发环境中开发过程类似,首先需要调用 VISA Configure Serial Port 完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和硬件流控制等。如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用 VISA Write,接收数据使用 VISA Read, 在接收数据之前需要使用 VISA Byte at Serial Port 查询当前串口接收缓冲区中的数据字节数,如果 VISA Read 要读取的字节数大于缓冲区中的数据字节数,VISA Read 操作将一直等待,直至 Timeout 或者缓冲区中的数据字节数达到要求的字节数。也可以分批读取接收缓
6、冲区或者只从中读取一定字节的数据。在某些特殊情况下,需要设置串口接收 /发送缓冲区的大小,此时可以使用 VISA Set I/O Buffer 则可以清空接收与发送缓冲区。在串口使用结束后,使用 VISA Close 结束与 VISA resource name 指定的串口之间的会话。3. STM32 下位机下位机系统包括硬件与软件两个部分:硬件部分,由于串口通讯采用下位机与上位机进行通讯,因此是采用 RS-232 转 USB 电路来完成通讯的硬件电路,RS232 转 USB 采用 Prolific 公司生产的一种高度集成的 RS232-USB 接口转换器 PL2303,它可以提供一个 RS2
7、32 全双工异步串行通信装置与 USB 功能接口的便利解决方案。该器件内置 USB 功能控制器、USB 收发器、振荡器和带有全部调制解调器控制信号 UART,只需外接几只电容就可以实现 USB 信号与 RS232 信号的转换,能方便嵌入到手持设备中。软件部分,STM32 的库文件的标准配置就可以完成串口通讯,首先是对串口的两个 I/O 口进行初始化配置,然后对串口模块进行结构体的赋值并做串口的初始化配置,最后对收发函数进行编写,在要求比较低的通讯过程中可以采用普通的通讯方式,在速度和时间要求精确的场合可以采用高级串口中断的方式来完成串口通讯编程。4. 上位机与下位机通讯测试通过 Micro-U
8、SB 数据线将 STM32F107 核心板与装有 LabVIEW 串口程序的PC 相连,然后通过上位机程序选择串口来完成串口的初始化配置,然后进行上下位机的通信功能。系统稳定通信正常。5. 总结在本文中,我们采用 LabVIEW 中的串口 VI 对串口通讯系统中的上位机进行配置,以计算机作为上位机,STM32F107 作为下位机,完成了上位机与下位机的正常通讯,事实表明,与传统的 VC+的方法相比较,基于 LabVIEW 和STM32 的串口通讯与数据传输效率高、功能全、操作简单、功能强大,具有良好的可移植性和可扩展性,能够很好地满足通讯需求。在当今比较火热的物联网技术中能够有很好的应用前景和发展前景。参考文献:1 李江全,刘恩搏,胡蓉,等.LabVIEW 虚拟仪器数据采集与串口通信测控应用实战M.北京: 人民邮电出版社,2010.2 徐晓东,郑对元,宵武.LabVIEW8.5 常用功能与编程实例精讲M.北京: 电子工业出版社,2009.3 STMicroelectronics.UM0424usermanualSTM32F10xxxUSBdevelopment kitZ.2008.黄自鑫(1988-),男,研究生在读,就读于武汉纺织大学。