侯 葉,張菊香,戴志勇
(西安電子科技大學(xué) 機(jī)電工程學(xué)院,陜西 西安 710071)
工程教育專業(yè)認(rèn)證是一種以培養(yǎng)目標(biāo)和畢業(yè)出口要求為導(dǎo)向的合格性評(píng)價(jià)。專業(yè)認(rèn)證可以幫助高校專業(yè)點(diǎn)建立健全高效的學(xué)生培養(yǎng)目標(biāo)達(dá)成的教學(xué)管理體系,密切工程教育與產(chǎn)業(yè)界的聯(lián)系,提高工程教育人才培養(yǎng)對(duì)產(chǎn)業(yè)的適應(yīng)性,實(shí)現(xiàn)國(guó)際間本科工程教育的學(xué)位互認(rèn)。因此,國(guó)內(nèi)高校各專業(yè)都在積極開(kāi)展專業(yè)認(rèn)證的申請(qǐng)工作,在此背景下,對(duì)專業(yè)的課程體系設(shè)置、課程內(nèi)容建設(shè)等都提出了一定的要求,高校各專業(yè)都面臨著課程體系配置與課程內(nèi)容的優(yōu)化或改革。
“微機(jī)原理與系統(tǒng)設(shè)計(jì)”(以下簡(jiǎn)稱微機(jī)原理課程)是大多理工科高校學(xué)生的必修課程,而且目前課程大都基于8088/8086微處理器進(jìn)行微機(jī)原理分析及系統(tǒng)設(shè)計(jì)[1]。由于該微處理器芯片已經(jīng)過(guò)時(shí),在專業(yè)認(rèn)證的背景下,各大院校的各專業(yè)都面臨該課程的改革問(wèn)題。怎樣對(duì)微機(jī)原理課程進(jìn)行改革,本學(xué)院各專業(yè)教師經(jīng)過(guò)了多次討論與調(diào)研,借鑒了國(guó)內(nèi)其他知名高校對(duì)該課程的改革情況,有的教師建議更換微處理器芯片,換為當(dāng)下流行的微處理器,但有的教師認(rèn)為該課程本身就是基礎(chǔ)課程,講授的是基本原理而不是計(jì)算機(jī),因此無(wú)須更改芯片。
另外,微機(jī)系統(tǒng)系列的另外一門課程“單片機(jī)原理及應(yīng)用”(以下簡(jiǎn)稱單片機(jī)課程),同樣是電子類專業(yè)的必修或選修課程。單片機(jī),即一個(gè)芯片就是一個(gè)簡(jiǎn)單的微型計(jì)算機(jī),因此“微機(jī)原理與系統(tǒng)設(shè)計(jì)”和“單片機(jī)原理及應(yīng)用”這兩門課程緊密相連,有共性,有特性,但微機(jī)原理課程是一門專業(yè)基礎(chǔ)課,偏重理論與基礎(chǔ),基于微處理器進(jìn)行微機(jī)控制系統(tǒng)設(shè)計(jì)與分析,而單片機(jī)課程是基于微機(jī)原理課程的一門專業(yè)課,偏重應(yīng)用,基于微控制器或單片機(jī)進(jìn)行嵌入式控制系統(tǒng)設(shè)計(jì)與分析。
單片機(jī)課程同樣面臨如何選擇微控制器,如何能使課程跟上時(shí)代發(fā)展的步伐且符合專業(yè)認(rèn)證要求、使畢業(yè)學(xué)生更能適合社會(huì)需求等問(wèn)題,因此也需要進(jìn)行課程改革。
針對(duì)微機(jī)系統(tǒng)的系列課程,本學(xué)院自動(dòng)化專業(yè)從課程體系方面進(jìn)行改革,主要從課程的配置、課程的知識(shí)結(jié)構(gòu)、課程的內(nèi)容、課程教授的方法等方面進(jìn)行探索。
基于這兩門課程所面臨的問(wèn)題,以及專業(yè)在課程學(xué)分上的限制,本學(xué)院自動(dòng)化專業(yè)在課程體系方面進(jìn)行改革。減少微機(jī)原理課程的課時(shí),調(diào)節(jié)課程內(nèi)容,并且取消單片機(jī)課程,新增“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程,使該新增課程能對(duì)微機(jī)原理課程進(jìn)行有效拓展,既能涵蓋單片機(jī)課程的內(nèi)容,又能跟上科學(xué)技術(shù)發(fā)展的步伐,符合專業(yè)認(rèn)證要求,使培養(yǎng)的工程教育人才更能適應(yīng)當(dāng)代產(chǎn)業(yè)的發(fā)展要求。
本專業(yè)微機(jī)原理課程理論課56學(xué)時(shí),上機(jī)與實(shí)驗(yàn)課48學(xué)時(shí)。針對(duì)該課程,減少課時(shí),調(diào)整為理論課48學(xué)時(shí),上機(jī)與實(shí)驗(yàn)課32學(xué)時(shí)。將減少的學(xué)時(shí)增加至微機(jī)系統(tǒng)系列的其他課程。在有限的微機(jī)原理課時(shí)內(nèi),弱化芯片內(nèi)容的介紹,注重學(xué)生對(duì)基本理論與基本概念的掌握,尤其是微機(jī)系統(tǒng)與嵌入式系統(tǒng)共性的知識(shí)。而且在講解芯片或知識(shí)點(diǎn)時(shí),拓展介紹其他功能類似的芯片,或?qū)χR(shí)點(diǎn)內(nèi)容進(jìn)行拓展,使學(xué)生能更好地理解所學(xué)的基本知識(shí)。并且通過(guò)實(shí)例與實(shí)驗(yàn)加強(qiáng)系統(tǒng)設(shè)計(jì)與分析的方法,強(qiáng)調(diào)培養(yǎng)學(xué)生的工程思維和解決工程問(wèn)題的能力。
比如介紹微處理器芯片8086/8088 CPU時(shí),從內(nèi)外結(jié)構(gòu)兩個(gè)方面介紹。在內(nèi)部結(jié)構(gòu)上,弱化芯片內(nèi)部結(jié)構(gòu)的細(xì)節(jié),著重介紹一般微處理器芯片的內(nèi)部組成及工作原理,強(qiáng)調(diào)微處理器芯片的共性,并列舉其他微處理芯片的特性,將8086/8088 CPU作為眾多芯片中的一種示例進(jìn)行講解。在外部結(jié)構(gòu)上,先介紹存儲(chǔ)器和I/O口對(duì)地址的一般分配方式,并列舉出其他微處理器系統(tǒng)或微控制器系統(tǒng)有關(guān)地址分配的方式,然后再說(shuō)明8086微機(jī)系統(tǒng)的地址分配方式。即在針對(duì)芯片介紹知識(shí)點(diǎn)時(shí),遵從“從共性到特性”的分析原則。
在系統(tǒng)設(shè)計(jì)時(shí),從基于微處理器如何構(gòu)成微機(jī)系統(tǒng)出發(fā)進(jìn)行介紹,使學(xué)生學(xué)習(xí)該課程后能自行設(shè)計(jì)小的微型機(jī)應(yīng)用系統(tǒng),能從工程的角度考慮芯片的選型與系統(tǒng)的設(shè)計(jì)和分析。另外,在介紹常用接口芯片時(shí),同樣減少芯片本身結(jié)構(gòu)的問(wèn)題,強(qiáng)調(diào)設(shè)計(jì)接口系統(tǒng)的方法。如學(xué)習(xí)接口芯片定時(shí)/計(jì)數(shù)器8253時(shí),弱化8253芯片及工作方式波形的介紹,注重定時(shí)/計(jì)數(shù)器的基礎(chǔ)知識(shí)與基本應(yīng)用,并對(duì)其內(nèi)容進(jìn)行擴(kuò)展。例如:在介紹定時(shí)/計(jì)數(shù)器的工作實(shí)質(zhì)時(shí),使學(xué)生明確定時(shí)器與計(jì)數(shù)器的區(qū)別與不同的應(yīng)用;在介紹一般定時(shí)/計(jì)數(shù)器的實(shí)現(xiàn)方法時(shí),使學(xué)生明確系統(tǒng)或工程中要實(shí)現(xiàn)定時(shí)/計(jì)數(shù)可采用哪些方法;通過(guò)對(duì)8253重要引腳及內(nèi)部結(jié)構(gòu)的介紹使學(xué)生明確定時(shí)/計(jì)數(shù)器的工作原理;通過(guò)對(duì)8253控制寄存器介紹和對(duì)8253初始化,使學(xué)生深入理解定時(shí)/計(jì)數(shù)器的關(guān)鍵參數(shù)與設(shè)置;關(guān)于8253的應(yīng)用方面,不僅要介紹定時(shí)器/計(jì)數(shù)器在定時(shí)、級(jí)聯(lián)定時(shí)、計(jì)數(shù)方面的應(yīng)用,還要介紹如何利用定時(shí)/計(jì)數(shù)器測(cè)量脈寬、測(cè)量頻率等。通過(guò)一種芯片的介紹,使學(xué)生深入理解定時(shí)/計(jì)數(shù)器的原理與應(yīng)用,能夠舉一反三,靈活運(yùn)用知識(shí)。
嵌入式系統(tǒng)通常包含兩種:無(wú)操作系統(tǒng)的嵌入式系統(tǒng)和有操作系統(tǒng)的嵌入式系統(tǒng)。無(wú)操作系統(tǒng)的嵌入式系統(tǒng)俗稱單片機(jī)系統(tǒng),適合小型產(chǎn)品,功能簡(jiǎn)單。而如手機(jī)、平板、智能電視等當(dāng)代電子產(chǎn)品越來(lái)越復(fù)雜,功能越來(lái)越強(qiáng)大,性能越來(lái)越高,都需基于操作系統(tǒng)進(jìn)行開(kāi)發(fā)。
本專業(yè)開(kāi)設(shè)的微控制器課程“單片機(jī)原理及應(yīng)用”不涉及操作系統(tǒng),是不含操作系統(tǒng)的嵌入式系統(tǒng)設(shè)計(jì)與開(kāi)發(fā),即裸機(jī)系統(tǒng)的開(kāi)發(fā)。
而近年來(lái),基于linux等嵌入式操作系統(tǒng)的嵌入式系統(tǒng)開(kāi)發(fā)成為當(dāng)前最熱門、最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一,它已普遍應(yīng)用于人類生活的方方面面。伴隨著巨大的產(chǎn)業(yè)需求,我國(guó)嵌入式系統(tǒng)產(chǎn)業(yè)的人才需求量也逐漸增加。因此,不論從教學(xué)、科研,還是社會(huì)的需求方面,都很有必要對(duì)學(xué)生開(kāi)展有操作系統(tǒng)的嵌入式系統(tǒng)開(kāi)發(fā)方面的教學(xué),它不僅可豐富課程體系,讓教學(xué)能夠跟上科技發(fā)展的步伐,更體現(xiàn)學(xué)校以社會(huì)需求為出發(fā)點(diǎn),以培養(yǎng)社會(huì)所需要的、高素質(zhì)的優(yōu)秀人才為目標(biāo)的人才培養(yǎng)宗旨。因此本專業(yè)取消“單片機(jī)原理及應(yīng)用”課程,新開(kāi)“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程。
本文針對(duì)所開(kāi)設(shè)的“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”的課程內(nèi)容及講授方法展開(kāi)討論,使它能和微機(jī)原理課程有效銜接并進(jìn)行知識(shí)拓展;使學(xué)生既能掌握單片機(jī)課程教授的基礎(chǔ)知識(shí),又能對(duì)有操作系統(tǒng)的嵌入式系統(tǒng)開(kāi)發(fā)有足夠的了解和學(xué)習(xí),具有基于linux的嵌入式系統(tǒng)開(kāi)發(fā)的基礎(chǔ)知識(shí)和基本能力。
本專業(yè)單片機(jī)課程理論課18學(xué)時(shí),實(shí)驗(yàn)課28學(xué)時(shí)。針對(duì)新課程“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”,增加理論與實(shí)驗(yàn)學(xué)時(shí),調(diào)整為理論課26學(xué)時(shí),實(shí)驗(yàn)課44學(xué)時(shí)。該門課程不僅是對(duì)微機(jī)原理課程內(nèi)容的拓展,也在微機(jī)系統(tǒng)的知識(shí)結(jié)構(gòu)方面進(jìn)行了豐富與完善。不同于微機(jī)原理課程中所介紹的X86架構(gòu),本課程介紹ARM架構(gòu),基于ARM微處理器,學(xué)習(xí)linux嵌入式系統(tǒng)原理及應(yīng)用。
由于本課程學(xué)時(shí)有限,為滿足教學(xué)目標(biāo),理論教學(xué)包含四部分。第一部分:ARM基礎(chǔ)知識(shí);第二部分:SoC芯片;第三部分:嵌入式系統(tǒng)移植;第四部分:嵌入式系統(tǒng)驅(qū)動(dòng)開(kāi)發(fā)。
第一部分主要內(nèi)容包含嵌入式系統(tǒng)基本概念、ARM微處理器、ARM體系結(jié)構(gòu)、ARM微處理器指令等。主要從體系結(jié)構(gòu)、指令集、總線結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)方式等方面豐富相關(guān)的知識(shí)結(jié)構(gòu)[2]。例如:微機(jī)原理課程講授的是X86微處理器,基于馮·諾依曼結(jié)構(gòu),在“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程中分析哈佛結(jié)構(gòu),豐富學(xué)生微處理器體系結(jié)構(gòu)方面的知識(shí),便于學(xué)生對(duì)所學(xué)習(xí)微處理器/微控制器存儲(chǔ)結(jié)構(gòu)的理解。X86采用的是CISC指令集,在“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程中介紹RISC指令集,豐富學(xué)生在指令集方面的知識(shí),便于學(xué)生對(duì)所學(xué)微處理器/微控制器指令集的理解。微機(jī)原理課程中學(xué)習(xí)的是PC機(jī)單總線結(jié)構(gòu),“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程介紹片上總線結(jié)構(gòu),使學(xué)生進(jìn)一步豐富與理解總線的結(jié)構(gòu)。微機(jī)原理課程中8086/8088數(shù)據(jù)存儲(chǔ)采用的是小端模式,而微控制器有的采用小端模式,有的采用大端模式,在“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程中介紹大端模式,豐富學(xué)生在數(shù)據(jù)存儲(chǔ)方面的多樣性。
第二部分介紹當(dāng)下先進(jìn)和流行的SoC芯片(System on Chip,系統(tǒng)級(jí)芯片),如介紹三星的SoC芯片S5P6818,S5P6818是64位8核Cortex-A53架構(gòu)的ARM處理器。由于“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程代替了以前的單片機(jī)課程,因此第二部分內(nèi)容作為單片機(jī)課程內(nèi)容講解。第二部分介紹S5P6818芯片的各個(gè)功能模塊及基于這些功能模塊的系統(tǒng)設(shè)計(jì)與分析,介紹的主要功能模塊如:GPIO口、時(shí)鐘系統(tǒng)、定時(shí)器及PWM、串行口、中斷控制器、AD轉(zhuǎn)換、IIC接口等。
第三部分和第四部分是單片機(jī)課程的擴(kuò)展,介紹基于linux的嵌入式系統(tǒng)的開(kāi)發(fā)。通過(guò)這兩部分的學(xué)習(xí)可使學(xué)生具有開(kāi)發(fā)基于linux的嵌入式系統(tǒng)所具有的基礎(chǔ)知識(shí)。由于課時(shí)有限,而嵌入式系統(tǒng)開(kāi)發(fā)涉及的內(nèi)容非常豐富,作為探索,第三部分嵌入式系統(tǒng)移植中主要介紹linux嵌入式系統(tǒng)基本概念、嵌入式linux交叉開(kāi)發(fā)環(huán)境搭建、Bootloader移植、內(nèi)核移植、第三方驅(qū)動(dòng)移植等,使學(xué)生具有嵌入式系統(tǒng)移植方面基礎(chǔ)的知識(shí);第四部分嵌入式內(nèi)核及驅(qū)動(dòng)開(kāi)發(fā),主要介紹linux嵌入式系統(tǒng)的驅(qū)動(dòng)程序開(kāi)發(fā)、字符設(shè)備驅(qū)動(dòng)基礎(chǔ)、中斷編程、平臺(tái)總線等[3],使學(xué)生具有開(kāi)發(fā)嵌入式驅(qū)動(dòng)程序的基本知識(shí)。
本課程不僅包含理論教學(xué),還包含實(shí)驗(yàn)教學(xué)。實(shí)驗(yàn)內(nèi)容包含裸機(jī)實(shí)驗(yàn)和嵌入式系統(tǒng)實(shí)驗(yàn)兩部分。裸機(jī)實(shí)驗(yàn)類似以前單片機(jī)課程的實(shí)驗(yàn),針對(duì)講解的SoC芯片的功能模塊展開(kāi)相應(yīng)的實(shí)驗(yàn),如GPIO、串口、PWM、中斷、AD轉(zhuǎn)換等實(shí)驗(yàn)。嵌入式系統(tǒng)實(shí)驗(yàn)主要通過(guò)LED驅(qū)動(dòng)、PWM驅(qū)動(dòng)、紅外驅(qū)動(dòng)、ADC驅(qū)動(dòng)等實(shí)驗(yàn),使學(xué)生能夠熟悉字符設(shè)備的驅(qū)動(dòng)開(kāi)發(fā),理解中斷、IO口模型、平臺(tái)總線等相關(guān)知識(shí)的應(yīng)用。通過(guò)實(shí)驗(yàn)教學(xué),使學(xué)生不僅具有單片機(jī)開(kāi)發(fā)的基本能力,也具有嵌入式系統(tǒng)驅(qū)動(dòng)開(kāi)發(fā)的基本能力。
研究“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程的教學(xué)方法,能使學(xué)生能更好地理解和掌握所學(xué)知識(shí)。
微機(jī)原理課程學(xué)習(xí)的是X86架構(gòu),而“基于ARM的嵌入式系統(tǒng)原理及應(yīng)用”課程學(xué)習(xí)的是ARM架構(gòu)。對(duì)于不同架構(gòu)的知識(shí),第一部分ARM基礎(chǔ)知識(shí),可通過(guò)“比較”的教學(xué)方法。由于學(xué)生已學(xué)習(xí)過(guò)微機(jī)原理課程,具有了微處理器開(kāi)發(fā)系統(tǒng)的基礎(chǔ),如果將ARM架構(gòu)的微處理器同X86架構(gòu)的微處理器進(jìn)行比較教學(xué),可以使學(xué)生更好地理解知識(shí)點(diǎn)。如微處理器開(kāi)發(fā)與微控制器開(kāi)發(fā)的比較,以及體系結(jié)構(gòu)、指令集、總線結(jié)構(gòu)、數(shù)據(jù)存儲(chǔ)方式等方面的比較等。
由于課程課時(shí)有限,單片機(jī)的種類繁多,SoC芯片更新?lián)Q代非??欤栽谡n程的第二部分介紹SoC芯片時(shí),對(duì)其各功能模塊的講解要強(qiáng)調(diào)單片機(jī)的共性知識(shí),然后列舉一些微控制器或SoC芯片是如何解決這些共性問(wèn)題的,最后分析本課程講解的SoC芯片的特性、實(shí)現(xiàn)及應(yīng)用。這種從共性到特性的方式,使學(xué)生能對(duì)芯片的應(yīng)用舉一反三。如在講解GPIO知識(shí)時(shí),先介紹GPIO口的共性知識(shí),使用GPIO一般考慮的共性問(wèn)題:有多少個(gè)或位可使用的IO口;哪些口有復(fù)用功能,有哪些復(fù)用功能;使用IO口時(shí)如何對(duì)其進(jìn)行配置;IO端口的地址;等等。然后分析一些微控制器或SoC,如STM32、S3C2440等它們?nèi)绾螌?shí)現(xiàn)這些共性問(wèn)題,最后介紹課程中的SoC芯片S5P6818在這些問(wèn)題方面的特性與實(shí)現(xiàn),以及如何利用該功能模塊進(jìn)行系統(tǒng)設(shè)計(jì)與應(yīng)用。
linux嵌入式系統(tǒng)的基礎(chǔ)知識(shí)與開(kāi)發(fā)涉及面廣,不易學(xué)習(xí)。為了使學(xué)生能在短時(shí)間內(nèi)較好地理解linux嵌入式系統(tǒng)的開(kāi)發(fā),在理論課程教學(xué)中,配合實(shí)驗(yàn)內(nèi)容及實(shí)驗(yàn)程序進(jìn)行。在理論課介紹每個(gè)知識(shí)模塊后,通過(guò)實(shí)例及實(shí)驗(yàn)程序講解所學(xué)習(xí)的知識(shí)點(diǎn),強(qiáng)調(diào)知識(shí)點(diǎn)在驅(qū)動(dòng)程序開(kāi)發(fā)中的應(yīng)用與實(shí)現(xiàn),可使學(xué)生快速理解所講解的知識(shí)的應(yīng)用。
另外,為了促使學(xué)生自主研究與學(xué)習(xí),鼓勵(lì)學(xué)生基于實(shí)驗(yàn)平臺(tái)對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行擴(kuò)展。實(shí)驗(yàn)任務(wù)包含兩部分:基礎(chǔ)實(shí)驗(yàn)和擴(kuò)展實(shí)驗(yàn)?;A(chǔ)實(shí)驗(yàn)配合理論教學(xué),有助于學(xué)生對(duì)理論知識(shí)的理解。擴(kuò)展實(shí)驗(yàn)不設(shè)定內(nèi)容,鼓勵(lì)學(xué)生自行研究與探索,對(duì)所做實(shí)驗(yàn)進(jìn)行擴(kuò)展,并將擴(kuò)展的內(nèi)容作為考核的一部分,更好地激勵(lì)學(xué)生的學(xué)習(xí)積極性及對(duì)知識(shí)的應(yīng)用與理解。
以專業(yè)認(rèn)證為背景,本文針對(duì)西安電子科技大學(xué)自動(dòng)化專業(yè)微機(jī)原理課程和單片機(jī)課程存在的問(wèn)題,在課程體系方面進(jìn)行了改進(jìn),對(duì)微機(jī)系統(tǒng)系列課程進(jìn)行了改革,并對(duì)所開(kāi)設(shè)的linux嵌入式系統(tǒng)課程內(nèi)容及講授方法展開(kāi)了討論與探索,以便使微機(jī)系統(tǒng)系列課程的設(shè)置與教學(xué)能更好地培養(yǎng)適應(yīng)產(chǎn)業(yè)發(fā)展的工程教育人才。