崔軍 高華 張月明 趙鵬
摘 要: 嵌入式系統課程是一門實踐性要求很高的電子類專業基礎課程。本文嘗試總結一套指導學生如何在學習課程的同時快速地制作課程實驗板并完成課程設計。實踐證明,該方法對于提高教學質量和學生素質是很顯著的。
關鍵詞: 嵌入式系統 ARM μC/OS-Ⅲ
引言
嵌入式系統是一個很寬泛的概念,我們一般將以應用為中心,以計算機技術為基礎,軟件硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統稱為嵌入式系統。近十年來,隨著當前各行各業對單片機能力的要求越來越高,如主頻高、功耗低、外設多、互連方便、支持操作系統等,嵌入式處理器市場正在32位化,ARM芯片以其高性價比取代51芯片成為嵌入式系統設計的新寵,同時μC/OS-Ⅲ嵌入式操作系統因源碼獲取方便成為嵌入式系統學習的首選對象。
在實際教學中發現:(1)學生拘泥于嵌入式軟硬件知識細節,不能從嵌入式產品的系統層面和設計過程中整體地動態地了解、理解和掌握嵌入式系統設計知識;(2)學生太過依賴學院實驗室現有的嵌入式實驗箱或自己購買的嵌入式開發板,不敢或很少嘗試設計并制作自己的嵌入式開發板;(3)學生對嵌入式操作系統了解有限,忽視相關開發工具的使用與掌握。
本文將從嵌入式系統課程實驗板DIY(Do It Yourself)開始,探索課程實驗板DIY自主實驗指導方法,嘗試通過適當的適度的DIY實驗操作指導,訓練學生在規定的時間內和有限的成本下制作自己的嵌入式系統實驗板,培養學生進一步自主探索學習嵌入式系統知識的興趣。
1.研究目標與關鍵問題
1.1研究目標
依據《嵌入式系統》課程教學內容,研究課程實驗板DIY教學方法,制定課程實驗板DIY指導手冊,指導學生逐步DIY自主制作自己的課程實驗板,讓學生在實踐課程實驗板DIY過程中親身領會并掌握嵌入式系統軟硬件設計方法,并最終基于ARM Cortex-M3微處理器和實時操作系統μC/OS-III搭建嵌入式系統的軟硬件平臺,完成課程實驗并定制特色功能。
1.2關鍵問題
(1)如何讓學生快速設計、投板、焊接并調試自己的ARM實驗板,并且時間和成本可控。
(2)如何讓學生在自己的ARM實驗板上主動探索來完成課程實驗,并且及時總結相關問題和對應的解決方案。
2.《嵌入式系統》DIY實踐
借助當前便利的電路板PCB制作與生產工藝,在課程實驗板DIY指導手冊幫助下,指導學生逐步完成課程實驗板DIY實踐。
值得一提的是,當前電路板PCB打樣雙面板價格50元/款起,尺寸大小10cm*10cm以內,完全滿足課程實驗板制作要求。
2.1實踐任務布置
在《嵌入式系統》授課之初,強調嵌入式系統課程實踐的重要性,引導學生思索如何動手實踐。然后發布課程設計任務,要求自己動手制作ARM最小系統板,運行μC/OS-III操作系統,滿足課程各項實驗要求,定制開發自己的特色功能。
說清楚兩個限制:(1)必須使用ARM Cortex-M3微處理器和μC/OS-Ⅲ實時操作系統;(2)必須在一學期內完成(大約3個月)并且成本可控(100元左右)。
2.2實驗板硬件制作
針對選定微處理器芯片(如ARM STM32F103),提供課程實驗板原理圖,僅涉及最小系統板硬件(包括ARM芯片、晶振、SWD調試、USB供電模塊)和課程實驗所需硬件支持(包括基于GPIO的LED和KEY,以及UART模塊)。芯片管腳全部基于排線引出,便于學生后續的擴展實驗。考慮到學生可能初次進行PCB制版,因此實驗板PCB圖提供半成品,完成最后的布線。
當然,學生完全可以部分或全部修改實驗板原理圖和PCB圖,前提是學生必須有電路板制版經歷。強烈建議初學者不要做太多的修改,而是完成剩下的PCB布線,并投板、焊板,進而編程與調試。
本階段計劃時間兩周,可階段驗收成果為:(1)絲印學生姓名的PCB空板;(2)焊接完成的ARM實驗板。
2.3實驗板程序練習
實驗板程序分為兩部分,本著簡單易學和循序漸進的學習原則,依據《嵌入式系統》課程教學內容,僅涉及LED、KEY和UART三個常見外設,訓練內容包括ARM裸板程序和操作系統程序兩部分,下表僅列舉部分實驗內容。
在此過程中,為了調動學生積極主動性,可以實行一定的獎勵措施,如通過額外的平時分鼓勵學生,將在硬件制作與軟件編程實踐過程中遇到的問題和對應的解決辦法記錄下來,并通過教師確認后集中發布給各位學生以參考。
本階段時間持續整個學期,可階段驗收成果為課后作業和實驗報告。
2.4特色功能實現
學生通過在ARM實驗板硬件基礎上擴展功能模塊,基于μC/OS-III任務程序實現自己的特色功能,如紅外測距、溫濕度采集、小車控制等,并完成課程設計報告。
課程設計報告內容包括:(1)課程設計簡述,闡述目的、內容和意義;(2)需求分析,闡述功能需求、技術指標、設計約束;(3)總體方案設計,涉及系統框圖、功能框圖、業務流程圖等;(4)硬件設計,涉及硬件框圖、器件選型、模塊電路圖等;(5)軟件設計,涉及軟件框圖、關鍵數據結構、核心模塊流程圖等;(6)系統測試,包括測試目的、測試步驟、測試結果、結果分析;(7)附錄,主要包括擴展的功能原理圖和關鍵代碼。
本階段時間為學期的最后兩周,可階段驗收成果為課程設計實物和報告。
結語
經過近三年的嵌入式系統課程教學實踐,初步形成一套比較完整的自主實驗指導方法和對應的實驗板DIY指導手冊,已成功指導百余名學生制作自己的ARM實驗板,并實現自己設計的特色功能。
參考文獻:
[1]石海貝,任秀峰.淺談嵌入式系統的應用與開發[J].信息與電腦:理論版,2010(2).
[2]江維,桑楠.面向高等教育的嵌入式系統教學改革[J].計算機教育,2011(16).
[3]王振華,劉慧芳.嵌入式軟件開發實踐教學改革與探索[J].教育教學論壇,2016(34).
[4]楊曉敏,趙潤林.《嵌入式系統開發》實踐教學改革研究[J].福建電腦,2016,32(8).
[5]凌青華,韓飛,王長寶.翻轉課堂教學模式在《計算機硬件技術基礎》課程中應用初探[J].高教論壇,2016(8).