夏路華


摘 要:GPS作為當前最先進的定位導航工具,可以提供當地的導航信息,供人們參考,大大解決了野外失蹤和陌生城市迷路等生活難題,方便了人們的出行,這也使得GPS越來越廣泛地應用到人們的生活中。而GPS數據采集器,成為數字采集GPS定位信息的重要工具,在GPS導航系統中發揮著巨大作用。該文首先介紹了GPS在當代社會中的發展,介紹了GPS數據采集器的原理(GPS接收機利用天線接收GPS衛星發出的信號,這個信號經過GPS專業的芯片處理,得到數字信號,將這些數字信號串行輸出,經過編碼處理,將數字信號進行串轉并處理,得到字節數據傳輸,最后通過后續的解析模塊,解調出有用的定位數據,從而得到用戶的位置、時間等信息,進而實現用GPS來導航定位的目的),設計指標以及相關的設計方法,GPS采集器各個模塊所具有的功能等。
關鍵詞:GPS數據采集器 簡介 設計指標
中圖分類號:TP27 文獻標識碼:A 文章編號:1674-098X(2017)04(c)-0139-03
一般來說,GPS(Global Positioning System)包含三大部分,其中之一就是GPS接收機,而GPS接收機的核心模塊便是GPS數據采集器。在露天的情況,GPS可支持全天24 h不間斷工作,生活中幾乎所有惡劣的環境下都可以通過GPS設備接收到GPS信號。當人們每到一個陌生的地方,GPS都可以提供當地的導航信息,供人們參考,大大解決了野外失蹤和陌生城市迷路等生活難題,方便了人們的出行這也使得GPS越來越廣泛地應用到人們的生活中。
現在越來越多的人開始使用智能手機,而現在幾乎所有的智能手機里都包含GPS模塊,這就表明GPS的應用已經潛移默化地深入到人們的生活中了。由于我國智能手機市場不斷變得龐大,這就意味著我國很有可能會成為世界上最具潛力的衛星導航應用市場。
GPS技術在智能手機上的應用將會給國內乃至全球的市場帶來空前的發展潛力,相信在不久的將來,它會超過GPS在汽車領域方面的應用,成為GPS技術應用的最大市場份額。現在可靠成熟的GPS技術,結合移動通信領域的基站,可提供精度最高、最直觀的位置服務,用戶可以通過手機在線上網或者下載地圖軟件,便可實現5 m精度的定位。這將有利于各種物流傳輸服務,方便大眾或者司機了解周圍的交通情況,只要利用GPS提供的定位信息,就能極大地提高工作效率,為生活帶來便利。
隨著近幾年FPGA和現代電子設計的飛速發展,使得人們的需求和想法越來越容易用FPGA得到實現。所以我們可以充分利用這樣資源,將GPS數據采集器的模塊化原理,抽象成電路模型,并用Verilog HDL語言將其描述出來,不斷簡化電路,從而將此課題的GPS數據采集器設計在FPGA上得到功能實現。這樣做的好處就是不但縮小其體積,而且增加了設計的靈活性,減少了開發周期。基于這種思想,就可以利用Verilog HDL來設計實現GPS數據采集器的核心功能。
1 GPS數據采集器簡介
GPS接收機利用天線接收GPS衛星發出的信號,這個信號經過GPS專業的芯片處理、濾波、放大、模數轉換,再通過芯片的電平轉換,從而得到數字信號,并將這些數字信號串行輸出,經過編碼處理,使數字信號滿足NMEA-0183 協議格式輸出給下一功能模塊,之后將數字信號進行串轉并處理,得到字節數據傳輸,最后通過后續的解析模塊,解調出有用的定位數據,從而得到用戶的位置、時間等信息,進而實現用GPS來導航定位的目的。
GPS導航芯片一般只接受Ll波段的衛星信號。該芯片輸出的定位信號,遵循NMEA-0813協議,其中包含6種語句,分別是$GPGGA,$GPGLL,$GPGSA,$GPGSV,$GPRMC,$GPVTG。整個方案首先通過串口模塊接收GPS 導航芯片發出的串行信號,輸出為字節數據流,將字節流數據傳輸給解析模塊進行處理,解析模塊根據NMEA-0183 協議格式,通過算法處理,提取出所需要的有用信息,以此來實現GPS數據采集器的基本功能。
2 GPS數據采集器系統框圖
具體情況見圖1。
3 GPS數據采集器的設計指標
根據GPS數據采集器在GPS系統中的作用,對GPS數據采集器的設計提出以下指標要求。
(1)在串行總線默認高電平狀態下,能夠識別并讀取串行數據的起始位。
(2)能夠將串行數據轉換為并行的8位字節數據。
(3)能夠按NMEA-0813協議,識別$GPRMC語句。
(4)能夠識別接收數據時的狀態。
(5)能將ASCII數據轉換為可認識的十進制數據,并從$GPRMC語句中讀出定位信息。
4 利用Verilog HDL設計GPS數據采集器
Verilog HDL(Hardware Description Language)是一種硬件描述語言,它的語法結構有些類似C語言,不需要特定的運行環境,就可以用記事本打開編輯,十分方便。它能描述的抽象內容十分廣泛,除了邏輯電路圖和邏輯表達式,其他數字電路系統的邏輯功能都能用它來描述。它可以從多種抽象設計層次上,對數字電路系統進行描述。在新的標準下,Verilog HDL開始支持更多接口,同時語法也更加簡易精煉,如今已經成為世界最流行的硬件描述語言之一。
利用Verilog HDL設計流程如下:
(1)文本程序輸入(該實驗是在Notepad++軟件上編輯Verilog代碼程序)。
(2)功能仿真(根據模塊功能,寫模塊對應的TestBench,并在ModelSim中查看邏輯功能是否正確)。
(3)綜合(將Verilog HDL語言或原理圖轉換成綜合網表)。
(4)布局布線(根據選定的FPGA器件型號,將網表布到器件中,并估算出相應的時延)。
(5)時序仿真(根據時延利用ModelSim做后仿真)。
基于Verilog HDL的GPS數據采集器的設計,對各個模塊的功能進行更加系統的優化,在傳統的設計方法上更加精煉,這樣就可以使硬件的開發過程和制造過程得以簡化。設計采用的是模塊設計,主要分為串口、解析和分頻這3個模塊。串口模塊是將GPS芯片接收的串行數據轉化成8位并行數據,供解析模塊使用,然后解析模塊將接收的數據進行處理,根據相應的定位協議,提取有效的定位信息,而分頻模塊主要是為了平衡兩個模塊的時鐘信號。
(1)串口模塊。
GPS數據采集器需要與GPS芯片進行數據通信,所以要用到串口模塊,該實驗采用的串口模塊主要涉及到串口的接收模塊,串口通信的一個字符幀格式如圖所示(見圖2)。
在串口的總線上高電平是默認的狀態,當一幀數據開始傳輸時,必須先拉低電平,這就是第0位的作用。第0位過后就是8個數據位,這8位數據就包含著GPS的定位信息,最后便是校驗位或者停止位。此實驗主要對總線默認狀態下,由高電平轉低電平時的檢測做了一定研究。
(2)解析模塊。
解析模塊主要的功能是將串口輸出的并行數據,根據GPS所遵循的NMEA-0813協議,對其進行提取與處理,得到GPS相關定位信息。
NMEA(National Marine Electronics Association)協議是為了在不同的GPS導航設備中建立統一信息格式標準,由美國國家海洋電子協會制定。NMEA-0813是現在比較流行的NMEA格式。
NMEA-0813協議一般采用ASCII碼編碼,利用串行通信來傳輸,傳輸的每個數據包包含1個起始位,8個數據位,1個停止位,沒有校驗位。NMEA-0813協議的格式,以“$”作為語句的起始標志,后面緊跟6種常用的語句,GPGGA,GPGLL,GPGSA,GPGSV,GPRMC,GPVTG。之后就是各個語句不同格式的定位信息,一般有40個字符左右的長度。每種語句尾部會出現“*”標志,作為校驗和前綴,最后以校驗和數值,回車和換行結束語句,這就是NMEA-0813協議的具體內容。
(3)分頻模塊。
分頻模塊是整個實驗中最簡單的模塊,由于解析模塊的時鐘信號和串口模塊的時鐘信號頻率不同,所以需要用到分頻模塊。經過理論上的分析,解析模塊每個時鐘信號處理1個起始位和8個數據位,一共9位,所以串口模塊的時鐘頻率是解析模塊時鐘頻率的9倍。因此分頻模塊是9倍分頻。
根據以上設計的3個子模塊,將其進行整合到一個總模塊,就必須將3個模塊相互連接起來,才能實現數據采集的功能。整個GPS數據采集器的結構圖如圖3所示。
其中rs232_rx為GPS芯片輸出的串行數據,clk_bps高電平時為接收信號狀態,clk,rst_n分別是時鐘信號和復位信號,data_ready為接收并行數據有效信號,bps_start高電平為數據接收狀態,count為串行數據位計數器,data為處理后的數據。
5 結語
文章用到了我們平時所學的串行通信知識和Verilog HDL語言的基本語法,將數字電路系統的設計轉移到軟件平臺上,大大降低了開發的周期,提高了設計的靈活性。在經過軟件上的優化和先進的工藝,理論上可以將整個GPS數據采集器的體積大大縮小,同時還能降低它的功耗。通過相關的原理的簡介進一步能認識到GPS數據采集器的內部結構和相關模塊的作用,提高對GPS數據采集器的了解。
參考文獻
[1] 夏宇聞,甘偉.Verilog HDL入門[M].3版.北京:北京航空航天大學出版社,2008.
[2] J.Bhasker.Verilog HDL Synthesis,A Practical Primer[M].Star Galaxy,1998.
[3] J.Bhasker.A Verilog HDL Primer,Third Edition[M].Star Galaxy,2005.