王娟
(山東廣播電視大學(xué)計(jì)算機(jī)與通信學(xué)院,山東 濟(jì)南250101)
基于ARM7的嵌入式系統(tǒng)虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)
王娟
(山東廣播電視大學(xué)計(jì)算機(jī)與通信學(xué)院,山東 濟(jì)南250101)
針對(duì)目前嵌入式系統(tǒng)傳統(tǒng)實(shí)驗(yàn)教學(xué)中實(shí)驗(yàn)設(shè)備少、實(shí)驗(yàn)?zāi)J娇菰铩r(shí)空受局限等問題,采用Proteus和Keil開發(fā)工具,通過虛擬仿真技術(shù),設(shè)計(jì)了一套基于ARM7內(nèi)核的嵌入式系統(tǒng)虛擬實(shí)驗(yàn)平臺(tái)。平臺(tái)分基礎(chǔ)型知識(shí)和綜合型知識(shí)2個(gè)層次,并以外部中斷實(shí)驗(yàn)為例,詳細(xì)介紹了平臺(tái)的設(shè)計(jì)過程,包括實(shí)驗(yàn)要求、硬件設(shè)計(jì)、軟件設(shè)計(jì)和聯(lián)合調(diào)試。最后采用模糊綜合評(píng)價(jià)理論對(duì)該實(shí)驗(yàn)平臺(tái)的教學(xué)效果進(jìn)行了分析,實(shí)踐表明,學(xué)生對(duì)該平臺(tái)教學(xué)的總體評(píng)價(jià)等級(jí)為優(yōu)秀。評(píng)價(jià)結(jié)果驗(yàn)證了該平臺(tái)的實(shí)用性。
嵌入式系統(tǒng);虛擬實(shí)驗(yàn)平臺(tái);模糊綜合評(píng)價(jià);教學(xué)效果
由于信息技術(shù)和通信技術(shù)的快速發(fā)展,嵌入式系統(tǒng)被廣泛地應(yīng)用于工業(yè)、國防、運(yùn)輸、航天和辦公等社會(huì)各個(gè)領(lǐng)域。正因?yàn)榍度胧较到y(tǒng)應(yīng)用范圍的不斷擴(kuò)大,國內(nèi)高校都開始逐步開設(shè)嵌入式系統(tǒng)課程體系,以適應(yīng)社會(huì)的需要。
嵌入式系統(tǒng)是一門實(shí)踐性非常強(qiáng)的課程,傳統(tǒng)實(shí)驗(yàn)教學(xué)中一般采用實(shí)驗(yàn)箱進(jìn)行教學(xué) (如圖1),但卻面臨著諸多問題,首先,實(shí)驗(yàn)設(shè)備少,每個(gè)實(shí)驗(yàn)還需按照學(xué)生人數(shù)進(jìn)行分時(shí)、分批、分組操作,而且受到建設(shè)資金的限制,設(shè)備更新速度根本無法跟上;其次,實(shí)驗(yàn)?zāi)J娇菰铮驅(qū)嶒?yàn)箱上的電路和操作步驟都是固定的,所以課程實(shí)驗(yàn)大多是驗(yàn)證性實(shí)驗(yàn);最后,時(shí)空受局限,學(xué)生無法自由選擇學(xué)習(xí)地點(diǎn)和學(xué)習(xí)時(shí)間進(jìn)行學(xué)習(xí)[1]。那么,如何避免上述因素的影響,如何更好地開展實(shí)驗(yàn)教學(xué)呢?近年來,隨著信息化進(jìn)程的加快,利用計(jì)算機(jī)仿真軟件設(shè)計(jì)與開發(fā)虛擬實(shí)驗(yàn)平臺(tái)解決實(shí)驗(yàn)教學(xué)中的難題已成為現(xiàn)實(shí)[2-6]。

