張燕 夏慶鋒 謝鵬飛
摘要:針對嵌入式系統(tǒng)教學(xué)過程中存在諸如課程直觀性不強,學(xué)生動手能力不足等問題,以及為了更好地提高學(xué)生的創(chuàng)新性。本文提出了利用proteus以及keil軟件作為課程教學(xué)的輔助手段設(shè)計一系列案例使得嵌入式系統(tǒng)理論教學(xué)更加形象化,提高學(xué)生學(xué)習(xí)的積極性,且使得實驗教學(xué)對于設(shè)備的要求有所降低,節(jié)約了實驗教學(xué)成本。
關(guān)鍵詞:proteus軟件;嵌入式系統(tǒng);仿真;輔助教學(xué)
中圖分類號:G642.41 ? ? 文獻標志碼:A ? ? 文章編號:1674-9324(2015)43-0252-02
一、引言
嵌入式系統(tǒng)目前廣泛應(yīng)用于通信設(shè)備,信息家電,網(wǎng)絡(luò)設(shè)備,工業(yè)控制,智能儀表,汽車電子,移動存儲等領(lǐng)域中,有統(tǒng)計表明目前嵌入式微控制器占世界處理器市場的94%,而PC處理器只占6%。因此社會對于嵌入式系統(tǒng)相關(guān)技術(shù)人才的需求也在空前擴大。嵌入式系統(tǒng)這門課程也成為各個高校電子信息類專業(yè)的一門非常重要的專業(yè)課程。這門課程融電子電路,程序設(shè)計等課程于一體。是一門理論和實踐相結(jié)合的課程。
本課程重點培養(yǎng)的是學(xué)生對于嵌入式系統(tǒng)理論的認識以及實現(xiàn)嵌入式系統(tǒng)外設(shè)的相關(guān)操作。由于涉及到嵌入式系統(tǒng)的相關(guān)操作,因此實驗課程非常重要,但由于理論教學(xué)是課堂教學(xué),無法直接的給學(xué)生演示電路連接,運行過程,導(dǎo)致課堂教學(xué)比較枯燥。而實驗課教學(xué)又由于設(shè)備和實驗時間的限制無法滿足學(xué)生的學(xué)習(xí)需求。因此考慮將proteus軟件引入嵌入式系統(tǒng)的教學(xué)過程中,使得所有實驗可以仿真,且可以在教學(xué)課堂上演示。這樣增加了理論課堂的趣味性。同時設(shè)計這樣一個仿真平臺又使得學(xué)生脫離了實驗設(shè)備的限制,能夠只要有一臺電腦就可以進行理論或者實驗課相關(guān)代碼的編寫調(diào)試工作。
二、proteus在教學(xué)中的應(yīng)用
Proteus是由英國Labcenter electronics公司開發(fā)的電路分析與實物仿真軟件,是一款EDA工具軟件。
該軟件包括兩個程序,ARES主要用于PCB自動布線或仿真,ISIS主要采用原理圖的方法繪制電路并進行相應(yīng)的仿真。由于我們采用的是虛擬仿真,所以選擇的是ISIS[1]。在嵌入式系統(tǒng)教學(xué)中引入proteus仿真軟件,可以使得教學(xué)過程更加直觀、生動。
1.proteus在理論課教學(xué)的應(yīng)用。嵌入式系統(tǒng)理論教學(xué)主要著重講解了嵌入式系統(tǒng)各個外設(shè)以及如何通過CPU芯片控制外設(shè)。使用的開發(fā)板是cortex-m3,在設(shè)計仿真平臺之前,理論課都是將開發(fā)板帶到課堂,講解的時候演示給學(xué)生看,但是開發(fā)板大都是多層板,而且學(xué)生也無法看清電路的連接。而仿真平臺建立之后就可以讓學(xué)生直接看清楚連線。同時將代碼下載到仿真平臺上就能夠直觀的看到代碼的運行結(jié)果。
如嵌入式系統(tǒng)課程講解的第一個實驗就是輸入輸出,對于輸出使用的是LED燈來顯示。涉及到的寄存器是控制寄存器和方向寄存器。之前理論課講解的時候主要通過在黑板上繪制燈的兩種硬件連接方式,而對于GPIO端口的相關(guān)寄存器講解就是直接講解寄存器手冊的內(nèi)容。學(xué)生很難直觀地將兩者聯(lián)系起來。筆者設(shè)計的仿真平臺中第一個實驗是燈的實驗。為了從漸進性角度讓學(xué)生理解,共設(shè)計了兩個實驗。
首先設(shè)計的第一個燈的實驗就是控制一盞燈的亮滅。在硬件上采取的是灌電流的形式,也就是3.3V接燈再接一個電阻,而后連接到LPC2114芯片的P0.8端口上,接下來就是考慮軟件代碼的設(shè)計。設(shè)計的代碼是先點亮燈而后延遲一段時間熄滅燈,延遲一段時間再點亮,也就是實現(xiàn)燈的亮滅控制。硬件接線完成之后接下來就是實現(xiàn)軟件控制。
燈連接到P0.8端口,所以管腳選擇寄存器PINSEL0設(shè)置為GPIO口的形式。而后設(shè)置方向寄存器IODIR0為輸出方向,之后通過設(shè)置寄存器IOSET0以及清除寄存器IOCLR0設(shè)置此端口為高電平和低電平[2,3]。
通過這個實驗就可以在理論課上講解寄存器之后,給學(xué)生看硬件原理圖,之后演示可以看到原理圖中的燈亮滅。最后結(jié)合代碼分析這樣一個亮滅的過程,在代碼中可以看到燈的輸出需要使用的GPIO寄存器以及相關(guān)設(shè)置。在講解完例子之后還能夠讓學(xué)生課后回去嘗試換一個端口去設(shè)計一段代碼以及改變硬件連接,這樣學(xué)生就能夠在練習(xí)的過程中熟悉相關(guān)寄存器以及GPIO輸出。
關(guān)于燈的實驗還設(shè)計了一個擴展實驗,就是如何實現(xiàn)多個燈的控制。那么在設(shè)計的時候我們可以在硬件上使用多個燈直接連接到GPIO口上,但是這種設(shè)計的問題就是會占用多個GPIO口,為了節(jié)約資源,在硬件上添加一個38譯碼器,實現(xiàn)3根線控制7盞燈。設(shè)計中懸空一個端口的目的是當三根線輸入是000實現(xiàn)所有燈全滅,當然這是一個設(shè)計問題,學(xué)生完全可以按照自己的思路結(jié)合數(shù)電知識擴展。軟件代碼由于篇幅問題不再講解。
通過燈的兩個實驗可以看出利用proteus軟件以及keil軟件結(jié)合投影儀,就可以實現(xiàn)在理論課堂上實現(xiàn)軟件硬件以及系統(tǒng)集成內(nèi)容的教學(xué),且由于可以動態(tài)仿真,所以更加形象,也能夠給學(xué)生一個直觀的認識。而且通過小實驗?zāi)軌蚋玫淖寣W(xué)生理解嵌入式系統(tǒng)軟硬件是密不可分的。通過擴展實驗可以給學(xué)生一個擴展思維的方式,讓學(xué)生不拘泥于所教,還可以自己利用自己的數(shù)電、電路、軟件等相關(guān)課程的知識去設(shè)計一些小項目,達到了擴展學(xué)生創(chuàng)新思維的目的。
所以在理論課的教學(xué)中結(jié)合了仿真平臺就能夠更生動地完成嵌入式系統(tǒng)的理論課程。
2.proteus在實驗課教學(xué)的應(yīng)用。傳統(tǒng)的實驗課教學(xué)都是在實驗室給定一塊開發(fā)板進行實驗,但是由于多種原因,開發(fā)板不可能每年都會更新,因此存在所學(xué)CPU單一的問題,其次開發(fā)板的所有硬件連接都是固定的,不能夠進行更改,因此只能給按照給定的開發(fā)板原理圖去設(shè)計實驗。再次由于實驗課場地以及時間的問題,學(xué)生除了上實驗課時間之外,很難有機會去實踐。
在實驗教學(xué)中引入proteus平臺,就可以建立先進的嵌入式系統(tǒng)仿真虛擬實驗室。這樣學(xué)生就可以脫離實驗時間地點的限制,只要有一臺電腦以及安裝相關(guān)軟件,就可以隨時隨地進行自己的嵌入式系統(tǒng)設(shè)計,即降低了成本,又可以提高學(xué)習(xí)的效果。Proteus可以仿真很多款A(yù)RM芯片。而且proteus軟件提供了非常多的外圍電路以及器件,如LED燈、按鍵、矩陣鍵盤、I2C、SPI、UART、AD/DA等。筆者基于此設(shè)計了一款基于LPC2114的實驗仿真平臺,整個硬件部分原理圖都已經(jīng)給定,學(xué)生可以不設(shè)計硬件,直接根據(jù)原理圖和芯片手冊進行設(shè)計相關(guān)軟件,并且進行測試。而針對有些尖子生就可以在學(xué)習(xí)一款CPU之后掌握了如何閱讀芯片手冊,如何使用寄存器之后,就可以自己去選擇一款proteus相關(guān)的ARM芯片,而后找到相關(guān)芯片的芯片手冊,就可以自己動手去設(shè)計硬件電路軟件程序,所以對于學(xué)生的動手能力有很大的培養(yǎng)效果。
此外對于此款軟件的學(xué)習(xí)以及嵌入式系統(tǒng)的學(xué)習(xí),學(xué)生可以在做嵌入式系統(tǒng)相關(guān)畢設(shè)的時候,先通過軟件仿真驗證可行性,之后再去制版,避免了硬件設(shè)計錯誤造成的成本損失。
三、總結(jié)
將proteus仿真平臺引入嵌入式系統(tǒng)的教學(xué),增加了理論課教學(xué)的直觀性以及生動性。讓學(xué)生能夠更好地理解理論課教學(xué)的內(nèi)容,也增加了理論課教學(xué)的趣味性。而仿真軟件引入嵌入式系統(tǒng)的實驗課教學(xué)則改變了學(xué)生在學(xué)習(xí)嵌入式系統(tǒng)實驗課程時候離不開開發(fā)板和實驗室的限制,能夠讓學(xué)生雖離開實驗室仍然能夠去做嵌入式相關(guān)的開發(fā),且也能夠減少實驗成本。讓對嵌入式感興趣的學(xué)生可以隨時隨地去編寫代碼驗證功能。而且設(shè)計了一個仿真平臺并且提供了些例程代碼,讓大部分學(xué)生能夠在不自己設(shè)計硬件但是能夠看懂原理圖的基礎(chǔ)上進行嵌入式系統(tǒng)相關(guān)外設(shè)的學(xué)習(xí)。而針對特別優(yōu)秀的學(xué)生,則可以自己選擇proteus庫提供的芯片,自己設(shè)計硬件電路和軟件代碼進行自己的系統(tǒng)設(shè)計。因此此款軟件引入實驗課教學(xué)不僅節(jié)約了成本,提高了學(xué)生學(xué)習(xí)興趣,還有利于學(xué)生創(chuàng)新性的培養(yǎng)。
總之,將proteus仿真軟件引入嵌入式系統(tǒng)的教學(xué)可以將理論實踐更好的結(jié)合,提高了學(xué)生學(xué)習(xí)課程的積極性,此外還有利于學(xué)生創(chuàng)新性的培養(yǎng)。
參考文獻:
[1]張?zhí)m紅,陸廣平.基于Proteus仿真的單片機教學(xué)的研究與實踐[J].中國電力教育,2014,(5):76-78.
[2]LPC2114_2124_2212_2214-02-user_cn中文手冊.
[3]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].北京航空航天大學(xué)出版社,2005.