鄭寧漢 陶品 宋思超



摘要:嵌入式系統與實際應用密切相關的特性決定有效的實驗教學對嵌入式系統課程的重要性。文章介紹對嵌入式系統實驗教學的一些探索,分析嵌入式實驗教學和當前大學本科生的特點,提出嵌入式實驗平臺的設計原則和概念模型。
關鍵詞:嵌入式系統;實驗教學;實驗平臺
1.背景
如今嵌入式系統在日常生活中扮演著越來越重要的角色。從消費電子產品到航天工業,從熱門的電子應用(如智能手機和平板電腦等)到相對不起眼的應用(如人造衛星等),嵌入式系統直接或間接地影響人們生活的方方面面。嵌入式系統的巨大潛力使得教育工作者對它的討論從來沒有停止過。世界無數的教育工作者提出了大量新穎和具有創造性的方法和理論,以促進嵌入式系統教育水平的提高,他們大都贊同嵌入式系統具有與實際應用緊密聯系的顯著特點。
嵌入式系統應用在一個廣闊的領域,如簡單的微控制應用、控制系統、分布式嵌入式控制、片上系統、網絡、嵌入式PC、關鍵系統、機器人、計算機外圍設備、無線數據系統和信號處理。同時,一些交叉領域知識對于嵌入式系統設計者也同樣重要,如安全、可靠性、節能、軟件/系統工程、實時計算和人機交互等。
對于想成為合格嵌入式系統設計者的學生來說,他們希望能夠親手接觸這些嵌入式應用,因此設計一個高效的實驗系統非常重要。實驗平臺應該能聯系抽象的理論知識和實際應用,以幫助學生領會嵌入式系統的知識奧秘。
2.嵌入式系統實驗教學的特點
嵌入式系統實驗教學與其他課程實驗教學有兩個方面的不同:軟硬件高度結合、知識和技術更新速度快。嵌入式系統實驗教學的特點如圖1所示。
嵌入式系統實驗教學的第一個特點是軟硬件高度結合。一個完整的嵌入式系統需要在軟硬件基礎之上工作。在嵌入式實驗教學中,任何一個環節的缺失或弱化都是錯誤的。我們過去就犯過這方面的錯誤。嵌入式系統是清華大學計算機科學與技術系大四本科生的一門專業必修課。學生希望在課程結束后對嵌入式系統有一個完整的認識,但是發現在學習完這個僅有2個學分的課程后,依然無法設計出一個軟硬件兼備的完整嵌入式系統。因此,我們讓學生使用開源軟件工具設計諸如鼠標或鍵盤等設備的驅動程序,但是效果并不理想,岡為學生僅僅熟悉了他們所實驗的部分內容,而這些內容只是他們應該掌握內容的一小部分,這不僅是由于實驗任務的限制,還因為學牛無法接觸硬件層面的操作,無法全面領會嵌入式系統。
嵌入式系統實驗教學的另一個特點是嵌入式系統知識和技術更新速度快。在第1節我們曾提到過,緊跟實際應用是嵌入式實驗教學的一個關鍵元素。由于嵌入式系統技術日新月異,嵌入式實驗課程講述的知識和技能以及嵌入式實驗設備和組件都必須不斷發展。我們在對清華大學計算機科學與技術系學生的調查問卷中發現,對傳統嵌入式實驗平臺的主要批評是實驗設備和組件過于陳舊,實驗平臺與當前技術聯系不夠緊密,實驗內容缺乏吸引力。
綜上所述,設計一個高效的嵌入式實驗平臺必須考慮軟硬件結合和嵌入式技術飛速發展這兩個因素。
3.當代學生的特點
除了嵌入式實驗課程本身,學生是不可忽略的另一個關鍵因素。學生是實驗的參與者,他們對實驗的感受影響著實驗課程教學的成敗,但是我們發現傳統的實驗方法令當代學生逐漸失去學習興趣,這主要是因為學生一代一代地不斷發展與進步,而傳統的實驗方法卻多年不變。
文獻[2]指出當代學生與過去的學生有所不同:缺乏鉆研精神、缺乏耐心和依賴于軟件。當代學生的特點如圖2所示。
當代學生的第1個特點是缺乏鉆研精神絕大多數學生成長于用戶至上主義日益流行的社會環境。相對于基礎原理,他們更關注功能;相對于架構,他們更關注表象。簡而言之,當代學生中很少有人理解嵌入式系統的基本原理,另一方面,傳統的實驗平臺專門為演示和驗證書本中講述的原理而設計,因此學生漸漸地無法將實際應用與特別設計的實驗相聯系,產生的問題是如果學生無法預見所學知識的未來應用前景,就會將關注點轉移到其他方面。由此可見,將實驗平臺與時興技術相結合非常重要。
當代學生的第2個特點是缺乏耐心。生活節奏的日益加快和互聯網絡的日益普及,使得當代學生漸漸缺乏耐心。他們習慣在實驗開始后急于見到結果,就好像點擊鼠標后立刻能在屏幕上看見反應,但是在傳統的教學方法中,教學總是從對課程的全面描述分析開始。實踐證明這種描述很必要,它可以幫助學生全面了解課程的知識結構,但是這些內容有時會讓學生退卻,因為學生感覺課程非常抽象與枯燥。鑒于這些問題,新實驗平臺應該在嵌入式系統的第一堂課就引起學生的興趣,同時提供一個吸引人的“結果”。
當代學生的第3個特點是依賴于軟件。嵌入式系統的發展通常被認為是民眾賦予的。在某種程度上,這種發展是電子工程向更智能化發展的結果。然而,電子工程這種不可見的層面,通常被復雜的用戶界面和其他圖標所偽裝,使得大家將其歸功于計算機科學,而不是電子工程。許多大學并沒有意識到這個問題,而將大部分注意力放在嵌入式軟件設計,忽略硬件層次的介紹。這種在嵌入式系統教學中的錯誤關注導致出現“軟件比硬件更加重要”的錯誤認識。為了糾正這個偏見,我們應該重視硬件并將其引入嵌入式系統課程。
總之,為了設計一個高效的實驗平臺,當代學生的特點不容忽視。
4.設計嵌入式實驗平臺的原則
基于上述討論,我們提出嵌入式系統教學實驗平臺的幾項設計原則。
完整性:實驗平臺應該相對完整。學生不但能接觸軟件,而且能操作硬件。這個原則主要解決兩個問題:首先糾正學生偏重于軟件的錯誤;其次在第一節課就能吸引學生,告訴他們課程最后能夠建立一個基本的卻相對完整的系統。
開發性:實驗平臺應該能幫助學生自由地實現創新思想。實驗平臺在軟件和硬件上都應為學生預留足夠數量和種類的接口,使學生能夠以此為基礎構建自己的嵌入式系統。在實踐過程中,越來越多的基于實際應用的嵌入式系統由學生實現,同時學生的創造熱情也被激發出來。endprint
從教學的角度看,實驗平臺應包含以下特點。
可升級性:平臺的軟硬件應該能分別擴展和升級,而無需對整個平臺進行修改。如第2節所述,嵌入式系統技術升級速度快,尤其是硬件設備。為了滿足經常升級的需要,可升級性原則應該被放在關鍵位置。
靈活性:實驗內容應該能根據課程的要求而裁剪,以便于實驗平臺的廣泛推廣。大多數定制的實驗平臺在靈活性上有所欠缺,其實驗內容無法增加或減少,而為了適應課程學時的變化不得不重新設計實驗。
為了達到上述目標,我們提出一個完整的概念模型。目標系統的概念模型如圖3所示。
這個概念模型由3個中間層和2個外圍層組成。中間層包括主系統層、中間通道層和從系統層。外圍層包括應用層和組件層。我們將解釋這個模型如何能實現前面提出的目標。
完整性:把中間3層看作一個整體,這個基本模型由一個典型嵌入式系統中的主要元素組成,從最頂層的應用層到最底層的功能組件層。學生可以接觸完整系統的每一個組件。
開放性:模型的最頂層和最底層向學生開放。實驗平臺的設計者將足夠多的軟硬件接口提供給學生,這些接口必須是完整的和用戶友好的。使用硬件接口,學生能夠通過連接所需的硬件模塊構建一個創新的嵌入式設備;使用軟件接口,學生可以方便地加載硬件模塊所需的軟件資源。
可升級性:實驗平臺設計應該模塊化和層次化,每一層為上一層提供上層接口,為下一層提供下層接口。每一層可獨立地進行擴展和升級,與相鄰層次的接口保持兼容。模型的中間層被設計為3層結構,這個靈感來自于Phidgets的設計,它能為實際設備的實現提供更多可能性。
靈活性:每個層次都能根據課程的重點而被加強或削弱,因此實驗內容可根據課程要求而變化。實驗課可被安排在兩層或更多層之上。基礎實驗要求學生建立一個基本的嵌入式系統,而在高級實驗中,學生能深入研究模型中的各個層,以實現創意設計。
基于這個概念模型,學生不難設計出一個高效的嵌入式實驗系統。
5.結語
這些嵌入式系統設計原則和概念模型均由我們的實際教學經驗總結而來,主要解決兩方面問題:激發學生學習嵌入式系統的熱情;為學生實現創意設計提供自由發揮空間,同時能克服傳統嵌入式實驗平臺的缺陷。這些原則指導我們設計有效的嵌入式實驗平臺,加強嵌入式系統課程建設。我們希望并有信心在幫助學生深入理解嵌入式系統方面起到越來越重要的作用。endprint