楊澤林+何莉+陳亮文


摘 要: 設計了以ARM LPC2148 MCU為核心的ARM嵌入式系統課程教學輔助系統。系統硬件設計包含了最小系統、串行通信及程序下載接口電路,矩陣鍵盤和可以用作中斷輸入的獨立按鍵、字符和點陣LCD等組成的輸入/輸出人機界面接口;軟件設計配備了系統的教學例程、完整的Proteus電路原理圖和相關硬件模塊的應用程序包。實踐證明,該教輔系統對嵌入式系統課程的課堂教學、實驗教學以及學生課外競賽科研等都起到了很好的輔助作用,能很好地幫助學生學習掌握嵌入式系統的應用開發技術,并有助于學生自主學習能力和工程素質的培養。
關鍵詞: ARM嵌入式系統; 教學輔助系統; 教學實踐; 自主學習能力
中圖分類號:TP368;G642 文獻標志碼:A 文章編號:1006-8228(2017)03-40-04
Abstract: This paper introduces a teaching assistant system for ARM embedded system course based on ARM LPC2148 MCU. The system hardware design includes the minimum system, the serial communication and program download interface circuits, the matrix-keyboard and the independent keys used as the interrupt input, and the character LCD and dot-matrix LCD interface. The software design includes the standard project template of ARM embedded system, complete Proteus circuit schematic and the application package for the related hardware modules. Proved by the teaching practice, the teaching assistant system plays a good supporting role in the classroom teaching of embedded system courses, and in the experiment and practice training of embedded system courses, and in the students' extracurricular scientific researching. It also effectively helps students learning to master the technology of embedded system, and helps to the students' autonomous learning ability and engineering quality training.
Key words: ARM embedded system; teaching assistant system; teaching practice; autonomous learning ability
0 引言
隨著嵌入式軟件技術的發展,高校對嵌入式系統應用型人才的培養日益重視[1-5]。國內很多高校在電子類、儀器類、計算機類等專業都開設了嵌入式系統課程。其課程特點:①軟硬件技術相結合,專業性、綜合性強;②嵌入式系統是將計算機技術、半導體技術、電子技術與各個行業的具體應用相結合,實用性強。③門檻高,要求學生具有相應的專業基礎素質及自主學習能力。其教學大綱要求通過課程學習,學生能夠掌握基本的嵌入式系統設計、開發和調試方法。但是在實際教學中往往發現“學生理論學習理解困難,實驗過程與理論知識融合困難以及課程綜合設計能力差”等問題,而且目前的實驗裝置普遍追求功能強大,實驗內容廣,配置高檔等指標,使得裝置的軟硬件復雜,忽視了學生的實際情況,學生很難在課時內實現對裝置的理解掌握以及達到課程的教學目的要求。
根據我校的實際情況,考慮學生學習的個體差異,本著簡單易懂,實用方便原則,緊密結合課堂教學內容,細分教學例程,研發設計了ARM嵌入式系統課程教學輔助系統,學生和教師每人一套。該系統作為嵌入式系統課程基礎階段的輔助教學裝置,既可以在理論課堂上幫助教師很好地展現授課內容,又可以在實驗和課程設計等實踐教學環節中作為便攜的實用開發工具,幫助學生切實地掌握ARM嵌入式系統的開發技術,提高學生的工程實踐動手能力。
1 教學輔助系統設計
1.1 硬件設計
如圖1所示,該教學輔助系統以經典的ARM7 LPC2148/38 MCU為學習對象,分為核心板和擴展板兩部分,配有串口通信/ISP下載控制接口,USB接口等常用接口,擴展有矩陣鍵盤,可以用作中斷輸入的獨立按鍵,字符/點陣LCD顯示接口等輸入/輸出人機界面接口。系統基本功能齊全,所有引腳及電源均有引出,體積小,攜帶方便,便于學生自主擴展應用。
1.1.1 ARM處理器
系統MCU采用ARM7系的一款經典產品ARM LPC2148/38 MCU作為系統的核心CPU。其引腳少,功能模塊較為齊全,配有512KB的高速Flash存儲器和32KB的RAM,具有豐富的外設資源。它還含有向量中斷控制器,可配置中斷優先級和向量地址,片內Boot裝載程序可以實現ISP/IAP編程,具有空閑和掉電兩種低功耗模式,并且可通過外部中斷喚醒[6]。ARM LPC2138/48 MCU工作原理簡單且具有強大的處理和控制功能,同時在proteus仿真軟件和keill編程軟件中均支持該MCU,因此特別適合用于ARM嵌入式系統課程基礎階段的教學與學習。
1.1.2 串口通信接口及ISP電路
串口通信使用的是LPC2148/38 MCU的串口0。LPC2148/38 MCU的串口0是其主要組成部分之一,不僅可以用于學習與PC機的串行通訊,配以相應的ISP電路后,PC機借助編程軟件還可以將應用程序直接下載到MCU中,從而降低了教輔系統的使用要求,方便了實踐教學的需要。
1.1.3 USB接口及電源
為了使用方便,教輔系統直接利用PC機USB接口為其供電,無需額外配接電源。同時LPC2148 MCU自備有USB2.0從控制器,配以相應的接口電路后,可以方便地進行關于USB的相關教學,有效地提高了系統功能資源的利用率。
1.1.4 輸入/輸出及引腳擴展
為了提高教輔系統的通用性、實用性和擴展性,同時兼顧教學案例的需要,在系統擴展板中設計了顯示接口、鍵盤輸入端口、A/D采集及調節電位器、LED及蜂鳴器輸出以及相應的電源輸入輸出端口。在系統擴展板中將MCU的P1端口用于字符LCD(LM1602)與點陣LCD(QC12864)共用輸出,配合矩陣鍵盤輸入端口,以及AD采集及兩個電位器分別設計有相應的教學案例,有效地降低了學生的使用難度,提高了學生對嵌入式系統技術的直觀理解。在擴展板上還通過插針引出了對應的全部引腳和電源,極大地方便了學生對其他應用硬件電路的設計,這也對教輔系統實現進一步的應用開發使用提供了便捷。
1.2 軟件設計
軟件設計工作主要體現在開發環境搭建、驅動開發,應用開發及SDK程序的移植等方面。
1.2.1 開發環境搭建
該教輔系統的軟件開發環境搭建主要是Proteus仿真軟件,Keill開發軟件,Flash Magic編程下載軟件安裝,以及項目工程的建立與配置,程序文件的新建與添加,工程的編譯與鏈接,電路原理圖的繪制,程序下載與仿真運行,程序糾錯等。這是學習嵌入式系統不可繞開的基礎環節,學生在實際學習過程中容易出錯,導致學習的自信心受挫。根據這一特點,除了在課程學習資料中細分教學例程講解、對關鍵步驟進行詳細注解外,還在教學過程中要求學生跟著教師逐步操作學習,而且寫出書面總結作業,確保學生在嵌入式系統學習中能順利邁出這第一步。
1.2.2 例程開發
例程開發是幫助學生更好地進入嵌入式系統技術學習的有效方式,既是理論課堂授課的范例教學,也是實踐教學的應用例程。因此,例程設計至關重要,它不僅是對課程教學內容的驗證,也能使學生加深和鞏固對嵌入式系統技術的認識,是合理組織教學內容、設計教學例案、幫助引導學生自主學習提高實踐創新能力的主要方式。例程開發設計按照單元模塊知識架構以及系統開發應用的連續性,遵循“從基礎開始,由簡而難,從小模塊到大系統,應用與原理并存”的原則,設計了教學基礎例程與教學綜合例程?;贏RM嵌入式教輔系統設計的教學基礎應用例程有10個,涉及了對系統的基本認識、驗證以及基本使用等工程應用實踐的各個方面,如表1所示。
教學綜合例程主要是將ARM LPC2148硬件資源、教學案例及其他應用所涉及內容的驅動程序,應用程序集合在一起,供學生閱讀和參考,方便學生在練習中模仿和借鑒,幫助學生逐步過渡到獨立自主應用開發階段。同時,通過綜合教輔案例,為學生建立嵌入式系統開發的規范與好的應用習慣打下基礎?;贏RM嵌入式教輔系統設計了近30余道綜合訓練題目,學生可在綜合實驗和課程設計環節自主選擇訓練,進度快的學生也可在此基礎上進一步發揮,提高嵌入式產品開發和設計能力。
2 教學應用
ARM嵌入式系統相較于其他單片機應用技術等專業基礎課程教學而言,ARM芯片資源豐富,實際應用廣泛,具有綜合性、實踐性強的特點,學生不容易理解和掌握。因此在教學中要以應用為主,強調體系結構及實用的設計開發技術等工程實踐概念,基于教輔系統配以相應的例程項目及實踐,結合項目驅動式教學模式[7-8],在課堂教學、實驗教學以及課程設計實踐環節中進行項目分解講授,直觀、實用,引導學生自主學習,由淺入深,由易到難,由基礎到綜合,切實讓學生從硬件到軟件,再從軟件到硬件實現對嵌入式系統技術的完整認識。
2.1 課堂教學應用
在課堂教學中,以應用為主,借助教輔系統,幫助學生了解嵌入式系統的特點,理解嵌入式系統的基本構成(微處理器、存儲器、外設驅動和I/O接口、電源管理、硬件調試等);認識嵌入式操作系統,知道操作系統內核,能夠對內核進行移植、修改和裁減;掌握某一種嵌入式操作系統,能夠構建嵌入式軟件的開發環境,編寫一些基本的嵌入式設備的驅動程序等。同時,在傳統教學模式的基礎上,重新調整學時分配,部分引入翻轉課堂教學模式,以例程教學和項目開發驅動教學內容的更新,課堂教學更多的輔以實際范例演示講解和回答學生在課外實踐環節中出現的問題,提高學生對嵌入式系統技術的認識和掌握程度。在Proteus仿真軟件和教輔系統的支持下,加大實際編程訓練內容,針對講授內容獨立設計立足于基本概念原理的例程,根據學生個體差異提出不同的任務要求,至少要求學生能跟著教師操作演示,在訓練過程中再學習和升華講授的知識。
2.2 課程實驗應用
嵌入式系統是一個綜合性、實踐性強的軟硬件設計開發平臺,實驗教學是重要環節,實驗教學是嵌入式系統課堂教學的重要延伸。在實驗教學中以教輔系統為載體設計實驗內容,配合課堂教學,能更好地幫助學生建立對嵌入式系統的完整認識。實驗教學除了設計有基礎的ARM嵌入式教學內容,如應用開發入門實驗、基礎接口和顯示實驗,還有提高的ARM嵌入式教學內容,如音頻、麥克風、SD卡、觸摸屏等擴展接口實驗,UART驅動與應用、LCD驅動及應用、USB接口、PWM驅動及應用等等,基本滿足目前嵌入式系統初級階段的教學需求。經過實際教學應用證明:借助該教輔系統進行實驗教學,學生能有效地認識掌握嵌入式系統實驗裝置的開發環境及軟硬件設計方法,理解對應的教學內容與教學目標,提高了學習主動性和實踐動手能力。
2.3 課程設計應用
在課程設計教學環節,以教輔系統為支撐設計了近30組綜合訓練內容,如電子日歷制作、音樂播放器、直流電機調速、正弦波示波器、條碼掃描顯示等,供學生自主選擇。由于該系統不僅提供了LPC2148/38的所有硬件資源,還提供了有關輸入/輸出的SDK,大大節省了ARM基礎軟硬件平臺搭建的時間,使學生將主要精力和時間放在應用開發上,課程設計的效果和質量明顯得以提高,而且學生還可在此教輔系統基礎上自行研發應用項目,參與各級課外科研競賽活動,效果良好。學生借助于該教輔系統進行綜合應用學習,可掌握和鞏固嵌入式系統應用技術的基本原理,掌握了32位ARM單片機和嵌入式操作系統應用的基本技術,能夠完成一些簡單的項目研發,他們走出校園能盡快適應相應的工作崗位。
3 結束語
該教輔系統已經在我校測控專業兩屆學生的教學中投入使用。該教輔系統將課堂教學、課程實驗、課程設計教學環節無縫連接在一起,并可直接應用于其他課外實踐的開發應用中,使得嵌入式系統課程的教學體系具有更好的系統性、實用性和連續性,基本解決了嵌入式系統課程難教、難學、難懂的系列問題。同時該教輔系統也使得嵌入式系統課程的課堂教學更加具體形象化,互動性更好,實驗教學內容更加豐富,學生設計制作參與性更強,明顯改善了學生以往對理論知識學習的茫然和不明確性,以及對實驗裝置的畏難情緒,提高了對理論學習和實驗的興趣,培養和鍛煉了自主學習能力和工程實踐能力。
參考文獻(References):
[1] 油海東.基于ARM-Linux的嵌入式系統開發平臺教學實驗研究[J].中國現代教育裝備,2012.147(11):15-17
[2] 陳偉,林訓超.Cortex時代的ARM教學[J].單片機與嵌入式系統應用,2010.5:5-7
[3] 宋焱翼,陳禮,顏芳.嵌入式系統實驗教學改革與實驗教學裝置開發[J].實驗室研究與探索,2011.30(7):239-241
[4] 張金磊,王穎,張寶輝.翻轉課堂教學模式研究[J].遠程教育雜志,2012.4:46-51
[5] 張騰飛,顧亦然,郭前崗.“嵌入式系統及應用”課程教學改革探索與應用[J].中國電力教育,2012.28:53-55
[6] 高俊堯,黃超.基于ARM微控制器LPC2138的分布式系統設計[J].電子設計應用,2007.5:97-99
[7] 陳豹.嵌入式系統課程教學方法實踐與探索[J].吉林省教育學院學報,2015.31(1):77-78
[8] 李寧,宋薇,庫少平.項目化嵌入式教學方法研究[J].單片機與嵌入式系統應用,2010.2:5-7
[9] 原亮,丁國良,李浩,巨政權.嵌入式系統的綜合教學實驗環境建立[J].實驗室研究與探索,2008.27(1):92-95
[10] 張鍵,梁建慧.基于Proteus的個人虛擬實驗室探究[J].電子測試,2013.8:122-123