《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式基于Proteus的ARM虛擬開發(fā)
嵌入式基于Proteus的ARM虛擬開發(fā)
摘要: 文章標題:嵌入式基于Proteus的ARM虛擬開發(fā)。中國IT實驗室嵌入式開發(fā)頻道提供最全面的嵌入式開發(fā)培訓及行業(yè)的信息、技術以及相關資料的下載.
關鍵詞: ARM 嵌入式 Proteus RISC
Abstract:
Key words :

  現(xiàn)在,人們生活中的每個角落都有嵌入式設備的存在,比如數(shù)碼相機、移動電話、TV機頂盒及掌上電腦等等。這些嵌入式設備多采用32位RISC嵌入式處理器作為核心部件。

  其中基于ARM核的嵌入式處理器獨占鰲頭,在32位RISC處理器中占據(jù)超過75%的市場份額。ARM核嵌入式處理器通常采用C語言編程,目前ARM公司的開發(fā)工具ADS、RealView以及Keil與arm核處理器結合較好,得到了廣大嵌入式學習者的一致認可。

  在傳統(tǒng)的嵌入式系統(tǒng)學習中,嵌入式開發(fā)平臺是必不可少的。其中資源少的開發(fā)平臺便宜但功能較少,資源多的開發(fā)平臺又價格不菲,這對廣大的嵌入式愛好者無疑是個障礙。然而,有沒有在不增加甚至降低開發(fā)成本的同時還能進行同樣或更好的開發(fā)呢?本文介紹的Proteus軟件就是一個可以完全脫離硬件平臺來學習嵌入式系統(tǒng)進行虛擬開發(fā)的利器,可以說是嵌入式系統(tǒng)學習的一次革命。

  1 Proteus簡介

  Proteus軟件是英國Labcenter electronics公司的EDA工具軟件,是一個電子設計的教學平臺、實驗平臺和創(chuàng)新平臺,涵蓋了電工電子實驗室、電子技術實驗室、單片機應用實驗室等的全部功能。

  其革命性的功能是將電路仿真和微處理器仿真進行協(xié)調,直接在基于原理圖的虛擬原型上進行處理器編程調試,并進行功能驗證,通過動態(tài)器件(如電機、LED、LCD、開關等),配合系統(tǒng)配置的虛擬儀器(如示波器、邏輯分析儀等),可實時看到運行后的輸入輸出的效果,其主要特點如下:

  (1)可以仿真、分析各種模擬器件和集成電路,其支持Pillips公司系列的arm(LPC系列),Proteus的仿真是基于SPICE3F5的,因此它也能像其它的EDA軟件那樣進行電路分析,如模擬分析、數(shù)字分析、混合信號分析、頻率分析等等;

  (2)提供了虛擬示波器、邏輯分析儀、信號發(fā)生器、計數(shù)器、電表、Virtual Terminal等虛擬儀器儀表供選擇;

  (3)能夠進行SCH(原理圖)和PCB(印刷板)電路的設計;

  (4)其自身只帶匯編編譯器,不支持C語言。但可以將它與Keil、ADS集成開發(fā)環(huán)境連接,將用匯編和C語言編寫的程序編譯好之后,可以立即進行軟、硬件結合的系統(tǒng)仿真,達到很好的仿真效果。

  2  Proteus環(huán)境下的系統(tǒng)設計與仿真

  Proteus和PROTEL、EWB等軟件相似,繪制原理圖都要先從器件庫里取出所需的元器件符號并在繪圖區(qū)布局好,同時編輯好元件的參數(shù),接著進行連線,添加必要的網(wǎng)絡標號等步驟。下面通過一個簡單的實例說明如何使用Proteus軟件實現(xiàn)arm(以LPC2124為例)系統(tǒng)設計與仿真。實例以 LPC2124控制器為核心,與L297、L298組成步進電機控制器,添加必要的外圍電路,實現(xiàn)對步進電機的正、反轉控制。

  2.1 電路原理圖的設計

  運行Proteus VSM的ISIS后出現(xiàn)如圖1所示的主窗口界面,點擊“File”—“New Design”新建一個設計項目。接下來就是在其中所需的添加元器件了,點擊元器件添加按鈕會彈出“Pick Devices”對話框,在其中選擇需要添加的元器件,添加到器件列表區(qū)中。然后再依次點擊列表區(qū)里的元器件,把它們放到繪圖區(qū)并編輯其屬性,接著進行合理的布局之后,就可以進行連線了。與PROTEL類似,Proteus也具有自動捕捉節(jié)點和自動布線功能,連線時當鼠標的指針靠近一個對象的引腳時,跟著鼠標的指針就會出現(xiàn)一個“×”提示符號,點擊鼠標左鍵即可畫線,在終點再點擊確認一下就完成一段導線,所有導線畫完后,點擊電源按鈕,添加必要的電源和接地符號,并編輯其屬性后,原理圖的繪制就完成了,如圖2所示。

  2.2 程序代碼的編寫

  程序代碼的編寫主要分四個部分進行:

  (1) LPC2124的初始化代碼;

  (2) LPC2124異常向量入口及異常向量與C語言代碼的接口,包括初始化堆棧的代碼;

  (3) LPC2124目標板特殊的代碼,包括異常處理程序和目標板初始化程序;

  (4) 根據(jù)我們實例要求,結合原理圖,編寫實現(xiàn)預期功能的代碼,即通常的執(zhí)行代碼,代碼文件保存為“main.c”。

  通常,為了節(jié)省開發(fā)者的時間,通常把這些文件保存在一個文件夾里,暫且把文件夾命名為“lpc2124模塊”,這樣在以后的程序代碼編寫時就可以直接調用這個模塊,再根據(jù)不同的要求改寫“main.c”就行了,而不必要又重新編寫這些程序,節(jié)省了大量時間,大大提高了工作效率。

  這里主要說明“main.c”的編寫,要實現(xiàn)的功能是用LPC2124控制器、LP297、L298組成的步進電機控制 器,控制步進電機的運轉,原理圖中可以看到各元器件引腳的連接,圖中還設置了七個電壓探針,用數(shù)字圖表顯示各電壓節(jié)點的電平隨時間變化的曲線。KEY鍵控制電機的正反轉(KEY鍵按下則電機反轉)。程序流程圖如圖3所示。根據(jù)程序流程圖編寫好執(zhí)行代碼文件“main.c”。

  圖3 程序流程圖

  圖4  ADS編譯環(huán)境窗口

  2.3 仿真

  文中采用ADS集成開發(fā)環(huán)境進行程序的編譯連接設置,ADS集成開發(fā)環(huán)境是ARM公司推出的ARM核微控制器集成開發(fā)工具,英文全稱為ARM Developer Suite,成熟版本為ADS1.2。ADS1.2支持ARM10以前的所有arm系列微控制器,支持軟件調試,支持匯編、C和C++源程序,具有編譯效率高、系統(tǒng)庫功能強等特點。

  打開ADS1.2集成開發(fā)環(huán)境CodeWarrior IDE,點擊Project→New Project建立一個新的工程lcd.mcp,把以上編好的代碼文件全部添加進工程,如圖4所示。進行相關設置后,選擇Project→Make命令,編譯并連接工程,生成stepper.hex文件。

  在原理圖中右擊微控制器LPC2124,再單擊,出現(xiàn)一屬性設置窗口Edit Component,如圖5。在其中的Program File中添加上面生成的stepper.hex文件的路徑,單擊OK完成設置。

  點擊原理圖左下角中的運行按鈕,即開始仿真運行。

  仿真結果如圖6所示。數(shù)字圖表顯示各電壓節(jié)點的電平值隨時間變化的曲線,步進電機按要求運行,按下KEY鍵電機反轉。仿真結果完全符合設計要求。

  圖5 器件編輯窗口

  圖6  仿真結果圖

  3  結語

  通過以上簡單的步進電機控制系統(tǒng)設計過程可以看出,用Proteus軟件進行ARM虛擬開發(fā)的優(yōu)勢所在。使用Proteus進行arm的虛擬開發(fā),不僅可以減少實驗硬件資本的投入,還突破了實際開發(fā)板中實驗內容的局限性,使開發(fā)者能夠充分發(fā)揮自身的主動性。使用Proteus仿真,大大降低了開發(fā)成本,提高了開發(fā)效率。筆者相信隨著電子技術的不斷發(fā)展、完善,基于軟件的硬件虛擬開發(fā)的應用將會發(fā)揮越來越重要的作用。

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載。