【摘要】仿真軟件Proteus是英國Labcenter electronics公司的EDA工具軟件,在全球廣泛使用。它可以仿真常用單片機以及外圍電路的工作情況,并能直接在原理圖上建立互動的電路仿真,在配合其內置的虛擬器如過濾器、邏輯分析儀等可建立完整的ARM7實驗平臺[1]。與此同時,Proteus可以和Keil uVision建立互動調試機制,展現現實在線調試場景。本文主要介紹了在Proteus下如何建立ARM7基本實驗環境。
【關鍵詞】Proteus;單片機;仿真;ARM7
ARM處理器是一種低功耗高性能的32位RISC處理器,ARM處理器是一個綜合體,ARM公司自身并不制造微處理器,而是同ARM的合作伙伴來制造,作為SOC(System On Chip)的典型應用,目前,基于ARM的處理器以其高速度、低功耗等諸多優異的性能而得到非常廣泛的應用。
1.ARM7處理器特性及其應用領域
ARM7系列微處理器為低功耗的32位RISC處理器,最適合用于對價位和功耗要求較高的消費類應用。ARM微處理器及技術的應用幾乎已經深入到各個領域:
(1)工業控制領域
作為32的RISC架構,基于ARM核的微控制器芯片不但占據了高端微控制器市場的大部分市場份額,同時也逐漸向低端微控制器應用領域擴展,ARM微控制器的低功耗、高性價比,向傳統的8位/16位微控制器提出了挑戰;
(2)無線通訊領域
目前已有超過85%的無線通訊設備采用了ARM技術,ARM以其高性能和低成本,在該領域的地位日益鞏固;
(3)網絡應用
隨著寬帶技術的推廣,采用ARM技術的ADSL芯片正逐步獲得競爭優勢。此外,ARM在語音及視頻處理上行了優化,并獲得廣泛支持,也對DSP的應用領域提出了挑戰;
(4)消費類電子產品
ARM技術在目前流行的數字音頻播放器、數字機頂盒和游戲機中得到廣泛采用;
(5)成像和安全產品
現在流行的數碼相機和打印機中絕大部分采用ARM技術。手機中的32位SIM智能卡也采用了ARM技術[2]。
2.Proteus和NXP LPC2106簡介
2.1 Proteus軟件簡介
Proteus是英國Lab-center Electronics公司開發的電子電路實物仿真軟件,它是完整的嵌入式系統軟、硬件設計仿真平臺,包括原理圖輸入系統ISIS、帶擴展的ProSpice混合模型仿真器、動態器件庫、高級圖形分析模塊和處理器虛擬系統仿真模型VSM(Virtual Simulation Model)。
Proteus可以實現模擬電路、數字電路、微控制器系統電路以及混合電路系統的電路仿真、軟件仿真,系統協同仿真和PCB設計等功能。Proteus支持主流單片機系統與各種常見的外圍芯片的仿真,目前支持的單片機類型有:68000系列、8051系列、AVR系列、LPC21xx系列、PIC16系列等。本文提出的虛擬ARM實驗平臺采用NXP公司的LPC2106作為核心部件[3]。
2.2 NXP LPC2106簡介
LPC2106是Philips公司推出的一款基于ARM7TDMI-S的32位微控制器,帶有128KB的片內高速Flash存儲器和64KB的片內SRAM,與片內存儲器控制器接口的ARM7局部總線、與中斷控制器接口的AMBA高性能總線(AHB)和連接片內外設功能的VLSI外設總線(VPB)。128位寬度的存儲器接口和獨特的加速結構使32位代碼能夠在最大時鐘頻率下運行。LPC2106具有非常小的尺寸和極低的功耗,因此它們非常適合于那些小型化作為主要需求的應用,帶有寬范圍的串行通信接口(雙UART、SPI、IIC),由于片內SRAM具有大的緩沖區規模和強大的處理能力,而多個32位定時器、PWM輸出和32個GPIO使它們特別適用于工業控制和醫療系統[4]。
3.Protues下ARM7的典型實驗
3.1 外部中斷實驗
LPC2106具有17個中斷通道,可將它們設置為FIQ、向量IRQ和非向量IRQ,通過編程不同設的向量IRQ中斷優先級,可以實現動態調整。FIQ中斷優先級最高,向量IRQ具有中等優先級,非向量IRQ的優先級最低。
實驗任務:
結合相關寄存器的使用方法、VIC基本操作步驟和LPC2106外部中斷寄存器,使用外部中斷0和中斷1控制8位流水燈流動方向。當KEY0按下時,D0~D7閃爍3次,由D0向D7流動。當KEY1按下時,D0~D7閃爍3次,由D7向D0流動。
3.2 矩陣鍵盤實驗
判斷鍵盤中有無鍵按下:將全部行線置低電平,然后檢測列線的狀態。只要有一列的電平為低,則表示鍵盤中有鍵褲按下,而且閉合的鍵位于低電平線與行線相交叉的按鍵之中。若所有列線均為高電平,則鍵盤中無鍵按下。
判斷閉合鍵所在位置:在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其方法是依次將行線置為低電平,即在某根行線為低電平時,其他線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態。若某列為低,則該列線與置為低電平的行線交叉外的按鍵就是閉合的按鍵。
實驗任務:
根據矩陣鍵盤掃描原理,設計4×4鍵盤,使用中斷方式讀取,并用2位數碼管顯示鍵值。
4.結束語
通過本文的介紹,我們知道Proteus是一種混合電路仿真工具,既可以仿真模擬電路又可以仿真數字電路以及數字、模擬混合電路。可以仿真各種電路和集成IC,支持多種型號單片機,元件庫齊全,使用方便。充分體現了使用用Proteus做單片機仿真實驗的諸多優點,譬如速度快,程序修改、編譯后馬上就可以看到效果,不需要拔片、寫片、插片這些過程,提高實驗效率;方便直觀形象,硬件電路隨時可以進行更改,教學演示非常容易;不受時間和空間的限制,可自主設計和驗證方案,有利于系統、科學、有效地培養科研工作者的專業實踐能力[5,6]。
參考文獻
[1]朱清慧,張風蕊.Proteus教程:電子線路設計、制版與仿真[M].清華大學出版社,2008.
[2]陳家義.基于Proteus的ARM虛擬實驗平臺[J].學周刊,2011(10).
[3]楊增汪,戴新宇,李貴明.基于Proteus的嵌入式系統虛擬開發[J].機電產品開發與創新,2010(03).
[4]孫立香.Proteus和Keil軟件在單片機中的應用[J].科技資訊,2009(36).
[5]金輝,董全成,馮安.PROTEUS在實驗教學中的應用分析[J].科技信息,2009(24).
[6]劉姝,徐全生.虛擬儀器在實驗教學中的應用[J].實驗室科學,2007(1):110-111.
作者簡介:侯利明(1987—),男,河南新鄉人,碩士研究生,研究方向:智能信息處理。