基于 PIC18F8520 的 GPS 精準(zhǔn)時(shí)鐘實(shí)現(xiàn)
圖4 流程圖
由于GPS模塊輸出的時(shí)間為UTC時(shí)間,根據(jù)習(xí)慣,需轉(zhuǎn)換成本地時(shí)間(北京時(shí)間),這項(xiàng)工作在主程序中完成。根據(jù)本地時(shí)間=UTC時(shí)間+時(shí)區(qū)值,而北京位于第8時(shí)區(qū),時(shí)區(qū)值為+8,故北京時(shí)間=UTC時(shí)間+8。在轉(zhuǎn)換過程中,須對16:00:00—23:59:59 UTC時(shí)間作相應(yīng)的處理,+8后判斷小時(shí)是否大于24,若大于,則減去24,同時(shí)日期+1,另外,還涉及到閏年、大月、小月的處理。
中斷服務(wù)程序流程圖中,串口接收數(shù)據(jù)時(shí)判斷字頭,只判斷了“$”一個(gè)字符,這是因?yàn)橹耙淹ㄟ^SNSRCFG軟件將GPS15XL設(shè)置為只輸出GPRMC一條NMEA語句。
調(diào)試及運(yùn)行
首先,對GPS15XL進(jìn)行初始化。將GPS15XL通過串口與PC連接好,給GPS15XL上電,用軟件SNSRCFG設(shè)置初始化信息,波特率設(shè)為9600,只輸出一條GPRMC語句(要獲取UTC日期和時(shí)間,一條GPRMC語句就足夠了),將這些信息寫入OEM板內(nèi)的永久性存儲(chǔ)器中,下次上電時(shí)將會(huì)自動(dòng)生效。
然后,通過電路板上預(yù)留的ICSP接口,利用PIC16-MCD2編程器將編譯好的程序?qū)懭雴纹瑱C(jī)。編程時(shí)不給電路板供電,單片機(jī)通過MCD2供電,須注意電路板上跳線的設(shè)置。
最后,將GPS15XL與電路板連接。給電路板和GPS15XL上電,授時(shí)接收系統(tǒng)進(jìn)入正常工作狀態(tài),單片機(jī)通過RS-232串行方式接收GPS15XL的衛(wèi)星數(shù)據(jù),獲取準(zhǔn)確的時(shí)間信息,并轉(zhuǎn)換成北京時(shí)間,通過LCD顯示。
注意:使用時(shí),GPS授時(shí)天線一定要放在開闊的室外,否則接收不到衛(wèi)星信號(hào),也就無法獲取UTC時(shí)間信息。
結(jié)語
本文利用PIC18F8520提取GPS高精度時(shí)鐘,并在LCD上顯示,所實(shí)現(xiàn)的時(shí)鐘系統(tǒng)是配電線路故障遠(yuǎn)程監(jiān)測及定位系統(tǒng)項(xiàng)目的一部分,經(jīng)測試,該設(shè)計(jì)運(yùn)行穩(wěn)定,能夠?yàn)檎麄€(gè)系統(tǒng)提供精確的時(shí)間信息,具有較高的可靠性、準(zhǔn)確性和實(shí)用性。此外,還可以將GPS時(shí)鐘的內(nèi)核嵌入其他系統(tǒng),以其時(shí)間作為系統(tǒng)時(shí)間,例如:金融/證券實(shí)時(shí)結(jié)算、民航/鐵路/交通調(diào)度系統(tǒng)、各種計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng)、實(shí)時(shí)通信網(wǎng)絡(luò)系統(tǒng)、體育彩票和福利彩票等實(shí)時(shí)銷售系統(tǒng)等,應(yīng)用非常廣泛。
評(píng)論