王娟
(山東廣播電視大學(xué)計算機與通信學(xué)院,山東 濟南250101)
基于ARM7的嵌入式系統(tǒng)虛擬實驗平臺的設(shè)計
王娟
(山東廣播電視大學(xué)計算機與通信學(xué)院,山東 濟南250101)
針對目前嵌入式系統(tǒng)傳統(tǒng)實驗教學(xué)中實驗設(shè)備少、實驗?zāi)J娇菰?、時空受局限等問題,采用Proteus和Keil開發(fā)工具,通過虛擬仿真技術(shù),設(shè)計了一套基于ARM7內(nèi)核的嵌入式系統(tǒng)虛擬實驗平臺。平臺分基礎(chǔ)型知識和綜合型知識2個層次,并以外部中斷實驗為例,詳細(xì)介紹了平臺的設(shè)計過程,包括實驗要求、硬件設(shè)計、軟件設(shè)計和聯(lián)合調(diào)試。最后采用模糊綜合評價理論對該實驗平臺的教學(xué)效果進(jìn)行了分析,實踐表明,學(xué)生對該平臺教學(xué)的總體評價等級為優(yōu)秀。評價結(jié)果驗證了該平臺的實用性。
嵌入式系統(tǒng);虛擬實驗平臺;模糊綜合評價;教學(xué)效果
由于信息技術(shù)和通信技術(shù)的快速發(fā)展,嵌入式系統(tǒng)被廣泛地應(yīng)用于工業(yè)、國防、運輸、航天和辦公等社會各個領(lǐng)域。正因為嵌入式系統(tǒng)應(yīng)用范圍的不斷擴大,國內(nèi)高校都開始逐步開設(shè)嵌入式系統(tǒng)課程體系,以適應(yīng)社會的需要。
嵌入式系統(tǒng)是一門實踐性非常強的課程,傳統(tǒng)實驗教學(xué)中一般采用實驗箱進(jìn)行教學(xué) (如圖1),但卻面臨著諸多問題,首先,實驗設(shè)備少,每個實驗還需按照學(xué)生人數(shù)進(jìn)行分時、分批、分組操作,而且受到建設(shè)資金的限制,設(shè)備更新速度根本無法跟上;其次,實驗?zāi)J娇菰?,因?qū)嶒炏渖系碾娐泛筒僮鞑襟E都是固定的,所以課程實驗大多是驗證性實驗;最后,時空受局限,學(xué)生無法自由選擇學(xué)習(xí)地點和學(xué)習(xí)時間進(jìn)行學(xué)習(xí)[1]。那么,如何避免上述因素的影響,如何更好地開展實驗教學(xué)呢?近年來,隨著信息化進(jìn)程的加快,利用計算機仿真軟件設(shè)計與開發(fā)虛擬實驗平臺解決實驗教學(xué)中的難題已成為現(xiàn)實[2-6]。
圖1 傳統(tǒng)實驗教學(xué)
為了有助于學(xué)生理解ARM嵌入式系統(tǒng)的知識,有效擴展嵌入式課程的實驗空間和時間,筆者在借鑒前人成果的基礎(chǔ)上,結(jié)合多年單片機課程和嵌入式課程的教學(xué)經(jīng)驗,選用Proteus 7.8和Keil uVision4作為開發(fā)工具,以ARM7芯片LPC2138作為控制核心,設(shè)計了嵌入式系統(tǒng)虛擬實驗平臺。
2.1 開發(fā)工具選擇
本平臺選用Proteus7.8設(shè)計硬件電路,Proteus可以仿真和分析各種模擬電路和集成電路,具有豐富的元器件資源和電路測試信號源,且具有單片機協(xié)同仿真功能;選用Keil uVision4為軟件編程工具,其源代碼編輯器功能異常強大,可實現(xiàn)代碼編寫、編譯和連接,支持匯編語言、高級C語言的源代碼編寫。上述兩款軟件Proteus和Keil可通過設(shè)置實現(xiàn)聯(lián)合調(diào)試,這將極大的提高虛擬實驗平臺的軟硬件調(diào)試效率。現(xiàn)將設(shè)置步驟簡述如下:
1)安裝Vdmagdi.exe軟件。
2)用記事本打開Keil安裝目錄下的Tools.ini文件,在 [ARM]欄目下加入 TDRV9=BINVDMARM.DLL("Proteus VSM Simulator") ,其中“TDRV9” 中的 “9”要根據(jù)實際情況寫,不要和原來的重復(fù);然后,在[ARM]欄目下找到CPUDLL0,在括號里添加上“,TDRV9”。
3)在 Tools.ini文件下,繼續(xù)找到[ARMADS]欄目,重復(fù)2)中的修改方法。
4)運行Keil程序,點擊工具欄中的“option for target”按鈕,在出現(xiàn)的對話框里點擊“Debug”,選中右上部的“Use”選項,并在下拉菜單里選中“Proteus VSM Simulator”。
5)運行 Proteus的 ISIS,選中菜單"DEBUG"中的“use romote debuger monitor”。
通過上述5步的設(shè)置,就可以實現(xiàn)Proteus和Keil的聯(lián)合調(diào)試,這樣既可以在Proteus中配合Keil程序進(jìn)行電路模擬仿真,也可以在Keil中配合Proteus設(shè)計電路進(jìn)行程序調(diào)試、運行等操作[7]。
2.2 平臺總體設(shè)計
為了學(xué)生能夠由淺入深的掌握課程知識,文中結(jié)合課程的教學(xué)內(nèi)容和選擇的開發(fā)工具[8-10],設(shè)計實現(xiàn)了嵌入式系統(tǒng)的虛擬實驗平臺。該平臺分基礎(chǔ)型知識和綜合型知識2個層次[11-14]。相比于傳統(tǒng)的實驗箱學(xué)習(xí)模式,該平臺可方便快捷的安裝到計算機中,學(xué)生可在計算機中仿真實驗流程、采集與分析實驗數(shù)據(jù)、展示實驗結(jié)果。
2.2.1 基礎(chǔ)知識虛擬實驗平臺
基礎(chǔ)知識虛擬實驗平臺集成了嵌入式課程中最基礎(chǔ)的知識點涉及的實驗項目,主要集成了最小系統(tǒng)、匯編語言、輸入輸出、外部中斷、定時器、UART等6個實驗項目。其中,“匯編語言實驗項目”采用匯編語言編寫,除此之外的其他項目均采用C語言進(jìn)行程序的編寫。
2.2.2 綜合知識虛擬實驗平臺
學(xué)生在熟練掌握課程基礎(chǔ)知識的前提下,綜合知識虛擬實驗平臺可擴展學(xué)生的學(xué)習(xí)知識面,讓學(xué)生更加深入地了解嵌入式系
統(tǒng)的知識。該平臺主要集成了SPI、I2C、ADC、WDT、PWM、RTC、LCD、UC/OS-II操作系統(tǒng)等 8 個實驗項目,均采用C語言進(jìn)行程序的編寫。
以下給出外部中斷實驗項目仿真實例,來演示該平臺的設(shè)計過程。外部中斷實驗是嵌入式系統(tǒng)實驗教學(xué)中最基礎(chǔ)、最重要的環(huán)節(jié)。
3.1 實驗要求
將2個LED發(fā)光二極管和1個蜂鳴器作為輸出元件,外部中斷信號采用模擬開關(guān)進(jìn)行連接輸入,實現(xiàn)中斷服務(wù)程序的處理。正常情況下,2個LED發(fā)光二極管從上至下依次點亮,當(dāng)按下外故障輸入模擬開關(guān)(按鍵)后,LED發(fā)光二極管暫停點亮,蜂鳴器響,即發(fā)出報警信號,當(dāng)故障排除,松開開關(guān)后,蜂鳴器不響,即停止報警,而LED發(fā)光二極管繼續(xù)點亮,模擬中斷處理流程。
3.2 硬件設(shè)計
用Proteus ISIS軟件打開基礎(chǔ)知識虛擬實驗平臺,確定平臺中外部中斷實驗的電路原理圖,如圖2所示。
圖2 外部中斷實驗電路圖
在硬件電路設(shè)計上,采用P0.20連接模擬開關(guān)做外部中斷3(EINT3)的輸入引腳,當(dāng)開關(guān)按下時,P0.20輸入低電平,產(chǎn)生外部中斷請求信號;當(dāng)開關(guān)打開時,P0.20輸入高電平,停止中斷處理。采用P0.10、P0.9連接2個LED發(fā)光二極管做輸出引腳,P0.10、P0.9輸出高電平,LED發(fā)光二極管不亮;反之,如P0.10、P0.9輸出低電平,LED發(fā)光二極管亮。P0.13連接蜂鳴器做輸出引腳,輸出低電平,蜂鳴器響;輸出高電平,蜂鳴器不響。
3.3 軟件設(shè)計
1)程序流程圖:根據(jù)實驗要求和電路圖,該實驗項目的程序流程圖如圖3所示。
圖3 程序流程圖
2)實現(xiàn)代碼:在Keil中,新建工程和用戶文件,根據(jù)程序流程圖,編寫程序,主要實現(xiàn)代碼如下所示:中斷函數(shù)實現(xiàn)代碼:
主函數(shù)實現(xiàn)代碼:
3.4 聯(lián)合調(diào)試
在Keil中編譯工程,生成二進(jìn)制.hex結(jié)果文件,并將.hex文件加載到平臺最小系統(tǒng)實驗項目的LPC2138微控制器中。然后,在 Keil中直接點擊調(diào)試按鈕(聯(lián)合調(diào)試的參數(shù)設(shè)置詳見2.1小節(jié)),就可以進(jìn)行聯(lián)合調(diào)試了,同時可在Proteus中運行查看仿真結(jié)果。
為了更加科學(xué)地評價虛擬實驗平臺的教學(xué)效果,進(jìn)一步完善平臺的功能,筆者設(shè)計了評估表,邀請5位同行和一個班32名學(xué)生對虛擬實驗平臺的功能進(jìn)行了問卷調(diào)查。評價項目及評價結(jié)果如圖4所示。
圖4 ARM7虛擬實驗平臺教學(xué)評價統(tǒng)計表
采用模糊綜合評價法[15]對ARM7虛擬實驗平臺的教學(xué)效果進(jìn)行評價,其中項,68%的人評價優(yōu)秀,30%的人評價良好,3%的人評價一般,較差無人評價,可用模糊集[0.68 0.30 0.03 0]表示,這就是對第一個評價項目的模糊評判結(jié)果。類似地,對其他8個因素也可以求出模糊評價集,這樣就可以得到總的模糊評價矩陣[16]:
若對這9個項目的權(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é)法,采用模糊矩陣運算法則,對虛擬實驗平臺的教學(xué)評價為:
B=A?R=[0.2 0.19 0.1 0.03]
在[0.2 0.19 0.1 0.03]中,四個值分別對應(yīng)評價等級優(yōu)秀 Y1、良好 Y2、一般 Y3、較差 Y4。其中 Y1的分值最大,故對ARM7虛擬實驗平臺的教學(xué)評價為優(yōu)秀。
文中采用Proteus和 Keil開發(fā)工具,通過虛擬仿真技術(shù),設(shè)計了一套基于ARM7內(nèi)核的嵌入式系統(tǒng)虛擬實驗平臺。該平臺分基礎(chǔ)型知識和綜合型知識2個層次,知識點覆蓋全面,安裝方便快捷,時空不受局限,能很好的應(yīng)用于嵌入式系統(tǒng)的教學(xué)中。并采用模糊綜合評價理論對該實驗平臺的教學(xué)效果進(jìn)行了分析,實踐表明,該平臺應(yīng)用于教學(xué)后,有助于學(xué)生理解ARM嵌入式系統(tǒng)的知識,能較大提高學(xué)生的動手能力和學(xué)習(xí)熱情,學(xué)生對該平臺教學(xué)的總體評價為優(yōu)秀,評價結(jié)果驗證了該平臺的實用性。本文提出的嵌入式系統(tǒng)虛擬實驗平臺的研究與建設(shè)在一定程度上也可對其它電子類課程虛擬實驗室的建設(shè)提供借鑒意義。
[1]賈豫東,張曉青.單片機實驗課模塊化教學(xué)實驗內(nèi)容設(shè)置探索[J].教育教學(xué)論壇,2015(20):212-213.
[2]呂睿.基于B/S體系的電工電子網(wǎng)絡(luò)虛擬實驗室設(shè)計研究[J].電子設(shè)計工程,2015(11):57-59,63.
[3]張海寧,白福,王立,等.基于Multisim的虛擬仿真實驗研究[J].計算機與數(shù)字工程,2016(9):1842-1844,1864.
[4]司慧玲.基于LabVIEW的虛擬電路實驗的設(shè)計[J].電子設(shè)計工程,2013(23):83-85.
[5]張杰.開放式單片機實驗教學(xué)平臺的構(gòu)建與實踐[J].齊魯師范學(xué)院學(xué)報,2016(2):55-58.
[6]汪燦華,陳慶梅,張康,等.虛擬實驗平臺在嵌入式系統(tǒng)實驗中的應(yīng)用[J].實驗室研究與探索,2012(10):67-69,125.
[7]尹鳳領(lǐng).Proteus與Keil聯(lián)調(diào)在單片機教學(xué)中的應(yīng)用[J].濱州職業(yè)學(xué)院學(xué)報,2013(4):35-37,46.
[8]周潤景.ARM7嵌入式系統(tǒng)設(shè)計與仿真——基于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]張玉伽.虛擬實驗平臺在嵌入式系統(tǒng)教學(xué)改革中的應(yīng)用[J].科學(xué)中國人,2016(3):341.
[12]黨會.積木式模塊化結(jié)構(gòu)的嵌入式系統(tǒng)實驗教學(xué)研究[J].實驗科學(xué)與技術(shù),2016(1):158-159,163.
[13]肖大薇,李彤,張盈謙.單片機創(chuàng)新實驗板系統(tǒng)的設(shè)計與應(yīng)用[J].電子設(shè)計工程,2012(19):29-31.
[14]李飛.單片機課程一體化教學(xué)模式的改革與實踐[J].中國成人教育,2013(15):171-172.
[15]胡寶清.模糊理論基礎(chǔ)[M].武漢:武漢大學(xué)出版社,2004:198-218.
[16]代芬,王衛(wèi)星,鄧小玲,等.單片機綜合實驗開發(fā)板設(shè)計[J].實驗室研究與探索,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稿件編號:201612142
山東廣播電視大學(xué)2015年度重點科研項目(2015Z005)
王 娟(1981—),女,山東濟南人,碩士,講師。研究方向:計算機管理與控制綜合自動化。