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