戚建宇 何松 鹿朋
摘 要:文章分析了計(jì)算機(jī)專業(yè)近幾年來(lái)嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)的現(xiàn)狀,針對(duì)當(dāng)前嵌入式系統(tǒng)教學(xué)中存在教學(xué)時(shí)間不足、實(shí)驗(yàn)與教學(xué)不同步等問(wèn)題,探討構(gòu)建一個(gè)多功能嵌入式虛擬實(shí)驗(yàn)平臺(tái)作為嵌入式系統(tǒng)課程實(shí)驗(yàn)階段的基本要求。最后,文章給出了設(shè)計(jì)的實(shí)驗(yàn)教學(xué)規(guī)劃。
關(guān)鍵詞:嵌入式;虛擬實(shí)驗(yàn)平臺(tái);實(shí)驗(yàn)教學(xué)
嵌入式系統(tǒng)課程(ARM7)是一門(mén)多課程交叉與融合的課程,包含了計(jì)算機(jī)軟件基礎(chǔ)、數(shù)字電路基礎(chǔ)、ucos操作系統(tǒng)、微機(jī)接口、通信網(wǎng)絡(luò)技術(shù)等各個(gè)學(xué)科領(lǐng)域的許多相關(guān)知識(shí)點(diǎn),教學(xué)內(nèi)容多而雜。為了學(xué)生們能較好地學(xué)習(xí)課程的理論知識(shí),掌握較強(qiáng)的實(shí)際動(dòng)手能力,僅僅依靠課堂上教師的講授是不行的。我們必須設(shè)立實(shí)驗(yàn)教學(xué)環(huán)節(jié)讓學(xué)生深刻了解嵌入式系統(tǒng)的實(shí)際硬件結(jié)構(gòu)與相關(guān)的軟件知識(shí),并由此來(lái)提高學(xué)生的實(shí)際動(dòng)手能力。
虛擬實(shí)驗(yàn)是傳統(tǒng)實(shí)物實(shí)驗(yàn)的衍生,通過(guò)某幾種軟件對(duì)實(shí)際硬件平臺(tái)進(jìn)行模擬。因此我們可以暫時(shí)離開(kāi)硬件平臺(tái)來(lái)學(xué)習(xí)ARM嵌入式系統(tǒng)知識(shí)。僅僅依靠計(jì)算機(jī),學(xué)生就能完成ARM實(shí)驗(yàn)的設(shè)計(jì)與運(yùn)行。實(shí)驗(yàn)的效果與使用硬件實(shí)驗(yàn)箱調(diào)試幾乎一樣。
1 現(xiàn)階段嵌入式系統(tǒng)教學(xué)分析
(1)教學(xué)內(nèi)容繁多,但卓越工程師計(jì)劃的要求教學(xué)時(shí)間從48課時(shí)減少到 36課時(shí)。如果僅僅使用現(xiàn)有的上課的時(shí)間,理論與實(shí)驗(yàn)的安排幾乎不能保證課程大綱的要求。
(2)現(xiàn)有的教學(xué)方法單一,學(xué)生反應(yīng)遲鈍。教師教學(xué)嚴(yán)重依靠PPT,教學(xué)方法無(wú)引導(dǎo)、缺乏啟發(fā)式與項(xiàng)目式等具有活力的新教學(xué)方法。
(3)實(shí)驗(yàn)環(huán)節(jié)與理論教學(xué)不同步。嵌入式系統(tǒng)課程本身具有較強(qiáng)的實(shí)踐性。實(shí)驗(yàn)需要結(jié)合理論教學(xué),教師需要給學(xué)生提供一個(gè)有針對(duì)性的實(shí)驗(yàn)操作平臺(tái),依托開(kāi)設(shè)的實(shí)驗(yàn)加深對(duì)理論的理解,獲得實(shí)際感性的認(rèn)識(shí),從而培養(yǎng)和鍛煉學(xué)生實(shí)際動(dòng)手能力[1-3]。實(shí)驗(yàn)教學(xué)環(huán)節(jié)是課程教學(xué)重要而不可缺少的一部分,尤其對(duì)于“嵌入式系統(tǒng)”這些實(shí)踐性強(qiáng)的課程。當(dāng)前嵌入式系統(tǒng)課程為常州工學(xué)院一門(mén)新開(kāi)設(shè)的課程,實(shí)驗(yàn)室沒(méi)有購(gòu)置相應(yīng)實(shí)驗(yàn)設(shè)備。在課堂理論教學(xué)時(shí)不能給學(xué)生直觀的感性認(rèn)識(shí),在進(jìn)行實(shí)際設(shè)計(jì)時(shí),學(xué)生往往不知所措,無(wú)從下手。
(4)教學(xué)進(jìn)程脫節(jié)嚴(yán)重。老師使用傳統(tǒng)的教學(xué)方式使得教師的教與學(xué)生的學(xué)無(wú)法和諧地配合起來(lái)[4]:一方面,教師以課堂PPT教學(xué)為主,不能啟發(fā)學(xué)生進(jìn)而引導(dǎo)學(xué)生自主學(xué)習(xí)和思考;另一方面,學(xué)生總是覺(jué)得老師講課沒(méi)意思,上課時(shí)間開(kāi)小差、說(shuō)話,特別是玩手機(jī)現(xiàn)象較多。學(xué)生課間幾乎不與老師進(jìn)行交流,一般平時(shí)不學(xué)習(xí)、考前突擊。
2 嵌入式系統(tǒng)(ARM7)虛擬實(shí)驗(yàn)教學(xué)改革與探索
2.1 實(shí)驗(yàn)內(nèi)容選擇與探索
嵌入式設(shè)計(jì)是實(shí)際應(yīng)用與現(xiàn)有技術(shù)結(jié)合。嵌入式系統(tǒng)融合許多學(xué)科領(lǐng)域,涉及微電子、芯片設(shè)計(jì)和微機(jī)原理等,覆蓋知識(shí)范圍廣。為使學(xué)生較好地掌握嵌入式設(shè)計(jì),培養(yǎng)他們學(xué)會(huì)系統(tǒng)性和理論性分析能力,較強(qiáng)解決問(wèn)題的能力,所以課程實(shí)驗(yàn)內(nèi)容的選擇與設(shè)置上應(yīng)當(dāng)包含了嵌入式操作系統(tǒng)、嵌入式應(yīng)用、集成開(kāi)發(fā)環(huán)境以及嵌入處理器等4個(gè)方面的實(shí)訓(xùn)。
(1)為了豐富實(shí)驗(yàn)平臺(tái)的內(nèi)容,增加實(shí)驗(yàn)趣味性從而增強(qiáng)對(duì)學(xué)生的吸引,采取以問(wèn)題為主的實(shí)驗(yàn)教學(xué)手段,以引導(dǎo)學(xué)生自我思考和自我動(dòng)手實(shí)踐技能培養(yǎng)。以探究式、啟發(fā)式實(shí)驗(yàn)項(xiàng)目為主要手段,教師提出問(wèn)題,學(xué)生結(jié)合已經(jīng)學(xué)習(xí)過(guò)的相關(guān)課程知識(shí),引導(dǎo)學(xué)生自我思考解決問(wèn)題。
(2)在實(shí)驗(yàn)內(nèi)容選擇上,選用嵌入式系統(tǒng)硬件設(shè)計(jì)與軟件設(shè)計(jì)相結(jié)合的綜合實(shí)驗(yàn),培養(yǎng)學(xué)生運(yùn)用與獲取知識(shí)的能動(dòng)性。在硬件設(shè)計(jì)實(shí)驗(yàn)中,從過(guò)去使用和依靠現(xiàn)有的嵌入式實(shí)驗(yàn)平臺(tái),到如今要求學(xué)生運(yùn)用軟件工具自主設(shè)計(jì)并完成一個(gè)最小系統(tǒng)的設(shè)計(jì)與使用
(3)以優(yōu)秀的現(xiàn)有項(xiàng)目、學(xué)科競(jìng)賽要求的項(xiàng)目為典型實(shí)驗(yàn)案例,引導(dǎo)學(xué)生進(jìn)行分析和驗(yàn)證。要求學(xué)生對(duì)實(shí)驗(yàn)中具體問(wèn)題進(jìn)行具體的討論,討論分析各個(gè)實(shí)驗(yàn)小組解決問(wèn)題的實(shí)施方案,培養(yǎng)學(xué)生獨(dú)立思考解決問(wèn)題的能力。
2.2 實(shí)驗(yàn)平臺(tái)設(shè)計(jì)
Proteus軟件是Lab Center Electronics公司開(kāi)發(fā)的電路分析與嵌入式仿真軟件,十分適合ARM嵌入式系統(tǒng)設(shè)計(jì)與模擬開(kāi)發(fā)的EDA軟件[5]。虛擬實(shí)驗(yàn)平臺(tái)設(shè)計(jì)遵循課程教學(xué)大綱的要求,讓學(xué)生掌握嵌入式系統(tǒng)的知識(shí)和熟悉系統(tǒng)設(shè)計(jì)方法,在設(shè)計(jì)虛擬實(shí)驗(yàn)項(xiàng)目時(shí)采取了循序漸進(jìn)的教學(xué)方法,遞進(jìn)式,以適用不同能力的學(xué)生。主體設(shè)計(jì)思想應(yīng)為簡(jiǎn)單明了容易上手,既要能夠體現(xiàn)各個(gè)必要的知識(shí)點(diǎn),又要引導(dǎo)學(xué)生真正踏入系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)的大門(mén)。
2.3 部分綜合虛擬實(shí)驗(yàn)?zāi)K
(1)GPIO程序設(shè)計(jì)與電路仿真如圖1所示。本實(shí)驗(yàn)在輸出低電平時(shí)操控LED點(diǎn)亮。首先將PINSEL0,PINSEL1寄存器設(shè)置所有引腳連接GPIO,再通過(guò)IO0DIR寄存器設(shè)置P0.0~P0.7為控制輸出口,運(yùn)用IO0SET寄存器進(jìn)行置位操作,循環(huán)語(yǔ)句,同時(shí)調(diào)用延時(shí)程序,利用清零寄存器IO0CLR、置位寄存器IO0SET交替進(jìn)行操作,驅(qū)動(dòng)LED的亮滅。
圖1 GPIO電路仿真
(2)UART程序設(shè)計(jì)與電路仿真如圖2所示。使用UART1來(lái)輸出字符,首先根據(jù)要求初始化串口0,設(shè)置I/O連接到UART0就是運(yùn)用了PINSEL0寄存器,對(duì)UART0的初始化接口P0.0,P0.1進(jìn)行相關(guān)的設(shè)置,然后設(shè)置波特率,設(shè)置好分頻器等,接著開(kāi)始設(shè)置向串口發(fā)送字節(jié)數(shù)據(jù)。
圖2 UART電路仿真
(3)A/D程序設(shè)計(jì)與電路仿真如圖3所示。設(shè)置需要顯示的數(shù)組、ADC模塊,轉(zhuǎn)換時(shí)鐘,利用軟件進(jìn)行轉(zhuǎn)換操作,讀取ADC結(jié)果切換通道并進(jìn)行第一次轉(zhuǎn)換,等待轉(zhuǎn)換結(jié)束,然后再次啟動(dòng)轉(zhuǎn)換,讀取ADC的結(jié)果,從串口中輸出結(jié)果。外部電壓進(jìn)行AD采樣,接著利用單個(gè)程序啟動(dòng)(Single Program Initiation,SPI)接口對(duì)采樣回來(lái)的數(shù)據(jù)進(jìn)行顯示,并將轉(zhuǎn)換結(jié)果通過(guò)UART發(fā)給上位機(jī)進(jìn)行顯示。
圖3 A/D電路仿真
(4)I2C程序設(shè)計(jì)與電路仿真如圖4所示。定義器件的地址和LED輸出端口,設(shè)置包括從機(jī)地址、子地址、數(shù)據(jù)緩沖區(qū)指針、操作數(shù)據(jù)個(gè)數(shù)、操作結(jié)束標(biāo)志、子地址使能控制在內(nèi)的變量。PINSEL0,PINSEL1寄存器設(shè)置I/O口工作模式,LED控制口為輸出。初始化晶振頻率,使能I2C中斷,設(shè)置其中所有的通道為IRQ中斷,在初始地址讀出字節(jié)數(shù)據(jù),讀出的數(shù)據(jù)不正確報(bào)警。
圖4 I2C電路仿真
3 實(shí)驗(yàn)平臺(tái)的應(yīng)用
經(jīng)過(guò)一年半的實(shí)際教學(xué),筆者發(fā)現(xiàn)教師編寫(xiě)指導(dǎo)書(shū)越為詳細(xì),學(xué)生實(shí)際學(xué)習(xí)的機(jī)會(huì)越少,所有的學(xué)生都會(huì)按照編寫(xiě)的指導(dǎo)書(shū)的步驟按部就班地完成實(shí)驗(yàn)。實(shí)驗(yàn)的本質(zhì)作用應(yīng)該是培養(yǎng)學(xué)生的設(shè)計(jì)能力,而不是演示實(shí)驗(yàn)本身。虛擬實(shí)驗(yàn)平臺(tái)可以使得教師僅僅發(fā)揮引導(dǎo)作用,學(xué)生作為實(shí)驗(yàn)設(shè)計(jì)主體,培養(yǎng)學(xué)生的創(chuàng)新和解決問(wèn)題的能力[6-8]。針對(duì)大綱知識(shí)點(diǎn)可以在課堂上安排1~2學(xué)時(shí)演示性實(shí)驗(yàn),并且可以在課堂教學(xué)的電子課件中進(jìn)行,這樣可以使學(xué)生對(duì)必要知識(shí)點(diǎn)有直觀感性的認(rèn)識(shí)。實(shí)驗(yàn)環(huán)節(jié)的實(shí)驗(yàn)安排側(cè)重于設(shè)計(jì)性與設(shè)計(jì)性,實(shí)驗(yàn)安排循序漸進(jìn),從零開(kāi)始,易于上手。學(xué)生獲得成功,有了成就感,學(xué)生才會(huì)有信心,并樂(lè)于深入設(shè)計(jì)學(xué)習(xí)。第二課堂的課題可以多樣化、分級(jí)化,鼓勵(lì)學(xué)生采用過(guò)關(guān)式方法完成設(shè)計(jì)題目,一級(jí)一級(jí)地完成設(shè)計(jì)挑戰(zhàn)。對(duì)于競(jìng)賽性的題目,要注意綜合性,鼓勵(lì)學(xué)生先設(shè)計(jì)實(shí)驗(yàn)平臺(tái)的最小系統(tǒng)模塊,在此基礎(chǔ)上根據(jù)需要,自己設(shè)計(jì)所需的模塊電路,充分調(diào)動(dòng)和培養(yǎng)學(xué)生的創(chuàng)新意識(shí)。
4 結(jié)語(yǔ)
嵌入式系統(tǒng)(ARM7)課程作為一門(mén)新開(kāi)設(shè)的課程,該課程的改革與建設(shè)將是一項(xiàng)長(zhǎng)期、痛并快樂(lè)的工作,教學(xué)上可以借鑒參考同行高校的經(jīng)驗(yàn)不多,因此需要學(xué)校和課程團(tuán)隊(duì)不斷參考實(shí)際情況,在教學(xué)中勇于創(chuàng)新實(shí)踐,不斷調(diào)整和改革教學(xué)手段,完善課程培養(yǎng)大綱,及時(shí)吸收新技術(shù),新思想,不斷完善課堂教學(xué)方法和實(shí)際實(shí)驗(yàn)手段,從而培養(yǎng)出動(dòng)手能力強(qiáng),富有創(chuàng)新意識(shí)和能力的嵌入式系統(tǒng)設(shè)計(jì)人才。