色播五月综合_国产精品视频中文字幕91_欧美日韩一区二区在线免费观看_久久久久久成人

通信論文發(fā)表GPS數(shù)據(jù)采集模塊的軟件實現(xiàn)

來源:職稱論文發(fā)表指導網(wǎng) 作者:王編輯 發(fā)布時間:
掃碼咨詢
   摘要:本論文是 通信論文發(fā)表 ,文章介紹了遵循NMEA0183協(xié)議的GPS定位的數(shù)據(jù)格式,提出了利用API函數(shù)進行GPS串口通訊的方法,設計了具體的軟件設計和實現(xiàn)。 【摘要】運行結果表明,所設計

  本論文是通信論文發(fā)表,文章介紹了遵循NMEA0183協(xié)議的GPS定位的數(shù)據(jù)格式,提出了利用API函數(shù)進行GPS串口通訊的方法,設計了具體的軟件設計和實現(xiàn)。

  【摘要】運行結果表明,所設計的系統(tǒng)運行穩(wěn)定、定位準確、實時性強。為進一步進行車輛的導航定位提供了保障。

  【關鍵詞】通信論文發(fā)表,VC++6.0,GPS,NMEA0183協(xié)議,串口通信

  一、前言

  GPS是20世紀70年代由美國陸海空三軍聯(lián)合研制的新一代空間衛(wèi)星導航定位系統(tǒng)。為了實現(xiàn)GPS數(shù)據(jù)采集、接收與處理以及計算機與GPS接收機的串口通信,計算機的串行端口就為計算機和GPS 接收機提供了數(shù)據(jù)傳輸通道。Visual C++是一種可視化的語言,還提供ODBC類[2]。本系統(tǒng)的數(shù)據(jù)采集主要遵循NMEA0183協(xié)議,對之進行處理后,通過ODBC接口將用戶位置、時間、速度和航向等信息保存到用戶建立的數(shù)據(jù)庫中,為數(shù)據(jù)處理提供定位信息。

  二、GPS定位的數(shù)據(jù)格式??NMEA0183數(shù)據(jù)格式

  NMEA0183協(xié)議是美國國家海洋電子協(xié)會(National Marine Electronics Association)制定的GPS接口協(xié)議標準[3]。在串口通訊模塊中,系統(tǒng)采用的GPS數(shù)據(jù)格式是RMC數(shù)據(jù)格式,通過判斷信號狀態(tài)來確認是否為有效信號。采集的數(shù)據(jù)包括經(jīng)度、緯度、時間、狀態(tài)、航向角、速度等。

  本文采用的是GPRMC定位語句,采集程序忽略其余的信息,GPRMC定位語句結構如下:

  $GPRMC,HHMMSS,A,AAAA.AAAA,N,LLLLL.LLLL,E,VVV.V,DDD.D,DDMMYY,MMM.M,W,A,..SS,CRLF

  以下面的語句為例進行說明語句的含義:

  $GPRMC,013946.00,A,3202.1855,N,11849.0769,E,0.05,218.30,111106, 013.5,W,A*20..

  在此列中各數(shù)據(jù)段通過逗號分開,其中:

  ◇“$GPRMC”為幀頭,表示這條語句為RMC格式語句

  ◇01 UTC時間,hhmmss.sss(時分秒.毫秒)格式。UTC時間為GPS系統(tǒng)所采用的時間系統(tǒng),以原子時(ATI-Atomic Time International)的秒長作為時間單位,時間起算原點UTC零時定義在1980年1月6日子夜零點。示例中時間01時39分46.00秒。

  ◇02 定位狀態(tài),A=有效定位,V=無效定位 。

  ◇03 緯度:格式為“ddmm.Mmmm”;示例中為“北緯(N)32度02.1855分”。

  ◇04 經(jīng)度:格式為“dddmm.Mmmm”;示例為“東經(jīng)(E)118度49.0769分”。

  ◇05 相對位移速度:0.05 knots。

  ◇06 表示方位角,即相對位移方向:從000.0°~359.9°示例為“218.30度”。

  ◇07 日期:111106為UTC標準日期,格式為“mm/dd/yy”11日11月06年

  ◇08 013.5――磁偏移量值。表示磁極變量值為13.5,單位是度。

  ◇09 W表示地磁變化方向,包括w或E。

  ◇10 E*6E――校驗碼,用來驗證語句中數(shù)據(jù)的完整性。

  在這些數(shù)據(jù)中,本研究主要關心的是地理坐標和時間,即緯度、經(jīng)度、定位狀態(tài)和UTC日期、時間信息。

  三、GPS的串口通信的軟件設計

  串口通信的軟件設計主要是針對GPS數(shù)據(jù)的實時接收、存儲和坐標轉換,使其融為一體。其中主要用到了GPS串口的開發(fā)、數(shù)據(jù)庫處理以及坐標轉換的相關編程。

  根據(jù)GPS模塊數(shù)據(jù)傳輸機制,必須給串口設置如下的參數(shù):數(shù)據(jù)傳輸率9600bit/s,數(shù)據(jù)位8bit,停止位1bit,無奇偶校驗位,可以根據(jù)需要選擇不同的COM口。針對有些計算機上沒有留有COM口,也可以使用USB轉COM口工具,直接使用計算機上的USB接口。GPS信號輸出時間間隔通常在0~2s范圍內,在實時性跟蹤時,采用每隔1s采樣一次。本程序中每1s更新一次經(jīng)度、緯度、時間、速度和航向等數(shù)據(jù)。

  在本系統(tǒng)中,串口通訊技術采用API(Appli-

  cation Programming Interface)函數(shù)的方法,通過設置CSerialPortEx類為串口通信支持類和CConfigDlg類為串口參數(shù)配置類,先對串行口通信參數(shù)進行選擇;然后在串口數(shù)據(jù)到達時,CSerialPortEx類將數(shù)據(jù)發(fā)送到程序主窗口;控制模塊每隔一段時間察看一次主窗口串口數(shù)據(jù)接收緩沖區(qū),并對符合要求的數(shù)據(jù)進行處理后保存在一個數(shù)據(jù)文件中以供后續(xù)處理使用,同時請求顯示模塊更新數(shù)據(jù)。

  其具體操作步驟如下:

  1.添加SerialPort.h和SerialPort.cpp兩文件到本程序中。創(chuàng)建串口參數(shù)配置類CConfigDlg。

  2.將這兩類的頭文件名添加到主程序中。定義CSerialPortEx類的變量m_Port;通過設定定時器OnTimer函數(shù)來響應ON(開始接收)和OFF(停止接收)按鈕。程序如下:

  void CGPSView::OnReceiveStart()//開始接收

  {

  m_Port.StartMonitoring();//打開線程,開始接收串口數(shù)據(jù)

  m_nTimer=SetTimer(1,1000,0);//啟動定時接收器,每隔1s接收一次

  }

  void CGPSView::OnReceiveStop()//停止接收

  {

  m_Port.StopMonitoring();//關閉線程,停止接收串口數(shù)據(jù)   KillTimer(1);//關閉定時接收器

  }

  3.采用查詢方式:設置一個定時器,每隔一段時間察看一次串口數(shù)據(jù)接收緩沖區(qū),在定時器OnTimer函數(shù)中確定數(shù)據(jù)的提取方法。通過查找上一個GPS 語句結束標志LF和下一個CR結束標志之間的一句GPS語句。依次按照GPGGA輸出數(shù)據(jù)格式查找獲取數(shù)據(jù),并分別給對話框中的變量中。如下所示:

  void CGPSView::OnTimer(UINT nIDEvent)

  {

  if(nIDEvent!=1)

  return;//若不是GPS定時處理事件,則返回

  while((m_strReceived.Find(0x0d)!=-1)&&(m_strReceived.Find(0x0a)!=-1))

  //循環(huán)讀取GPGGA定位語句

  {

  int startLF=m_strReceived.Find(0x0a);

  //startLF:緩沖區(qū)中第一個GPS語句結束標志LF的位置,即下一GPS語句開始標志

  int endCR=m_strReceived.Find(0x0d);

  //endCR:緩沖區(qū)中第一個GPS語句結束標志CR的位置。

  //若endCR在startLF之前,則兩個結束標志屬于同一GPS語句,需繼續(xù)搜索下一個LF標志

  if(startLF>endCR)

  endCR=m_strReceived.Find(0x0d,startLF);

  //復制這一句GPS語句,并從接收緩沖區(qū)中刪除從上一句結束標志LF到本句結束標志CR間的數(shù)據(jù)

  CString msg=m_strReceived.Mid(startLF+1,

  endCR-startLF-1);

  m_strReceived.Delete(0,endCR+1);

  //判斷是否GPGGA定位語句,若不是則跳過后續(xù)循環(huán),繼續(xù)處理下一句,否則刪除“$GPGGA”,繼續(xù)處理該句的其它部分。

  if(msg.Left(6).Compare("$GPGGA")!=0)

  continue;

  msg.Delete(0,msg.Find(',')+1);

  …………………………………………

  }

  }

  運行結果如圖1所示,分別獲取了經(jīng)度、緯度、速度、航向、海拔高度等數(shù)值。

  四、結束語

  利用面向對象的可視化語言VC++6.0封裝的API函數(shù)實現(xiàn)了計算機和GPS的串口通信,包括GPS串口的開發(fā)、數(shù)據(jù)庫處理以及坐標轉換。實驗通過把GPS 接收機和電腦的串口相連,快速獲取了GPS 定位導航信息,運行結果證明系統(tǒng)運行穩(wěn)定、定位精度高、定位誤差小,實時性強,為進一步研究GPS的定位導航提供了理論依據(jù)。

  參考文獻

  [1]羅鳴,曹沖,肖雄兵等.全球定位系統(tǒng)[M].北京:電子工業(yè)出版社,2008.

  [2]Davis Chapman馱長樂譯.學用Visual C++6.0[M].北京清華大學出版社,2004.

  [3]唐旭榮,唐斌,蔣德.衛(wèi)星導航軟件接收機原理與設計[M].北京:國防工業(yè)出版社,2008.

  《現(xiàn)代通信》(雙月刊)1981年創(chuàng)刊,是通信技術刊物。《現(xiàn)代通信》向社會宣傳通信、普及通信科學技術知識和業(yè)務知識,協(xié)助社會智力開發(fā),培養(yǎng)通信科技后備軍,促使各行各業(yè)廣泛使用通信和信息網(wǎng)絡,加速通信和信息事業(yè)的發(fā)展。

