李 敏,周先飞,胡 飞,何思棋
(芜湖职业技术学院信息工程学院,安徽芜湖 241006)
基于LABVIEW的STM32教学实训平台调试系统设计
李 敏,周先飞,胡 飞,何思棋
(芜湖职业技术学院信息工程学院,安徽芜湖 241006)
为了有效地开展STM32及嵌入式技术专业教学实训,使学生直观了解STM32接口电路的工作原理及功能实现,同时便于STM32教学实训平台的调试,本文通过KEIL实现已有实训平台软件的二次开发,并重点介绍基于LABVIEW的上位机软件设计串口通信程序和友好交互界面,通过RS232接收和发送数据,将各类传感器检测的数据发送至上位机显示。上位机可控制STM32平台的执行机构运行,该调试系统界面显示直观,操作便捷,不仅完善了STM32教学实训平台,而且可将上位机软件移植到相关的嵌入式实训平台。
LABVIEW;STM32;教学实训平台
基于STM32的嵌入式技术课程是一门理论和实践性较强的专业课,对于电子信息类专业的后续课程有着重要的支撑作用。市场上购置的STM32教学实训平台,多数通过KEIL软件编写代码下载到开发板上运行并通过TFT液晶屏或PC机的超级终端显示检测数据和控制执行机构,实验结果显示不够直观,教学效果不太理想[1]。
信息技术的不断发展,对嵌入式教学方法提出了新的要求,教师不仅要能够通过KEIL软件讲授STM32软硬件开发,而且能够利用计算机直观显示基于STM32实训平台的传感器参数及特性曲线,以及执行机构的工作过程,帮助学生更好地理解嵌入式系统开发流程。应用实训室现有的STM32实训平台的传感器和执行机构代码进行二次开发,并使用LABVIEW软件开发上位机界面,显示传感器检测数据和执行结构运行情况[2]。LABVIEW软件在当今仪器仪表界面设计方面已成为开发主流,效率较高,编程简单[3]。因此,将实训平台的传感器数据通过串口传输至上位机,教师可通过软件界面的操控按钮控制各类传感器检测和执行机构的运行,最终实时显示相关数据。
该调试平台下位机是采用合肥炜煌电子有限公司的STM32F103C8T6为控制核心的教学实训平台,包括STM32F103C8T6核心板、温度、光敏、热敏、超声波等传感器转换模块、TFT液晶显示模块、矩阵键盘以及继电器、蜂鸣器、直流电机、步进电机等执行机构[4]。由于原平台使用的STM32F103C8T6芯片资源有限,提供的原有代码只能单独实现各模块的工作,难以整体调试。因此,充分利用原有STM32核心板提供的引脚分配,接法如下:STM32的PA9和PA10用于串口的发送和接收,PA12和PB6用于超声波传感器TRIG控制信号和ECHO接收信号,五线四相式步进电机的驱动信号连接PB3、PB4、PB5和PA11,DS18B20温度传感器、热敏传感器、光敏传感器、光电开关信号输出端分别连接PC13、PA0、PA1,PC0、PB15则用于继电器的启停控制,PB7用于蜂鸣器启停控制,PB14用于直流电机启停控制,TFT液晶屏使用PA0-PA7作为数据线,PB8-PB13作为控制信号。STM32平台通过RS232与上位机连接,上位机应用LABVIEW软件开发操作界面,通过按键控制需要检测的各类传感器,并能在上位机显示传感器的参数曲线,再通过按键控制执行结构和液晶屏运行,从而可以整体调试STM32实训平台的各模块功能,直观判断实训平台运行状态,并改善嵌入式专业课程教学效果。
图1 上位机LABVIEW软件设计流程图
2.1 STM32教学实训平台的软件编程
由于该教学实训平台提供的源代码是基于无操作系统开发的,且是单一模块功能代码,考虑到便于教学演示和开展实训,在现有硬件平台上进行软件二次开发,程序包括STM32系统主程序、串口通信程序、热敏传感器、光敏传感器、DS18B20温度传感器、超声波传感器信号采集程序、外部中断控制、继电器、蜂鸣器启停控制、TFT液晶显示和关闭、直流电机、步进电机控制程序等。其中主程序包含串口、GPIO、A/D、D/A、定时器、外部中断等初始化,串口参数设置串口号为COM3、波特率为115200,数据位数为8位,GPIO初始化定义了该实训平台需使用的功能引脚,主程序采用循环程序接收上位机发送的字符编码A至M,并执行相应功能。
2.2 PC端LABVIEW软件设计
调试系统的PC端采用LABVIEW虚拟仪器软件平台作为开发环境,设计流程如图1所示,采用VISA进行串口的数据发送和接收,利用按键控制每个传感器或执行结构的运行,并将传感器采集到的数据利用数组进行保存,绘制到波形图中显示,程序设计如图2和图3所示。图2程序实现从STM32教学实训平台采集传感器数据和控制执行机构运行功能,首先进行STM32实训平台与PC之间的通信,采用VISA功能实现串口的配置和打开,当平台连接成功后,进入循环程序。在图3中,根据VI前面板上按钮的功能设置,程序实现后按下任一按键,调用VISA函数发送一个字符送至下位机,字符定义已事先约定,从A至M编码,依次代表热敏电阻、光敏电阻、超声波数值显示、继电器开始工作、继电器停止工作、蜂鸣器开始工作、蜂鸣器停止工作、LCD工作和LCD白屏、步进电机启动、环境温度数值显示、下位机接收字符后执行相应的功能,并返回一组数据,显示传感器或执行机构的运行状态,如采样的是传感器的数据,则利用提取数值。VI将串口发来的数据进行解析,将提取的传感器数据保存到数组中,并根据传感器性能参数,利用公式变换将电压模拟值转换为实际温度值、光照强度等物理量,并在图4前面板的数值区域中实时显示,如果是控制执行机构,则返回值表示执行机构当前状态。在程序中,要求按钮在同一时刻只能完成单一功能,以便于直观判断实训平台的某一功能模块的运行状态。图4为调试系统操作界面,该界面设有串口参数设置区域、传感器数值和波形显示区域、按键控制区域。
图2 STM32调试平台传感器检测的部分程序框图
图4 STM32实训平台调试系统界面
本系统采用STM32教学实训平台作为载体,开展嵌入式技术专业课程的教学实训,为便于教学演示,同时也利于现有实训平台的调试,充分利用平台有限的资源进行软件二次开发,将平台的传感器数据检测并通过串口传输至上位机显示,同时通过LABVIEW软件实时显示传感器检测的数据波形,并控制平台的执行机构如直流电机、步进电机、蜂鸣器、继电器以及TFT液晶屏工作,从而达到整体调试功能,本系统既完善了现有教学实训平台,也可将上位机软件用于基于STM32嵌入式系统的调试。
[1]简家文,朱双东,谢建军.虚拟仪器技术在传感器检测技术实验教学中的应用[J].微计算机信息,2009(5):15-18.
[2]杨鹏,史旺旺.基于虚拟仪器技术的传感器实验教学研究[J].实验科学与技术,2006(6):71-73.
[3]史延东,杨萍,宁飞,等.基于LabVIEW的多路温度流量监测系统设计[J].测控技术,2013(8):29-35.
[4]合肥炜煌电子有限公司.STM32实验仪使用手册[Z].2015.
TheDesignofDebuggingSystemforSTM32TeachingPlatformBasedonLABVIEW
LI Min, ZHOU Xian-fei, HU Fei,HE Si-qi
(Institute of Information Engineering, Wuhu Institute of Technology, Wuhu Anhui 241006, China)
In order to promote the STM32 and embedded technology specialty’s teaching practice, make the students can understand the working principle and function realization of STM32 interface circuit directly, and also debug STM32 teaching platform conveniently. Using KEIL to realize the development of training platform software, and it mainly focus on the software design serial communication program using LABVIEW and friendly interactive interface. Through the RS232 to receive and send data, sending various types of sensor data to the host computer display. The host computer can control the execution of the STM32 platform, the interface of the debugging system is intuitive and easy to operate. The system not only improve the STM32 teaching and training platform, but also transplant the host computer software to the embedded training platform.
LABVIEW;STM32;teaching platform
TP274
A
2095-7602(2017)10-0045-04
2017-05-10
安徽省质量工程项目“电子信息类大学生创客实验室建设”(2015ckjh126);安徽省质量工程项目“汽车智能技术特色专业”(2014tszy042);芜湖职业技术学院校级自然科学基金重点项目“基于虚拟仪器的多传感器检测系统设计与实现”(Wzyzrzd201705)。
李 敏(1977- ),男,副教授,硕士,从事检测技术与自动化装置研究。