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