樊 華, 仵欣杰, 馬珊珊, 張 佳, 張 珂, 葉星寧
(1.電子科技大學(xué)電子科學(xué)與工程學(xué)院,成都610054;2.上海安路信息科技有限公司,上海201203;3.成都海威華芯科技有限公司,成都610299)
縱觀我國(guó)工程教育的改革與發(fā)展,要更加注重的關(guān)鍵是對(duì)工程科學(xué)研究型人才和工程技術(shù)型人才以及具備工程背景的其他領(lǐng)域人才的培養(yǎng)[1]。嵌入式環(huán)境的變化,迫使對(duì)嵌入式系統(tǒng)教學(xué)必須進(jìn)行改革,發(fā)展更具吸引力的課程模式。近年來(lái),各高校已開(kāi)始了新教學(xué)模式的探索。例如:國(guó)防科技大學(xué)提出了合作式實(shí)踐教學(xué)方案[2]和參與式學(xué)習(xí)方式[3]。
作為“知識(shí)型”“創(chuàng)新型”的國(guó)家——瑞典[4],其高等教育體系位居世界前列。它注重發(fā)展學(xué)生理性的思考能力,鼓勵(lì)學(xué)生不斷創(chuàng)新與探索。在不斷推動(dòng)歐洲高等教育一體化的背景下,瑞典歷經(jīng)了從學(xué)位結(jié)構(gòu)到課程安排的一系列改革[5]。瑞典嵌入式系統(tǒng)的教學(xué)在教學(xué)理念、教學(xué)體系、課程實(shí)現(xiàn)等方面都發(fā)展得比較成熟。本文從瑞典嵌入式系統(tǒng)實(shí)驗(yàn)課程出發(fā),對(duì)瑞典嵌入式系統(tǒng)教學(xué)的成功進(jìn)行總結(jié);對(duì)比研究我國(guó)與瑞典的嵌入式系統(tǒng)教學(xué)的優(yōu)缺點(diǎn);結(jié)合我國(guó)當(dāng)前工程高等教育改革的現(xiàn)狀對(duì)未來(lái)的嵌入式系統(tǒng)教學(xué)模式提出新的思考。
嵌入式系統(tǒng)以應(yīng)用為中心,集軟硬件技術(shù)為一體[6]。嵌入式系統(tǒng)課程更偏向于實(shí)踐類型的課程,需要做好理論與實(shí)踐的兩兩結(jié)合[7-9]。其涉及的基礎(chǔ)課程較多(比如模擬電路基礎(chǔ)、數(shù)字電路基礎(chǔ)、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、C語(yǔ)言、匯編語(yǔ)言等),這使得嵌入式系統(tǒng)的教學(xué)紛繁復(fù)雜。嵌入式系統(tǒng)教學(xué)最傳統(tǒng)的方法就是“自下而上”的教學(xué)理念[10]。即先向?qū)W生介紹位級(jí)微控制器,然后再介紹操作系統(tǒng)級(jí)別。我國(guó)由于嵌入式系統(tǒng)發(fā)展較晚,近年來(lái)爆發(fā)式發(fā)展,使得嵌入式系統(tǒng)教學(xué)還未形成最優(yōu)化的教學(xué)模型并存在以下問(wèn)題:
(1)課程理論化。當(dāng)前的教育體制主要偏向于理論教育,所以在短短的幾十個(gè)學(xué)時(shí)的課程中,能充分理解知識(shí)點(diǎn)并掌握實(shí)踐應(yīng)用對(duì)學(xué)生來(lái)說(shuō),更是難上加難。且嵌入式系統(tǒng)入門(mén)門(mén)檻較高,初學(xué)者需要花費(fèi)大量時(shí)間熟悉開(kāi)發(fā)環(huán)境和相關(guān)流程,例如在命令行界面中操作,設(shè)置環(huán)境變量和內(nèi)核配置[11]。
(2)理論與實(shí)踐脫節(jié)。理論課程內(nèi)容老舊,無(wú)法與當(dāng)前行業(yè)發(fā)展相結(jié)合。
(3)驗(yàn)證性實(shí)驗(yàn)居多。實(shí)驗(yàn)課程一般是按部就班性質(zhì)的。在實(shí)驗(yàn)過(guò)程中,學(xué)生按照老師講解的思路,課本的指導(dǎo),一步步地完成實(shí)驗(yàn)。這樣枯燥無(wú)味的實(shí)驗(yàn),難以發(fā)散學(xué)生思維,也難以將其與未來(lái)研究相結(jié)合。
(4)實(shí)驗(yàn)設(shè)備落后。針對(duì)嵌入式系統(tǒng)的實(shí)踐環(huán)節(jié),實(shí)踐設(shè)備的配置和實(shí)踐內(nèi)容的設(shè)置問(wèn)題不容忽視[12]。
筆者近期在瑞典皇家理工學(xué)習(xí)了1 年,深入了解了瑞典嵌入式系統(tǒng)的教學(xué)方法。瑞典嵌入式系統(tǒng)教學(xué)發(fā)展成熟,為嵌入式系統(tǒng)提供了專門(mén)研究涵蓋嵌入式系統(tǒng)開(kāi)發(fā)理論和實(shí)踐方面的教學(xué)模式。其中特別強(qiáng)調(diào)軟件和硬件的集成,系統(tǒng)設(shè)計(jì)、集成、驗(yàn)證等工程技能的應(yīng)用與實(shí)踐。并提供了4 個(gè)方向供學(xué)生選擇,分別是:嵌入式電子技術(shù)、嵌入式平臺(tái)、嵌入式控制、嵌入式軟件。針對(duì)不同的方向,設(shè)定了對(duì)應(yīng)的必修和選修課程。每門(mén)課程都是由講座、實(shí)驗(yàn)、研討課的形式組成。課程內(nèi)容豐富多樣,避免了教學(xué)形式單一、課堂枯燥沉悶。講座除去基礎(chǔ)的知識(shí)講解還有針對(duì)當(dāng)前行業(yè)最新的技術(shù)探究分享。實(shí)驗(yàn)主要通過(guò)合作探究的方式完成。這樣帶給學(xué)生最大的好處是通過(guò)互動(dòng)帶動(dòng)思考,有利于發(fā)現(xiàn)問(wèn)題解決問(wèn)題。研討課針對(duì)當(dāng)前行業(yè)的熱門(mén)主題在教授的指導(dǎo)下,以小組的形式,圍繞主題,同學(xué)之間各抒己見(jiàn)、暢所欲言。
瑞典的嵌入式系統(tǒng)專業(yè)的教學(xué)體系始終圍繞著“自由”與“合作”。
(1)自由度。學(xué)生可充分考慮自身情況選擇最合適自己的專業(yè)方向。課程安排上,大學(xué)鼓勵(lì)學(xué)生全方位發(fā)展,除了本專業(yè)建議推薦的選修課,還可任意選擇其他專業(yè)的課程。
(2)合作性。①研討會(huì)形式。這種授課模式相對(duì)于國(guó)內(nèi)大學(xué)來(lái)說(shuō)還是比較陌生的,國(guó)外大學(xué)發(fā)展比較成熟。研討會(huì)會(huì)事先確定主題內(nèi)容,學(xué)生圍繞主題在課前做好準(zhǔn)備工作。研討會(huì)以組內(nèi)的討論為主,每位學(xué)生都需陳述自己的見(jiàn)解。最后,在教授的引導(dǎo)下,開(kāi)展組與組之間的探究思考。在這種模式下,合作探究促進(jìn)了學(xué)生之間的互動(dòng)性。②小組實(shí)驗(yàn)形式。主要以合作探究型實(shí)驗(yàn)形式開(kāi)展。學(xué)生自由分組,且學(xué)生有很大的自由度,在給定的實(shí)驗(yàn)要求下,學(xué)生除自主探究如何完成實(shí)驗(yàn)還會(huì)就實(shí)驗(yàn)中所遇到的問(wèn)題擴(kuò)展探究。一方面,實(shí)驗(yàn)促使學(xué)生自主合作學(xué)習(xí),合作討論;另一方面,對(duì)實(shí)驗(yàn)中所遇到的各種問(wèn)題發(fā)散式探究,不再局限于實(shí)驗(yàn)本身。
學(xué)校為學(xué)生提供了良好的IT支持,保證學(xué)生可在校內(nèi)機(jī)房或在校外進(jìn)行學(xué)習(xí)研究。此外,學(xué)校還提供了免費(fèi)的眾創(chuàng)空間——Mentorspace。它主要向所有希望從事構(gòu)思、原型或項(xiàng)目構(gòu)思工作的學(xué)生和員工開(kāi)放。圖1 為學(xué)生在Mentorspace中進(jìn)行PCB的設(shè)計(jì)項(xiàng)目。
圖1 PCB板設(shè)計(jì)裝置
在嵌入式系統(tǒng)教學(xué)中,常常會(huì)出現(xiàn)學(xué)生獲得的理論知識(shí)已差不多了,但他們的實(shí)踐技能還有很大的提升空間[13]。所以在實(shí)驗(yàn)項(xiàng)目的設(shè)定與選擇上,充分考慮了理論知識(shí)的連續(xù)性與靈活性。在保證項(xiàng)目的專業(yè)化和有效性的同時(shí),保證實(shí)驗(yàn)具有一定的靈活性,以助于學(xué)生有足夠的發(fā)散探究空間。以下將具體分析兩個(gè)實(shí)際項(xiàng)目案例。
該項(xiàng)目通過(guò)使用DE2 開(kāi)發(fā)板在典型的實(shí)時(shí)操作系統(tǒng)(μC/OS-II 嵌入式系統(tǒng))上開(kāi)發(fā)實(shí)時(shí)應(yīng)用程序——模擬汽車(chē)巡航控制系統(tǒng)使學(xué)生們獲得實(shí)時(shí)操作系統(tǒng)的實(shí)踐經(jīng)驗(yàn)。該項(xiàng)目要求學(xué)生在基本了解實(shí)時(shí)操作系統(tǒng)(RTOS)的基礎(chǔ)上,加深理解中間環(huán)節(jié)(如信號(hào)量,郵箱,消息隊(duì)列),通過(guò)多任務(wù)之間的同步和通信實(shí)現(xiàn)應(yīng)用程序。
圖2 所示為基礎(chǔ)巡航系統(tǒng)功能示意圖。學(xué)生需完善初始化算法并編寫(xiě)代碼,實(shí)現(xiàn)完整的巡航系統(tǒng)中車(chē)輛任務(wù)與控制任務(wù)的程序。該系統(tǒng)包括了5 個(gè)輸入信號(hào),分別為:發(fā)動(dòng)引擎,巡航控制,油門(mén)踏板,剎車(chē)踏板,齒輪裝置。這些輸入信號(hào)相當(dāng)于實(shí)際巡航系統(tǒng)中的控制開(kāi)關(guān)。通過(guò)控制這5 個(gè)輸入信號(hào)實(shí)現(xiàn)了發(fā)動(dòng)機(jī)引擎的開(kāi)關(guān)狀態(tài);汽車(chē)巡航功能的開(kāi)或關(guān);控制油門(mén)實(shí)現(xiàn)加速與控制剎車(chē)實(shí)現(xiàn)減速;汽車(chē)擋位的選擇。其中,這5 個(gè)輸入信號(hào)在巡航系統(tǒng)運(yùn)行中,彼此之間相互影響。
圖2 基礎(chǔ)巡航系統(tǒng)功能示意圖
除此之外,如圖3 所示該系統(tǒng)還應(yīng)實(shí)現(xiàn)測(cè)量汽車(chē)當(dāng)前位置(是上坡階段還是下坡階段亦或是平路)和當(dāng)前速度。這需要學(xué)生充分理解汽車(chē)當(dāng)前的行駛狀態(tài),利用所學(xué)的物理基礎(chǔ)知識(shí),考慮上下坡時(shí)由于風(fēng)速的不同造成加速度的不同,最終推導(dǎo)出速度與位置的表達(dá)公式。
圖3 基礎(chǔ)巡航控制系統(tǒng)當(dāng)前位置示意圖(km)
在該巡航系統(tǒng)中,事件組成較多,事件之間的通信也比較繁復(fù)。因此,對(duì)于這樣的多任務(wù)操作系統(tǒng)而言,需要掌握任務(wù)與任務(wù)之間的同步和通信。在該系統(tǒng)的應(yīng)用程序中,希望學(xué)生通過(guò)使用信號(hào)量、郵箱、消息隊(duì)列實(shí)現(xiàn)各個(gè)任務(wù)通信的同時(shí)辨析清楚三者的不同之處。
圖4 所示為在DE2/DE-115 開(kāi)發(fā)板上實(shí)現(xiàn)的基礎(chǔ)巡航控制系統(tǒng)。學(xué)生可通過(guò)調(diào)節(jié)3 個(gè)按鈕及兩個(gè)開(kāi)關(guān),來(lái)調(diào)節(jié)汽車(chē)車(chē)速的大小。并實(shí)現(xiàn)當(dāng)執(zhí)行巡航操作那一刻的速度大于20 m/s時(shí),可實(shí)現(xiàn)巡航功能(即車(chē)速穩(wěn)定)。在圖4 中,巡航指示燈點(diǎn)亮,巡航速度保持在51 m/s,且可通過(guò)分配不同的LED顯示車(chē)輛的運(yùn)行距離。
圖4 基礎(chǔ)巡航控制系統(tǒng)在DE2/DE-115開(kāi)發(fā)板上的實(shí)現(xiàn)
該項(xiàng)目要求在DE2 開(kāi)發(fā)板上多處理器的硬件平臺(tái)上用多核無(wú)操作系統(tǒng)的方式實(shí)現(xiàn)一種圖像跟蹤算法。該算法可跟蹤一系列圖像幀(給定的)中移動(dòng)“圓形”圖案。
該輸入的圖像作為像素陣列存儲(chǔ)在DE2 開(kāi)發(fā)板上的SRAM。應(yīng)用的輸出是每個(gè)輸入圖像的坐標(biāo)對(duì)數(shù)組,對(duì)應(yīng)于識(shí)別的圖像模式的X 和Y 位置,也存儲(chǔ)在DE2 開(kāi)發(fā)板上的SRAM中。
該項(xiàng)目首先要求了解該應(yīng)用程序的執(zhí)行流程。該執(zhí)行流程以Haskell 語(yǔ)言來(lái)建模實(shí)現(xiàn)。應(yīng)用模型以圖5 所示的同步數(shù)據(jù)流模型(SDF)表示。同步數(shù)據(jù)流(SDF)是數(shù)據(jù)流的一種約束形式,其中,對(duì)于每個(gè)參與者,每個(gè)觸發(fā)都在每個(gè)輸入端口上消耗固定數(shù)量的輸入令牌,并在每個(gè)輸出端口上生成固定數(shù)量的出口令牌[14]。
整個(gè)應(yīng)用程序需要實(shí)現(xiàn)7 個(gè)模型,分別為灰度處理、圖像裁剪、起點(diǎn)確定、相對(duì)誤差、初始點(diǎn)計(jì)算、終點(diǎn)確定、延遲計(jì)算。
圖5 同步數(shù)據(jù)流模型
該項(xiàng)目提供的硬件平臺(tái)包含了5 個(gè)32 位CPU(見(jiàn)圖6),每個(gè)CPU都包含一個(gè)4 KB的指令緩存和一個(gè)2 KB的數(shù)據(jù)緩存。其中,僅有CPU0 可以訪問(wèn)SRAM和SDRAM,且沒(méi)有片上存儲(chǔ)器。剩余4 個(gè)CPU 均具有大小為8 KB的片上存儲(chǔ)器,可以訪問(wèn)共享片上存儲(chǔ)器。選擇器可以確保只有一個(gè)線程可以同時(shí)運(yùn)行。FIFO存儲(chǔ)器是首先實(shí)現(xiàn)數(shù)據(jù)輸出的寄存器。當(dāng)多個(gè)主設(shè)備想要訪問(wèn)一個(gè)從設(shè)備時(shí),仲裁方案將有助于判斷哪個(gè)主設(shè)備具有更高的訪問(wèn)優(yōu)先級(jí)。
在此多核無(wú)操作系統(tǒng)中,CPU0 是主處理器,而CPU1 ~4 是從處理器。這種結(jié)構(gòu)增強(qiáng)了硬件的性能并提高了處理能力。每個(gè)從CPU 都可以在自己的片上存儲(chǔ)器上處理部分圖像。CPU0 獲取起點(diǎn)并裁剪原始圖像,然后將其存儲(chǔ)在共享內(nèi)存中。CPU1 ~4 分別從共享內(nèi)存中讀取1/4 裁剪的圖像,然后對(duì)其進(jìn)行灰度處理并獲得目標(biāo)點(diǎn)。然后它們將坐標(biāo)存儲(chǔ)在共享內(nèi)存中。最后,CPU0 將獲取坐標(biāo)并輸出它。最終的實(shí)驗(yàn)測(cè)試結(jié)果如表1 所示。其中可見(jiàn)在多處理器平臺(tái)上實(shí)現(xiàn)的圖像追蹤應(yīng)用程序可達(dá)到192 張/s圖片(圖像全部為針對(duì)該實(shí)驗(yàn)的特定圖片)??偞a的占用量為24.85 KB。
圖6 多處理器平臺(tái)架構(gòu)
表1 圖像追蹤應(yīng)用程序測(cè)試結(jié)果
在該項(xiàng)目所要求的多處理器環(huán)境下,怎么訪問(wèn)分配共享資源將是學(xué)生需要進(jìn)一步探究的問(wèn)題。這是因?yàn)楫?dāng)多個(gè)處理器要使用同一條總線時(shí),一次只能有一個(gè)外設(shè)將數(shù)據(jù)放入一條總線。此外,由于多處理器的資源非常有限,因此還需探究代碼和電路板/編譯器的優(yōu)化。
相比模擬實(shí)時(shí)汽車(chē)巡航系統(tǒng)實(shí)驗(yàn),該硬件平臺(tái)具有5 個(gè)處理器,非常復(fù)雜且處理困難。雖然多處理器在提高應(yīng)用的效率上具有很大優(yōu)勢(shì),但應(yīng)考慮好處理器的并行性。學(xué)生需探究如何使用互斥鎖來(lái)阻止CPU的交錯(cuò)執(zhí)行以滿足所有CPU 都能以適當(dāng)?shù)姆绞皆L問(wèn)共享內(nèi)存。此外,學(xué)生還應(yīng)合作探究代碼的優(yōu)化措施。例如用移位運(yùn)算符實(shí)現(xiàn)乘法功能;用Int 指針代替無(wú)符號(hào)char指針可提高傳輸數(shù)據(jù)等。
從以上的教學(xué)模式和兩個(gè)瑞典的嵌入式系統(tǒng)實(shí)驗(yàn)課程的實(shí)驗(yàn)項(xiàng)目可見(jiàn),瑞典的嵌入式系統(tǒng)的教學(xué)更強(qiáng)調(diào)“探究”。對(duì)比我國(guó)傳統(tǒng)型的“按部就班”驗(yàn)證性實(shí)驗(yàn)(即通過(guò)老師講解,學(xué)生根據(jù)課本的指導(dǎo),一步步的完成實(shí)驗(yàn)),距離培養(yǎng)有創(chuàng)新能力的人才還相去甚遠(yuǎn)。
圖7 分別展示了瑞典與我國(guó)嵌入式系統(tǒng)教學(xué)組成架構(gòu)。其中,雙方在教學(xué)模式上最大的不同在于有無(wú)課程前的準(zhǔn)備安排。
圖7 中瑞兩國(guó)嵌入式系統(tǒng)教學(xué)架構(gòu)比較
在瑞典的教學(xué)架構(gòu)中,“課程前”是一個(gè)很重要的教學(xué)模塊。往往通過(guò)開(kāi)課前把課程大綱,教學(xué)安排表,講座參考文獻(xiàn)上傳至課程學(xué)習(xí)系統(tǒng)。因此,瑞典教學(xué)希望學(xué)生能夠做好課程預(yù)習(xí)這一板塊。教師更希望學(xué)生帶著問(wèn)題來(lái)上課,而不是干巴巴地聽(tīng)講座。反觀我國(guó)的教學(xué)模式,更強(qiáng)調(diào)教師對(duì)于知識(shí)的傳送。也是因?yàn)檫@個(gè)原因,講座在整個(gè)教學(xué)中占比最多。在課程組成上,瑞典教學(xué)的形式更加豐富多樣化,其側(cè)重點(diǎn)也更加明確。講座旨在教授基礎(chǔ)知識(shí),習(xí)題課檢測(cè)掌握情況,研討會(huì)探究行業(yè)發(fā)展,實(shí)驗(yàn)學(xué)以致用。我國(guó)的教學(xué)模式較為單一,這無(wú)疑會(huì)大大減少學(xué)習(xí)課程的樂(lè)趣,也使得課程內(nèi)容并未完全被學(xué)生理解吸收。我國(guó)與瑞典的課程考核模式都由筆試和實(shí)驗(yàn)等部分組成,但我國(guó)以最終的總成績(jī)?yōu)榭己藰?biāo)準(zhǔn);瑞典需要分別對(duì)各個(gè)部分進(jìn)行考核。在我國(guó)的考核體制下,抱有僥幸心理的有些學(xué)生會(huì)且只重視理論知識(shí)的學(xué)習(xí),忽視通過(guò)實(shí)驗(yàn)可以增強(qiáng)實(shí)踐能力及對(duì)科學(xué)理論知識(shí)加深理解的作用。我國(guó)的實(shí)驗(yàn)課程和理論課程往往由1 位老師全部負(fù)責(zé)。由于學(xué)生人數(shù)較多,無(wú)法針對(duì)性地兼顧到每一位同學(xué)。相反,瑞典在理論課,實(shí)驗(yàn)課,習(xí)題課中將會(huì)分配不同的助教幫助學(xué)生,在最大程度上答疑解惑。瑞典的實(shí)驗(yàn)課程內(nèi)容更加貼近實(shí)際生活。這無(wú)疑會(huì)對(duì)剛接觸這一陌生專業(yè)的學(xué)生帶來(lái)一絲新鮮感,具有強(qiáng)烈的吸引力。瑞典實(shí)驗(yàn)課程的實(shí)現(xiàn)方式采用合作探究型。這促使學(xué)生自主學(xué)習(xí),合作討論,并對(duì)實(shí)驗(yàn)中所遇的各種問(wèn)題發(fā)散式探究,不局限于實(shí)驗(yàn)本身。
教學(xué)評(píng)估是整個(gè)教學(xué)體系中不可忽視的環(huán)節(jié)。它起到了促使教師自我調(diào)節(jié)和促進(jìn)學(xué)生自主調(diào)整的作用[15]。教學(xué)評(píng)估提供教師最真實(shí)的教學(xué)信息,以便于及時(shí)修正教學(xué)中存在的問(wèn)題。表2 展示的教學(xué)測(cè)評(píng)表重點(diǎn)體現(xiàn)了教學(xué)的側(cè)重點(diǎn)是以教師為核心的知識(shí)傳授或以學(xué)生為中心的探究學(xué)習(xí)。
測(cè)評(píng)結(jié)果顯示,我國(guó)更重視課堂教學(xué),課堂以老師為中心;瑞典更重視探究,鼓勵(lì)學(xué)生自主探究。此外,由于考核課程的形式更加多樣化,使得瑞典實(shí)際教學(xué)中,學(xué)生每周的學(xué)習(xí)課程時(shí)間為35 學(xué)時(shí),高于我國(guó)的20 學(xué)時(shí)。瑞典學(xué)生更多地將時(shí)間放在了實(shí)驗(yàn)探究上,也就是知識(shí)點(diǎn)的實(shí)際應(yīng)用上。這點(diǎn)有別于我國(guó)學(xué)生死抓課本知識(shí)點(diǎn)的現(xiàn)象。
表2 教學(xué)評(píng)估表
縱觀瑞典的嵌入式系統(tǒng)教學(xué)體系,為我校的嵌入式系統(tǒng)專業(yè)教育帶來(lái)了一些啟示。嵌入式系統(tǒng)教學(xué)各個(gè)部分環(huán)環(huán)相扣,各個(gè)部分需要齊頭并進(jìn)。未來(lái)在嵌入式系統(tǒng)的教學(xué)中,更應(yīng)當(dāng)注重理論教育的遞進(jìn)層次性,實(shí)踐環(huán)節(jié)的團(tuán)隊(duì)合作探究。加強(qiáng)學(xué)生實(shí)驗(yàn)操作能力,鼓勵(lì)學(xué)生自由思考,嘗試發(fā)散思維,解決問(wèn)題。此外,還需改革課程考核模式,以滿足全方面考察學(xué)生的學(xué)習(xí)成果。