基于Proteus的ARM虛擬開(kāi)發(fā)
1 引言
本文引用地址:http://2s4d.com/article/85214.htm現(xiàn)在,人們生活中的每個(gè)角落都有嵌入式設(shè)備的存在,比如數(shù)碼相機(jī)、移動(dòng)電話、TV機(jī)頂盒及掌上電腦等等。這些嵌入式設(shè)備多采用32位RISC嵌入式處理器作為核心部件。其中基于ARM核的嵌入式處理器獨(dú)占鰲頭,在32位RISC處理器中占據(jù)超過(guò)75%的市場(chǎng)份額。ARM核嵌入式處理器通常采用C語(yǔ)言編程,目前ARM公司的開(kāi)發(fā)工具ADS、RealView以及Keil與ARM核處理器結(jié)合較好,得到了廣大嵌入式學(xué)習(xí)者的一致認(rèn)可。
在傳統(tǒng)的嵌入式系統(tǒng)學(xué)習(xí)中,嵌入式開(kāi)發(fā)平臺(tái)是必不可少的。其中資源少的開(kāi)發(fā)平臺(tái)便宜但功能較少,資源多的開(kāi)發(fā)平臺(tái)又價(jià)格不菲,這對(duì)廣大的嵌入式愛(ài)好者無(wú)疑是個(gè)障礙。然而,有沒(méi)有在不增加甚至降低開(kāi)發(fā)成本的同時(shí)還能進(jìn)行同樣或更好的開(kāi)發(fā)呢?本文介紹的Proteus軟件就是一個(gè)可以完全脫離硬件平臺(tái)來(lái)學(xué)習(xí)嵌入式系統(tǒng)進(jìn)行虛擬開(kāi)發(fā)的利器,可以說(shuō)是嵌入式系統(tǒng)學(xué)習(xí)的一次革命。
1 Proteus簡(jiǎn)介
Proteus軟件是英國(guó)Labcenter electronics公司的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)證,通過(guò)動(dòng)態(tài)器件(如電機(jī)、LED、LCD、開(kāi)關(guān)等),配合系統(tǒng)配置的虛擬儀器(如示波器、邏輯分析儀等),可實(shí)時(shí)看到運(yùn)行后的輸入輸出的效果,其主要特點(diǎn)如下:
(1)可以仿真、分析各種模擬器件和集成電路,其支持Pillips公司系列的ARM(LPC系列),Proteus的仿真是基于SPICE3F5的,因此它也能像其它的EDA軟件那樣進(jìn)行電路分析,如模擬分析、數(shù)字分析、混合信號(hào)分析、頻率分析等等;
(2)提供了虛擬示波器、邏輯分析儀、信號(hào)發(fā)生器、計(jì)數(shù)器、電表、Virtual Terminal等虛擬儀器儀表供選擇;
(3)能夠進(jìn)行SCH(原理圖)和PCB(印刷板)電路的設(shè)計(jì);
(4)其自身只帶匯編編譯器,不支持C語(yǔ)言。但可以將它與Keil、ADS集成開(kāi)發(fā)環(huán)境連接,將用匯編和C語(yǔ)言編寫(xiě)的程序編譯好之后,可以立即進(jìn)行軟、硬件結(jié)合的系統(tǒng)仿真,達(dá)到很好的仿真效果。
2 Proteus環(huán)境下的系統(tǒng)設(shè)計(jì)與仿真
Proteus和PROTEL、EWB等軟件相似,繪制原理圖都要先從器件庫(kù)里取出所需的元器件符號(hào)并在繪圖區(qū)布局好,同時(shí)編輯好元件的參數(shù),接著進(jìn)行連線,添加必要的網(wǎng)絡(luò)標(biāo)號(hào)等步驟。下面通過(guò)一個(gè)簡(jiǎn)單的實(shí)例說(shuō)明如何使用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.1 電路原理圖的設(shè)計(jì)
運(yùn)行Proteus VSM的ISIS后出現(xiàn)如圖1所示的主窗口界面,點(diǎn)擊“File”—“New Design”新建一個(gè)設(shè)計(jì)項(xiàng)目。接下來(lái)就是在其中所需的添加元器件了,點(diǎn)擊元器件添加按鈕會(huì)彈出“Pick Devices”對(duì)話框,在其中選擇需要添加的元器件,添加到器件列表區(qū)中。然后再依次點(diǎn)擊列表區(qū)里的元器件,把它們放到繪圖區(qū)并編輯其屬性,接著進(jìn)行合理的布局之后,就可以進(jìn)行連線了。與PROTEL類(lèi)似,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)左鍵即可畫(huà)線,在終點(diǎn)再點(diǎn)擊確認(rèn)一下就完成一段導(dǎo)線,所有導(dǎo)線畫(huà)完后,點(diǎn)擊電源按鈕,添加必要的電源和接地符號(hào),并編輯其屬性后,原理圖的繪制就完成了,如圖2所示。
圖1 Proteus主窗口
圖2 電路原理圖
2.2 程序代碼的編寫(xiě)
程序代碼的編寫(xiě)主要分四個(gè)部分進(jìn)行:
(1) LPC2124的初始化代碼;
(2) LPC2124異常向量入口及異常向量與C語(yǔ)言代碼的接口,包括初始化堆棧的代碼;
(3) LPC2124目標(biāo)板特殊的代碼,包括異常處理程序和目標(biāo)板初始化程序;
(4) 根據(jù)我們實(shí)例要求,結(jié)合原理圖,編寫(xiě)實(shí)現(xiàn)預(yù)期功能的代碼,即通常的執(zhí)行代碼,代碼文件保存為“main.c”。
通常,為了節(jié)省開(kāi)發(fā)者的時(shí)間,通常把這些文件保存在一個(gè)文件夾里,暫且把文件夾命名為“lpc2124模塊”,這樣在以后的程序代碼編寫(xiě)時(shí)就可以直接調(diào)用這個(gè)模塊,再根據(jù)不同的要求改寫(xiě)“main.c”就行了,而不必要又重新編寫(xiě)這些程序,節(jié)省了大量時(shí)間,大大提高了工作效率。
電氣符號(hào)相關(guān)文章:電氣符號(hào)大全
評(píng)論