姚世豪 孫嵐嵐 楊亞男 王瑤 吳振輝
摘要:該文介紹了一款以Proteus仿真軟件為基礎(chǔ),基于STM32嵌入式控制理器為核心的嵌入式實驗教學平臺。面向電子信息類專業(yè)《嵌入式開發(fā)與應(yīng)用》課程實驗教學、綜合實訓、競賽訓練。該仿真平臺借助Proteus+STM32CubeMX+Keil MDK-ARM軟件,可完成GPIO、LCD顯示屏、外部中斷、定時器、串口通信、I2C通信、A/D轉(zhuǎn)換等多種實驗,設(shè)計功能豐富,提高了學生嵌入式微控制器實操的便攜性,降低了相關(guān)專業(yè)嵌入式微控制器課程實操的難度和成本,同時也適用于疫情期間線上課堂實踐操作應(yīng)用型教學。該平臺也已應(yīng)用到了“藍橋杯大賽”嵌入式設(shè)計與開發(fā)組的學習和訓練中。
關(guān)鍵詞:STM32F401RBT6嵌入式藍橋杯大賽 Proteus仿真
中圖分類號:F590-4;G434文獻標識碼:A ? ? ? 文章編號:1672-3791(2022)01(a)-0000-00
Embedded STM32 Simulation Training CcompetitionPlatform
YAO Shihao1 SUN Lanlan1YANG Yanan2*WANG Yao1WUZhenhui1
(1. Technology & Media University of Henan Kaifeng;2. Yellow River Conservancy Technical Institute, Kaifeng, Henan Province, 475002 China)
Abstract: This article introduces an embedded experimental teaching platform based on Proteus simulation software and based on STM32 embedded control processor. It is oriented to experimental teaching, comprehensive practical training and competition training of embedded microprocessor courses for electronic information majors. With the help of Proteus+STM32CubeMX+Keil MDK-ARM software, the simulation platform can complete various experiments such as GPIO, LCD display, external interrupt, timer, serial communication, I2C communication, A/D conversion, etc. It has rich functions and improves students. The portability of the practical operation of embedded microcontrollers reduces the difficulty and high cost of related professional embedded microcontroller courses. It is also suitable for online classroom practical operation and application-oriented teaching during the epidemic. This platform has also been applied The "Lanqiao Cup" embedded design and development team is studying and training.
Key Words: STM32F401RBT6; Embedded;Lanqiao Cup competition; Proteus simulation.
在人工智能技術(shù)、5G、物聯(lián)網(wǎng)迅猛發(fā)展的時代背景下,人與人之間的通信,物與物之間的協(xié)同,都離不開嵌入式技術(shù),嵌入式技術(shù)也正在創(chuàng)造一個新的時代[1]。嵌入式開發(fā)與應(yīng)用相關(guān)課程是電子信息類、計算機類專業(yè)的核心課程。也是一門實踐較強的應(yīng)用型課程,包括硬件電路設(shè)計、軟件電路設(shè)計,以及需要考慮和實際應(yīng)用的結(jié)合[2]。
目前多數(shù)學校的嵌入式開發(fā)與應(yīng)用相關(guān)課程的教學依然是以偏向理論應(yīng)用為主,實驗課在實驗室用試驗箱教學。理論課與實踐脫節(jié),學生上課感覺枯燥。實驗課在實驗室實驗,多人用一臺實驗箱,且時間有限,學生無法充分學習和練習。另外,疫情期間也無法順利完成理論教學與實驗教學的匹配[3]。
該文將Proteus、STM32CubeMX、Keil MDK-ARM軟件聯(lián)合使用,實現(xiàn)在嵌入式開發(fā)與應(yīng)用課程中進行模擬仿真實驗的實踐學習。通過該文設(shè)計的嵌入式仿真實驗平臺,可以使學生在課堂上學習一個知識點的理論內(nèi)容之后及時進行實踐操作,讓學生即學即用,提高了教學效率和學生的學習效率。另外,學生可以在自己電腦上運行,不受實驗室的限制,增加了學習的便捷性,降低學習的成本。該平臺部分設(shè)計,參考了藍橋杯大賽—嵌入式設(shè)計與開發(fā)指定電路圖設(shè)計,學生在學習的同時也可以順便進行參賽的學習訓練。
1 系統(tǒng)主要組成及開發(fā)平臺
該平臺組成部分使用Proteus軟件、以STM32F401RBT6為核心處理器,設(shè)計了一款功能較為完善的實踐競賽訓練平臺。平臺基礎(chǔ)學習部分設(shè)計有8位LED燈,4位獨立按鍵,1位有源蜂鳴器,1個2.4寸的LCD液晶顯示器;平臺傳感器學習部分設(shè)計有2路滑動變阻器,2路IIC通信傳感器:EEPROM存儲器AT24C02、數(shù)字電位器MCP4017,溫度傳感器DS18B20,陀螺儀傳感器ADXL345;擴展學習部分設(shè)計有1路串行通信接口,2路PWM輸入接口,2路PWM輸出接口,以及擴展引腳便于學習者外接其他外設(shè)模塊進行學習和創(chuàng)作。
該文選用的ST公司的STM32F401RBT6作為主控MCU,程序開發(fā)可以選用STM32CubeIDE、IAR Embedded Workbench等開發(fā)工具[4]。為了降低學生初期的學習難度,結(jié)合現(xiàn)階段社會的需求情況,該文教學采用STM32CubeMX+Keil MDK-ARM作為開發(fā)工具,讓學生少關(guān)注芯片底層寄存器相關(guān)配置,更多的時間專注于功能應(yīng)用的開發(fā)。
2綜合仿真平臺基礎(chǔ)學習部分硬件電路設(shè)計
2.1 GPIO輸出功能學習模塊設(shè)計
LED燈是生活中最為常見的光源,學習者對于微處理器的學習基本均是從LED燈的控制開始[5],對LED的控制也是學習嵌入式微處理器GPIO輸出功能的最簡單的外設(shè)器件。
該文仿真平臺采用8路LED燈共陽極設(shè)計,LED燈負極連接74HC573鎖存器的數(shù)據(jù)輸入引腳,通過74HC573鎖存器控制其亮滅。74HC573鎖存器的輸入引腳連接主控MCU的PC8—PC15引腳,74HC573鎖存器的使能引腳連接主控MCU的PD2引腳,MCU通過控制PD2、PC8—PC15引腳,控制LED燈的亮滅。如圖1(a)所示。
2.2 GPIO輸入功能學習模塊設(shè)計
作為人機交互的關(guān)鍵部件,按鍵是是各類產(chǎn)品設(shè)計中都不可缺少,對按鍵的識別也是學習嵌入式微處理器GPIO輸入功能的最簡單的外設(shè)器件[6]。
該文采用4路觸動按鍵低電平有效設(shè)計作為輸入電路,觸動按鍵的一端接系統(tǒng)GND,按鍵的另一端通過一個10K的上拉電阻與MCU的PB0、PB1、PB2、PA0這4個引腳連接。在沒有按鍵按下的時候,因上拉電阻的作用,GPIO口檢測電平為低電平。當按鍵按下的時候,GPIO口檢測電流為低電平。電路設(shè)計如圖1(b)所示。
2.3 蜂鳴器電路設(shè)計
蜂鳴器是一種電子訊響器件,仿真平臺采用有源蜂鳴器設(shè)計,蜂鳴器的負極輸入端連接電路板的系統(tǒng)GND,蜂鳴器的正極端是MCU的PB3引腳控制一個NPN三極管的飽和截止來控制蜂鳴器的開啟,電路設(shè)計如圖1(c)所示。
2.4 LCD液晶顯示屏學習模塊設(shè)計
LCD液晶顯示器是廣泛使用的一種字符型液晶顯示器件,可以進行各種字符的顯示,嵌入式開發(fā)與應(yīng)用課程的學習也離不開對于高分辨率顯示器的應(yīng)用。
該仿真平臺設(shè)計采用Proteus提供的2.4〞RGB顯示屏,驅(qū)動為ILI9341,分辨率為320*240,可以使學生更加充分地進行內(nèi)容的顯示。該文設(shè)計顯示屏的底層驅(qū)動直接提供給學生,使學生無需關(guān)注底層硬件的初始化,直接調(diào)用相關(guān)顯示屏函數(shù)進行LCD顯示屏的操作。該電路設(shè)計LCD顯示屏的數(shù)據(jù)引腳與MCU的PC0—PC16連接,控制引腳CS、SCL、WR、RD與MCU的PB9、PB8、PB5、PA8引腳連接,使用16位數(shù)據(jù)線和控制線進行操作。電路設(shè)計如圖2所示。
3綜合仿真平臺傳感器學習部分硬件電路設(shè)計
3.1 IIC總線學習外設(shè)模塊設(shè)計
IIC總線是嵌入式開發(fā)中應(yīng)用非常廣泛的一種同步串行通信協(xié)議,存在多種傳感器和芯片的使用中。
該文設(shè)計EEPROM存儲器AT24C02芯片和數(shù)字電位器MCP4017芯片兩個IIC通信設(shè)備,掛載在一條IIC通信總線上,使學習者可以充分地學習IIC通信協(xié)議、地址操作等,同時學習常用存儲器件EEPROM數(shù)據(jù)存儲應(yīng)用,以及數(shù)字電位器的原理和使用。電路設(shè)計IIC通信總線的時鐘線為連接MCU的PB6引腳,數(shù)據(jù)總線連接MCU的PB7引腳。AT24C02電路設(shè)計如圖3(a)所示,MCP4017電路設(shè)計如圖3(b)所示。
3.2 ADC模數(shù)轉(zhuǎn)換學習外設(shè)模塊設(shè)計
ADC模數(shù)轉(zhuǎn)換是生產(chǎn)生活中常用功能之一,該文使用滑動變阻器進行模數(shù)轉(zhuǎn)換的學習,工作原理是通過改變接入電路部分改變電阻的阻值,從而改變輸出的電壓值。
該文設(shè)計2路10K阻值的滑動變阻器,使學習者可以學習多通道AD采集的應(yīng)用,滑動變阻器的電阻兩段分別與系統(tǒng)電源VCC連接和系統(tǒng)GND連接,兩個滑動變阻器分壓管腳分別與MCU的PA1、PA3引腳引腳連接,電路設(shè)計如圖3(c)所示。
4綜合仿真平臺擴展學習部分硬件電路設(shè)計
4.1 串口通信學習外設(shè)模塊設(shè)計
串口通信作為嵌入式學習過程中不可或缺的通信協(xié)議,在Proteus平臺下進行串口通信的學習需要計算機安裝VSPD虛擬串口軟件聯(lián)合使用。
該文設(shè)計使用STM32F401RBT6芯片的UART1作為串行通信引腳,調(diào)用Proteus軟件的VirtualTermnal控件監(jiān)控串行口數(shù)據(jù)的收發(fā)信息作為調(diào)試接口,同時也可以在LCD顯示屏進行顯示。為充分模擬實際電路板,電路設(shè)計同時使用Proteus提供的COMPIM控件并在計算機上安裝的VSPD虛擬串口工具、配合串口調(diào)試助手聯(lián)合調(diào)試,電路設(shè)計如圖4-(a)所示。
4.2 PWM輸入與檢測學習外設(shè)模塊設(shè)計
STM32微控制理器擁有功能豐富的定時器資源,PWM的輸入和檢測是對定時器功能的充分學習最為合適。
該文使用NE555組合電路波形發(fā)生器,設(shè)計兩路PWM輸入通道,可分別使用滑動變阻器調(diào)節(jié)其頻率和占空比,該兩路輸入通道分別接入MCU的PA15、PB4引腳。兩路PWM輸出通道設(shè)計使用MCU的PA2和PA4引腳。四路PWM輸入輸出引腳調(diào)用Proteus的虛擬示波器控件進行對比驗證。其中一路PWM產(chǎn)生電路設(shè)計如圖4(c)所示,Proteus的虛擬示波器控件如圖4(b)所示。
4.3 其他外設(shè)模塊預留擴展引腳
該文設(shè)計嵌入式虛擬仿真平臺設(shè)計,已可以滿足整個學期的教學任務(wù)實驗需求,便于學習者在課下進行更多其他外設(shè)的學習,預留PA5、PA6、PA7、PA11、PB10、PB14等引腳,學生可以自行使用Proteus添加模塊進行實踐和創(chuàng)作。
5 結(jié)語
限于篇幅,該文關(guān)于系統(tǒng)軟件設(shè)計方面未能做詳細介紹。該文設(shè)計的嵌入式STM32仿真實訓競賽平臺,歷經(jīng)一個學期的教學使用,提高了學生嵌入式微控制器實操的便攜性,降低了課程實操的難度,滿足了學生課下隨時學習的需求,效果顯著。該平臺也為嵌入式微處理器相關(guān)課程在疫情期間線上教學提供了教學方案,同時也已應(yīng)用到了“藍橋杯大賽”嵌入式設(shè)計與開發(fā)組的學習和訓練中。
參考文獻
[1] 馬云鶯.基于便攜開發(fā)板的嵌入式實驗課程教學改革[J].通訊世界,2020,27(6):157,159.
[2] 龍祖連.基于STM32CubeMX圖形化編程教學改革的研究[J].電子制作,2021(10):47-49.
[3] 顧愷琦,韓建峰,徐福敬,等.嵌入式開發(fā)創(chuàng)新教學平臺的設(shè)計與實現(xiàn)[J].物聯(lián)網(wǎng)技術(shù),2018,8(10):116-118,120.
[4] 陸小飛,孫海燕.“嵌入式系統(tǒng)”教學實驗開發(fā)板的設(shè)計[J].科技資訊,2020,18(21):49-50,54.
[5] 羅清龍,馮敏,李清濤.基于STM32CubeMX嵌入式實驗教學改革實踐[J].計算機教育,2018(1):155-158.
[6] 歐建開,楊吟野,岑偉富,等.基于Proteus的STM32嵌入式虛擬實驗平臺設(shè)計[J].電子技術(shù)與軟件工程,2019(10):195-196.