當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]基于 PIC18F8520 的 GPS 精準時鐘實現(xiàn)

GPS(Global Positioning System,全球定位系統(tǒng))是世界上最完善的衛(wèi)星導航系統(tǒng)。它不僅有覆蓋全球的實時、連續(xù)的高精度的三維定位能力,同時也有精準的授時功能。利用高度穩(wěn)定、精確的星載原子鐘作為信號源進行時間傳輸和比對,已成為眾多領域獲取時間的重要手段。基于此,本文利用GPS所提供的精確授時功能,采用單片機技術(shù),實現(xiàn)了一種GPS時鐘,并將時間信息通過LCD進行顯示。

系統(tǒng)構(gòu)成及硬件實現(xiàn)
1 系統(tǒng)構(gòu)成
GPS時鐘系統(tǒng)主要由GPS接收機、單片機、LCD顯示器三部分組成,如圖1所示。

圖1 GPS時鐘系統(tǒng)構(gòu)成框圖


GPS接收機
在本系統(tǒng)中,GPS接收機采用Garmin公司的GPS15XL,它是12通道的GPS接收機,體積小,重量輕,功耗低,首次定位和重捕獲時間短,有較強抗遮擋和抗干擾能力,性能極其穩(wěn)定可靠,且操作簡單,易于開發(fā)??晒ぷ髟?.3~5.4V電壓范圍內(nèi),本系統(tǒng)采用+3.3V供電;精密授時類型精度可達±50ns(典型值);具有串行端口,輸出為RS232,輸入可為RS232或者具有RS232極性的TTL電平,波特率從300~38 400可選,默認為4800,無奇偶校驗,8個數(shù)據(jù)位,1個起始位,1個停止位。GPS15XL輸出的數(shù)據(jù)以美國國家海洋電子協(xié)會(National Marine Electronics Association)的NMEA0183 ASCII碼接口協(xié)議為基礎,可輸出多條語句,內(nèi)容包括經(jīng)度、緯度、速度、方位角、高度、世界時、星歷等信息。還可輸出Garmin二進制格式信息。非常適合應用于車輛導航、海事導航、電力系統(tǒng)校時等。


對GPS15XL的配置,可以利用單片機通過NMEA 0183語句在程序中實現(xiàn),也可以利用SNSRCFG軟件來進行。配置參數(shù)將被保存在永久性存儲器中,下次加電時自動生效。為簡化設計,本文采用第二種方法,即通過SNSRCFG軟件對GPS15XL進行初始化配置。


GPS15XL可以輸出兩種時間信號:一是包含在串口輸出信息中的UTC(Coordinated Universal Time協(xié)調(diào)世界時)絕對時間(年、月、日、時、分、秒);二是間隔為1s的同步脈沖信號1PPS,其脈沖前沿與UTC的同步誤差不超過1μs。本系統(tǒng)主要是利用串口輸出的NMEA 0183語句獲取UTC時間信息。


NMEA 0183語句以“$”開始,以<CR><LF>,即ASCII字符“回車”(十六進制的0D)和“換行”(十六進制的0A)結(jié)束。下面以本文使用的GPRMC語句為例說明其格式:


$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh <CR><LF>
$GPRMC:語句起始標志(Recommended Minimum Specific GPS/TRANSIT Data推薦定位信息)
<1> UTC時間,hhmmss(時分秒)格式
<2>定位狀態(tài),A=有效定位,V=無效定位
<9>UTC日期,ddmmyy(日月年)格式
最后的校驗碼*hh用于做奇偶校驗,通常不是必需的,但當周圍環(huán)境有較強的電磁干擾時則推薦使用校驗碼。hh代表了“$”和“*”之間所有字符的按位異或值(不包括這兩個字符)。
單片機PIC18F8520


系統(tǒng)采用Microchip公司生產(chǎn)的高性能RISC CPU PIC18F8520作為控制器,它內(nèi)部有32KB的FLASH程序存儲器和2KB的SRAM數(shù)據(jù)存儲器、1KB的EEPROM數(shù)據(jù)存儲器;運算速度可達10MIPS;可以工作在DC~40MHz的時鐘頻率范圍之內(nèi);具有USART接口,支持RS-485和RS-232,可與GPS模塊相連,用來獲取時間信息;支持ICSP在線串行編程,便于軟件的升級和維護;支持ICD,可以在線調(diào)試,縮短開發(fā)周期。[!--empirenews.page--]


LCD顯示器
系統(tǒng)采用LCD1602作為顯示設備。LCD1602液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點,在袖珍式儀表和低功耗應用系統(tǒng)中應用廣泛。它可以顯示兩行,每行16個字符,采用單+5V電源供電,外圍電路配置簡單,價格便宜,具有很高的性價比。


2 硬件電路
系統(tǒng)的硬件電路如圖2和圖3所示。

圖2 單片機外圍電路連接

圖3 單片機與GPS模塊的連接


