軟件GPS原理與應(yīng)用
全球衛(wèi)星定位系統(tǒng)發(fā)展至今己有二十余年的歷史。其應(yīng)用主要都是基于一個完整的,獨立的系統(tǒng)方案,主要架構(gòu)不外乎天線、射頻前端、基帶處理器、中央處理單元、存單元、晶振等。所設(shè)計出的產(chǎn)品多為航空用,船用,及車用之導(dǎo)航設(shè)備,由于尺寸,功耗,成本,及接收靈敏度等的種種考慮而難以與其它個人消費性產(chǎn)品相結(jié)合,如個人移動電話。本文將介紹最新的技術(shù)架構(gòu),僅使用射頻前端芯片,及相應(yīng)的軟件而能與行動裝置相結(jié)合之軟件衛(wèi)星定位方案。
本文引用地址:http://butianyuan.cn/article/80699.htm全球衛(wèi)星定位系統(tǒng)概況與介紹
全球定位系統(tǒng)(Global Positioning System)是一套由美國國防部建構(gòu)的衛(wèi)星定位系統(tǒng),其基本原理乃是利用繞著地球的24 顆衛(wèi)星所發(fā)射的信號,再加以幾何上的計算,來得到接收者的笛卡爾坐標(biāo)(Cartesian Coordinate),另一個與此相當(dāng)?shù)南到y(tǒng)是由前蘇聯(lián)所建構(gòu)之定位系統(tǒng)(Global Navigation Satellite System,GLONASS),基本上,此系統(tǒng)也是由24 顆衛(wèi)星所組成,這24顆衛(wèi)星分別分布在3個軌道面,每一個軌道面又分別由8 顆衛(wèi)星以相差45度(Latitude)均勻分布,此軌道面之高度約為19100Km,衛(wèi)星運行一周需費11小時又15分鐘,因為本文主要是介紹美國所建構(gòu)之定位系統(tǒng)(Navstar GPS),所以有關(guān)GLONASS的部分就不多敘述。
簡單地說,全球定位系統(tǒng)是一個以空間為基準(zhǔn),利用無線電波與時間差來測量距離的一個系統(tǒng),它能夠提供精準(zhǔn)的位置數(shù)據(jù)、速度、以及時間。整個系統(tǒng)可以被區(qū)分為三大部分,我們稱之為Space Segment、Control Segment和User Segment。
第一個Space Segment,主要就是由24顆衛(wèi)星運行于半同步軌道,所謂半同步軌道指的就是衛(wèi)星運行一周需費大約12小時(11小時58分鐘) 所以在一天之中,同一顆衛(wèi)星剛好出現(xiàn)在一個固定不動的使用者的頭頂上兩次(23小時又56分鐘),這24顆衛(wèi)星以每個軌道4 顆衛(wèi)星均勻的分布在6個軌道面上,每個軌道面都與赤道相差55度的傾斜角,而這些衛(wèi)星所在的軌道高度平均約為20200Km,圖1為衛(wèi)星軌道分布圖。
這24顆衛(wèi)星所發(fā)射出來的測距信號有兩個頻道( D-Band ),其一稱之為L1,發(fā)射頻率為1575.42MHz;其二為L2,發(fā)射頻率為1227.6MHz。這兩個為載波頻率負責(zé)將擴頻信號以高頻載波來傳送,GPS所使用的是擴頻通訊(Spread-Spectrum)技術(shù)。擴頻所調(diào)制的測距碼(ranging codes)又可分成兩種:一為1.023MHz的C/A碼(coarse/acquisition codes),顧名思義,依據(jù)這個碼所得到的精確度較為粗略,而且C/A碼也只用L1來調(diào)制,專門開放給一般商業(yè)用途的使用者;另外一個測距碼是10.23MHz的P碼( Precision Codes),這個碼同時調(diào)制在L1及L2載波上,由于P碼的Chip較短,因此能夠得到較精準(zhǔn)的定位。這兩種測距碼都能夠被用來測量衛(wèi)星與接收者之間的距離,然而通常P code還會被加密而且也只開放給被授權(quán)的使用者,所以P Code 通常也只應(yīng)用在軍事用途的定位系統(tǒng)上,也因為有這樣不同的兩組碼,全球定位系統(tǒng)又被區(qū)分成所謂標(biāo)準(zhǔn)定位服務(wù)(Standard Positioning Service,SPS),以及精確定位服務(wù)(Precise Positioning Service,PPS),其中標(biāo)準(zhǔn)定位服務(wù)就是只使用C/A碼在L1載波上,而精確定位服務(wù)除了使用C/A碼在L1載波上,也再加上P code于L1和L2兩個載波,除了這些測距碼之外,最后也是最重要的就是一個50Hz的數(shù)據(jù)信息碼。這個碼載有的數(shù)據(jù)包括了衛(wèi)星時序數(shù)據(jù)、衛(wèi)星精確軌道數(shù)據(jù)(ephemeris),此數(shù)據(jù)只含有發(fā)射信號的衛(wèi)星本身的軌道數(shù)據(jù)、衛(wèi)星基本軌道數(shù)據(jù)(almanac data),此數(shù)據(jù)含有所有衛(wèi)星的基本軌道數(shù)據(jù)及信號傳播于電離層的修正數(shù)據(jù)。
Control Segment,這主要是由各個位于不同地點的地面控制站臺所組成。其主控制站臺(Master Control Station, MCS)位于美國科羅拉多州,其余幾個站臺則均勻沿著赤道分布。這些地面控制站的主要任務(wù)就是間測及控管這些在太空中運行的衛(wèi)星,其功能包括有衛(wèi)星軌道控管、衛(wèi)星軌道數(shù)據(jù)更新、衛(wèi)星本身維護等。這個系統(tǒng)之運作流程是由各個子站臺分別接收它們所鎖定的衛(wèi)星的軌道數(shù)據(jù),然后透過美國的防衛(wèi)衛(wèi)星通訊系統(tǒng)將數(shù)據(jù)傳送到主控制站臺進行軌道數(shù)據(jù)的估計及再預(yù)測,然后再將新的軌道數(shù)據(jù)通過地面天線站上載至各個衛(wèi)星。
最后一個部分User Segment,才是跟一般使用大眾有密切關(guān)系。所謂User Segment,其實指的就是GPS接收器,也就是本文要探討的主角,其功能射頻接收、譯碼以及處理衛(wèi)星的軌道數(shù)據(jù),進而計算出接收器的位置。
GPS的傳統(tǒng)架構(gòu)
一般商業(yè)用的GPS芯片組大體都是由天線、低噪音放大器、前端濾波器、射頻IC、晶振、 存儲器芯片與基頻IC(內(nèi)含中央處理單元)所組成。如圖2,射頻IC的主要功能是將GPS的1.57542GHz載波降頻至基頻,其主要是由低噪聲放大器、混波器、自動增益控制、鎖相回路、以及模/數(shù)轉(zhuǎn)換器所組成。一般這樣的芯片設(shè)計都會采用Bi-CMOS的制程以兼顧Bipolar快速、高增益、高驅(qū)動力、低寬帶噪聲和CMOS的低功耗高密度等好處。絕大多數(shù)的基頻信號處理IC都是由CMOS制成,一般的基頻信號處理芯片除了具備有de-spread的correlators之外也都還包含有中央處理單元,以處理追蹤及導(dǎo)航的算法而實現(xiàn)衛(wèi)星信號追蹤及幾何定位之計算。中央處理單元也負責(zé)與存儲器芯片之地址/數(shù)據(jù)運算及與外部I/O的接口如UART。
這樣的傳統(tǒng)架構(gòu)存在著一些瓶頸而無法應(yīng)用在如移動電話等的消費性電子產(chǎn)品上。第一個也是最關(guān)鍵的問題就是接收靈敏度的問題。一般的消費者在使用GPS 時,多數(shù)會處在市區(qū)內(nèi),甚至在建筑物內(nèi),這樣的環(huán)境絕對是GPS的天敵,因為在這樣的環(huán)境下,衛(wèi)星傳送下來的信號不僅會被衰減,多重反射(multi-path),甚至完全收不到任何信號(室內(nèi))。為了改善接收靈敏度的問題,各家廠商無不在RF IC 及追蹤導(dǎo)航算法上力求精進。甚至更有廠商與移動通信網(wǎng)絡(luò)(如GSM/GPRS 或WiFi熱點)相結(jié)合,提供輔助導(dǎo)航之功能,使得即使GPS接收器在室內(nèi),仍然可以得到定位。
第二個瓶頸是消耗功率過大。在手持式的電子產(chǎn)品中,省電一直是一個最重要的課題。目前在市場上各家IC 的功率消耗分別從150mW到200mW不等。除了基本的耗電需要再繼續(xù)降低外,有效的電源管理設(shè)計也成了重要的設(shè)計之一。尤其是傳統(tǒng)架構(gòu)需要用上一顆CPU使得功耗問題一直無法改善。 而且芯片設(shè)計也會降低電壓至1.8V 以降低功耗。
第三個障礙是GPS接收器的尺寸大小。一般的GPS接收器設(shè)計,大體包含有射頻芯片、GPS ASIC處理器芯片、CPU和內(nèi)存。再加上外圍其它電路后,其尺寸約略比一般的名片稍小。然而這樣的尺寸完全不能符合手持式電子產(chǎn)品的需求。最后一個就是成本問題。凡是要同消費大眾普及化的產(chǎn)品,在價格上一定要有競爭力。 而傳統(tǒng)方案整個BOM成本則至少要15美元以上。
軟件GPS原理
所謂軟件base全球衛(wèi)星定位方案,簡單地說就是將軟件移植到主機(host base)上去執(zhí)行,以分享中央處理單元(CPU),存儲器芯片等,以進而達到省電,低成本,低功耗及節(jié)省板空間的需求。 其架構(gòu)可由圖3表示。
這樣的方案只需要外部一個射頻芯片,其它都是利用主機(host base)的固有資源。 前端射頻芯片將射頻信號降到基頻,再經(jīng)由仿真/數(shù)字轉(zhuǎn)換器將信號快速取樣出來,一般是由SPI (serial port interface)或SD Interface接到主機上的中央處理單元。接著由移植到主處理器的測量計算單元(Measurement Engine) 將射頻取樣信號轉(zhuǎn)換成原始的GPS各種測量信息(raw GPS measurements), 再由導(dǎo)航計算單元(Navigation Engine)計算出所有的定位數(shù)據(jù),速度,時間等。在硬件部分,一般的冷開機模式下大略需要消耗掉主機上的中央處理單元約50MIPS到400MIPS不等,不同廠家的方案會有不同的系統(tǒng)需求。
軟件GPS應(yīng)用
本節(jié)將以RF Micro Devices的RF8110為設(shè)計實例來說明softGPS的技術(shù)應(yīng)用。由前節(jié)所述原理可知,softGPS需要將其運算軟件移植到主機端的應(yīng)用處理器上。其硬件架構(gòu),如圖4所示。
所以我們再選用Intel XScale的PXA-27X為主應(yīng)用處理器,并以Single SPI(Serial Port Interface)模式來加以說明。其接口連接如圖5。
在此應(yīng)用中,這個接口使用4線SPI從端口來傳送控制信號及GPS數(shù)據(jù)流。其中MISO(Master In Salve Out)及MOSI(Master Out Slave In)分別做為單向GPS串行數(shù)據(jù)傳輸用。而SPI RDY則告訴主機其GPS數(shù)據(jù)流己待命,然后主機就要下讀出命令。在軟件移植上,則由圖6做個說明。
RF8110提供可移植性高的ANSI C sGPS Library,負責(zé)從GPS取樣信號中計算出位置,速度及時間。sGPS Library與系統(tǒng)軟件的接口為SAL(System Abstraction Layer)。主機端可以在其上開發(fā)導(dǎo)航應(yīng)用軟件,可以只是簡單的NMEA輸出,或是復(fù)雜的地圖導(dǎo)航。
結(jié)語
本文主要闡述了softGPS如何克服傳統(tǒng)方案,應(yīng)用在手持移動裝置上的瓶頸,并說明softGPS的原理及其應(yīng)用。在講究尺寸,功耗及性能的行動裝置上,softGPS以僅僅單一射頻芯片及可移植性高的運行軟件來搭配主機端的應(yīng)用處理器,可以容易地達到在尺寸,功耗及性能上的各項要求,使得衛(wèi)星定位系統(tǒng)內(nèi)建于Smart Phone,PDA更為普遍。目前市場上絕大部分的Smart Phone及PDA,其應(yīng)用處理器都有足夠的能力來處理softGPS的運行軟件。再加上輔助式定位系統(tǒng)aiding GPS,將使得GPS的應(yīng)用更為方便及實用。一旦GPS的導(dǎo)航功能搭配上適當(dāng)?shù)碾娮拥貓D與規(guī)劃完善的導(dǎo)航軟件,則未來GPS 將會成為人人必備的生活必需品。■
評論