浙江東方職業技術學院信息傳媒與自動化學院 鄭定超
基于STM32的嵌入式實驗教學平臺設計
浙江東方職業技術學院信息傳媒與自動化學院 鄭定超
針對嵌入式系統在教學中存在的困難,為了方便學生理解和掌握嵌入式知識,設計了一款基于STM32的嵌入式實驗教學平臺,介紹了系統的硬件設計方案。平臺不僅提供單片機最小系統,還提供所有I/O口資源和部分外設,方便學生進行基礎性操作和擴展設計;同時介紹了基于本平臺的部分實驗。從實訓課程的使用效果來看,學生對嵌入式知識的掌握有了顯著的理解和提高。
嵌入式系統;實驗教學;STM32
嵌入式系統(Embedded System),是以用戶需求為中心、計算機技術為基礎,能進行軟硬件裁剪,適用于對功能、可靠性、成本、體積、功耗等要求具有嚴格標準的專用計算機系統[1]。目前,隨著物聯網技術和其他相關技術的飛速發展,嵌入式系統已經滲透到社會生活的各個方面,成為當前最熱門的研究領域之一。
由于嵌入式系統設計涉及到許多方面的知識,包括硬件設計開發部分、軟件設計開發部分,以及綜合調試部分;因此嵌入式系統不能成為一個單獨的學科,它與許多的學科知識都有交叉。無論是在我國的高職院校還是本科院校中,"單片機技術"這門課程在電氣、電子、機電、自動化等專業中都有著十分重要的地位,與電路、計算機、程序開發等課程都有著緊密聯系,互相依托,互相交融。為了使學生更好地學習開發嵌入式系統,理解掌握嵌入式技術重難點,總結過去的實踐教學經驗,設計了一款基于STM32的單片機實驗教學平臺。通過此平臺,旨在促進學生的工程實踐能力,培養學生的創新意識;此平臺還可以適用于課程實驗驗證、設計,畢業設計等教學環節。
當前,大部分學校的單片機課程教學還是以51單片機為主,51單片機因為結構簡單、價格低廉、簡單易學的特點受到廣泛的關注和應用。但是,隨著科學技術的不斷進步以及項目要求的不斷提高,傳統的51單片機已經不能滿足用戶的需求。因此,設計一款基本功能完善、性能良好、容易學習的嵌入式實驗教學平臺就很有意義。
STM32系列基于為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM Cortex-M3內核,相比較51單片機性價比高很多,因此設計一款基于STM32的單片機實驗教學平臺就很有必要。
STM32F103系列芯片是意法半導體(ST)公司推出的一款32位ARM微控制器,其內核是Cortex-M3.Cortex-M3作為ARM7的后繼者,采用了全新的設計架構,從而顯著地簡化了編程和調試的復雜度,處理能力也大大增強。Cortex-M3采用哈佛結構,使程序指令和數據分開進行存儲,內核中集成了中斷控制器方便用戶進行中斷管理[2]。
圖1所示是Cortex-M3處理器的內部結構圖。
1.1 總體方案設計

圖1 Cortex-M3處理器內部結構圖
STM32系列單片機具有豐富的外設資源,功能強大,此次設計以STM32F103RCT6作為MCU,根據芯片手冊設計單片機最小系統,同時增加相應的外設構成一個完整的單片機實驗教學平臺。此平臺包括輸入模塊、單片機最小控制系統以及輸出模塊。
圖2所示是此次教學平臺的總體方案框圖。

圖2 系統總體方案框圖

圖3 MCU模塊電路原理圖
本系統主要有USB一鍵下載/供電電路和JTAG下載調試電路,方便用戶取電、下載調試程序;同時引出STM32單片機的所有I/O口資源,方便用戶擴展和測試。此外開發平臺包括按鍵電路、溫濕度電路、顯示電路、LED電路,以及還有無線模塊等其他擴展電路,可以方便學生根據自身的需求進行不同的單片機系統設計。根據電路功能,整個系統分輸入模塊,MCU控制模塊和輸出模塊,學生可以分模塊進行實驗也可以設計整個單片機控制系統。
1.2 MCU控制模塊
教學平臺采用STM32F103RCT6作為控制芯片,根據芯片手冊設計電源電路、時鐘電路、時鐘電路構成單片機最小系統。同時設計了BOOT啟動電路,引出了芯片的I/O口資源,方便學生進行實驗和創新擴展。
圖3所示是該實驗平臺的MCU控制模塊電路。
1.3 輸入模塊
一個完整的單片機控制系統都有輸入部分用以信息的采集,就像一臺完整的電腦就一定有鍵盤鼠標一樣。本平臺的輸入模塊只要有按鍵電路和溫濕度接口電路,其中按鍵電路提供了多種接法。學生既可以根據現有的電路進行操作驗證性實驗,也可以自行設計。
圖4所示是該實驗平臺提供的輸入模塊電路原理圖。
1.4 輸出模塊

