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