圖1 傳統(tǒng)實(shí)驗(yàn)教學(xué)
為了有助于學(xué)生理解ARM嵌入式系統(tǒng)的知識(shí),有效擴(kuò)展嵌入式課程的實(shí)驗(yàn)空間和時(shí)間,筆者在借鑒前人成果的基礎(chǔ)上,結(jié)合多年單片機(jī)課程和嵌入式課程的教學(xué)經(jīng)驗(yàn),選用Proteus 7.8和Keil uVision4作為開發(fā)工具,以ARM7芯片LPC2138作為控制核心,設(shè)計(jì)了嵌入式系統(tǒng)虛擬實(shí)驗(yàn)平臺(tái)。
2.1 開發(fā)工具選擇
本平臺(tái)選用Proteus7.8設(shè)計(jì)硬件電路,Proteus可以仿真和分析各種模擬電路和集成電路,具有豐富的元器件資源和電路測(cè)試信號(hào)源,且具有單片機(jī)協(xié)同仿真功能;選用Keil uVision4為軟件編程工具,其源代碼編輯器功能異常強(qiáng)大,可實(shí)現(xiàn)代碼編寫、編譯和連接,支持匯編語言、高級(jí)C語言的源代碼編寫。上述兩款軟件Proteus和Keil可通過設(shè)置實(shí)現(xiàn)聯(lián)合調(diào)試,這將極大的提高虛擬實(shí)驗(yàn)平臺(tái)的軟硬件調(diào)試效率。現(xiàn)將設(shè)置步驟簡述如下:
1)安裝Vdmagdi.exe軟件。
2)用記事本打開Keil安裝目錄下的Tools.ini文件,在 [ARM]欄目下加入 TDRV9=BINVDMARM.DLL("Proteus VSM Simulator") ,其中“TDRV9” 中的 “9”要根據(jù)實(shí)際情況寫,不要和原來的重復(fù);然后,在[ARM]欄目下找到CPUDLL0,在括號(hào)里添加上“,TDRV9”。
3)在 Tools.ini文件下,繼續(xù)找到[ARMADS]欄目,重復(fù)2)中的修改方法。
4)運(yùn)行Keil程序,點(diǎn)擊工具欄中的“option for target”按鈕,在出現(xiàn)的對(duì)話框里點(diǎn)擊“Debug”,選中右上部的“Use”選項(xiàng),并在下拉菜單里選中“Proteus VSM Simulator”。
5)運(yùn)行 Proteus的 ISIS,選中菜單"DEBUG"中的“use romote debuger monitor”。
通過上述5步的設(shè)置,就可以實(shí)現(xiàn)Proteus和Keil的聯(lián)合調(diào)試,這樣既可以在Proteus中配合Keil程序進(jìn)行電路模擬仿真,也可以在Keil中配合Proteus設(shè)計(jì)電路進(jìn)行程序調(diào)試、運(yùn)行等操作[7]。
2.2 平臺(tái)總體設(shè)計(jì)
為了學(xué)生能夠由淺入深的掌握課程知識(shí),文中結(jié)合課程的教學(xué)內(nèi)容和選擇的開發(fā)工具[8-10],設(shè)計(jì)實(shí)現(xiàn)了嵌入式系統(tǒng)的虛擬實(shí)驗(yàn)平臺(tái)。該平臺(tái)分基礎(chǔ)型知識(shí)和綜合型知識(shí)2個(gè)層次[11-14]。相比于傳統(tǒng)的實(shí)驗(yàn)箱學(xué)習(xí)模式,該平臺(tái)可方便快捷的安裝到計(jì)算機(jī)中,學(xué)生可在計(jì)算機(jī)中仿真實(shí)驗(yàn)流程、采集與分析實(shí)驗(yàn)數(shù)據(jù)、展示實(shí)驗(yàn)結(jié)果。
2.2.1 基礎(chǔ)知識(shí)虛擬實(shí)驗(yàn)平臺(tái)
基礎(chǔ)知識(shí)虛擬實(shí)驗(yàn)平臺(tái)集成了嵌入式課程中最基礎(chǔ)的知識(shí)點(diǎn)涉及的實(shí)驗(yàn)項(xiàng)目,主要集成了最小系統(tǒng)、匯編語言、輸入輸出、外部中斷、定時(shí)器、UART等6個(gè)實(shí)驗(yàn)項(xiàng)目。其中,“匯編語言實(shí)驗(yàn)項(xiàng)目”采用匯編語言編寫,除此之外的其他項(xiàng)目均采用C語言進(jìn)行程序的編寫。
2.2.2 綜合知識(shí)虛擬實(shí)驗(yàn)平臺(tái)
學(xué)生在熟練掌握課程基礎(chǔ)知識(shí)的前提下,綜合知識(shí)虛擬實(shí)驗(yàn)平臺(tái)可擴(kuò)展學(xué)生的學(xué)習(xí)知識(shí)面,讓學(xué)生更加深入地了解嵌入式系
統(tǒng)的知識(shí)。該平臺(tái)主要集成了SPI、I2C、ADC、WDT、PWM、RTC、LCD、UC/OS-II操作系統(tǒng)等 8 個(gè)實(shí)驗(yàn)項(xiàng)目,均采用C語言進(jìn)行程序的編寫。
以下給出外部中斷實(shí)驗(yàn)項(xiàng)目仿真實(shí)例,來演示該平臺(tái)的設(shè)計(jì)過程。外部中斷實(shí)驗(yàn)是嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)中最基礎(chǔ)、最重要的環(huán)節(jié)。
3.1 實(shí)驗(yàn)要求
將2個(gè)LED發(fā)光二極管和1個(gè)蜂鳴器作為輸出元件,外部中斷信號(hào)采用模擬開關(guān)進(jìn)行連接輸入,實(shí)現(xiàn)中斷服務(wù)程序的處理。正常情況下,2個(gè)LED發(fā)光二極管從上至下依次點(diǎn)亮,當(dāng)按下外故障輸入模擬開關(guān)(按鍵)后,LED發(fā)光二極管暫停點(diǎn)亮,蜂鳴器響,即發(fā)出報(bào)警信號(hào),當(dāng)故障排除,松開開關(guān)后,蜂鳴器不響,即停止報(bào)警,而LED發(fā)光二極管繼續(xù)點(diǎn)亮,模擬中斷處理流程。
3.2 硬件設(shè)計(jì)
用Proteus ISIS軟件打開基礎(chǔ)知識(shí)虛擬實(shí)驗(yàn)平臺(tái),確定平臺(tái)中外部中斷實(shí)驗(yàn)的電路原理圖,如圖2所示。

