嵌入式開發(fā)教程之基于Proteus的ARM虛擬開發(fā)_第1頁
嵌入式開發(fā)教程之基于Proteus的ARM虛擬開發(fā)_第2頁
嵌入式開發(fā)教程之基于Proteus的ARM虛擬開發(fā)_第3頁
嵌入式開發(fā)教程之基于Proteus的ARM虛擬開發(fā)_第4頁
嵌入式開發(fā)教程之基于Proteus的ARM虛擬開發(fā)_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

嵌入式開發(fā)教程之基于Proteus的ARM虛擬開發(fā)1

引言1Proteus簡(jiǎn)介2

Proteus環(huán)境下的系統(tǒng)設(shè)計(jì)與仿真2.1電路原理圖的設(shè)計(jì)2.2程序代碼的編寫2.3仿真3

結(jié)語第一頁,共十八頁。現(xiàn)在,人們生活中的每個(gè)角落都有嵌入式設(shè)備的存在,比如數(shù)碼相機(jī)、移動(dòng)電話、TV機(jī)頂盒及掌上電腦等等。這些嵌入式設(shè)備多采用32位RISC嵌入式處理器作為核心部件。

其中基于ARM核的嵌入式處理器獨(dú)占鰲頭,在32位RISC處理器中占據(jù)超過75%的市場(chǎng)份額。ARM核嵌入式處理器通常采用C語言編程,目前ARM公司的開發(fā)工具ADS、RealView以及Keil與arm核處理器結(jié)合較好,得到了廣大嵌入式學(xué)習(xí)者的一致認(rèn)可。在傳統(tǒng)的嵌入式系統(tǒng)學(xué)習(xí)中,嵌入式開發(fā)平臺(tái)是必不可少的。其中資源少的開發(fā)平臺(tái)便宜但功能較少,資源多的開發(fā)平臺(tái)又價(jià)格不菲,這對(duì)廣大的嵌入式愛好者無疑是個(gè)障礙。然而,有沒有在不增加甚至降低開發(fā)成本的同時(shí)還能進(jìn)行同樣或更好的開發(fā)呢?本文介紹的Proteus軟件就是一個(gè)可以完全脫離硬件平臺(tái)來學(xué)習(xí)嵌入式系統(tǒng)進(jìn)行虛擬開發(fā)的利器,可以說是嵌入式系統(tǒng)學(xué)習(xí)的一次革命。引言第二頁,共十八頁。

Proteus軟件是英國Labcenterelectronics公司的EDA工具軟件,是一個(gè)電子設(shè)計(jì)的教學(xué)平臺(tái)、實(shí)驗(yàn)平臺(tái)和創(chuàng)新平臺(tái),涵蓋了電工電子實(shí)驗(yàn)室、電子技術(shù)實(shí)驗(yàn)室、單片機(jī)應(yīng)用實(shí)驗(yàn)室等的全部功能。其革命性的功能是將電路仿真和微處理器仿真進(jìn)行協(xié)調(diào),直接在基于原理圖的虛擬原型上進(jìn)行處理器編程調(diào)試,并進(jìn)行功能驗(yàn)證,通過動(dòng)態(tài)器件(如電機(jī)、LED、LCD、開關(guān)等),配合系統(tǒng)配置的虛擬儀器(如示波器、邏輯分析儀等),可實(shí)時(shí)看到運(yùn)行后的輸入輸出的效果,其主要特點(diǎn)如下:

(1)可以仿真、分析各種模擬器件和集成電路,其支持Pillips公司系列的arm(LPC系列),Proteus的仿真是基于SPICE3F5的,因此它也能像其它的EDA軟件那樣進(jìn)行電路分析,如模擬分析、數(shù)字分析、混合信號(hào)分析、頻率分析等等;1Proteus簡(jiǎn)介第三頁,共十八頁。

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

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

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

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

Proteus環(huán)境下的系統(tǒng)設(shè)計(jì)與仿真第五頁,共十八頁。運(yùn)行ProteusVSM的ISIS后出現(xiàn)如圖1所示的主窗口界面,點(diǎn)擊“File”—“NewDesign”新建一個(gè)設(shè)計(jì)項(xiàng)目。接下來就是在其中所需的添加元器件了,點(diǎn)擊元器件添加按鈕會(huì)彈出“PickDevices”對(duì)話框,在其中選擇需要添加的元器件,添加到器件列表區(qū)中。然后再依次點(diǎn)擊列表區(qū)里的元器件,把它們放到繪圖區(qū)并編輯其屬性,接著進(jìn)行合理的布局之后,就可以進(jìn)行連線了。與PROTEL類似,Proteus也具有自動(dòng)捕捉節(jié)點(diǎn)和自動(dòng)布線功能,連線時(shí)當(dāng)鼠標(biāo)的指針靠近一個(gè)對(duì)象的引腳時(shí),跟著鼠標(biāo)的指針就會(huì)出現(xiàn)一個(gè)“×”提示符號(hào),點(diǎn)擊鼠標(biāo)左鍵即可畫線,在終點(diǎn)再點(diǎn)擊確認(rèn)一下就完成一段導(dǎo)線,所有導(dǎo)線畫完后,點(diǎn)擊電源按鈕,添加必要的電源和接地符號(hào),并編輯其屬性后,原理圖的繪制就完成了,如圖2所示。2.1嵌入式開發(fā)教程之電路原理圖的設(shè)計(jì)第六頁,共十八頁。圖1

