Proteus的定位系統(tǒng)仿真設計
引 言
隨著單片機技術(shù)在工控領(lǐng)域及社會生活的各個方面得到廣泛應用,對單片機開發(fā)成本及速度的要求也越來越高。按照傳統(tǒng)的模式,在整個項目開發(fā)過程中,先根據(jù)控制系統(tǒng)要求設計原理圖,制作硬件電路;然后進行軟件編程,通過仿真器對系統(tǒng)硬件和軟件調(diào)試;最后將調(diào)試成功的程序固化到單片機中。這一過程的主要問題是應用程序需要在硬件完成的情況下才能進行調(diào)試。雖然有的軟件可以進行模擬調(diào)試,但是對于一些復雜的程序(如人機交互程序),在沒有硬件時,界面沒有真實感,給調(diào)試帶來很大困難。在軟硬件的配合中如果需要修改硬件,就必須重新制板??v觀整個過程,無論是從硬件成本上,還是從調(diào)試周期上,傳統(tǒng)開發(fā)模式的效率都有待提高。能否只使用一種開發(fā)工具,兼顧仿真、調(diào)試、制板以及最大限度的軟件模擬來作為單片機的開發(fā)平臺,從而取代編程器、仿真器、成品前的硬件測試等。
英國Labcenter Electronics公司推出的Proteus 6ISIS是專用于開發(fā)單片機的集成軟件,用戶可以在該軟件上簡捷、高效地設計出各種模擬電路、數(shù)字系統(tǒng)、專用IC及各種芯片。在仿真過程中Proteus 6 ISIS給我們以最大程度上的視覺感受,為電子產(chǎn)品的開發(fā)和電子系統(tǒng)工程提供了一種全新的手段和便捷的途徑。本文用上述軟件對定位系統(tǒng)進行了仿真和設計。
1 定位系統(tǒng)原理及構(gòu)成
1.1 定位系統(tǒng)原理
定位系統(tǒng)的基本原理是:每顆GPS衛(wèi)星時刻發(fā)布其位置和時間數(shù)據(jù)信號,用戶接收機測量每顆衛(wèi)星信號到接收機的時間延遲,根據(jù)信號傳輸速度就可以計算出接收機與不同衛(wèi)星之間的距離。
GPS模塊接收衛(wèi)星的定位信號運算出自身的位置(經(jīng)度、緯度、高度),時間和運動狀態(tài)(速度、航向),每秒1次送給單片機并存儲,以便隨時提供定位信息。由單片機控制定位系統(tǒng)的協(xié)調(diào)工作。
1.2 定位系統(tǒng)硬件構(gòu)成
定位系統(tǒng)是基于AT89C52和GARMINGPS25LP的定位測量系統(tǒng)。其基本功能可分為單片機對GPS器件的控制以及顯示采集的信息兩部分。
系統(tǒng)由3個功能模塊構(gòu)成:
?、賳纹瑱C系統(tǒng):采用AT89C52單片機控制GPS的數(shù)據(jù)讀取和數(shù)據(jù)傳輸過程,并將數(shù)據(jù)發(fā)送到LCD進行顯示。
②外圍電路:一部分是GPS和輔助電路;另一部分是LCD顯示電路。
?、跜51程序:編寫C51程序,實現(xiàn)單片機控制GPS器件完成方位數(shù)據(jù)的采集,并輸出LCD顯示。
本系統(tǒng)采用的GPS器件為美國GARMIN公司的GARMINGPS25LP,采用全密封方式,位置精度<15 m,速度精度<0.1 m/s,外形尺寸為46.5 mm×69.5 mm×11.4 mm。GARMINGPS25LP是同類型的GPS OEM板中最常用的一款,在飛機領(lǐng)域使用很多。GARM-
INGPS25LP有其獨特的輸出/輸入語句格式。在調(diào)試GPS時,通過串口和GPS板進行數(shù)據(jù)交換,由于GPS輸出的也是RS232信號,因此可以直接與計算機進行通信。通過串口通信程序進行讀/寫控制,對GPS進行設置和調(diào)試。
1.3定位系統(tǒng)程序設計
該程序主要功能有兩方面:一方面是使用單片機與GPS模塊進行通信,獲得當前的方位數(shù)據(jù);另一方面是單片機將所得的數(shù)據(jù)處理成數(shù)值,并發(fā)送到液晶顯示模塊進行顯示。
此系統(tǒng)的函數(shù)分為4類:主程序、GPS的數(shù)據(jù)通信程 序、液晶驅(qū)動程序以及液晶顯示程序。
點擊看原圖
void show(void)。
單片機對GPS模塊的串行數(shù)據(jù)接收、整理,以及向RAM中寫入數(shù)據(jù)的基本流程如圖1所示。
[!--empirenews.page--]
2 定位系統(tǒng)仿真及設計
2.1 定位系統(tǒng)程序調(diào)試
Proteus是目前最好的模擬單片機外圍器件的工具,它可以仿真51系列、AVR、PIC等常用的單片機,及其外圍電路(如LCD、RAM、ROM、鍵盤、馬達、LED、ADPDA、部分SPI器件和I2C器件等)。其自身只帶匯編器,不支持C語言,但可以將它與:Keil C51集成開發(fā)環(huán)境連接。用匯編語言和C語言編寫的程序編譯好之后,可以立即進行軟、硬件結(jié)合的系統(tǒng)仿真,像使用仿真器一樣來調(diào)試程序。結(jié)合Keil C51和Proteus進行單片機系統(tǒng)的軟件設計和硬件仿真調(diào)試,既可大大縮短單片機系統(tǒng)的開發(fā)周期,又可降低開發(fā)調(diào)試成本。
Proteus中沒有GARMINGPS25LP,但可以通過鍵盤
2.2 定位系統(tǒng)PCB
Proteus軟件本身有PCB設計功能,可以生成多種格式的文件,供相應的專業(yè)PCB設計工具調(diào)用,從而很方便地進行后續(xù)PCB的設計。當仿真調(diào)試成功后,可利用Proteus 6 Professional中的ARES 6 Professional進行PCB設計與制作。ISIS和ARES高度集成,PCB封裝可以直接從ARES庫中提取,引腳信息可以通過虛擬封裝工具直接輸入。
用Proteus制作PCB通常包括以下步驟:
?、偌虞d網(wǎng)絡表及元件封裝;
?、谝?guī)劃電路板并設置相關(guān)參數(shù);
③元件布局及調(diào)整;
?、懿季€并調(diào)整;
?、葺敵黾爸谱鱌CB。
雖然庫中沒有GARMINGPS25LP的引腳封裝,但可以通過自建庫或選擇相近封裝。
結(jié) 語
本文介紹了一種基于Proteus軟件的單片機系統(tǒng)設計與仿真的實現(xiàn)方法。單片機定位系統(tǒng)的實際開發(fā)過程充分說明,采用該方法可以大大簡化硬件電路測試和系統(tǒng)調(diào)試過程中,電路板制作、元器件安裝、焊接等過程。使用該方法進行系統(tǒng)虛擬開發(fā)、成功之后再進行實際制作,無疑要以提高開發(fā)效率,降低開發(fā)成本,提升開發(fā)速度,對單片機系統(tǒng)開發(fā)具有實用意義。