圖2 外部中斷實(shí)驗(yàn)電路圖
在硬件電路設(shè)計(jì)上,采用P0.20連接模擬開關(guān)做外部中斷3(EINT3)的輸入引腳,當(dāng)開關(guān)按下時(shí),P0.20輸入低電平,產(chǎn)生外部中斷請(qǐng)求信號(hào);當(dāng)開關(guān)打開時(shí),P0.20輸入高電平,停止中斷處理。采用P0.10、P0.9連接2個(gè)LED發(fā)光二極管做輸出引腳,P0.10、P0.9輸出高電平,LED發(fā)光二極管不亮;反之,如P0.10、P0.9輸出低電平,LED發(fā)光二極管亮。P0.13連接蜂鳴器做輸出引腳,輸出低電平,蜂鳴器響;輸出高電平,蜂鳴器不響。
3.3 軟件設(shè)計(jì)
1)程序流程圖:根據(jù)實(shí)驗(yàn)要求和電路圖,該實(shí)驗(yàn)項(xiàng)目的程序流程圖如圖3所示。

圖3 程序流程圖
2)實(shí)現(xiàn)代碼:在Keil中,新建工程和用戶文件,根據(jù)程序流程圖,編寫程序,主要實(shí)現(xiàn)代碼如下所示:中斷函數(shù)實(shí)現(xiàn)代碼:

主函數(shù)實(shí)現(xiàn)代碼:

3.4 聯(lián)合調(diào)試
在Keil中編譯工程,生成二進(jìn)制.hex結(jié)果文件,并將.hex文件加載到平臺(tái)最小系統(tǒng)實(shí)驗(yàn)項(xiàng)目的LPC2138微控制器中。然后,在 Keil中直接點(diǎn)擊調(diào)試按鈕(聯(lián)合調(diào)試的參數(shù)設(shè)置詳見2.1小節(jié)),就可以進(jìn)行聯(lián)合調(diào)試了,同時(shí)可在Proteus中運(yùn)行查看仿真結(jié)果。
為了更加科學(xué)地評(píng)價(jià)虛擬實(shí)驗(yàn)平臺(tái)的教學(xué)效果,進(jìn)一步完善平臺(tái)的功能,筆者設(shè)計(jì)了評(píng)估表,邀請(qǐng)5位同行和一個(gè)班32名學(xué)生對(duì)虛擬實(shí)驗(yàn)平臺(tái)的功能進(jìn)行了問卷調(diào)查。評(píng)價(jià)項(xiàng)目及評(píng)價(jià)結(jié)果如圖4所示。