Proteus主窗口第七頁,共十八頁。圖2電路原理圖第八頁,共十八頁。程序代碼的編寫主要分四個(gè)部分進(jìn)行:

(1)LPC2124的初始化代碼;

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

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

(4)根據(jù)我們實(shí)例要求,結(jié)合原理圖,編寫實(shí)現(xiàn)預(yù)期功能的代碼,即通常的執(zhí)行代碼,代碼文件保存為“main.c”。2.2嵌入式開發(fā)教程之程序代碼的編寫第九頁,共十八頁。通常,為了節(jié)省開發(fā)者的時(shí)間,通常把這些文件保存在一個(gè)文件夾里,暫且把文件夾命名為“l(fā)pc2124模塊”,這樣在以后的程序代碼編寫時(shí)就可以直接調(diào)用這個(gè)模塊,再根據(jù)不同的要求改寫“main.c”就行了,而不必要又重新編寫這些程序,節(jié)省了大量時(shí)間,大大提高了工作效率。這里主要說明“main.c”的編寫,要實(shí)現(xiàn)的功能是用LPC2124控制器、LP297、L298組成的步進(jìn)電機(jī)控制器,控制步進(jìn)電機(jī)的運(yùn)轉(zhuǎn),原理圖中可以看到各元器件引腳的連接,圖中還設(shè)置了七個(gè)電壓探針,用數(shù)字圖表顯示各電壓節(jié)點(diǎn)的電平隨時(shí)間變化的曲線。KEY鍵控制電機(jī)的正反轉(zhuǎn)(KEY鍵按下則電機(jī)反轉(zhuǎn))。程序流程圖如圖3所示。根據(jù)程序流程圖編寫好執(zhí)行代碼文件“main.c”。嵌入式開發(fā)教程第十頁,共十八頁。圖3程序流程圖第十一頁,共十八頁。圖4

ADS編譯環(huán)境窗口第十二頁,共十八頁。文中采用ADS集成開發(fā)環(huán)境進(jìn)行程序的編譯連接設(shè)置,ADS集成開發(fā)環(huán)境是ARM公司推出的ARM核微控制器集成開發(fā)工具,英文全稱為ARMDeveloperSuite,成熟版本為ADS1.2。ADS1.2支持ARM10以前的所有arm系列微控制器,支持軟件調(diào)試,支持匯編、C和C++源程序,具有編譯效率高、系統(tǒng)庫功能強(qiáng)等特點(diǎn)。打開ADS1.2集成開發(fā)環(huán)境CodeWarriorIDE,點(diǎn)擊Project→NewProject建立一個(gè)新的工程lcd.mcp,把以上編好的代碼文件全部添加進(jìn)工程,如圖4所示。進(jìn)行相關(guān)設(shè)置后,選擇Project→Make命令,編譯并連接工程,生成stepper.hex文件。在原理圖中右擊微控制器LPC2124,再單擊,出現(xiàn)一屬性設(shè)置窗口EditComponent,如圖5。在其中的ProgramFile中添加上面生成的stepper.hex文件的路徑,單擊OK完成設(shè)置。2.3嵌入式開發(fā)教程之仿真第十三頁,共十八頁。點(diǎn)擊原理圖左下角

中的運(yùn)行按鈕

,即開始仿真運(yùn)行。

仿真結(jié)果如圖6所示。數(shù)字圖表顯示各電壓節(jié)點(diǎn)的電平值隨時(shí)間變化的曲線,步進(jìn)電機(jī)按要求運(yùn)行,按下KEY鍵電機(jī)反轉(zhuǎn)。仿真結(jié)果完全符合設(shè)計(jì)要求。嵌入式開發(fā)教程第十四頁,共十八頁。圖5器件編輯窗口第十五頁,共十八頁。圖6

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

結(jié)語第十七頁,共十八頁。內(nèi)容總結(jié)嵌入式開發(fā)教程之基于Proteus的ARM虛擬開發(fā)。其中基于ARM核的嵌入式處理器獨(dú)占鰲頭,在32位RISC處理器中占據(jù)超過75%的市場(chǎng)份額。ARM核嵌入式處理器通常采用C語言編程,目前ARM公司的開發(fā)工具ADS、RealVie

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論