汪湛清, 彭熙偉, 郭玉潔, 鄭戍華
(北京理工大學(xué)自動(dòng)化學(xué)院,北京100081)
隨著嵌入式系統(tǒng)在國(guó)內(nèi)外自動(dòng)化等各領(lǐng)域的需求變得日益廣泛而深入,北京理工大學(xué)自動(dòng)化專業(yè)自2006年開設(shè)了嵌入式系統(tǒng)理論課。鑒于實(shí)驗(yàn)教學(xué)在嵌入式系統(tǒng)教學(xué)中是一個(gè)至關(guān)重要的環(huán)節(jié),近些年來(lái)在自動(dòng)化學(xué)院展開了一系列嵌入式系統(tǒng)的實(shí)驗(yàn)教學(xué),目前已開設(shè)的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)課包括嵌入式系統(tǒng)課內(nèi)實(shí)驗(yàn)、嵌入式系統(tǒng)實(shí)驗(yàn)選修課、嵌入式系統(tǒng)開放實(shí)驗(yàn)課。
圖1給出了北京理工大學(xué)自動(dòng)化專業(yè)嵌入式系統(tǒng)實(shí)驗(yàn)課體系關(guān)系圖,此圖中嵌入式系統(tǒng)實(shí)驗(yàn)課統(tǒng)領(lǐng)三個(gè)主要系列,從左到右依次為處理器系列(微機(jī)原理實(shí)驗(yàn)、單片機(jī)課程設(shè)計(jì)、DSP實(shí)驗(yàn));接口系列(目前主要為現(xiàn)場(chǎng)總線技術(shù)實(shí)驗(yàn));結(jié)合控制對(duì)象系列(可編程序控制器實(shí)驗(yàn)、組態(tài)軟件及自動(dòng)化裝置實(shí)驗(yàn))。
圖1 嵌入式系統(tǒng)實(shí)驗(yàn)課體系
嵌入式系統(tǒng)是一門匯集計(jì)算機(jī)軟硬件、數(shù)字電路設(shè)計(jì)、模擬電路設(shè)計(jì)、應(yīng)用領(lǐng)域?qū)I(yè)技術(shù)等方方面面知識(shí)的綜合性課程[1-2],因此需要學(xué)生掌握各種理論知識(shí)以及設(shè)計(jì)與調(diào)試實(shí)踐技能,這也給嵌入式系統(tǒng)實(shí)驗(yàn)造成很大的挑戰(zhàn)。首先,需要設(shè)計(jì)一款合適的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)平臺(tái);第二,合理選材與設(shè)置實(shí)驗(yàn)前需要講授的知識(shí)技術(shù)內(nèi)容;第三,克服陡峭學(xué)習(xí)曲線。針對(duì)這三個(gè)挑戰(zhàn)問(wèn)題,在本文后續(xù)部分依次論述。
圖2 嵌入式系統(tǒng)實(shí)驗(yàn)平臺(tái)核心及擴(kuò)展功能單元
設(shè)計(jì)開發(fā)合理適用的實(shí)驗(yàn)平臺(tái)對(duì)有效完成實(shí)驗(yàn)教學(xué)至關(guān)重要。依據(jù)調(diào)研可知,ARM(Advanced RICS Machines)是嵌入式微處理器行業(yè)的一家知名企業(yè),設(shè)計(jì)了大量高性能、廉價(jià)、低功耗的RISC處理器、相關(guān)技術(shù)及軟件。目前已有大量的廠商購(gòu)買ARM的知識(shí)產(chǎn)權(quán)生產(chǎn)了不同性能和不同應(yīng)用領(lǐng)域的ARM處理器,近十幾年來(lái)以ARM作為嵌入式系統(tǒng)教學(xué)的核心已成為一種趨勢(shì)。
在設(shè)計(jì)嵌入式系統(tǒng)實(shí)驗(yàn)平臺(tái)時(shí),首先需要考慮的是:選用哪一款A(yù)RM處理器?因?yàn)槠脚_(tái)的主要目的是教學(xué)實(shí)驗(yàn),所以選用目前市場(chǎng)上主流的Samsung公司的ARM 9[3]列處理器作為實(shí)驗(yàn)平臺(tái)的核心處理器。與此同時(shí),考慮到市場(chǎng)上日益出現(xiàn)的具有不同性能和針對(duì)不同應(yīng)用的ARM處理器,希望本平臺(tái)能兼顧一些高性能和特殊應(yīng)用的基于ARM的高性能嵌入式系統(tǒng)的開發(fā),例如Marvell Xscale 270和TIDM355等。
為了兼顧多種處理器內(nèi)核,考慮以“核心板”+“擴(kuò)展板”作為本實(shí)驗(yàn)平臺(tái)的基本架構(gòu)。核心板即帶有不同ARM處理器的主板(可以是Samsung ARM9核心板、Marvell Xscale270核心板、TI DM355核心板等);擴(kuò)展板則是既能兼顧三款核心板,又能擴(kuò)展出多種外部接口單元以及各種定制模塊的電路板。因此本平臺(tái)的硬件研制重點(diǎn)分為五步:首先,要充分了解三種不同類型的ARM處理器的性能和應(yīng)用;其次,劃分出三款核心板與擴(kuò)展板各自的功能;第三,定義出核心板與擴(kuò)展板的連接線;第四,在擴(kuò)展板上,規(guī)劃出各個(gè)接口單元并為學(xué)生自主定制模塊設(shè)計(jì)預(yù)留接口;最后,分別設(shè)計(jì)核心板和擴(kuò)展板。
圖2給出了基于上述設(shè)計(jì)思路而展開的圍繞嵌入式系統(tǒng)ARM核心的各功能單元介紹。其中,核心資源即是 Samsung ARM 9模塊,包括內(nèi)核為 32-bit ARM920T的CPU內(nèi)核,其最高工作頻率是203MHz;64MB的SDRAM;64MB的FLASH;1個(gè)主USB;1個(gè)從USB;1個(gè)10/100M以太網(wǎng)口;1個(gè)UART接口;電源模塊:將通用的5V轉(zhuǎn)換成Samsung ARM 9處理器所需的3.3V和1.8V。同時(shí),各擴(kuò)展功能單元包括輸入輸出接口單元;AD、DA轉(zhuǎn)換單元;LCD液晶顯示屏單元;觸摸屏單元;JTAG單元等等。此外,還有特別引出了定制模塊接口。
在北京理工大學(xué)自動(dòng)化專業(yè),嵌入式系統(tǒng)課程自開設(shè)以來(lái),每年都有120名至180名學(xué)生選修這門課程。但在以往的課程中,選用的教材大多是針對(duì)某一具體的嵌入式控制器或嵌入式處理器而編寫的[4],這樣造成的問(wèn)題是:①有具體硬件設(shè)備時(shí),理論知識(shí)學(xué)起來(lái)非常抽象;②如果有具體硬件設(shè)備,往往又不能舉一反三;③理論課程中對(duì)其他相關(guān)知識(shí)介紹不足,不具連慣性和對(duì)比性,不易克服在綜合全面運(yùn)用知識(shí)過(guò)程中的阻礙,學(xué)生難以將所學(xué)知識(shí)系統(tǒng)地結(jié)合起來(lái),以至于學(xué)習(xí)最終趨于分?jǐn)?shù)導(dǎo)向,學(xué)生死記硬背,所學(xué)知識(shí)僵化。為了規(guī)避消除上述問(wèn)題,首先向?qū)W生們推薦國(guó)外著名高校在嵌入式系統(tǒng)教學(xué)中所使用的經(jīng)典教材[5-6],針對(duì)某一特定嵌入式處理器或控制器,結(jié)合這些教材,除了在實(shí)驗(yàn)課程中要穿插計(jì)算機(jī)科學(xué)相關(guān)知識(shí)(例如算法、數(shù)據(jù)結(jié)構(gòu)、軟件工程、操作系統(tǒng)等)外,還專門設(shè)置了針對(duì)以下幾方面的實(shí)驗(yàn)前講授內(nèi)容:①同硬件平臺(tái)介紹(x86,ARM,DSP,F(xiàn)PGA);②ARM 核心架構(gòu)以及基于ARM的匯編語(yǔ)言與C語(yǔ)言;③外設(shè)、接口、通訊;④電源與晶振;⑤負(fù)載驅(qū)動(dòng);⑥案例分析研究。
上述內(nèi)容涵蓋了在嵌入式系統(tǒng)實(shí)際設(shè)計(jì)與應(yīng)用中常常會(huì)遇到的問(wèn)題及解決方法,在介紹這些內(nèi)容時(shí)沒有固定的教材,而是取材于世界一流嵌入式系統(tǒng)企業(yè)針對(duì)實(shí)際工程問(wèn)題編撰的設(shè)計(jì)應(yīng)用參考資料,例如“5V to 3V Design Considerations”[7],源自飛思卡爾半導(dǎo)體公司的應(yīng)用說(shuō)明書,該說(shuō)明書闡述在嵌入式系統(tǒng)設(shè)計(jì)中常常會(huì)遇到的3 V和5 V混合電源設(shè)計(jì)問(wèn)題;“Linear and Switching Voltage Regulator Fundamentals”[8],這篇文章介紹嵌入式系統(tǒng)電源管理中的線性和開關(guān)電壓調(diào)節(jié)器設(shè)計(jì)的基本常識(shí),源自國(guó)家半導(dǎo)體公司;“Crystal Oscillator Basics and Crystal Selection for rfPIC and PICmicro Devices”[9]和“HCMOS Crystal Oscillators”[10],介紹晶振的基本知識(shí)和選擇方法,分別源自微芯技術(shù)公司和快捷半導(dǎo)體公司;“High Speed Board Designs”[11]和“Ground Bounce & Vcc Sag”[12],分別介紹高速電路板設(shè)計(jì)注意事項(xiàng)和地彈電源下陷問(wèn)題,二者都源自阿爾特拉半導(dǎo)體公司,“Choosing and Using Bypass Capacitors”[13],介紹旁路電容的選擇和使用,源自英特矽爾半導(dǎo)體公司。由于這些資料的作者都是嵌入式系統(tǒng)領(lǐng)域工程業(yè)界的一線工程設(shè)計(jì)人員,內(nèi)容是他們基于各類典型問(wèn)題的技術(shù)報(bào)告,總結(jié)了理論技術(shù)在實(shí)踐設(shè)計(jì)中遇到問(wèn)題的解決辦法和注意事項(xiàng),理論與工程實(shí)際緊密結(jié)合,對(duì)學(xué)生解決嵌入式系統(tǒng)設(shè)計(jì)與應(yīng)用的實(shí)際問(wèn)題非常有幫助。
案例分析則是結(jié)合實(shí)例介紹嵌入式系統(tǒng)工程設(shè)計(jì)的整個(gè)過(guò)程必經(jīng)的環(huán)節(jié)與內(nèi)容,對(duì)學(xué)生們今后的實(shí)踐,包括本文第四部分介紹的為克服陡峭學(xué)習(xí)曲線而采用的基于項(xiàng)目的實(shí)踐設(shè)計(jì),起到引領(lǐng)示范的作用。
由于嵌入式系統(tǒng)匯集了方方面面的知識(shí)和技能,盡管學(xué)生們已具備一些先修基礎(chǔ)知識(shí),依然存在陡峭學(xué)習(xí)曲線等待他們克服。
面對(duì)嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)中存在的陡峭學(xué)習(xí)曲線之難題,傳統(tǒng)的實(shí)驗(yàn)教學(xué)方法往往難以奏效。眾所周知,傳統(tǒng)教育片面強(qiáng)調(diào)教師在教育中的權(quán)威,在教學(xué)中體現(xiàn)為教師的單純灌輸和學(xué)生的被動(dòng)接受,在這個(gè)過(guò)程中,學(xué)生總是處于一種被動(dòng)的位置,削弱了學(xué)習(xí)知識(shí)的積極性和主動(dòng)性。
根據(jù)多年的教學(xué)體會(huì):無(wú)論教給學(xué)生多少概念,無(wú)論講的有多深,無(wú)論考試有多么難,留在學(xué)生腦中的只有那些觸動(dòng)他們的!基于項(xiàng)目的實(shí)驗(yàn)教學(xué)即是通過(guò)一個(gè)具體的項(xiàng)目“做中學(xué)”?!白鲋袑W(xué)”有利于現(xiàn)代教學(xué)中的師生關(guān)系的建立,從傳統(tǒng)上改變了師生關(guān)系,教師和學(xué)生的關(guān)系更類似于導(dǎo)演和演員的關(guān)系,這樣更能激發(fā)學(xué)生們的主觀能動(dòng)性。
因此,采用基于項(xiàng)目的實(shí)驗(yàn)教學(xué)方法來(lái)克服陡峭學(xué)習(xí)曲線。在實(shí)施過(guò)程中,在共計(jì)16周48學(xué)時(shí)的嵌入式系統(tǒng)實(shí)驗(yàn)課的后8周引入基于項(xiàng)目的實(shí)踐教學(xué)方法,同學(xué)們2到4人形成項(xiàng)目組,項(xiàng)目的實(shí)施過(guò)程依次經(jīng)歷技術(shù)分析、方案評(píng)審、設(shè)計(jì)實(shí)現(xiàn)、項(xiàng)目評(píng)估四個(gè)階段。首先,學(xué)生們鞏固了前8周所學(xué)知識(shí),回顧了前8周基礎(chǔ)實(shí)驗(yàn)的記憶;其次,在后8周磨礪了嵌入式系統(tǒng)實(shí)踐設(shè)計(jì)技能,加深了對(duì)于嵌入式系統(tǒng)知識(shí)的理解;第三,由于以項(xiàng)目組為單位實(shí)施考核,培養(yǎng)了學(xué)生團(tuán)隊(duì)合作等能力。
通過(guò)8周的基于項(xiàng)目的實(shí)踐教學(xué),每個(gè)學(xué)生除了完成基礎(chǔ)實(shí)驗(yàn)之外,還要做一個(gè)綜合性比較強(qiáng)、比較復(fù)雜、多來(lái)自實(shí)際工程的項(xiàng)目,這樣培養(yǎng)出來(lái)的學(xué)生理論和動(dòng)手能力都很強(qiáng),就業(yè)率和就業(yè)質(zhì)量都非常高。由于項(xiàng)目設(shè)有時(shí)間節(jié)點(diǎn),學(xué)生要完成硬件設(shè)計(jì),最終以論文和PPT答辯的形式進(jìn)行評(píng)估,學(xué)生們的積極性和創(chuàng)造性被激發(fā),盡管8周的時(shí)間非常煎熬,但是,學(xué)生們樂在其中,最終88%的學(xué)生能夠克服陡峭學(xué)習(xí)曲線。
在基于項(xiàng)目的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)中,學(xué)生既可以從教師設(shè)定的項(xiàng)目中選取項(xiàng)目,也可以自行擬定項(xiàng)目。在實(shí)驗(yàn)課的初始階段就提醒學(xué)生們?cè)谌粘I詈蛯W(xué)習(xí)中有意識(shí)的關(guān)注嵌入式系統(tǒng)在實(shí)踐中的運(yùn)用,以便早做儲(chǔ)備并于第8周進(jìn)行方案評(píng)審。經(jīng)過(guò)評(píng)審后,項(xiàng)目進(jìn)入實(shí)施階段。要想最終完好的實(shí)現(xiàn)一個(gè)項(xiàng)目,8周24學(xué)時(shí)的實(shí)驗(yàn)課往往是不夠的,因此學(xué)生們利用開放實(shí)驗(yàn)時(shí)段積極到實(shí)驗(yàn)室進(jìn)行設(shè)計(jì)調(diào)試,同時(shí)還要利用課余時(shí)間到電子市場(chǎng)采購(gòu),甚至去企業(yè)調(diào)研,學(xué)習(xí)也由此從課堂、實(shí)驗(yàn)室擴(kuò)展到社會(huì)、企業(yè)。
學(xué)生完成的嵌入式系統(tǒng)項(xiàng)目設(shè)計(jì)包括基于ARM嵌入式系統(tǒng)的CAN總線模塊設(shè)計(jì)、基于ARM的GPS導(dǎo)航系統(tǒng)設(shè)計(jì)、超聲波測(cè)距模塊設(shè)計(jì)、步進(jìn)電機(jī)設(shè)計(jì)、PWM電機(jī)調(diào)速控制實(shí)現(xiàn)、GSM模塊設(shè)計(jì)等等。以“基于ARM的GPS導(dǎo)航系統(tǒng)設(shè)計(jì)”為例,4名學(xué)生形成的項(xiàng)目組要在8周內(nèi)協(xié)同完成以下內(nèi)容:①了解GPS技術(shù)與需求;②手繪GPS模塊原理草圖,了解各元器件功能,采用Protel軟件設(shè)計(jì)GPS模塊原理圖和電路圖、PCB制版、器件采購(gòu)與焊接、硬件電路調(diào)試;③操作系統(tǒng)(嵌入式Linux)的初始化、啟動(dòng)、裁剪、移植、調(diào)試;④硬件設(shè)備驅(qū)動(dòng)程序的編寫;⑤GPS應(yīng)用程序?qū)崿F(xiàn)。
在這個(gè)過(guò)程中,學(xué)生們首先要手繪原理圖,然后,教師引導(dǎo)學(xué)生學(xué)習(xí)初步的Protel設(shè)計(jì)知識(shí)與電路設(shè)計(jì)常識(shí),學(xué)生們自行上網(wǎng)下載軟件并學(xué)習(xí)利用該軟件進(jìn)行設(shè)計(jì),這樣鍛煉了學(xué)生的自主學(xué)習(xí)能力。另外,學(xué)生們還要依照在工程設(shè)計(jì)中的規(guī)范格式填寫元器件清單并去電子市場(chǎng)調(diào)研詢價(jià),還要找尋合適的廠家制作印制板。通過(guò)市場(chǎng)調(diào)研,學(xué)生們開闊了視野,也初步形成了將來(lái)在實(shí)際科研開發(fā)工作中所需具備的成本意識(shí)。關(guān)于嵌入式系統(tǒng)軟件的學(xué)習(xí),特別是嵌入式LINUX操作系統(tǒng)的移植,教師則會(huì)向?qū)W生們推薦一些參考書[14-15],學(xué)生們根據(jù)這些書目進(jìn)一步自學(xué)并完成軟件實(shí)驗(yàn)內(nèi)容。
本文回顧了近些年來(lái)在嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)方面的一些經(jīng)驗(yàn),盡管學(xué)生們?cè)谏险n之初對(duì)嵌入式系統(tǒng)感到神秘,甚至畏懼,但是,基于對(duì)于嵌入式系統(tǒng)平臺(tái)的精心設(shè)計(jì)、實(shí)驗(yàn)前知識(shí)內(nèi)容的合理選材和設(shè)置,并且通過(guò)基于項(xiàng)目的實(shí)踐教學(xué)方法來(lái)克服陡峭學(xué)習(xí)曲線障礙,大多數(shù)學(xué)生通過(guò)這門實(shí)驗(yàn)課對(duì)嵌入式系統(tǒng)有了深刻的認(rèn)識(shí)和進(jìn)一步深入研究的興趣。與此同時(shí),經(jīng)過(guò)基于項(xiàng)目的實(shí)踐教學(xué)的各個(gè)階段,學(xué)生在申請(qǐng)項(xiàng)目、自主學(xué)習(xí)、獨(dú)立工作、撰寫科技論文、做PPT報(bào)告、團(tuán)隊(duì)合作等各方面得到培養(yǎng)和鍛煉,從而進(jìn)一步提高了學(xué)生的綜合能力和素質(zhì),為學(xué)生畢業(yè)后進(jìn)一步深造或走向社會(huì)打下堅(jiān)實(shí)的基礎(chǔ)。
[1] Hamacher C,Vranesic Z,Zaky S,Computer Organization and Embedded Systems[M](6 Edition),The McGraw-Hill Companies,Inc,2013:386-443.
[2] Barry P,Crowley P,Modern Embedded Computing[M],Elsevier Inc,2013:3-41.
[3] User’s Manual S3C2410X 32-Bit RISC [S]. Microprocessor Revision 1.2.
[4] 周立功,ARM嵌入式系統(tǒng)基礎(chǔ)教程(第2版)[M].北京航空航天大學(xué)出版社,2008:41-99.
[5] Wolf W,Computers as Components:Principles of Embedded Computing System Design[M],Morgan Kaufmann Publishers,2001:177-233.
[6] Vahid F,Givargis T,Embedded System Design:A Unified Hardware/Software Introduction[M],John Wiley & Sons,Inc,2002:29-308.
[7] Filippi G,5V to 3V Design Considerations,Application Note AN2433/D Rev 0,12/2002[R].Application Engineering,F(xiàn)reescale Semiconductor.
[8] Simpson C,Linear and Switching Voltage Regulator Fundamentals[R].National Semiconductor.
[9] Bible S,Crystal Oscillator Basics and Crystal Selection for rfPIC and PICmicro Devices[R].Microchip Technology.
[10] HCMOS Crystal Oscillators,Application Note 340,1983[R].Fairchild Semiconductor.
[11] High Speed Board Designs,Application Note 75[R].November 2001,ver.4.0,Altera.
[12] Schmitz T,Wong M,Choosing and Using Bypass Capacitors,Application Note AN1325,August3,2007[R].Intersil.
[13] Ground Bounce & Vcc Sag,White Paper[R].Altera.
[14] 陳云川,嵌入式軟件調(diào)試技術(shù)[M],電子工業(yè)出版社,2009:41-99.
[15] 楊水清,張 劍,ARM嵌入式Linux系統(tǒng)開發(fā)技術(shù)詳解[M],電子工業(yè)出版社,2008:109-135.