電路板上有3.3V和5V兩種電壓,其中LCD采用5V供電,而單片機和MAX3232工作在3.3V電壓下。外部電源為5V,經(jīng)AS2830轉(zhuǎn)換為3.3V,給單片機和MAX3232供電。從圖2中可以看到,單片機的電源腳沒有與3.3V直接相連,而是通過J2、J3跳線即可連到3.3V上,也可連到VDD上。這是因為單片機在采用PIC16-MCD2編程器通過ICSP接口進行在線編程時由MCD2供電,這時,單片機電源腳需連接到VDD上(MCD2輸出電壓VDD為5V);而正常運行時單片機由電路板供電,J2、J3跳線連接到3.3V上,單片機就工作在3.3V,可以降低功耗。


PIC18F8520既有模擬電源、模擬地引腳也有數(shù)字電源、數(shù)字地引腳,在電路設計中,采用模擬電源、數(shù)字電源分離,模擬地、數(shù)字地分離,模擬電源和數(shù)字電源之間通過磁珠連接,模擬地和數(shù)字地通過0Ω電阻在單點連接,以避免模擬信號與數(shù)字信號之間的干擾,提高系統(tǒng)的可靠性。

軟件實現(xiàn)
軟件由主程序和中斷子程序組成,在MPLAB IDE v8.53環(huán)境下,采用MPLAB C18編譯器,用C語言編程實現(xiàn)。


在主程序中進行系統(tǒng)的初始化、數(shù)據(jù)處理、LCD顯示,GPS數(shù)據(jù)的接收則通過串口中斷實現(xiàn),每收到一條完整的NMEA語句,就設定一個標志,在主程序中通過查詢該標志進行UTC時間的提取以及轉(zhuǎn)換成北京時間,再通過LCD顯示。由于將復雜的數(shù)據(jù)處理放到主程序中,這樣就可以使中斷程序盡量簡短,在發(fā)生其他中斷時,單片機可以及時做出響應,提高了系統(tǒng)的實時性。流程圖如圖4所示。

[!--empirenews.page--]

圖4 流程圖


由于GPS模塊輸出的時間為UTC時間,根據(jù)習慣,需轉(zhuǎn)換成本地時間(北京時間),這項工作在主程序中完成。根據(jù)本地時間=UTC時間+時區(qū)值,而北京位于第8時區(qū),時區(qū)值為+8,故北京時間=UTC時間+8。在轉(zhuǎn)換過程中,須對16:00:00—23:59:59 UTC時間作相應的處理,+8后判斷小時是否大于24,若大于,則減去24,同時日期+1,另外,還涉及到閏年、大月、小月的處理。


中斷服務程序流程圖中,串口接收數(shù)據(jù)時判斷字頭,只判斷了“$”一個字符,這是因為之前已通過SNSRCFG軟件將GPS15XL設置為只輸出GPRMC一條NMEA語句。

調(diào)試及運行
首先,對GPS15XL進行初始化。將GPS15XL通過串口與PC連接好,給GPS15XL上電,用軟件SNSRCFG設置初始化信息,波特率設為9600,只輸出一條GPRMC語句(要獲取UTC日期和時間,一條GPRMC語句就足夠了),將這些信息寫入OEM板內(nèi)的永久性存儲器中,下次上電時將會自動生效。


然后,通過電路板上預留的ICSP接口,利用PIC16-MCD2編程器將編譯好的程序?qū)懭雴纹瑱C。編程時不給電路板供電,單片機通過MCD2供電,須注意電路板上跳線的設置。


最后,將GPS15XL與電路板連接。給電路板和GPS15XL上電,授時接收系統(tǒng)進入正常工作狀態(tài),單片機通過RS-232串行方式接收GPS15XL的衛(wèi)星數(shù)據(jù),獲取準確的時間信息,并轉(zhuǎn)換成北京時間,通過LCD顯示。
注意:使用時,GPS授時天線一定要放在開闊的室外,否則接收不到衛(wèi)星信號,也就無法獲取UTC時間信息。

結(jié)語
本文利用PIC18F8520提取GPS高精度時鐘,并在LCD上顯示,所實現(xiàn)的時鐘系統(tǒng)是配電線路故障遠程監(jiān)測及定位系統(tǒng)項目的一部分,經(jīng)測試,該設計運行穩(wěn)定,能夠為整個系統(tǒng)提供精確的時間信息,具有較高的可靠性、準確性和實用性。此外,還可以將GPS時鐘的內(nèi)核嵌入其他系統(tǒng),以其時間作為系統(tǒng)時間,例如:金融/證券實時結(jié)算、民航/鐵路/交通調(diào)度系統(tǒng)、各種計算機網(wǎng)絡系統(tǒng)、實時通信網(wǎng)絡系統(tǒng)、體育彩票和福利彩票等實時銷售系統(tǒng)等,應用非常廣泛。

本站聲明: 本文章由作者或相關機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術(shù)
關閉
關閉