引言
GPS(全球定位系統(tǒng))是為海上,、陸地和空中各種運(yùn)輸工具和移動(dòng)設(shè)備的導(dǎo)航和定位而開發(fā)的,具有高精度,、全天候,、全球性和點(diǎn)間無需通視等優(yōu)點(diǎn),使測(cè)量技術(shù)發(fā)生了質(zhì)的飛躍,。在GPS的行業(yè)應(yīng)用中,,數(shù)據(jù)接收系統(tǒng)是最基本的設(shè)備。目前,,數(shù)據(jù)接收系統(tǒng)具有智能化和可擴(kuò)展性不斷增強(qiáng)的發(fā)展趨勢(shì),,表現(xiàn)為內(nèi)嵌的MCU性能越來越高,外圍接口越來越豐富,,但軟硬件成本不斷上升,,減緩了GPS接收系統(tǒng)平民化的趨勢(shì)。綜上所述,,本文設(shè)計(jì)了一種基于單片機(jī)ATmega16A的低成本,、可存儲(chǔ)、無線傳輸GPS接收系統(tǒng),。實(shí)驗(yàn)證明,,該系統(tǒng)穩(wěn)定度高,可以滿足各種工程測(cè)量以及勘察測(cè)量等民用要求,。
1 GPS接收系統(tǒng)結(jié)構(gòu)及工作原理
GPS接收系統(tǒng)實(shí)現(xiàn)本地GPS信號(hào)讀取,、系統(tǒng)控制、數(shù)據(jù)接收,、數(shù)據(jù)存儲(chǔ),、數(shù)據(jù)讀取和無線收發(fā)等功能。其系統(tǒng)結(jié)構(gòu)框圖如圖1所示,。
GPS接收系統(tǒng)工作過程為:ATmega16A利用GPS模塊獲取其所在位置的經(jīng)緯度等信息,,并將該測(cè)試點(diǎn)處的數(shù)據(jù)通過USB接口傳輸?shù)絇C機(jī)中,通過上位機(jī)軟件完成對(duì)數(shù)據(jù)的轉(zhuǎn)化,。此外,,ATmega16A帶有片上Flash,也可實(shí)現(xiàn)對(duì)接收數(shù)據(jù)的存儲(chǔ)功能,,以便進(jìn)行離線處理,。ATmega16A通過控制無線收發(fā)模塊,實(shí)現(xiàn)了對(duì)數(shù)據(jù)發(fā)送的功能,。
2 GPS接收系統(tǒng)硬件設(shè)計(jì)
GPS接收系統(tǒng)主要由電源模塊,、GPS模塊,、GPS天線模塊、控制模塊,、無線收發(fā)模塊和數(shù)據(jù)存儲(chǔ)模塊等部分組成,。
2.1 電源模塊
電源模塊是GPS接收系統(tǒng)工作的重要組成部分,,實(shí)現(xiàn)的是系統(tǒng)供電功能,。在GPS接收系統(tǒng)中,主要耗電的部分為無線收發(fā)模塊,,該模塊工作在1W接收功率時(shí)工作電流可達(dá)到700mA,,因此需要采用大電流的電源芯片,,以保證系統(tǒng)供電需求。LM2576最大供電電流可達(dá)到3A,,完全滿足系統(tǒng)大功率接收時(shí)對(duì)電流的要求,。此外,系統(tǒng)中其他模塊工作電壓為3.3V,,采用REG1117(3.3V)芯片為系統(tǒng)提供工作所需電壓,。電源模塊設(shè)計(jì)原理圖如圖2所示。
2.2 GPS模塊
GPS模塊是影響系統(tǒng)測(cè)量精度的關(guān)鍵,,該系統(tǒng)中GPS采用SDT11E模塊進(jìn)行設(shè)計(jì),。該模塊具有-158dBm的接收靈敏度,定位精度可達(dá)2.5m,。高接收靈敏度和定位精度可以有效保證該系統(tǒng)的適用范圍,。其原理圖如圖3所示。
2.3 GPS天線模塊
GPS天線形式是多種多樣的,,可以是螺旋線圈天線,、偶極子天線或是微帶天線。通常會(huì)在天線的前端加入一個(gè)低噪聲放大器,,使得接收機(jī)內(nèi)維持一個(gè)低的噪聲系數(shù),,這時(shí)需要由接收機(jī)前端通過RF同軸電纜對(duì)放大器供電。需要注意的是,,當(dāng)使用GPS接收機(jī)解算位置的時(shí)候,,實(shí)際上是在估計(jì)天線的電子相位中心的位置,而電子相位中心與物理相位中心常常不在同一點(diǎn),。對(duì)于測(cè)量型GPS接收機(jī)天線,,電子和物理相位中心會(huì)有厘米級(jí)的差異。
系統(tǒng)采用的是SDT11E型GPS接收機(jī),,它的天線單元如圖4所示,。它具有的功能是接收由衛(wèi)星發(fā)射來的信號(hào)。
2.4 控制模塊
該GPS接收系統(tǒng)中,,主要采用Atmel公司的AVR芯片ATmega16A作為系統(tǒng)的控制器,,控制器主要實(shí)現(xiàn)控制GPS模塊,、控制無線收發(fā)模塊、控制USB傳輸模塊,、處理接收的GPS信號(hào),、從Flash芯片中存取數(shù)據(jù)等功能。
由于GPS模塊,、無線收發(fā)模塊、USB模塊均采用串行接口,,控制器內(nèi)部只帶有一個(gè)串口功能,,因此采用通用I/O口模擬串口通信方式完成對(duì)GPS和收發(fā)模塊的控制。同時(shí)設(shè)計(jì)了帶接收中斷功能的串口模塊,,以實(shí)現(xiàn)系統(tǒng)控制功能,。本收發(fā)模塊中對(duì)接收到的GPS信號(hào)進(jìn)行了簡(jiǎn)化處理,提取出了經(jīng)緯度,、高度及時(shí)間信息,,增加了數(shù)據(jù)存儲(chǔ)的有效信息量。I/O口模擬串口通信模塊工作流程如圖5所示,。
2.5 無線收發(fā)模塊
為提高該系統(tǒng)的定位精度,,并有效降低系統(tǒng)功耗,本系統(tǒng)采用無線收發(fā)方式實(shí)現(xiàn)數(shù)據(jù)傳輸,,無線收發(fā)模塊設(shè)計(jì)原理圖如圖6所示,。
該無線收發(fā)模塊主要使用MaxStream公司的9XTend模塊,其主要特點(diǎn)是:與傳統(tǒng)無線調(diào)制方式相比,,在相同的發(fā)射功率的情況下采用擴(kuò)頻通信方式可以傳輸更遠(yuǎn)的距離,。它是MaxStream公司目前傳輸距離最長(zhǎng)(視距傳輸距離為40km)的低功耗OEM RF模塊。9XTend在5V電壓下,,電流消耗只有780mA,,輸出功率可達(dá)1W(30dBm)。該收發(fā)器的接收靈敏度達(dá)-110dBm,,可使用戶在1.5英里,、15英里視距和40英里(通過高增益天線)接收900MHz信號(hào),數(shù)據(jù)吞吐量為230kbps,,數(shù)據(jù)率可達(dá)115.2kbps,。通過對(duì)該模塊的使用,有效地實(shí)現(xiàn)了對(duì)GPS信號(hào)的接收,。
2.6 數(shù)據(jù)存儲(chǔ)模塊
數(shù)據(jù)存儲(chǔ)模塊用Flash芯片來存儲(chǔ)該系統(tǒng)采集的GPS位置信息,,便于進(jìn)行后期數(shù)據(jù)處理。該GPS接收系統(tǒng)使用的Flash芯片為K9F1208U0M,,它是Samsung公司生產(chǎn)的采用NAND技術(shù)的大容量,、高可靠Flash存儲(chǔ)器,。圖7是K9F1208U0M芯片與ATmega16A的外圍連接電路。
K9F1208U0M的接口控制方法:K9F1208U0M在應(yīng)用時(shí)必須通過外部ATmega16A來控制其內(nèi)容的讀寫,。K9F1208U0M的數(shù)據(jù)總線與ATmega16A的數(shù)據(jù)口PA口相連,,用ATmega16A的地址高位引腳PB6作為K9F1208U0M的片選信號(hào)(CS);PB5接K9F1208U0M的命令數(shù)據(jù)選擇端(CME)/DATA),,而PB4接K9F1208U0M的地址鎖存允許端(ALE),。
讀寫操作流程:進(jìn)行寫操作時(shí)先要寫入命令字80H,通知K9F1208U0M要進(jìn)行寫操作,,然后順序?qū)懭肽康牡氐刂泛痛龑懭氲臄?shù)據(jù),。應(yīng)該注意的是,地址只需寫入一次,,便可以連續(xù)寫入多個(gè)字節(jié)數(shù)據(jù),。地址指針的調(diào)整是由K9F1208U0M內(nèi)部邏輯控制的,不用外部干預(yù),。寫入操作是以頁為單位(1~528字節(jié))進(jìn)行的,,即每次連續(xù)寫入能超過528個(gè)字節(jié)。這是由K9F1208U0M的工作方式?jīng)Q定的:寫入的數(shù)據(jù)先保存至Flash內(nèi)部的頁寄存器(528字節(jié))中,,然后再寫入存儲(chǔ)單元,。數(shù)據(jù)寫完之后還要給K9F1208U0M發(fā)出1個(gè)寫操作指令10H,通知其將頁寄存器中的數(shù)據(jù)寫入存儲(chǔ)單元,,隨后就應(yīng)該對(duì)狀態(tài)引腳進(jìn)行查詢,。如果該引腳為低,表明此次寫操作結(jié)束,。最后的步驟是數(shù)據(jù)校驗(yàn),,如果采用了ECC校驗(yàn)?zāi)J剑瑒t此步驟可以省略,。
使用ATmega16A控制器完成Flash驅(qū)動(dòng)函數(shù)主要包括:讀ID,;塊擦除;寫入一頁數(shù)據(jù),;壞塊檢測(cè),;讀取一頁數(shù)據(jù)。
另外,,注意事項(xiàng)有:在以K9F1208U0M為數(shù)據(jù)存儲(chǔ)介質(zhì)的系統(tǒng)設(shè)計(jì)中,,需要注意無效塊的問題。無效塊即包含一個(gè)和多個(gè)無效數(shù)據(jù)位的塊,。由于結(jié)構(gòu)方面的原因,,一塊(32頁)中有一個(gè)無效位也會(huì)導(dǎo)致整個(gè)塊無效。因此,,系統(tǒng)必須在寫入數(shù)據(jù)時(shí)避開無效塊,。出廠時(shí),,每片K9F12 08U0M的無效塊信息均保存在一個(gè)無效塊信息表中,可以根據(jù)該表中的原始無效塊信息識(shí)別無效塊的位置,。在K9F1208U0M的使用過程中,,應(yīng)隨時(shí)對(duì)無效塊情況進(jìn)行檢查和更新,以保證無效塊表內(nèi)容的準(zhǔn)確性,。
3 微控器軟件程序設(shè)計(jì)
該ATmega16A軟件程序流程如圖8所示,。
4 實(shí)驗(yàn)結(jié)果
為檢驗(yàn)該GPS接收系統(tǒng)的系統(tǒng)性能,選擇一空曠地域組織了若干次實(shí)驗(yàn),,實(shí)驗(yàn)內(nèi)容是固定地點(diǎn)接收衛(wèi)星信號(hào),。圖9是GPS接收系統(tǒng)實(shí)物圖和Flash數(shù)據(jù)讀取圖。
圖9中左邊是GPS接收系統(tǒng)的實(shí)物圖,,右邊是通過該GPS接收系統(tǒng)采集回來的數(shù)據(jù),然后經(jīng)過Flash讀取而得到的信息,。GPS衛(wèi)星接收系統(tǒng)采集到的坐標(biāo)是世界大地坐標(biāo)系(WGS-84)坐標(biāo),。輸出的數(shù)據(jù)格式為:“時(shí)間+維度+經(jīng)度+星數(shù)+高度”,接收回來的數(shù)據(jù)充分顯示系統(tǒng)穩(wěn)定度很高,。
結(jié)語
本文設(shè)計(jì)了一種基于ATmega16A的GPS接收系統(tǒng),。該系統(tǒng)具有數(shù)據(jù)存儲(chǔ)、無線傳輸,、定位精度高等特點(diǎn),。實(shí)驗(yàn)數(shù)據(jù)顯示系統(tǒng)穩(wěn)定度很高,易于推廣普及,,可用于普通民用地理定位領(lǐng)域,,具有較高的實(shí)用價(jià)值。
作者:趙櫸云 張波濤 胡寧博 楊薇 來源:?jiǎn)纹瑱C(jī)與嵌入式系統(tǒng)