郭 璽
內(nèi)蒙古工業(yè)大學(xué),內(nèi)蒙古 呼和浩特 010080
隨著人類在各行各業(yè)取得進(jìn)步,科學(xué)技術(shù)也得到最大限度的發(fā)展,原子鐘的使用可以使時(shí)間精度達(dá)到納秒級(jí),同時(shí)精確的時(shí)間也為科學(xué)技術(shù)的發(fā)展提供最基本的保障。GPS授時(shí)系統(tǒng)就是利用一定的接收設(shè)備接收衛(wèi)星上的原子鐘的精確時(shí)間信號(hào),傳送給單片機(jī),單片機(jī)處理后并發(fā)往顯示設(shè)備,為人們的生產(chǎn)生活提供精確的時(shí)間。
GPS全球定位系統(tǒng)是通過美國通訊衛(wèi)星高精度、可連續(xù)、實(shí)時(shí)定位模式下的定位系統(tǒng),它可以同時(shí)向用戶發(fā)送用戶的三維坐標(biāo)和精確定時(shí)。能為全球性、全能性(陸地、海洋、航空與航天)、全天候性優(yōu)勢(shì)的導(dǎo)航定位、定時(shí)、測(cè)速系統(tǒng)等服務(wù)。GPS由三個(gè)系統(tǒng)組成:空間衛(wèi)星系統(tǒng)、地面監(jiān)控系統(tǒng)和用戶接收系統(tǒng)。
目前,單片機(jī)主要應(yīng)用于工業(yè)領(lǐng)域,單片機(jī)除了具有數(shù)值計(jì)算能力,還有相當(dāng)強(qiáng)大的控制功能,用于實(shí)時(shí)監(jiān)測(cè)和實(shí)時(shí)控制,在各個(gè)領(lǐng)域具有非常重要的作用。
本文利用單片機(jī)和普通的接收機(jī)設(shè)計(jì)GPS授時(shí)系統(tǒng),獲得精確的GPS時(shí)間,既可以對(duì)設(shè)備進(jìn)行精確控制,也可以使系統(tǒng)內(nèi)的所有設(shè)備時(shí)間同步,比之當(dāng)前價(jià)格昂貴的授時(shí)型接收機(jī)經(jīng)濟(jì)、實(shí)用,更容易使公眾接受。
GPS系統(tǒng)分3大部分:一是空間衛(wèi)星系統(tǒng),有工作衛(wèi)星21顆,備用衛(wèi)星3顆;二是地面監(jiān)控系統(tǒng),主控站1個(gè),注入站3個(gè),監(jiān)測(cè)站5個(gè);三是GPS用戶接收系統(tǒng),包括接收機(jī)、單片機(jī)、顯示屏。
GPS系統(tǒng)中有工作衛(wèi)星21顆,備用衛(wèi)星3顆.每顆衛(wèi)星上都有4臺(tái)高精度原子鐘(鉚鐘和艷鐘各2個(gè)),這也是GPS衛(wèi)星的核心設(shè)備。它發(fā)射出標(biāo)準(zhǔn)頻率,為GPS定位提供精度非常高的時(shí)間信號(hào)。這些衛(wèi)星都是等間隔地分布在6個(gè)軌道面上,軌道面夾角為60°,這樣分布方式可以保證了地球上的所有位置均有4顆以上的GPS衛(wèi)星同時(shí)存在。 GPS衛(wèi)星定位精度高,雖然在地面無線電波定位精度受到的干擾比較大,而且受電離層和對(duì)流層的影響,但是通過人們對(duì)電離層和對(duì)流層的傳播規(guī)律的認(rèn)識(shí),也找到了解決辦法,建立起了誤差修正模型,可以獲得精確的時(shí)間信息。
地面監(jiān)控系統(tǒng)包括主控站、監(jiān)測(cè)站和注入站,主控站位于加利福尼亞州科羅拉多的Falcon空軍基地聯(lián)合航天工作中心.主控站主要接收GPS衛(wèi)星信號(hào),以及協(xié)調(diào)和管理所有地面監(jiān)控系統(tǒng)的工作。
GPS用戶接收系統(tǒng)主要有用戶接收機(jī)、控制部分(單片機(jī))和顯示設(shè)備。接收機(jī)接收GPS衛(wèi)星發(fā)送的星歷參數(shù)和時(shí)間信號(hào),然后把這些數(shù)據(jù)傳送給單片機(jī),單片機(jī)經(jīng)過一定模式的分析與計(jì)算,可以得到精確的時(shí)間信息,最后通過輸出端輸出時(shí)間信號(hào),提供給用戶。原理框圖如下圖。
GPS用戶系統(tǒng)中GPS信號(hào)接收、處理模塊是核心,接收機(jī)和單片機(jī)類型比較多,隨著電子技術(shù)的發(fā)展,其功能也越來越強(qiáng)大,接收機(jī)用于接收衛(wèi)星時(shí)間信息,具有較低的功耗和較強(qiáng)的抗干擾能力;無論是戶外勘測(cè),還是室內(nèi)監(jiān)測(cè)都可以得到有效的保障。由于GPS信號(hào)接收機(jī)與單片機(jī)的I/O的電平大多都是TTL電平,所以可直接通信。GPS接收機(jī)傳送的時(shí)間數(shù)據(jù)的波特率有多種:9600bps、4800bps、2400bps,可任意選擇,一般使用4800bps就已經(jīng)足夠。其過程是,GPS接收機(jī)獲取準(zhǔn)確的GPS衛(wèi)星時(shí)間信息,通過GPS的串行通信端口發(fā)送時(shí)間數(shù)據(jù)到單片機(jī)上,單片機(jī)經(jīng)過一定的處理,把時(shí)間信號(hào)發(fā)到顯示端。程序原理如圖:
顯示設(shè)備則可以選擇的是LMB102DDC液晶顯示屏。該設(shè)備不但小巧而且成本低,配合該GPS授時(shí)系統(tǒng)使用較好,而且適用普通用戶。LMB102DDC液晶顯示屏的內(nèi)核指令比較豐富,既有初始化顯示屏的指令,也有基本功能控制指令,本系統(tǒng)中,主要利用其寫數(shù)據(jù)到可讀寫寄存器中,以顯示到顯示屏上。
當(dāng)導(dǎo)航系統(tǒng)在工作時(shí),單片機(jī)將時(shí)間信息按一定的模型處理后,通過P0串行端口輸出,顯示在LMB102DDC液晶屏上。
由于接收機(jī)時(shí)鐘與GPS衛(wèi)星的時(shí)鐘不同步,以及GPS信號(hào)在通過電離層和對(duì)流層時(shí),由于折射等原因,造成傳播的速度不等于真空速度,發(fā)生微小的變化,引起時(shí)間誤差。接收機(jī)的時(shí)鐘與GPS衛(wèi)星時(shí)鐘之間的鐘差主要有兩個(gè)原因引起:一是信號(hào)以光速傳播到達(dá)接收機(jī)引起的時(shí)延;二是信號(hào)通過地球電離層和對(duì)流層時(shí)引起傳播速度發(fā)生變化。為了獲得真實(shí)的時(shí)間,可以用下面的方法計(jì)算GPs衛(wèi)星與接收機(jī)之間的鐘差,通過接收機(jī)的坐標(biāo)與GPS衛(wèi)星的坐標(biāo)計(jì)算接收機(jī)與GPS衛(wèi)星之間真實(shí)距離,其值等于“偽距離”減去真空光速時(shí)延以及電離層和對(duì)流層速度變化引起的誤差,從而推算出鐘差,本模塊采用下面的數(shù)學(xué)模型,推算鐘差,調(diào)整接收機(jī)的時(shí)鐘,達(dá)到與GPS衛(wèi)星同步的目的。其數(shù)學(xué)模型是:
其中:S真為通過坐標(biāo)計(jì)算出的GPS衛(wèi)星與接收機(jī)之間的距離;S偽是利用GPS衛(wèi)星發(fā)出的“測(cè)距碼”信號(hào)(取真空光速),加上信號(hào)的傳輸時(shí)延計(jì)算出GPS衛(wèi)星與接收機(jī)之間的“偽距離”;c為真空光速;∮為接收機(jī)與GPS衛(wèi)星時(shí)鐘鐘差;△為電離層與對(duì)流層因?yàn)閭鞑ニ俣劝l(fā)生變化而引起的誤差。其中△可根據(jù)導(dǎo)航電文中的修正參數(shù)進(jìn)行推算,當(dāng)然也可以采用高級(jí)雙頻GPS信號(hào)接收機(jī)雙頻測(cè)算精確的修正電離層和對(duì)流層的誤差。
GPS衛(wèi)星時(shí)間信號(hào)不同于通常表示年月日的時(shí)間表示法,GPS時(shí)間是從1980年1月6日0點(diǎn)0分0秒開始的世界協(xié)調(diào)時(shí)間,主要由星期數(shù)和當(dāng)前星期的日期數(shù)組成。日期數(shù)是一個(gè)用13位C/A碼或P碼表示的,每過8192個(gè)星期(157年)重置一次零,要知道準(zhǔn)確的年月日以及時(shí)間信息,必需準(zhǔn)確換算出GPS時(shí)間信號(hào)。主體程序流程圖。
2.2.1 年份換算
年份的處理不太復(fù)雜,主要是先利用當(dāng)前星期數(shù)計(jì)算出當(dāng)前時(shí)間離GPS時(shí)間原點(diǎn)的天數(shù),并換算出年份,復(fù)雜的地方在于閏年的算法。主要有兩個(gè)模型:
天數(shù):當(dāng)前星期數(shù)*7
當(dāng)前年份:
滿4年的天數(shù)(閏年)的年份計(jì)算:總天數(shù)減去四年的總天數(shù),如果剩余天數(shù)仍然大于4年的天數(shù)則繼續(xù)循環(huán)減,同時(shí)年份上每次加4。
不滿4年的天數(shù):由于起始年份(1980年)是閏年,則先去減去366(閏年的天數(shù)),年份加1,如果天數(shù)足夠則繼續(xù)減去365(普通年份的天數(shù)),如果仍足夠年份繼續(xù)加1,同時(shí)繼續(xù)減,否則轉(zhuǎn)入月份處理. 最后所得到的年份就是當(dāng)前的年份。
2.2.2 月數(shù)換算
月份計(jì)算的方法是,把剩余天數(shù)逐月減去,復(fù)雜的地方在于1月和2月,1月應(yīng)加上6再減去31天(時(shí)間原點(diǎn)1980年1月6日),2月應(yīng)先確定是不是閏年,如果是則減去29天,否則減28天。其他月份按當(dāng)月天數(shù)減即可。最后所得到的月數(shù)就是當(dāng)前的月數(shù)。
2.2.3 日數(shù)換算
日數(shù)的計(jì)算方法是,用當(dāng)前剩余總秒數(shù)減去12*3600(一天的總秒數(shù)),如果足夠減就繼續(xù)循環(huán)(再減去一天的決秒數(shù)),然后把日期數(shù)加上1。如果不夠減則退出,準(zhǔn)備調(diào)用下一個(gè)子程序(小時(shí)數(shù)子程序)。最后所得到的日數(shù)就是當(dāng)前的日數(shù)。
2.2.4 小時(shí)數(shù)換算
小時(shí)數(shù)的計(jì)算方法是,用當(dāng)前總秒數(shù)減去3600(一小時(shí)的總秒數(shù)),并把小時(shí)數(shù)加上1。如果有剩余就繼續(xù)個(gè)循環(huán),如果不足就進(jìn)入下分鐘數(shù)子程序。最后所得到的小時(shí)數(shù)就是當(dāng)前的小時(shí)數(shù)。
2.2.5 分鐘數(shù)換算和秒數(shù)確定
分鐘數(shù)的計(jì)算方法是,用當(dāng)前總秒數(shù)減去60(即一分鐘的秒數(shù)),有剩余則把分鐘數(shù)加1,同時(shí)繼續(xù)循環(huán)。如果秒數(shù)不足就退出,運(yùn)算結(jié)束后所得到的分鐘數(shù)就是當(dāng)前分鐘數(shù),而最后剩余的秒數(shù)就是當(dāng)前的秒數(shù)。
通過以上換算,得到的時(shí)間是協(xié)調(diào)世界時(shí)間,由于我國采用東八區(qū)時(shí),最后還需要在把獲得的年月日及時(shí)間信息送到顯示屏之前加上8個(gè)小時(shí)。
目前,在市場(chǎng)已經(jīng)出現(xiàn)了專門用于授時(shí)的接收機(jī),能提供ns級(jí)的精確時(shí)間,但其價(jià)格高,不適用普通用戶。本文采用通用的串口輸出進(jìn)行授時(shí),顯示時(shí)間為GPS衛(wèi)星精確時(shí)間,無論是價(jià)格還是實(shí)用性上都能滿足普通用戶的要求。本系統(tǒng)可在戶外和室內(nèi)運(yùn)行,為需要精確授時(shí)的系統(tǒng)提供精確時(shí)間。
[1]黃正謹(jǐn),徐堅(jiān),章小麗,熊明珍.CPLD系統(tǒng)設(shè)置技術(shù)入門與應(yīng)用[M].北京:電子工業(yè)出版社,2002.
[2]馬忠梅,劉濱,戚軍,馬巖.單片機(jī)C語言Windows環(huán)境編程寶典[M].北京:北京航空航天大學(xué)出版社,2003.
[3]漆貫榮.時(shí)間科學(xué)基礎(chǔ)[M].北京:高等教育出版社,2006.
[4]鄒紅艷.基于GPS同步時(shí)鐘的綜合校時(shí)方案[J].大眾科技,2007,10.