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