基于A(yíng)Tmega128的GPS時(shí)鐘設計與實(shí)現
關(guān)鍵詞:GPSATmega128高精度時(shí)鐘液晶顯示
1.引言
GPS(Global Positioning System)全球定位系統是利用美國的24顆GPS地球衛星所發(fā)射的信號而建立的導航、定位、授時(shí)的系統。目前,GPS系統廣泛地應用在導航、大地測量、精確授時(shí)、車(chē)輛定位及防盜等領(lǐng)域。
GPS授時(shí)功能是其主要功能之一。時(shí)間信號的準確與否,直接關(guān)系到人們的日常生活、工業(yè)生產(chǎn)和社會(huì )發(fā)展。GPS時(shí)鐘為滿(mǎn)足精密定位和導航的需要,在系統設計與實(shí)驗之初就建立了自己專(zhuān)用的時(shí)間系統,該系統簡(jiǎn)寫(xiě)為GPST,它由GPS主控站的高精度原子鐘守時(shí)和授時(shí)。由于計算機技術(shù)、網(wǎng)絡(luò )技術(shù)、通信技術(shù)、GPS定位技術(shù)等相關(guān)技術(shù)的發(fā)展,以及GPS OEM板價(jià)格的降低,GPS時(shí)鐘已經(jīng)具備了為各個(gè)應用領(lǐng)域提供高精度授時(shí)的可能性。
本文旨在通過(guò)利用GPS所提供的精確授時(shí)功能,采用單片機技術(shù),設計適合于需要精確授時(shí)的高精度時(shí)鐘系統,并通過(guò)LCD進(jìn)行顯示。
2.GPS授時(shí)原理
GPS時(shí)間系統是由GPS系統定義和使用的時(shí)間系統。衛星定位系統以時(shí)間為基本觀(guān)測量,由于衛星高速飛行,因此要求時(shí)間系統必須十分精確,否則就會(huì )帶來(lái)很大的距離誤差。GPS時(shí)間系統以原子頻率標準作為時(shí)間基準,以1980年1月6日0時(shí)作為起點(diǎn)。它不存在跳秒,它的時(shí)間與協(xié)調時(shí)秒以下的差異可以保持在100微妙內,并定期公布誤差,在星歷文件中發(fā)布的衛星鐘差就是相對GPS時(shí)間系統的鐘差。
GPS 授時(shí)的基本原理是: 衛星不間斷地發(fā)送自身的星歷參數和時(shí)間信息, 用戶(hù)接收到這些信息后,經(jīng)過(guò)計算求出接收機的三維位置、三維方向以及運動(dòng)速度和時(shí)間信息。這里只需要 GPS 授時(shí)系統的時(shí)間信息。若設(x,y,z)為接收機的位置, (xn,yn,zn)為已知衛星的位置, 則解下列方程就可以得 x,y,z到和標準時(shí)間 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為用戶(hù)時(shí)鐘與 GPS主鐘標準時(shí)間的時(shí)差;Tn 為衛星 n 所發(fā)射信號的發(fā)射時(shí)間; 為衛星 n 上的原子鐘與GPS主鐘標準時(shí)間的時(shí)差[1]。
3.本系統構成及硬件軟件實(shí)現
3.1 本設計采用GPS板介紹
本設計采用THALES-NACIGATION公司生產(chǎn)的A12 GPSOEM接收板,它采用了先進(jìn)半導體設計手段,具有尺寸小、功耗低、性能穩定、性?xún)r(jià)比高等優(yōu)良特性。利用它可以方便、快速地開(kāi)發(fā)出各種GPS應用系統。其主要性能指標如下:
接收通道――12通道并行接收,可同時(shí)跟蹤12顆衛星;
授時(shí)精度――小于400ns,無(wú)累計誤差;
數據更新時(shí)間――1s;
體積和重量――39mm60mm10mm,約重40g;
數據輸出格式――NMEA-0183 v2.0;RTCM-sc104 v2.0;
環(huán)境工作溫度――-30℃~+80℃;
正常工作參數――電壓5(10.05)V;電流70mA。
圖1 GPSOEM板A12
GPSOEM板提供硬件接口如表1所示:
管腳 | 信號類(lèi)型 | 功能 |
1 | VCC | 電源 |
2 | V_ANT | 天線(xiàn)電源接口 |
3 | V_BACK | 備用電源 |
4 | GND | 地 |
5 | RTCM | 接收信號口B |
6 | RXD | 接收信號口A(yíng) |
7 | TXD | 發(fā)送信號接口A(yíng) |
8 | 1PPS | 1個(gè)脈沖輸出/秒 |
表 1 GPS輸出接口定義
其輸出數據邏輯電平為 TTL 電平,這樣能夠很方便地與單片機相連。格式位默認為:波特率4800,8個(gè)數據位,1個(gè)停止位,無(wú)奇偶校驗位。GPS輸出數據采用NME-0813格式輸出,數據代碼采用ASCII碼字符,本設計采用NME-0813中RMC格式,下面是GPS輸出的一組數據:$GPRMC,140736.00,A,3800.9040,N,11226.5364,E,00.0,355.6,121106,04,W,D*3B,其中140736.00代表14時(shí)07分36.00秒,121106代表06年11月12日,根據系統需要,我們需要提取這個(gè)數據。GPS所得時(shí)間為格林尼治時(shí)間(零時(shí)區),要得到北京時(shí)間(東八區)一定要將提取到的世界時(shí)加上 8 h 才是北京時(shí)間。
3.2 系統組成及其實(shí)現
系統選用ATmega128單片機,它有豐富的外部資源,利用它的USART1與GPS接收機通信:
其總體硬件連接如圖2所示。
圖2 GPS時(shí)鐘實(shí)現的結構
液晶顯示器采用含控制器S1D15G14的3510i彩色液晶顯示,S1D15G14附帶有LCD電源驅動(dòng)電路的LCD驅動(dòng)器,可在單片上實(shí)現彩色顯示,能顯示4096色,分辨率是98x67。它與單片機ATmega128采用串口連接。
主程序提取GPS數據采用查詢(xún)方式[2],
圖3 程序流程圖
GPS時(shí)鐘在A(yíng)Tmega128上軟件實(shí)現[3] (其中LCD函數為顯示函數):
if(USART1_Receive() == '$') // USART1_Receive()為串口接收函數
{ while((gps_data_buff[counter ++] = USART1_Receive()) != '*');
data = 1; j = 0; i = 0 ; //接收數據放入gps_data_buff[ ]數組當中
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] = '国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放