<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于ATmega128的GPS時鐘設計與實現(xiàn)

          基于ATmega128的GPS時鐘設計與實現(xiàn)

          作者: 時間:2008-04-03 來源:網(wǎng)絡 收藏
          摘要:介紹了采用OEM接收板的精確授時功能來精密系統(tǒng)的思路和方法,給出基本的硬件電路和軟件流程并單片機上的提取并在LCD上顯示。
          關鍵詞高精度液晶顯示

          1.引言

          GPS(Global Positioning System)全球定位系統(tǒng)是利用美國的24顆GPS地球衛(wèi)星所發(fā)射的信號而建立的導航、定位、授時的系統(tǒng)。目前,GPS系統(tǒng)廣泛地應用在導航、大地測量、精確授時、車輛定位及防盜等領域。

          GPS授時功能是其主要功能之一。時間信號的準確與否,直接關系到人們的日常生活、工業(yè)生產(chǎn)和社會發(fā)展。GPS時鐘為滿足精密定位和導航的需要,在系統(tǒng)與實驗之初就建立了自己專用的時間系統(tǒng),該系統(tǒng)簡寫為GPST,它由GPS主控站的高精度原子鐘守時和授時。由于計算機技術、網(wǎng)絡技術、通信技術、GPS定位技術等相關技術的發(fā)展,以及GPS OEM板價格的降低,GPS時鐘已經(jīng)具備了為各個應用領域提供高精度授時的可能性。

          本文旨在通過利用GPS所提供的精確授時功能,采用單片機技術,適合于需要精確授時的高精度時鐘系統(tǒng),并通過LCD進行顯示。

          2.GPS授時原理

          GPS時間系統(tǒng)是由GPS系統(tǒng)定義和使用的時間系統(tǒng)。衛(wèi)星定位系統(tǒng)以時間為基本觀測量,由于衛(wèi)星高速飛行,因此要求時間系統(tǒng)必須十分精確,否則就會帶來很大的距離誤差。GPS時間系統(tǒng)以原子頻率標準作為時間基準,以1980年1月6日0時作為起點。它不存在跳秒,它的時間與協(xié)調(diào)時秒以下的差異可以保持在100微妙內(nèi),并定期公布誤差,在星歷文件中發(fā)布的衛(wèi)星鐘差就是相對GPS時間系統(tǒng)的鐘差。

          GPS 授時的基本原理是: 衛(wèi)星不間斷地發(fā)送自身的星歷參數(shù)和時間信息, 用戶接收到這些信息后,經(jīng)過計算求出接收機的三維位置、三維方向以及運動速度和時間信息。這里只需要 GPS 授時系統(tǒng)的時間信息。若設(x,y,z)為接收機的位置, (xn,yn,zn)為已知衛(wèi)星的位置, 則解下列方程就可以得 x,y,z到和標準時間 T:

          (x-x1)2+(y-y1)2+ (z-z1)2 =C2(T+ T-T1 - 1)

          (x-x2)2+(y-y2)2+ (z-z2)2 =C2(T+ T-T2 - 2)

          (x-x3)2+(y-y3)2+ (z-z3)2 =C2(T+ T-T3 - 3)

          (x-x4)2+(y-y4)2+ (z-z4)2 =C2(T+ T-T4 - 4)

          其中△T為用戶時鐘與 GPS主鐘標準時間的時差;Tn 為衛(wèi)星 n 所發(fā)射信號的發(fā)射時間; 為衛(wèi)星 n 上的原子鐘與GPS主鐘標準時間的時差[1]。

          3.本系統(tǒng)構成及硬件軟件

          3.1 本設計采用GPS板介紹

          本設計采用THALES-NACIGATION公司生產(chǎn)的A12 GPSOEM接收板,它采用了先進半導體設計手段,具有尺寸小、功耗低、性能穩(wěn)定、性價比高等優(yōu)良特性。利用它可以方便、快速地開發(fā)出各種GPS應用系統(tǒng)。其主要性能指標如下:

          接收通道――12通道并行接收,可同時跟蹤12顆衛(wèi)星;

          授時精度――小于400ns,無累計誤差;

          數(shù)據(jù)更新時間――1s;

          體積和重量――39mm60mm10mm,約重40g;

          數(shù)據(jù)輸出格式――NMEA-0183 v2.0;RTCM-sc104 v2.0;

          環(huán)境工作溫度――-30℃~+80℃;

          正常工作參數(shù)――電壓5(10.05)V;電流70mA。

          圖1 GPSOEM板A12

          GPSOEM板提供硬件接口如表1所示:

          管腳

          信號類型

          功能

          1

          VCC

          電源

          2

          V_ANT

          天線電源接口

          3

          V_BACK

          備用電源

          4

          GND

          5

          RTCM

          接收信號口B

          6

          RXD

          接收信號口A

          7

          TXD

          發(fā)送信號接口A

          8

          1PPS

          1個脈沖輸出/秒

          表 1 GPS輸出接口定義

          其輸出數(shù)據(jù)邏輯電平為 TTL 電平,這樣能夠很方便地與單片機相連。格式位默認為:波特率4800,8個數(shù)據(jù)位,1個停止位,無奇偶校驗位。GPS輸出數(shù)據(jù)采用NME-0813格式輸出,數(shù)據(jù)代碼采用ASCII碼字符,本設計采用NME-0813中RMC格式,下面是GPS輸出的一組數(shù)據(jù):$GPRMC,140736.00,A,3800.9040,N,11226.5364,E,00.0,355.6,121106,04,W,D*3B,其中140736.00代表14時07分36.00秒,121106代表06年11月12日,根據(jù)系統(tǒng)需要,我們需要提取這個數(shù)據(jù)。GPS所得時間為格林尼治時間(零時區(qū)),要得到北京時間(東八區(qū))一定要將提取到的世界時加上 8 h 才是北京時間。

          3.2 系統(tǒng)組成及其實現(xiàn)

          系統(tǒng)選用單片機,它有豐富的外部資源,利用它的USART1與GPS接收機通信:

          其總體硬件連接如圖2所示。

          圖2 GPS時鐘實現(xiàn)的結構

          液晶顯示器采用含控制器S1D15G14的3510i彩色液晶顯示,S1D15G14附帶有LCD電源驅動電路的LCD驅動器,可在單片上實現(xiàn)彩色顯示,能顯示4096色,分辨率是98x67。它與單片機ATmega128采用串口連接。

          主程序提取GPS數(shù)據(jù)采用查詢方式[2]

          圖3 程序流程圖

          GPS時鐘在ATmega128上軟件實現(xiàn)[3] (其中LCD函數(shù)為顯示函數(shù)):

          if(USART1_Receive() == '$') // USART1_Receive()為串口接收函數(shù)

          { while((gps_data_buff[counter ++] = USART1_Receive()) != '*');

          data = 1; j = 0; i = 0 ; //接收數(shù)據(jù)放入gps_data_buff[ ]數(shù)組當中

          for (i=0;i69;i++)

          {if(gps_data_buff[i] == ',')

          { data ++ ; j = 0;

          }

          switch(data)

          { case 1: break;

          case 2: time[j ++] = gps_data_buff[i + 1];time[j] = '看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();