摘要:如何能夠利用本科階段有限的課時培養出合格的嵌入式系統開發人才是許多高校教師努力探索的課題。本文介紹了我們在這一過程中所實踐的方法:構建一種多層次實驗教學體系,以及具體的實施過程和體會。
關鍵詞:嵌入式系統;分層;實驗體系
中圖分類號:G642文獻標識碼:B
文章編號:1672-5913 (2007) 22-0120-03
“嵌入式系統”課程是一門“軟硬兼施”、涉及多門專業基礎類課程內容并具有較強應用針對性的課程,不僅要求學習者具有較好的計算機軟、硬件基礎知識,還要求其具有其他門類專業的常規知識(如通信,自動控制,傳感器技術等),被業界認為是一科入門門檻較高的學科。這些年來我們在教學中積累了一些經驗,其中最重要的一點認識是,學好本門課程的關鍵在于動手,缺少實踐環節的課程教學體系將很難開啟學生對本門課程的領悟力,也就難以使他們從容地越過本課程學習的門檻。
1嵌入式系統課程學習門檻高的原因分析
為了制訂一套科學合理的實踐教學體系,首先需要了解清楚學生學習時的困難所在。通過對學生在學習過程中反映出的問題以及與學生的直接溝通,我們了解到學生在學習中難于理解和感到困惑的主要原因有以下方面。
(1) 學習方法主要仍然按照與其他先修課程同樣的方法進行,而這些課程大部分都自成體系,所面對的問題基本上在本課程中都可以找到答案。而嵌入式系統課程內容涉及到相關的多門課程的內容,所表現出的問題往往需要在其他課程內容中去尋找答案。
(2) 嵌入式系統由于具有很強的應用針對性,不同的嵌入式處理器多數都是按照其應用領域量身打造的,其內部功能部件在類型和編程結構上沒有統一的標準。學生由于缺乏對嵌入式處理器應用的知識,也就無法對嵌入式系統中門類繁多的外設功能部件建立起具有應用目標的認識。
(3) 學生由于缺少實際的工程設計方面的知識和經驗,甚至缺少必要的實踐動手方面的訓練,所以無法以應用者的視角去學習理解課程內容,所學的知識往往都只能呈現為一些孤立的概念,也就無法將以前所學的知識與本課程內容聯系起來,更難以達到融會貫通地去學習理解課程內容。
分析以上原因不難歸納出問題的癥結所在就是學生所接觸的實際系統太少,由于缺乏自己動手實踐,所學的內容仿佛都是些懸在空中的抽象概念。這些知識用在何處,如何用,更是讓他們感到困惑。為此我們認識到,構建嵌入式系統課程教學體系的關鍵在于設立一套科學合理、行之有效的實踐動手教學環節。否則,即使安排了實驗或其他形式的實踐教學環節,也只能產生學生應付差事,教師完成任務走過場的無奈結局。這也是我們在前期的實驗教學過程中總結出的教訓。
2實驗教學裝置的研發
為了能更方便地按照所規劃的實踐教學環節設計后續的分階段分層次的實踐教學內容,我們自己設計開發了一款嵌入式系統課程實驗教學裝置。該系統結合理論教學內容選擇了目前應用較為廣泛的三星公司的S3C44B0處理器為核心,并本著易用、功能強、造價低、可擴展性好等原則,安排了外設功能組件的類型和電路結構。系統構成如圖所示。