圖4 ARM7虛擬實(shí)驗(yàn)平臺(tái)教學(xué)評(píng)價(jià)統(tǒng)計(jì)表
采用模糊綜合評(píng)價(jià)法[15]對(duì)ARM7虛擬實(shí)驗(yàn)平臺(tái)的教學(xué)效果進(jìn)行評(píng)價(jià),其中項(xiàng),68%的人評(píng)價(jià)優(yōu)秀,30%的人評(píng)價(jià)良好,3%的人評(píng)價(jià)一般,較差無人評(píng)價(jià),可用模糊集[0.68 0.30 0.03 0]表示,這就是對(duì)第一個(gè)評(píng)價(jià)項(xiàng)目的模糊評(píng)判結(jié)果。類似地,對(duì)其他8個(gè)因素也可以求出模糊評(píng)價(jià)集,這樣就可以得到總的模糊評(píng)價(jià)矩陣[16]:

若對(duì)這9個(gè)項(xiàng)目的權(quán)重系數(shù)定義為:
A=[0.05 0.05 0.1 0.2 0.1 0.1 0.2 0.1 0.1]
根據(jù)模糊數(shù)學(xué)法,采用模糊矩陣運(yùn)算法則,對(duì)虛擬實(shí)驗(yàn)平臺(tái)的教學(xué)評(píng)價(jià)為:
B=A?R=[0.2 0.19 0.1 0.03]
在[0.2 0.19 0.1 0.03]中,四個(gè)值分別對(duì)應(yīng)評(píng)價(jià)等級(jí)優(yōu)秀 Y1、良好 Y2、一般 Y3、較差 Y4。其中 Y1的分值最大,故對(duì)ARM7虛擬實(shí)驗(yàn)平臺(tái)的教學(xué)評(píng)價(jià)為優(yōu)秀。
文中采用Proteus和 Keil開發(fā)工具,通過虛擬仿真技術(shù),設(shè)計(jì)了一套基于ARM7內(nèi)核的嵌入式系統(tǒng)虛擬實(shí)驗(yàn)平臺(tái)。該平臺(tái)分基礎(chǔ)型知識(shí)和綜合型知識(shí)2個(gè)層次,知識(shí)點(diǎn)覆蓋全面,安裝方便快捷,時(shí)空不受局限,能很好的應(yīng)用于嵌入式系統(tǒng)的教學(xué)中。并采用模糊綜合評(píng)價(jià)理論對(duì)該實(shí)驗(yàn)平臺(tái)的教學(xué)效果進(jìn)行了分析,實(shí)踐表明,該平臺(tái)應(yīng)用于教學(xué)后,有助于學(xué)生理解ARM嵌入式系統(tǒng)的知識(shí),能較大提高學(xué)生的動(dòng)手能力和學(xué)習(xí)熱情,學(xué)生對(duì)該平臺(tái)教學(xué)的總體評(píng)價(jià)為優(yōu)秀,評(píng)價(jià)結(jié)果驗(yàn)證了該平臺(tái)的實(shí)用性。本文提出的嵌入式系統(tǒng)虛擬實(shí)驗(yàn)平臺(tái)的研究與建設(shè)在一定程度上也可對(duì)其它電子類課程虛擬實(shí)驗(yàn)室的建設(shè)提供借鑒意義。
[1]賈豫東,張曉青.單片機(jī)實(shí)驗(yàn)課模塊化教學(xué)實(shí)驗(yàn)內(nèi)容設(shè)置探索[J].教育教學(xué)論壇,2015(20):212-213.
[2]呂睿.基于B/S體系的電工電子網(wǎng)絡(luò)虛擬實(shí)驗(yàn)室設(shè)計(jì)研究[J].電子設(shè)計(jì)工程,2015(11):57-59,63.
[3]張海寧,白福,王立,等.基于Multisim的虛擬仿真實(shí)驗(yàn)研究[J].計(jì)算機(jī)與數(shù)字工程,2016(9):1842-1844,1864.
[4]司慧玲.基于LabVIEW的虛擬電路實(shí)驗(yàn)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2013(23):83-85.
[5]張杰.開放式單片機(jī)實(shí)驗(yàn)教學(xué)平臺(tái)的構(gòu)建與實(shí)踐[J].齊魯師范學(xué)院學(xué)報(bào),2016(2):55-58.
[6]汪燦華,陳慶梅,張康,等.虛擬實(shí)驗(yàn)平臺(tái)在嵌入式系統(tǒng)實(shí)驗(yàn)中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2012(10):67-69,125.
[7]尹鳳領(lǐng).Proteus與Keil聯(lián)調(diào)在單片機(jī)教學(xué)中的應(yīng)用[J].濱州職業(yè)學(xué)院學(xué)報(bào),2013(4):35-37,46.
[8]周潤景.ARM7嵌入式系統(tǒng)設(shè)計(jì)與仿真——基于Proteus、Keil與 IAR[M].北京:清華大學(xué)出版社,2012.[9]丁桂芝,嚴(yán)海穎,趙宇楓.ARM嵌入式系統(tǒng)應(yīng)用開發(fā)基礎(chǔ)[M].大連:東軟出版社,2013.
[10]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].2版.北京:北京航空航天大學(xué)出版社,2008.
[11]張玉伽.虛擬實(shí)驗(yàn)平臺(tái)在嵌入式系統(tǒng)教學(xué)改革中的應(yīng)用[J].科學(xué)中國人,2016(3):341.
[12]黨會(huì).積木式模塊化結(jié)構(gòu)的嵌入式系統(tǒng)實(shí)驗(yàn)教學(xué)研究[J].實(shí)驗(yàn)科學(xué)與技術(shù),2016(1):158-159,163.
[13]肖大薇,李彤,張盈謙.單片機(jī)創(chuàng)新實(shí)驗(yàn)板系統(tǒng)的設(shè)計(jì)與應(yīng)用[J].電子設(shè)計(jì)工程,2012(19):29-31.
[14]李飛.單片機(jī)課程一體化教學(xué)模式的改革與實(shí)踐[J].中國成人教育,2013(15):171-172.
[15]胡寶清.模糊理論基礎(chǔ)[M].武漢:武漢大學(xué)出版社,2004:198-218.
[16]代芬,王衛(wèi)星,鄧小玲,等.單片機(jī)綜合實(shí)驗(yàn)開發(fā)板設(shè)計(jì)[J].實(shí)驗(yàn)室研究與探索,2010,29(8):213-215.
The design of a virtual experimental platform of embedded system based on ARM7
WANG Juan
(Department of Computer and Communication of Shandong Radio and Television University School,Jinan 250101,China)
Through the virtual simulation technology,?a virtual experimental platform of embedded system based on the ARM7 was designed with the Proteus and Keil tools to resolve the problems of short of experimental equipments,boring experimental model and limited space and time.The platform include the basic knowledge platform and the comprehensive knowledge platform.The design process of the platform are introduced in detail through the external interrupt experiment example,including the experimental requirements,hardware design,software design and joint debugging.Finally the teaching effect of the experimental platform is analyzed by using fuzzy comprehensive evaluation theory,and the practice shows that the teaching evaluation of the platform from students is good.The evaluation results proved the practicability of the platform.
embedded system;virtual experiment platform;fuzzy comprehensive evaluation;the teaching effect
TN710
:A
:1674-6236(2017)13-0135-04
2016-12-19稿件編號(hào):201612142
山東廣播電視大學(xué)2015年度重點(diǎn)科研項(xiàng)目(2015Z005)
王 娟(1981—),女,山東濟(jì)南人,碩士,講師。研究方向:計(jì)算機(jī)管理與控制綜合自動(dòng)化。