專利名稱:寄生gps解算程序和信息服務程序通信方法
技術領域:
本發(fā)明涉及全球衛(wèi)星定位與導航領域,例如GPS系統(tǒng),尤其涉及一種 寄生于同一微處理器的GPS定位解算程序與信息服務程序通信方法的領 域。
背景技術:
全球衛(wèi)星定位與導航系統(tǒng),例如美國的全球定位系統(tǒng)(GPS),包括一 組發(fā)送GPS信號的一個衛(wèi)星星座(又被稱為Navstar衛(wèi)星),該GPS信號 能被接收機用來確定該接收機的位置。衛(wèi)星軌道被安排在多個平面內(nèi),以 便在地球上任何位置都能從至少四顆衛(wèi)星接收該種信號。更典型的情況 是,在地球上絕大多數(shù)地方都能從六顆以上衛(wèi)星接收該種信號。
獲得接收機的位置坐標是接收機的主要任務,但不是最終目的。接收 機需要以接收機的位置坐標為基礎,為用戶實現(xiàn)多種多樣的信息服務,一 個典型的應用就是地理信息服務(Geography Information Service,簡稱 GIS),例如導航、規(guī)劃,防盜等等。
GPS接收芯片是GPS接收機的核心部件,也是GPS接收機實現(xiàn)定位的 關鍵之所在。目前市面上能夠見到的GPS接收芯片可以分成兩大類自主 型和寄生型。其最大的不同點在于,自主型GPS接收芯片內(nèi)部包含了一個 完整的微處理器,用于完成整個芯片的控制, 一些必要的計算以及最終定 位結果的獲得。而寄生型GPS接收芯片需要利用整體系統(tǒng)中或者上位機中 的微處理器才能完整自主性GPS接收芯片等同的工作。一個典型的情況是 外部微處理器接收寄生型GPS接收芯片傳遞來的中間計算結果,利用定位 解算程序計算出最終定位結果。由于寄生型GPS接收芯片內(nèi)部不需要微處 理器,而包含GPS接收芯片的系統(tǒng)中為實現(xiàn)GIS服務或其他應用往往擁 有性能強大的微處理器,因此包含GPS接收芯片的成本和功耗相對于自主 型GPS接收芯片有較大優(yōu)勢,特別是在手持移動等應用領域。
3對于自主性GPS接收機而言,定位結果、時間、衛(wèi)星狀況等相關信息 經(jīng)過特定的編碼經(jīng)過特定的接口輸入給外部系統(tǒng)或者上位機使用。 一個業(yè) 界通用的編碼標準為NMEA0183協(xié)議。 一個廣為使用事實上的工業(yè)標準 的輸出接口為UART串口 (RS232)。而典型的GPS接收機的接收方為外 部系統(tǒng)處理器中運行的地理信息系統(tǒng)服務程序(GIS服務程序)。GIS服務 程序利用來自GPS接收機傳遞來的定位結果、時間、衛(wèi)星狀況等相關信息 實現(xiàn)定位、導航、測繪、測姿、授時等形式多樣的服務。GPS接收機和 GIS服務必須互相配合才能給用戶提供完整的用戶體驗。對于寄生型GPS 接收機而言,其GPS接收機和外部系統(tǒng)中運行的GIS服務程序配合為用 戶提供完整用戶體驗的基本架構沒有變,只是將部分原本應該在接收機內(nèi) 部處理器實現(xiàn)的功能移至外部系統(tǒng)中的微處理器實現(xiàn)。換而言之,在外部 系統(tǒng)微處理器中需要同時運行GPS定位解算程序和GIS服務程序。其中 GPS定位解算程序負責利用寄生型GPS接收機傳遞來的中間計算結果計 算出接收機定位結果以及時間、衛(wèi)星狀況等相關信息。由此帶來的問題 是如何實現(xiàn)運行在同一微處理器的GPS定位解算程序和GIS服務程序之 間的通信。目前市面上已經(jīng)有大量針對自主型GPS接收機的GIS服務程 序。其典型的特點為通過串口和GPS接收機,如何讓這些GIS服務軟件 也能服務于寄生型GPS接收機是一個重要的研究方向。
發(fā)明內(nèi)容
本發(fā)明提出一種寄生GPS解算程序和信息服務用程序通信方法。 本發(fā)明提出的方法利用寄生型GPS定位解算程序在其宿主微處理器中 虛擬一個串口,從而實現(xiàn)和信息服務程序的通信。
進一步地,方法中所述寄生GPS定位解算程序和信息服務程序通信共 存于同一微處理器中。
進一步地,方法中所述寄生虛擬串口為模擬物理串口的驅(qū)動程序,對 其他軟件而言具有等同于物理串口的所有屬性,能夠以物理串口相同的方 式發(fā)送和接收信息。
進一步地,方法中所述寄生虛擬串口可以根據(jù)系統(tǒng)配置和性能需求的 不同配置不同波特率。進一步地,方法中所述波特率和消耗的系統(tǒng)資源成反比,和傳輸?shù)男?能成正比。
進一步地,方法中所述微處理器為GPS接收芯片外部系統(tǒng)所包含的。 這種通信方法使得現(xiàn)有大量信息服務程序不需要改動即可以直接適用
于寄生型GPS接收機系統(tǒng),不需要做特別的修改,方便靈活,大大提高了
適用性,簡化了設計,降低了設計和系統(tǒng)成本。
圖1是典型的寄生型GPS接收機的結構示意圖2是利用內(nèi)存公共緩沖區(qū)在GPS定位解算程序和GIS服務程序之間 進行通信的已有設計示意圖3是利用API在GPS定位解算程序和GIS程序之間進行通信的已有 設計示意圖4是本發(fā)明一個較優(yōu)實施例的利用虛擬串口在解算程序和GIS程序 之間進行通信的設計示意圖。
具體實施例方式
為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明白,以下結合具體實 施例,并參照附圖,對本發(fā)明進一步詳細說明。
為方便起見,下文中CPU均指微處理器;GIS服務程序均指信息服務 程序;UART、 RS232均指串口。
圖1描述了一個典型的寄生型GPS接收機的結構示意圖。本發(fā)明是針 對這種構架下的GPS定位解算程序和GIS服務程序而言的。寄生型GPS 接收機系統(tǒng)由GPS天線101, GPS射頻芯片102,寄生型GPS基帶接收芯 片103和宿主處理器104組成。寄生型GPS接收機和普通GPS接收機最 大不同寄生型GPS基帶芯片中不包含微處理器,而是利用宿主處理器進行 GPS的定位解算。GPS射頻RF信號由GPS天線101接收后進入射頻前 端102,經(jīng)過一系列轉(zhuǎn)換成為數(shù)字中頻交由基帶處理部分103作基帶處理。 寄生型GPS基帶芯片和普通GPS基帶芯片一樣,負責完成對GPS衛(wèi)星的 捕獲、跟蹤,導航電文的解調(diào),計算出中間計算結果等工作。其中中間計
5算結果由通過GPS基帶芯片相應接口交由宿主微處理器而不是內(nèi)部微處 理器完成解算定位。宿主微處理器上運行著操作系統(tǒng)108,以及在其為基 礎運行的GPS定位解算程序105, GIS服務程序106以及其他應用程序107。 其中GPS定位解算程序負責利用寄生型GPS基帶芯片傳送過來的中間計 算結果解算出接收機位置。而GIS服務程序則負責利用GPS定位解算程 序獲得的接收機位置進行諸如導航,行程規(guī)劃等地理信息服務。對于普通 GPS接收機而言,接收機位置等信息是通過符合諸如NMEA0183協(xié)議的 特定標準編碼通過諸如RS232的標準接口傳遞給外部微處理器,從而實現(xiàn) 和GIS服務程序的通信。而對于寄生型GPS接收機,GPS定位解算程序 和GIS服務程序間的通信因其共處于同一個微處理器,所以要復雜的多。 使用何種通訊方式即可以適用于各種GIS服務程序,又能降低微處理器占 用率是一個重要的研究方向。
圖2描述了一個利用內(nèi)存公共緩沖區(qū)在解算程序和GIS服務程序之間 進行通信的已有設計示意圖。宿主微處理器系統(tǒng)201等同于圖1中的宿主 微處理器104。微處理器內(nèi)存204被劃分成為定位信息205,程序堆棧206, 程序緩存207以及其他用途208四個部分。其中定位信息是由GPS定位解 算程序和GIS服務程序之間共享的區(qū)域,通過這塊區(qū)域GPS定位解算程 序和GIS服務程序得以實現(xiàn)通信。這種方法原理簡單,但是缺點同樣突出。 首先GIS服務程序必須針對特定的GPS解算程序進行修改,制定特定的 共享區(qū)間重新編譯后才能實現(xiàn)和GPS定位解算程序之間的通信。換而言 之,使用這種通信方式的寄生型GPS只能跟特定的GIS服務程序搭配實 現(xiàn)地理信息服務,從而限制了寄生型GPS接收機的使用范圍。另外在內(nèi)存 中開辟這樣的一塊區(qū)域容易影響其他城區(qū)從而導致系統(tǒng)崩潰,同時資源利 用率不高。
圖3描述了一個利用API在GPS定位解算程序和GIS服務程序之間進 行通信的已有設計示意圖。宿主微處理器系統(tǒng)301同樣等同于圖1中的宿 主微處理器104。 GPS定位解算程序302和GIS服務程序303在操作系統(tǒng) 305之上運行,分別通過各自的API接口 306和307與操作系統(tǒng)之間通信。 同時GPS定位解算程序和GIS服務程序之間也通過自定義的API接口得 以實現(xiàn)通信。這種方法相對圖2描述的方法安全性和魯棒性有所提高,但是缺點卻和圖2描述的方法類似。首先GIS服務程序必須經(jīng)過修改,適應 GPS定位解算程序特定的API接口才能實現(xiàn)和GPS定位解算程序之間的 通信。換而言之,使用這種通信方式的寄生型GPS只能跟特定的GIS服 務程序搭配實現(xiàn)地理信息服務,從而限制了寄生型GPS接收機的使用范 圍。
圖4描述了本發(fā)明的一個較優(yōu)實施例利用虛擬串口在GPS定位解算程 序和GIS服務程序之間進行通信的示意圖。宿主微處理器系統(tǒng)401同樣等 同于圖1中的宿主微處理器104。和圖3所示的方法類似,GPS定位解算 程序402和GIS服務程序403在操作系統(tǒng)405之上運行,分別通過各自的 API接口 406和407與操作系統(tǒng)之接通信。但是GPS定位解算程序和GIS 服務程序之間不是通過API接口進行通信,而是利用虛擬串口實現(xiàn)通信。 所述虛擬串口是指模擬物理串口的驅(qū)動程序,對其他軟件而言具有等同于 物理串口的所有屬性,能夠以物理串口相同的方式發(fā)送和接收信息。通過 這類軟件可以實現(xiàn)不同波特率下的接收、發(fā)送信息等一系列操作。其具體 的實現(xiàn)方式已經(jīng)有很多種,且有大量免費的開源程序提供,所有的支持串 口的操作系統(tǒng)的理論上都實現(xiàn)虛擬串口的功能。事實上,市面上常用的操 作系統(tǒng),例如windows系歹[J包括其掌上產(chǎn)品如windows mobile、 windows smartphone; linux及其各種發(fā)行版、簡化版;sybian等等都已經(jīng)有實現(xiàn)虛 擬串口的例子。進一步地,實現(xiàn)虛擬串口也并不一定需要操作系統(tǒng)的支持, 只是在操作系統(tǒng)下可以更方便的實現(xiàn)。目前市面上幾乎所有的GIS服務軟 件都支持通過串口輸入的NMEA0183協(xié)議,擁有自動識別串口的功能。 因此這類GIS服務軟件不需要任何改動就直接可以與有虛擬串口功能的 寄生GPS解算軟件通信。換而言之,使用虛擬串口的寄生GPS系統(tǒng)可以 與任何支持串口的GIS服務程序搭配使用,從而大大提高了寄生GPS系 統(tǒng)的適用性。
這種方法相對圖2描述的方法安全性和魯棒性都大大提高,不會因為 寫入非法內(nèi)存地址導致系統(tǒng)崩潰,同時適用性大大提高。所述方法針對于 圖3描述的方法雖然執(zhí)行效率上可能不及API方式高,但適用性大大提高, 應用系統(tǒng)開發(fā)成本能夠有效降低。本發(fā)明提出的方法所付出的代價是值得 的。進一步地,用以實現(xiàn)GPS定位解算程序和GIS程序之間進行通信虛擬 串口,其波特率可以根據(jù)需求和外部CPU的性能進行配置。波特率越高, 傳輸?shù)男阅茉胶?,能夠傳輸?shù)臄?shù)據(jù)量越大,數(shù)據(jù)輸出的延遲越小,但是同 時對于CPU資源的消耗越大。通過對虛擬串口波特率的設置,用戶或者 系統(tǒng)可以在性能和資源之間進行平衡,選取最優(yōu)點。
盡管本發(fā)明的方法和裝置是參照GPS衛(wèi)星來描述的,但應當理解,這 些原理同樣適用于采用假衛(wèi)星(pseudolites)或衛(wèi)星與假衛(wèi)星的組合的定 位系統(tǒng)。假衛(wèi)星是一種基于地面的發(fā)射機,它傳播調(diào)制在L頻段在波信號 上PN碼(與GPS信號相似),并且通常是與GPS時間同步的。每一發(fā)射 機可以被賦予一個獨特的PN碼,從而允許由遠端接收機進行識別。假衛(wèi) 星用在這樣的情況下,即,來自軌道衛(wèi)星的GPS信號缺失,如隧道、礦山、 建筑物或者其他的封閉區(qū)及明顯遮擋。這里所使用的術語"衛(wèi)星"包括假 衛(wèi)星或假衛(wèi)星的等效,而這里所使用的術語GPS信號包括來自假衛(wèi)星或者 假衛(wèi)星等效的類似GPS的信號。
在前面的討論中,本發(fā)明是參照美國全球定位系統(tǒng)(GPS)來描述的。 然而,應當理解,這些方法同樣適用于類似的衛(wèi)星定位系統(tǒng),如俄羅斯的 格洛納斯(Gkmass)系統(tǒng),歐洲的伽利略(Galileo)系統(tǒng)和中國的北斗1 及北斗2系統(tǒng)。所使用的術語"GPS"還包括這樣一些衛(wèi)星定位系統(tǒng),如 俄羅斯的格洛納斯(Glonass)系統(tǒng),歐洲的伽利略(Galileo)系統(tǒng)和中國 的北斗1及北斗2系統(tǒng)。術語"GPS信號"包括來自另一些衛(wèi)星定位系統(tǒng) 的信號。
上文中,已經(jīng)描述了利用虛擬串口實現(xiàn)寄生于同一微處理器的GPS定 位解算軟件與GIS軟件之間通信方法。盡管本發(fā)明是參照特定實施例來描 述的,但很明顯,本領域熟練人員,在不偏移權利要求書所限定的發(fā)明范 圍和精神的情況下,還可以對這些實施例作各種修改和變更。因此,說明 書和附圖是描述性的,而不是限定性的。
權利要求
1. 一種寄生GPS定位解算程序和信息服務程序通信方法,其特征在于,寄生型GPS定位解算程序在其宿主微處理器內(nèi)虛擬一個串口,從而實現(xiàn)和信息服務程序的通信。
2. 根據(jù)權利要求1所述的寄生GPS定位解算程序和信息服務程序通信 方法,其特征在于,所述寄生GPS定位解算程序和信息服務程序通信 共存于同一微處理器中。
3. 根據(jù)權利要求1所述的寄生GPS定位解算程序和信息服務程序通信 方法,其特征在于,所述寄生虛擬串口為模擬物理串口的驅(qū)動程序,對 其他軟件而言具有等同于物理串口的所有屬性,以物理串口相同的方式 發(fā)送和接收信息。
4. 根據(jù)權利要求1所述的寄生GPS定位解算程序和信息服務程序通信 方法,其特征在于,所述寄生虛擬串口根據(jù)系統(tǒng)配置和性能需求的不同 配置不同波特率。
5. 根據(jù)權利要求4所述的寄生GPS定位解算程序和信息服務程序通信 方法,其特征在于,所述波特率與消耗的系統(tǒng)資源成反比,與傳輸?shù)男?能成正比。
6. 根據(jù)權利要求2所述的寄生GPS定位解算程序和信息服務程序通信 方法,其特征在于,所述微處理器為GPS接收芯片外部系統(tǒng)所包含的。
全文摘要
本發(fā)明涉及全球衛(wèi)星定位與導航領域,例如GPS系統(tǒng),特別是一種利用虛擬串口實現(xiàn)寄生于同一微處理器的GPS定位解算軟件與GIS軟件之間通信方法,其方法包括運行在外部微處理器上GPS定位軟件通過虛擬的串口接口和運行在同一微處理器上的GIS進行交互通信,虛擬串口的波特率可以根據(jù)需求和系統(tǒng)性能進行配置。這種通信方法使得現(xiàn)有大量GIS服務程序不需要改動即可以直接適用于寄生型GPS接收機系統(tǒng),不需要作特別的修改,方便靈活,大大提高了適用性,簡化了設計,降低了設計和系統(tǒng)成本。
文檔編號G01S19/37GK101446633SQ200710178319
公開日2009年6月3日 申請日期2007年11月28日 優(yōu)先權日2007年11月28日
發(fā)明者健 李, 睿 鄭, 杰 陳, 魯振鵬 申請人:中國科學院微電子研究所