聲明:

①文獻來自知網(wǎng)、維普、萬方等檢索數(shù)據(jù)庫,說明本文獻已經(jīng)發(fā)表見刊,恭喜作者.

②如果您是作者且不想本平臺展示文獻信息,可聯(lián)系學術顧問予以刪除.

《道路交通事故責任鑒定標準相關要點分析》
主站蜘蛛池模板: 国产精品一区二区在线观看| 午夜精品蜜臀一区二区三区免费| 亚洲第一在线综合在线| 日本成人在线不卡| 黄色国产精品一区二区三区| 伊人久久大香线蕉精品| 日本一区二区三区精品视频| 99久久国产综合精品五月天喷水| 久久99精品久久久久子伦| 欧美一级视频一区二区| 日韩在线小视频| 国产精品免费成人| 久久人人爽国产| 蜜桃av久久久亚洲精品| 欧美在线观看日本一区| 日韩福利视频| 欧美精品午夜视频| 久久夜色精品国产亚洲aⅴ| 日本精品一区二区三区视频| 日韩在线视频网| 日韩免费一区二区三区| 亚洲综合在线做性V| 在线视频一二三区| 亚洲a在线观看| 日韩一区二区久久久| 日本一区二区三不卡| 欧美高清性xxxxhd| 久久成人av网站| 国产精品视频白浆免费视频| 国产精品久久久久久亚洲调教| 国产精品嫩草视频| 91久久久久久久一区二区| 中文字幕精品在线播放| 五月天综合婷婷| 欧美一级片中文字幕| 久久亚洲a v| 精品视频导航| 99久久久精品视频| 日本一区二区在线视频观看| 欧美乱人伦中文字幕在线| 精品国产aⅴ麻豆|