板上的硬件部分主要包括如下部件:
●S3C44B0X微處理器
●16MB SDRAM存儲器
●2MB Nor Flash
●2路帶RS232電平轉換的UART口
●IIS音頻接口
●帶流控功能的兩個主一個從USB接口
●10M以太網通信接口
●4個LED跑馬燈,4個共陰八段數碼管
●4×4矩陣鍵盤
●復位和外部中斷3按鍵
●5個PWM定時器輸出口
●IIC接口
●GPIO引出口
●8通道10位ADC模擬量輸入口
●DAC0832模擬輸出口
●128×64點陣液晶屏
●三總線引出口
●14針JTAG接口
3實驗教學體系的設計
在嵌入式系統課程實驗項目的設置過程中我們感受到,必須要根據學生對所需知識的掌握程度、運用水平以及動手能力循序漸進地組織安排實驗內容,而且前后實驗內容要有一定的關聯性。另外受到課程學時數限制,以及不同專業對課程深度、廣度的不同要求,我們將實驗教學體系設計為三個層次:
(1) 基礎實驗教學層次;
(2) 提高型實驗教學層次;
(3) 綜合應用型實驗教學層次。
3.1基礎實驗教學層次實驗內容安排
基礎實驗教學層次實驗內容安排的出發點是使正常情況下的全體學生都能夠順利完成實驗內容規定的操作并得到正確的實驗結果,使他們能夠建立樂于動手實踐并獨立完成實驗的自信心。這一點非常重要,因為我們發現許多學生不愿動手甚至討厭作實驗都是由于初次實驗不成功造成的挫折感導致的。盡管有些實驗內容對于動手能力較強的學生來說過于簡單,但基礎實驗教學考慮的收益對象是大多數沒有動手經驗的同學。該實驗內容安排為16個實驗學時,具體實驗內容如下。可以看出,這些實驗對于大多數信息類專業都是最基本的內容。
(1) ADS開發環境及ARM匯編語言程序開發實驗
(2) ADS下C語言程序開發及目標程序燒寫過程實驗
(3) 基于GPIO口的LED及數碼管顯示實驗
(4) 基于三總線的鍵盤電路編程實驗
(5) 44B0中斷系統編程及應用實驗
(6) 44B0定時器編程及應用實驗
(7) 44B0異步串口編程及應用實驗
(8) GPIO,中斷,定時,異步串口綜合應用實驗
3.2提高型實驗教學層次實驗內容安排
由于本實驗教學課程體系面向有計算機、通信、自動化、微電子、網絡、軟件等多個專業,而不同的專業對本課程的教學要求及學時數也不同。因此對于有進一步實踐環節要求且有學時支持的專業開設提高型實驗教學內容。實驗內容需要16個實驗學時,具體實驗內容如下。
(1) A/D、D/A轉換實驗
(2) FLASH存儲器編程實驗
(3) 液晶顯示器編程及應用實驗
(4) IIC編程及應用實驗
(5) IIS編程及應用實驗
(6) PWM編程及應用實驗
(7) 綜合設計實驗:直流電機的閉環控制
3.3綜合應用型教學層次實驗內容安排
由前面的兩個實驗環節所安排的內容可以看到,這些實驗內容都是沒有操作系統參與的,基本上都是針對單元功能電路進行。而綜合應用型教學層次實驗內容將基于操作系統進行,而且綜合了不同數量的功能電路。允許學生根據自己的專業要求和興趣選做部分實驗內容。實驗學時數為32學時。具體實驗內容如下。
(1) Boot Loader的設計與實現(參照U-boot 1.1.3功能)
(2) micro;CLinux的移植
(3) micro;C/OS II的移植
(4) micro;CLinux下射頻IC卡讀寫器驅動程序設計
(5) micro;CLinux下基于Socket編程的Ping程序設計實現
(6) micro;CLinux下Web服務器的建立與實現
(7) micro;C/OS II下數據采集與顯示系統設計與實現
(8) micro;C/OS II下直流電機轉速控制系統設計與實現
4結論
經過幾年的教學實踐證明,的確是一種行之有效的教學方法。而且在這一過程中,參與訓練的許多學生對嵌入式系統開發產生了濃厚的興趣,實訓過程在提高他們的動手能力、分析問題解決問題的能力的同時,也激發了他們的創新意識和主動參與實際研究項目的自信和熱情。許多同學積極參與到一些老師的科研項目開發中,有些同學則在參加各項全國性的科技競賽中取得優異的成績。2006年的全國大學生嵌入式系統設計競賽中,由這些同學組織的兩支參賽隊,一支獲得了最高競賽獎Intel杯,另一支也獲得了三等獎。
參考文獻
[1] S3C44B0X RISC MICROPROCESSOR. SAMSUNG SEMI-CONDUCTOR, 2000.
[2] 李巖. 基于S3C44B0X嵌入式μCLinux系統原理及應用[M]. 北京:清華大學出版社, 2005.
[3] 杜春雷. ARM體系結構與編程[M]. 北京:清華大學出版社,2003.
[4] 胥靜. 嵌入式系統設計與開發實例詳解[M]. 北京航空航天大學出版社,2005.
作者簡介
楊斌,男,副教授,西南交通大學信息科學與技術學院計算機硬件實驗中心主任,從事遠程實時監控、嵌入式系統方向的應用研究工作。
Tel:028-87601747
E-mail:yangbin_1748@163.com