郭華 張小軍 張德學

摘要:針對嵌入式系統以實際應用為中心的特點,文章結合十幾年的教學經驗,總結出了“軟硬結合、高低兼顧、重實踐”的教學模式,圍繞該模式詳細介紹了從課程體系、教學方法、評價機制、實驗環節的具體改革措施,實踐證明該模式激發了學生的學習興趣,增強了學生的實踐能力,拉進來了與企業的距離,具有參考意義。
關鍵詞:嵌入式系統;教學改革;課程建設;教學實踐
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)27-0101-03
近年來,以計算機技術,通訊技術、消費電子技術為主的電子信息技術的高速發展和國際互聯網絡的廣泛應用已經改變了人們的生活方式,其中以嵌入式為核心的電子信息技術是當前發展最快、應用最廣、最有發展前景的領域之一。由于嵌入式產品市場的蓬勃發展以及嵌入式技術的廣泛應用,嵌入式系統軟、硬件開發工程師等技術人員在就業市場上較為緊缺,社會對嵌入式相關技術人才有迫切需求。從培養嵌入式系統應用開發人才角度來看,教學內容和教學模式都與實際脫節,培養的學生在嵌入式專業技能、實踐能力、創新意識等方面都不能滿足用人單位的要求,缺乏利用規范的工程方法構建符合應用需求的系統能力,入職后需要較長的適應期。因此,如何適應形勢的變化和發展,消除校企之間的鴻溝,提高嵌入式系統課程教學質量,培養社會需求的高素質嵌入式系統應用開發人才,是我們面臨的一個緊迫課題。自2006年起,山東科技大學在電子信息科學與技術專業開設了嵌入式系統設計方向,經過10年的教學實踐和不斷改進,積累了一些經驗,摸索出了一個適合自己專業的“軟硬結合,高低兼顧,重實踐”的教學模式,取得了較好的效果。
一、培養目標與定位
嵌入式系統是以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適用于應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。山東科技大學的電子信息科學與技術專業由信息學院于2000創建,因為其誕生于計算機類學院,因而比較注重高層應用、嵌入式操作系統等方面的教學。同時,由于其自身又屬于電子類學科,因而也注重于數字電路、模擬電路、電路設計等底層硬件電路方面的教學,從而自然形成了自己這種“軟硬結合、高低兼顧”的教學體系。培養學生“硬可以設計電路,軟可以編寫程序”,既符合電子儀器儀表類企業或者工業控制類企業所要求的傳統實時嵌入式系統設計,又符合高端消費類電子企業所要求的高端應用編寫(比如信息家電、網關、手機應用等的設計),是符合我校綜合實際情況的合理定位。
二、嵌入式教學改革
(一)課程體系設置
在課程體系方面,依據培養目標和定位,主要遵循“緊跟時代潮流,堅持軟硬兩條腿走路”的原則設計,可歸納為“三層遞進,左硬右軟”的架構。左半部分為偏硬件類課程,第一層以數電、模電和電路三門公認的電子類經典課程為基礎,讓學生打下良好的理論基礎;第二層通過8051單片機的學習,掌握微處理器的工作原理和編程方法。在學習51單片機的同時,開設電子線路CAD課程,讓學生掌握電路板的設計方法。因為嵌入式是專用的系統,往往每個項目都需要設計與之匹配的電路板,所以特別強調電路板設計的基本功。FPGA和SOPC的課程,則完全得益于2005年我校與Altera公司聯合建立的“山東科技大學—Altera SOPC/信息家電聯合實驗室”,該實驗室是目前Altera公司在全球設立的唯一信息家電聯合實驗室。通過FPGA課程的學習,學生不僅僅更加鞏固了數字電路知識,而且從更底層理解了處理器的設計原理,在該課程中以8051單片機的內核設計為主導,逐步引導學生理解并設計出功能較為完善的8051單片機。與前面所學單片機知識相互印證,加深理解和應用能力,在隨后的第三層次中,以嵌入式ARM原理為核心課程,重點講述ARM的體系結構、匯編與C編程應用,再結合“一高一低”兩款具體ARM處理器的具體學習和大量的實驗實踐,使學生既能從事實時工業應用設計又能從事高端頂層軟件的開發。而在SOPC課程設計中,則強調嵌入式與可編程邏輯器件的結合應用,以NIOS處理器為中心,結合各種外設IP核的運用,使學生體驗到可編程硬件的靈活性,與ARM形成優勢互補。右半部份課程則為軟件設計類課程,以嵌入式C語言、計算機體系結構、信號與系統作為基礎。第二層則以數據結構、面向對象編程、數字信號處理為主干課。數據結構有利于學生理解操作系統的原理,面向對象設計使學生的編程思路發生轉變,可以很快適應高級嵌入式操作系統例如linux、android等系統的高級圖形界面應用編程。第三層次則以嵌入式操作系統為主,主要教授強實時的ucos-II和軟實時的linux兩種典型操作系統,使學生達到既可以編寫基于強實時的控制類應用,也可以編寫類似手機應用類的軟實時應用。最后軟硬件課程匯集到嵌入式系統設計這門主課。在這門課中,以綜合應用設計的方式,配以案例教學和大量的實踐實驗,使學生切實體會到一個項目的提出、方案選擇、硬件設計、軟件設計、調試等一系列過程,達到各種所學知識的高度融合,也更適應于企業項目的開發方式,更加符合企業對設計應用人才的實際需求,有利于其盡快適應企業的工作要求。
(二)教學方法改革
嵌入式系統是以應用為目的,尤其強調動手實踐能力的專業,能綜合運用所學知識,解決實際問題是嵌入式教學的最終目的。嵌入式系統后期的專業課程具有理論較少,而需實踐應用的內容較多的特點,因而在教學方法上也不能再采用“滿堂灌”的形式。這種方式因為不夠直觀,又無理論推導,導致學生很容易失去方向感,進而失去求知的欲望。還有些學生由于受到我國教育體制的影響,從小到大都是在教室學習,缺乏對外界事物的了解,導致不能理解老師講授的具體應用。針對這些問題,我系提出“興趣+實踐”的教學方針,通過激發學生的學習興趣和進行大量的實踐幫助學生學好嵌入式。圍繞教學方針,在教學手段上,盡量避免大量長時間的口頭授課,盡量采用形象直觀的多媒體技術,演示教授內容,包括使用方法、具體現象、結果等,讓學生有個直觀的認識,產生動手實踐的興趣。盡可能地采用先進流行的教學手段,比如采用微課的方式,講解演示難點內容;利用在線通訊QQ、論壇等,建立在線學習交流平臺,在老師積極解答學生提出的問題的同時,也鼓勵其他同學解答探討問題,經過多年的積累,大多數學生提出的問題都能直接在平臺中找到答案。還有采用項目驅動的方式授課,比如在嵌入式系統設計這門課中,圍繞信息家電這個項目,從需求的提出、可行性分析、硬件選型方案、軟件設計方案、操作系統的選擇等逐步細化展開。通過這種方式,學生解決實際問題的綜合能力得到提高,所學的方方面面的知識也得到了綜合利用,而且最終學生可以做出實物演示系統,極大地提高了學生的學習熱情。
配合“興趣+實踐”的方針,經過綜合考量和多年實踐,對專業課的授課學時和實驗學時也做了調整。為此我系對一些專業課程的教學和實驗學時的設置,過程中可以發現,各課程大量減少了課堂授課時間,而增加了實驗時間,提高了實驗占比。如此一來,有些課程甚至可以達到一堂授課,接著下一堂就馬上實驗體會的效果,使學生及時消化吸收其所學知識。單片機原理與設計這門課是學生接觸到的第一種處理器,因而授課時間較多,又因單片機集成資源較少,20個學時的實驗也基本上能完全覆蓋其每個功能部件。對于電子線路CAD來講,其理論性較少,操作流程和操作技巧的內容較多,因而實驗占比較大,可達1.1。嵌入式ARM原理這門課由于ARM體系結構的復雜性,以及要講解ARM9和Cortex M3兩種架構的芯片,因此總體授課學時設置為72,實驗授課比為0.8。嵌入式操作系統是一門理論與實踐并重的課程,既要講解操作系統的原理,又要讓學生能實際運用UCOS-II和Linux操作系統的功能,因而課程總學時也為72,實驗授課比也為0.8。而嵌入式系統設計這門課則更強調實踐性,因而其實驗授課比可達1.4。
(三)評價機制
合理的評價考核機制可以引導促進學生的實踐熱情,為了刺激學生的實踐積極性,我系考試成績的評定機制向實驗實踐方向上做了較大的傾斜。通過這種比例分配,學生不再只是死背硬記課本,而是花更多的時間在實驗室實際動手做實驗,徹底改變了過去學生對實驗課漫不經心,應付了事的態度,取得了良好的效果。
三、實驗環節改革
(一)實驗儀器建設
嵌入式技術的發展日新月異,實驗儀器設備既要緊跟時代潮流的發展,又要沉淀積累共性的知識。2005—2010年,我系先后引進了從低端的ARM7到高端的ARM11的實驗系統,在實際應用過程中,我們發現這些實驗箱為了滿足各個高校的普遍需求,往往是大而全,缺少針對性,從而增加了學生學習的難度。比如我系引進的某款實驗設備,因為要集成的功能太多,廠家人為地增加了一款CPLD來擴充CPU的功能,導致每屆學生在做這方面的實驗時都難于理解,老師不得不額外花費功夫來講解CPLD所實現的功能,既浪費了時間又偏離了實驗的核心內容。自2010年后,我系就開始自行研發實驗開發板,定位為既能滿足我系的培養目標又能用于教師學生科研競賽的需求。2013年底成功開發出基于三星蜂鳥S5PV210的雙核Cortex A8處理器的實驗板,主要用于基于嵌入式Linux操作系統和Android系統的高端實驗應用。2015年初又研制了基于STM32F103的Cortex M3實驗板,主要用于工業控制類、儀器儀表類實驗課。研發成果不僅節省了大量的設備經費,而且更符合我系的教學需求。以普通的AD轉換為例,我系原來引進的實驗箱,都是直接把一個滑動電阻接在CPU的引腳上,沒做任何的信號調理,只能輸入0-3.3V的電壓信號,這種設計只能用作最初級的功能驗證,與實際工業現場的需求完全不符。而自行開發的系統中,則大量融入了老師們實際項目中積累的經驗和設計,AD轉換部分加入了信號調理和濾波電路,完全符合工業的需求,輸入信號可以是0-10V或±10V的電壓、4-20ma或0-20ma的電流等標準工業模擬信號,學生可以直接應用于將來的工作中,最大程度地消除教學與企業實際應用之間的差別,極大地提高了教學效果。
(二)實驗內容建設
針對嵌入式系統“重實踐,重經驗積累”的特點,對實驗內容和實驗方式也做了相應的調整,將每次實驗調整為為基本驗證、功能綜合擴展、總結與測評三大部分。基本驗證部分主要是對本次實驗涉及的功能部件的測試,比如串口部件、定時器部件等,這部分實驗內容一般都提供參考例程,主要是讓學生迅速地掌握該部件的使用方法和特點,時間一般為30~40分鐘。在功能綜合擴展階段,則要求學生在驗證例程的基礎上擴充功能,時間為40~50分鐘,不提供參考例程,要求將多個功能部件綜合應用或者將前幾次的實驗內容進行綜合,進一步提高現有程序的功能等。例如學生第一次實驗內容為按鍵控制的各種流水燈,第二次實驗為串口通信,那么在功能擴展部分就要求學生用串口通信來控制流水燈和按鍵監測,第三次實驗又學了液晶顯示,則功能進一步擴充,要求學生不僅僅會顯示字符,還要將前兩次實驗的內容也整合進來。如此一來,隨著實驗的不斷增加,學生的綜合運用能力也在不斷的增強。第三階段要求每個學生總結本次實驗情況,實驗老師對實驗進行打分,作為實驗成績的評定基礎。這樣就充分調動了學生的實驗積極性,取得了良好的實驗效果。
四、總結
經過多年的實踐和不斷優化,我系取得了可喜的成果,在歷年的大學生電子設計大賽、博創杯嵌入式設計大賽、齊魯軟件設計大賽中,每年都會獲得優異成績;學生就業良好,一直保持需求旺盛的狀態。用人企業普遍認為我系學生具有工作上手快、工作積極、適應性強、善于動手、學習速度快的優點,這也充分印證了我系“興趣+實踐”模式的特點。當然嵌入式技術還在不斷發展,企業的需求也在不斷變化,何種模式才是最優的培養方式,還需繼續研究與探索。
參考文獻:
[1]朱海峰.嵌入式系統教學改革研究[J].科技信息,2009,(36):25-27.
[2]張曉東,孫麗君,魯可.嵌入式系統教學改革研究[J].中國電力教育,2013,(8):35-36.
[3]李文生,鄧春健,呂焱.案例驅動的嵌入式系統教學改革探索[J].計算機教育,2011,1(2):22-25.
[4]馬維華.嵌入式系統原理及應用[M].第2版.北京郵電大學出版社,2010.
[5]劉森,慕春棣.自動化專業的嵌入式系統教學探討[J].實驗技術與管理,2007,24(1):115-117.