圖4 輸入模塊電路原理圖
本平臺提供的輸出方式主要有兩種,LED發光二極管和LCD液晶顯示屏顯示。因此該設計包括LED顯示電路和LCD液晶接口電路。學生可以根據實際需求選擇不同的顯示方式,或者自行對I/O口擴展設置輸出方式。
圖5所示是平臺的輸出模塊電路原理圖。
1.5 其他模塊

圖5 輸出模塊電路原理圖
除了輸入、控制和輸出模塊,本平臺還設計提供了無線模塊接口電路、USB一鍵下載/供電電路和JTAG下載調試電路[3],方便學生進行其他實驗的操作,有利于掌握STM32的相關知識。
圖6所示是該部分的電路原理圖。
本實驗平臺除了提供基于STM32的最小開發系統外,還提供了部分外設功能,適合學生由淺到深地了解單片機的原理。學生不僅可以進行基礎的實驗操作,還可以根據需求自己進行設計。為了提高學生的學習效果,配合課程教學,在理論學習的同時能進行動手操作實踐,本平臺設計了基礎類實驗和設計類實驗方便學生學習操作;此外系統引出了STM32芯片的所有I/O口資源,學生可以自行設計和創新。
表1所示是本平臺提供的部分實驗列表。

圖6 其他模塊電路原理圖

表1 學生選擇喜歡的新課導入方式的比例(%)
2.1 基礎類實驗
為了讓學生熟悉嵌入式系統開發環境和電路原理,對嵌入式控制系統有一個初步的了解和認識,本平臺提供基礎類實驗,幫助學生理解和掌握STM32芯片的GPIO引腳、系統時鐘、中斷系統等相關知識。
以跑馬燈實驗為例,這個實驗是最基礎的一個實驗項目,主要涉及到STM32芯片的GPIO引腳的知識。通過此實驗,學生能掌握GPIO口的工作原理及相關操作。GPIO口初始化的部分代碼如下:
RCC->APB2ENR|=1<<2;//使能PORTA時鐘
GPIOA->CRH&=0XFFFFFFF0;
GPIOA->CRH|=0X00000003;//PA8推挽輸出
GPIOA->ODR|=1<<8;//PA8輸出高
2.2 設計類實驗
為了培養學生熟練運用所學知識進行分析解決問題的能力,本平臺提供了部分外設用以設計實驗,將多個知識點結合在一起,讓學生可以設計出一個完整的單片機控制系統,幫助學生掌握嵌入式系統的設計與開發。

圖7 溫度控制系統結構框圖
一個完整的嵌入式控制系統應包含輸入、控制和輸出三大部分。以溫度控制系統設計為例,由溫度傳感器采集溫度信號,經過單片機處理后經顯示屏顯示,可以清楚直觀地讀取溫度信息。
溫度控制系統的結構框圖如圖7所示。
隨著物聯網技術的普及,嵌入式系統設計的相關課程已成為當前各大高校最普遍開設的課程之一。由于嵌入式系統自身的特點決定了學習的困難性,本平臺提供了單片機最小系統,引出了所有I/O口資源,方便學生掌握基礎知識;此外提供了部分外設,從輸入、控制到輸出構成一個完整的系統設計,為學生的創新設計提供了思路。此外本平臺提供了USB一鍵下載電路、JTAG調試電路,方便學生進行平臺操作;下一步我們將分析學生的實訓課程效果,進一步對該平臺進行改進和完善,增加實驗平臺的實驗設計和外圍擴展。
[1]劉科征,黃俊,漆晶。基于STM32的嵌入式系統實驗平臺設計[J]。數字通信,2013,06:85-87+92.
[2]王鵬舉,鄭麗姣。STM32嵌入式處理器模塊化實驗平臺設計與實現[J]。軟件導刊,2016,05:90-91.
[3]劉敏。基于嵌入式系統實驗平臺的設計與實現[J]。軟件,2014,02: 41-42+45.
[4]姚文詳,宋巖。ARM Cortex-M3權威指南[M]。北京航空航天大學出版社,2009.
鄭定超(1991-),浙江溫州人,碩士研究生,現工作于浙江東方職業技術學院,主要研究方向:嵌入式控制與計算機軟件控制。