《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式基于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核處理器結(jié)合較好,,得到了廣大嵌入式學習者的一致認可。

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

  1 Proteus簡介

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

  其革命性的功能是將電路仿真和微處理器仿真進行協(xié)調(diào),直接在基于原理圖的虛擬原型上進行處理器編程調(diào)試,,并進行功能驗證,,通過動態(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語言編寫的程序編譯好之后,可以立即進行軟,、硬件結(jié)合的系統(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)對步進電機的正、反轉(zhuǎ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ù)我們實例要求,,結(jié)合原理圖,,編寫實現(xiàn)預期功能的代碼,即通常的執(zhí)行代碼,,代碼文件保存為“main.c”,。

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

  這里主要說明“main.c”的編寫,要實現(xiàn)的功能是用LPC2124控制器,、LP297,、L298組成的步進電機控制 器,控制步進電機的運轉(zhuǎn),,原理圖中可以看到各元器件引腳的連接,圖中還設置了七個電壓探針,,用數(shù)字圖表顯示各電壓節(jié)點的電平隨時間變化的曲線,。KEY鍵控制電機的正反轉(zhuǎn)(KEY鍵按下則電機反轉(zhuǎn))。程序流程圖如圖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系列微控制器,支持軟件調(diào)試,,支持匯編,、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完成設置,。

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

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

  圖5 器件編輯窗口

  圖6  仿真結(jié)果圖

  3  結(jié)語

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

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