李 敏,周先飛,胡 飛,何思棋
(蕪湖職業(yè)技術(shù)學(xué)院信息工程學(xué)院,安徽蕪湖 241006)
基于LABVIEW的STM32教學(xué)實訓(xùn)平臺調(diào)試系統(tǒng)設(shè)計
李 敏,周先飛,胡 飛,何思棋
(蕪湖職業(yè)技術(shù)學(xué)院信息工程學(xué)院,安徽蕪湖 241006)
為了有效地開展STM32及嵌入式技術(shù)專業(yè)教學(xué)實訓(xùn),使學(xué)生直觀了解STM32接口電路的工作原理及功能實現(xiàn),同時便于STM32教學(xué)實訓(xùn)平臺的調(diào)試,本文通過KEIL實現(xiàn)已有實訓(xùn)平臺軟件的二次開發(fā),并重點介紹基于LABVIEW的上位機軟件設(shè)計串口通信程序和友好交互界面,通過RS232接收和發(fā)送數(shù)據(jù),將各類傳感器檢測的數(shù)據(jù)發(fā)送至上位機顯示。上位機可控制STM32平臺的執(zhí)行機構(gòu)運行,該調(diào)試系統(tǒng)界面顯示直觀,操作便捷,不僅完善了STM32教學(xué)實訓(xùn)平臺,而且可將上位機軟件移植到相關(guān)的嵌入式實訓(xùn)平臺。
LABVIEW;STM32;教學(xué)實訓(xùn)平臺
基于STM32的嵌入式技術(shù)課程是一門理論和實踐性較強的專業(yè)課,對于電子信息類專業(yè)的后續(xù)課程有著重要的支撐作用。市場上購置的STM32教學(xué)實訓(xùn)平臺,多數(shù)通過KEIL軟件編寫代碼下載到開發(fā)板上運行并通過TFT液晶屏或PC機的超級終端顯示檢測數(shù)據(jù)和控制執(zhí)行機構(gòu),實驗結(jié)果顯示不夠直觀,教學(xué)效果不太理想[1]。
信息技術(shù)的不斷發(fā)展,對嵌入式教學(xué)方法提出了新的要求,教師不僅要能夠通過KEIL軟件講授STM32軟硬件開發(fā),而且能夠利用計算機直觀顯示基于STM32實訓(xùn)平臺的傳感器參數(shù)及特性曲線,以及執(zhí)行機構(gòu)的工作過程,幫助學(xué)生更好地理解嵌入式系統(tǒng)開發(fā)流程。應(yīng)用實訓(xùn)室現(xiàn)有的STM32實訓(xùn)平臺的傳感器和執(zhí)行機構(gòu)代碼進行二次開發(fā),并使用LABVIEW軟件開發(fā)上位機界面,顯示傳感器檢測數(shù)據(jù)和執(zhí)行結(jié)構(gòu)運行情況[2]。LABVIEW軟件在當今儀器儀表界面設(shè)計方面已成為開發(fā)主流,效率較高,編程簡單[3]。因此,將實訓(xùn)平臺的傳感器數(shù)據(jù)通過串口傳輸至上位機,教師可通過軟件界面的操控按鈕控制各類傳感器檢測和執(zhí)行機構(gòu)的運行,最終實時顯示相關(guān)數(shù)據(jù)。
該調(diào)試平臺下位機是采用合肥煒煌電子有限公司的STM32F103C8T6為控制核心的教學(xué)實訓(xùn)平臺,包括STM32F103C8T6核心板、溫度、光敏、熱敏、超聲波等傳感器轉(zhuǎn)換模塊、TFT液晶顯示模塊、矩陣鍵盤以及繼電器、蜂鳴器、直流電機、步進電機等執(zhí)行機構(gòu)[4]。由于原平臺使用的STM32F103C8T6芯片資源有限,提供的原有代碼只能單獨實現(xiàn)各模塊的工作,難以整體調(diào)試。因此,充分利用原有STM32核心板提供的引腳分配,接法如下:STM32的PA9和PA10用于串口的發(fā)送和接收,PA12和PB6用于超聲波傳感器TRIG控制信號和ECHO接收信號,五線四相式步進電機的驅(qū)動信號連接PB3、PB4、PB5和PA11,DS18B20溫度傳感器、熱敏傳感器、光敏傳感器、光電開關(guān)信號輸出端分別連接PC13、PA0、PA1,PC0、PB15則用于繼電器的啟??刂?,PB7用于蜂鳴器啟停控制,PB14用于直流電機啟??刂疲琓FT液晶屏使用PA0-PA7作為數(shù)據(jù)線,PB8-PB13作為控制信號。STM32平臺通過RS232與上位機連接,上位機應(yīng)用LABVIEW軟件開發(fā)操作界面,通過按鍵控制需要檢測的各類傳感器,并能在上位機顯示傳感器的參數(shù)曲線,再通過按鍵控制執(zhí)行結(jié)構(gòu)和液晶屏運行,從而可以整體調(diào)試STM32實訓(xùn)平臺的各模塊功能,直觀判斷實訓(xùn)平臺運行狀態(tài),并改善嵌入式專業(yè)課程教學(xué)效果。
圖1 上位機LABVIEW軟件設(shè)計流程圖
2.1 STM32教學(xué)實訓(xùn)平臺的軟件編程
由于該教學(xué)實訓(xùn)平臺提供的源代碼是基于無操作系統(tǒng)開發(fā)的,且是單一模塊功能代碼,考慮到便于教學(xué)演示和開展實訓(xùn),在現(xiàn)有硬件平臺上進行軟件二次開發(fā),程序包括STM32系統(tǒng)主程序、串口通信程序、熱敏傳感器、光敏傳感器、DS18B20溫度傳感器、超聲波傳感器信號采集程序、外部中斷控制、繼電器、蜂鳴器啟??刂啤FT液晶顯示和關(guān)閉、直流電機、步進電機控制程序等。其中主程序包含串口、GPIO、A/D、D/A、定時器、外部中斷等初始化,串口參數(shù)設(shè)置串口號為COM3、波特率為115200,數(shù)據(jù)位數(shù)為8位,GPIO初始化定義了該實訓(xùn)平臺需使用的功能引腳,主程序采用循環(huán)程序接收上位機發(fā)送的字符編碼A至M,并執(zhí)行相應(yīng)功能。
2.2 PC端LABVIEW軟件設(shè)計
調(diào)試系統(tǒng)的PC端采用LABVIEW虛擬儀器軟件平臺作為開發(fā)環(huán)境,設(shè)計流程如圖1所示,采用VISA進行串口的數(shù)據(jù)發(fā)送和接收,利用按鍵控制每個傳感器或執(zhí)行結(jié)構(gòu)的運行,并將傳感器采集到的數(shù)據(jù)利用數(shù)組進行保存,繪制到波形圖中顯示,程序設(shè)計如圖2和圖3所示。圖2程序?qū)崿F(xiàn)從STM32教學(xué)實訓(xùn)平臺采集傳感器數(shù)據(jù)和控制執(zhí)行機構(gòu)運行功能,首先進行STM32實訓(xùn)平臺與PC之間的通信,采用VISA功能實現(xiàn)串口的配置和打開,當平臺連接成功后,進入循環(huán)程序。在圖3中,根據(jù)VI前面板上按鈕的功能設(shè)置,程序?qū)崿F(xiàn)后按下任一按鍵,調(diào)用VISA函數(shù)發(fā)送一個字符送至下位機,字符定義已事先約定,從A至M編碼,依次代表熱敏電阻、光敏電阻、超聲波數(shù)值顯示、繼電器開始工作、繼電器停止工作、蜂鳴器開始工作、蜂鳴器停止工作、LCD工作和LCD白屏、步進電機啟動、環(huán)境溫度數(shù)值顯示、下位機接收字符后執(zhí)行相應(yīng)的功能,并返回一組數(shù)據(jù),顯示傳感器或執(zhí)行機構(gòu)的運行狀態(tài),如采樣的是傳感器的數(shù)據(jù),則利用提取數(shù)值。VI將串口發(fā)來的數(shù)據(jù)進行解析,將提取的傳感器數(shù)據(jù)保存到數(shù)組中,并根據(jù)傳感器性能參數(shù),利用公式變換將電壓模擬值轉(zhuǎn)換為實際溫度值、光照強度等物理量,并在圖4前面板的數(shù)值區(qū)域中實時顯示,如果是控制執(zhí)行機構(gòu),則返回值表示執(zhí)行機構(gòu)當前狀態(tài)。在程序中,要求按鈕在同一時刻只能完成單一功能,以便于直觀判斷實訓(xùn)平臺的某一功能模塊的運行狀態(tài)。圖4為調(diào)試系統(tǒng)操作界面,該界面設(shè)有串口參數(shù)設(shè)置區(qū)域、傳感器數(shù)值和波形顯示區(qū)域、按鍵控制區(qū)域。
圖2 STM32調(diào)試平臺傳感器檢測的部分程序框圖
圖4 STM32實訓(xùn)平臺調(diào)試系統(tǒng)界面
本系統(tǒng)采用STM32教學(xué)實訓(xùn)平臺作為載體,開展嵌入式技術(shù)專業(yè)課程的教學(xué)實訓(xùn),為便于教學(xué)演示,同時也利于現(xiàn)有實訓(xùn)平臺的調(diào)試,充分利用平臺有限的資源進行軟件二次開發(fā),將平臺的傳感器數(shù)據(jù)檢測并通過串口傳輸至上位機顯示,同時通過LABVIEW軟件實時顯示傳感器檢測的數(shù)據(jù)波形,并控制平臺的執(zhí)行機構(gòu)如直流電機、步進電機、蜂鳴器、繼電器以及TFT液晶屏工作,從而達到整體調(diào)試功能,本系統(tǒng)既完善了現(xiàn)有教學(xué)實訓(xùn)平臺,也可將上位機軟件用于基于STM32嵌入式系統(tǒng)的調(diào)試。
[1]簡家文,朱雙東,謝建軍.虛擬儀器技術(shù)在傳感器檢測技術(shù)實驗教學(xué)中的應(yīng)用[J].微計算機信息,2009(5):15-18.
[2]楊鵬,史旺旺.基于虛擬儀器技術(shù)的傳感器實驗教學(xué)研究[J].實驗科學(xué)與技術(shù),2006(6):71-73.
[3]史延?xùn)|,楊萍,寧飛,等.基于LabVIEW的多路溫度流量監(jiān)測系統(tǒng)設(shè)計[J].測控技術(shù),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
安徽省質(zhì)量工程項目“電子信息類大學(xué)生創(chuàng)客實驗室建設(shè)”(2015ckjh126);安徽省質(zhì)量工程項目“汽車智能技術(shù)特色專業(yè)”(2014tszy042);蕪湖職業(yè)技術(shù)學(xué)院校級自然科學(xué)基金重點項目“基于虛擬儀器的多傳感器檢測系統(tǒng)設(shè)計與實現(xiàn)”(Wzyzrzd201705)。
李 敏(1977- ),男,副教授,碩士,從事檢測技術(shù)與自動化裝置研究。