翟文正
(臺州學院 數(shù)學與信息工程學院,浙江 臨海 317000)
傳統(tǒng)的嵌入式系統(tǒng)教學強調理論化、知識化的授課方式,忽略了嵌入式技術發(fā)展快、涉及課程體系龐雜、實踐性應用性強的特點,學生在課程結束后面對實際的工程應用問題仍是無從下手。
當前市場對嵌入式人才的需求量不斷上升,如何開展好嵌入式系統(tǒng)教學,培養(yǎng)合格的嵌入式工程師是對有效教學的考驗。本文結合嵌入式系統(tǒng)課程特點,從激發(fā)學生學習興趣、培養(yǎng)學生自主學習、提高學生創(chuàng)新能力的角度,探討項目驅動教學法在嵌入式系統(tǒng)課程實踐教學中的應用思路。
(1)以項目為引導。項目是教學活動的核心,以項目統(tǒng)一多種實踐環(huán)節(jié),作為全程教學的載體,隨著項目的推進,教與學的過程隨之進行。(2)以需求學理論。將相關知識點融入到項目各環(huán)節(jié),由項目驅動學生自覺主動探求解決之道,做到有的放矢[1]。(3)以實踐為主導。邊干邊學,以干促學[2]。(4)以學生為中心,教師在整個教學過程中起組織和指導作用。
學生通過完成項目,最大限度地學習和掌握了有關嵌入式系統(tǒng)的知識和應用方法,并使之在理論與實踐的結合達到了較高層次的升華。
項目的選材是項目驅動教學法得以實施的首要問題,教師的縱、橫向課題,承接的對外服務,畢業(yè)設計優(yōu)秀作品,經(jīng)典教學項目或企業(yè)的成功案例,學生自擬的題目都可作為課程教學的主線。
見表1所示的層次化實驗項目設計,從基本入手,逐步綜合,直到做大項目的實施過程,可使學生的學習興趣逐漸提高,工程設計能力得以加強。
表1 層次化實驗項目設計Table 1 Hierarchicalexperimentalproject design
表1示例了部分嵌入式項目教學實例,可通過工程實踐、電子設計大賽等方式收集整理并逐步積累。
指導教師應具備實際項目經(jīng)驗,能借鑒并運用項目化教學方法引導學生。
首先,組織學生對具體項目需求分析,確定設計任務和設計目標,提煉出設計規(guī)格說明書;為縮短項目開發(fā)周期,可分組軟硬件協(xié)同設計并行開發(fā);系統(tǒng)集成階段,將軟件、硬件和執(zhí)行裝置集成后聯(lián)調,發(fā)現(xiàn)并改進單元設計過程中的錯誤,最后對設計好的系統(tǒng)進行評測是否滿足功能要求。
嵌入式系統(tǒng)實驗箱,開發(fā)板(學生親手DIY),各種虛擬仿真工具,如Keil、Proteus可支持大部分單片機開發(fā)的虛擬仿真,SkyEye可模擬多種基于ARM的完整的嵌入式系統(tǒng),Qurtus/ISE可編程邏輯開發(fā)工具,基于模型的嵌入式設計環(huán)境SimuLink以及狀態(tài)圖建模工具Stateflow等都可作為項目化嵌入式實踐教學的有效載體。
成績考核以“作品”+“答辯”方式,注重對學生實踐過程的評價。
下面以“智能溫控器”為例說明項目驅動法教學的實施過程。
該項目是地方企業(yè)委托開發(fā)的電熱板溫度控制模塊,要求實現(xiàn)多路多段溫度時間精確控制。項目教學要求:
(1)根據(jù)嵌入式最小系統(tǒng)設計思路和項目結構圖繪制出實時溫度采集及根據(jù)既定算法控制動作的電路原理圖;
(2)能正確利用電路板及相應芯片完成硬件電路的搭接、調試;
(3)軟件開發(fā)滿足設計要求;
(4)完成系統(tǒng)調試,完善控制系統(tǒng)的控制功能,提高控制系統(tǒng)的可靠性和安全性;
(5)最后撰寫項目設計報告。
組織學生對題目深入分析和探討,并對所有設計方案評審和論證。劃分系統(tǒng)為圖1所示的幾個部分,讓學生對項目規(guī)模有了整體認識。
圖1 系統(tǒng)結構框圖Fig.1 System block diagram
教師通過給學生分析項目需求、項目切入點、項目設計方法、項目實施基礎后,即可按小組任務分工,由學生制定項目工作計劃,確定工作步驟和程序,教師以導師形式全程跟蹤。
3.2.1 硬件小組:硬件電路的搭接
小組開發(fā)面臨的首要問題就是主控芯片選型,采用8位單片機還是高性能嵌入式控制器,提議從性能、價格、易用性、開發(fā)支持等方面全面比較。如NXP的LPC1114,一款基于ARM Cortex-M0內核的32位微控制器[3],能以8位單片機的價位獲得32位處理器的性能,片上32KB Flash,8KB SRAM大小,內部集成ADC模塊,已被廣泛應用于高集成度和低功耗的嵌入式應用領域,較適宜本項目需求。
確定了主控核心,學生通過查閱處理器Datasheet分別設計出電源電路、復位系統(tǒng)、時鐘電路,實現(xiàn)一個ARM最小系統(tǒng),再依次根據(jù)結構框圖設計出其它功能模塊。經(jīng)教師認可即可由原理圖列出所需元器件清單,接下來根據(jù)接線圖進行硬件電路的搭接與調試。此過程考驗了學生學用電子與電路知識、主流EDA工具掌握情況,也是對微機接口、單片機原理等學科知識點的考驗。
3.2.2 軟件小組:軟件設計
教師引導學生學會模塊化設計,將軟件開發(fā)分解成幾個相對獨立的模塊由小組成員分別完成,如按鍵設置模塊、按鍵掃描模塊、數(shù)碼顯示模塊、A/D轉換模塊等。考慮到溫度控制的精準度要求,設計中引入Fuzzy-PID智能控制算法。整個軟件開發(fā)建議采用主流的開發(fā)工具及嵌入式C語言進行程序設計。
圖2 軟件開發(fā)任務劃分Fig.2 Task partitioning in software development
3.2.3 聯(lián)調
當系統(tǒng)運行沒能達到預期目標,則說明程序或者硬件有錯誤,教師應及時引導學生分析問題,仔細查找錯誤根源,最終達到預期的效果。
小組根據(jù)自身的知識結構和能力完成項目內容,最后進行集中討論,提出合理可行的項目擴展方案,比如:(1)移植μC-OS實時操作系統(tǒng)到LPC1114,實現(xiàn)多任務調度。(2)利用串口通信功能,與PC上位機通信,實現(xiàn)溫度信息的數(shù)據(jù)采集。(3)擴展為溫度檢測網(wǎng)絡節(jié)點,所有檢測節(jié)點Zigbee技術組成無線網(wǎng)絡等。
歸納總結項目開發(fā)中應用的知識點和技能、遇到的難點及解決方法,文檔整理,做好項目開發(fā)最后一個環(huán)節(jié)。
本文探討了一種項目驅動的嵌入式系統(tǒng)實踐教學的方法,給出其應用的思路。通過項目引導給學生確立目標,激發(fā)熱情;利用項目需求來引導和增強學生對理論學習的熱情和主動性;通過項目實踐來提高學生的動手能力。然而,以項目驅動的嵌入式系統(tǒng)課程教學方法還依賴于良好的學習氛圍、實驗環(huán)境和強大的師資力量,指導教師也需要根據(jù)實際情況,在實踐中不斷進行研究、積累和創(chuàng)新才能培養(yǎng)出社會所需要的高素質嵌入式技術人才。
[1]李寧,宋薇.項目化嵌入式教學方法研究[J].單片機與嵌入式系統(tǒng)應用,2010(2)
[2]解志堅,張紅燕.嵌入式系統(tǒng)開發(fā)人才培養(yǎng)的路徑[J].湖南農(nóng)業(yè)大學學報,2010(36)
[3]王田苗.嵌入式系統(tǒng)設計及實例開發(fā)——ARM與μC/OS-Ⅱ[M].北京:清華大學出版社,2002.9