ARM技術(shù)是一門(mén)實(shí)踐性很強的技術(shù),其實(shí)驗是電子類(lèi)教學(xué)中十分重要的實(shí)踐教學(xué)環(huán)節,是培養學(xué)生實(shí)驗技能、創(chuàng )新思維的重要課程。掌握ARM技術(shù)已是電子類(lèi)學(xué)生就業(yè)的一個(gè)基本條件。目前各個(gè)高校相繼開(kāi)設了ARM課程,并逐步開(kāi)始建立ARM實(shí)驗室。這些實(shí)驗室基本都是采用相應的硬件仿真設備來(lái)構建的,但由于A(yíng)RM的種類(lèi)繁多再加上資金的限制,不可能在一個(gè)實(shí)驗室包括所有種類(lèi)的ARM仿真設備。虛擬實(shí)驗作為傳統實(shí)驗的重要補充,克服了諸多條件的限制,豐富了實(shí)踐性教學(xué)的手段,有利于現代實(shí)驗教學(xué)觀(guān)念的更新。 1 ARM實(shí)驗教學(xué)存在的問(wèn)題 目前,ARM教學(xué)中存在如下問(wèn)題: ①ARM課堂教學(xué)多以理論教學(xué)為主,教學(xué)中需要很多硬件設備,一般理論課堂難以輔助硬件進(jìn)行教學(xué),即便演示,效果也不好。 ②A(yíng)RM實(shí)驗作為實(shí)驗中心的基礎實(shí)驗,學(xué)生除了上課外,平時(shí)難得有機會(huì )實(shí)踐;而采用的ARM實(shí)驗設備大多是成品,學(xué)生很難參與其中的細節設計,因此學(xué)生動(dòng)手能力也很難得到提高。 ③配套的實(shí)驗設備多采用硬件仿真器配目標實(shí)驗板。這種配置方式直接導致該課程的實(shí)驗項目有限,實(shí)驗時(shí)間過(guò)長(cháng),設備維護工作量大等現實(shí)問(wèn)題。 針對上述問(wèn)題,提出利用Proteus和ADS整合構建ARM虛擬實(shí)驗室的方案。所謂“虛擬實(shí)驗室”,就是將計算機上的各種虛擬儀器,按實(shí)驗要求和設計原理,虛擬出一個(gè)與現實(shí)相同的實(shí)驗系統,進(jìn)而在這個(gè)系統上完成整個(gè)實(shí)驗。與傳統實(shí)驗模式相比,虛擬實(shí)驗具有比較明顯的優(yōu)勢。例如,涉及的實(shí)驗內容全面,硬件投入少,學(xué)生可自行實(shí)驗,實(shí)驗過(guò)程中損耗小,與工程實(shí)踐最為接近等。 2 ARM虛擬實(shí)驗室的構建 2.1 ARM虛擬實(shí)驗室的軟件支持 本方案主要是以Proteus軟件和ADS軟件來(lái)構建該虛擬實(shí)驗室。 Proteus ISIS是英國Labcenter公司開(kāi)發(fā)的電路分析與實(shí)物仿真軟件。它運行于Windows操作系統上,可以仿真、分析(SPICE)各種模擬器件和集成電路。該軟件的特點(diǎn)是: ①實(shí)現了單片機仿真和SPICE電路仿真相結合。具有模擬電路仿真、數字電路仿真、單片機及其外圍電路組成的系統仿真,RS232動(dòng)態(tài)仿真,I2C調試器,SPI調試器、鍵盤(pán)和LCD系統仿真的功能;有各種虛擬儀器,如示波器、邏輯分析儀、信號發(fā)生器等。 ②支持主流單片機系統的仿真。目前支持的單片機類(lèi)型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各種外圍芯片。 ③提供軟件調試功能。在硬件仿真系統中具有全速、單步、設置斷點(diǎn)等調試功能,同時(shí)可以觀(guān)察各個(gè)變量、寄存器等的當前狀態(tài),因此在該軟件仿真系統中,也必須具有這些功能;同時(shí)支持第三方的軟件編譯和調試環(huán)境,如Keil C51 uVision2等軟件。 ④具有強大的原理圖繪制功能。 總之,該軟件是一款集單片機和SPICE分析于一身的仿真軟件,功能極其強大。 ADS(ARM Developer Suite)是ARM公司推出的新一代ARM集成開(kāi)發(fā)工具。CodeWarrior forARM是一套完整的集成開(kāi)發(fā)工具,充分發(fā)揮了ARM RISC的優(yōu)勢,使產(chǎn)品開(kāi)發(fā)人員能夠很好地應用尖端的片上系統技術(shù)。該工具是專(zhuān)為基于A(yíng)RMRISC的處理器而設計的。它可加速并簡(jiǎn)化嵌入式開(kāi)發(fā)過(guò)程中的每一個(gè)環(huán)節,使得開(kāi)發(fā)人員只需通過(guò)一個(gè)集成軟件開(kāi)發(fā)環(huán)境就能研制出ARM產(chǎn)品;在整個(gè)開(kāi)發(fā)周期中,開(kāi)發(fā)人員無(wú)需離開(kāi)CodeWarrior開(kāi)發(fā)環(huán)境,節省了在操作工具上花的時(shí)間,而有更多的精力投入到代碼編寫(xiě)上來(lái)。CodeWarrior集成開(kāi)發(fā)環(huán)境(IDE)為管理和開(kāi)發(fā)項目提供了簡(jiǎn)單、多樣化的圖形用戶(hù)界面。用戶(hù)可以使用ADS的CodeWarriorIDE為ARM和Thumb處理器開(kāi)發(fā)用C、C++或ARM匯編語(yǔ)言編寫(xiě)的程序代碼,還可以生成程序代碼的十六進(jìn)制文件。 2.2 ARM虛擬實(shí)驗室的實(shí)驗內容和實(shí)驗過(guò)程 結合Proteus和ADS構建的虛擬實(shí)驗室能夠進(jìn)行ARM涉及的所有實(shí)驗內容,其中包括中斷、流水燈、串口通信、SPI通信、脈寬調制器、看門(mén)狗、A/D轉換器、定時(shí),以及基于μC/OS的實(shí)驗。 基于A(yíng)RM虛擬實(shí)驗室的教學(xué)采用局域網(wǎng)多媒體教學(xué),教師可以通過(guò)多媒體演示電路圖并講解其原理,學(xué)生根據相關(guān)實(shí)驗原理在A(yíng)DS和Proteus中完成整個(gè)實(shí)驗。過(guò)程如下: ①在A(yíng)DS中編寫(xiě)C語(yǔ)言源程序; ②編譯、調試源程序,最終生成后綴為.hex的文件; ③在Proteus中設計完整的原理圖; ④將生成的.hex文件導入相應的ARM芯片。 完成以上步驟后,在Proteus中運行即可;觀(guān)察仿真結果,并檢驗是否與設計要求一致。 基于Proteus和ADS構建的ARM虛擬實(shí)驗平臺提供了大量的虛擬元件供學(xué)生使用,這樣就可以在虛擬實(shí)驗教學(xué)過(guò)程中培養學(xué)生的興趣,激發(fā)學(xué)生的創(chuàng )造性,增強互動(dòng)性,提高教學(xué)效果。 3 ARM虛擬實(shí)驗教學(xué)實(shí)例分析 下面以用LPC2131設計一個(gè)流水燈的實(shí)驗為例,介紹如何通過(guò)Proteus與ADS的整合實(shí)現對ARM外圍電路的仿真。 3.1 軟件的實(shí)現 在A(yíng)DS中編寫(xiě)C語(yǔ)言程序添加到user組中。程序如下: 3.2 硬件電路的實(shí)現 在Proteus中設計的流水燈原理電路,如圖1所示。其中用LPC2131的P1[25:18]控制LED8~LED1,低電平點(diǎn)亮。將后綴為.hex的文件添加到LPC2131中,運行后觀(guān)察到的部分仿真結果與圖1完全一致。此時(shí)為8盞燈全亮。 結 語(yǔ) 綜上所述,基于Proteus和ADS構建ARM虛擬實(shí)驗室的方案是切實(shí)可行的。采用虛擬實(shí)驗的方式,不僅能夠解決傳統ARM實(shí)驗室設備資金短缺和維護困難的問(wèn)題,而且使學(xué)生能夠充分利用課余時(shí)間進(jìn)行ARM系統的軟硬件設計,充分鍛煉了學(xué)生的動(dòng)手能力。在實(shí)際運行中,取得了良好的教學(xué)效果。使用該方案進(jìn)行系統虛擬開(kāi)發(fā)成功之后再進(jìn)行實(shí)際制作,無(wú)疑可以提高開(kāi)發(fā)效率、降低開(kāi)發(fā)成本、提升開(kāi)發(fā)速度,具有較高的推廣應用價(jià)值。 |