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