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