摘要:基于國際航海標準NMEA-0183為數(shù)據(jù)協(xié)議,以保證電力系統(tǒng)精準授時為目的,通過ARM微控制器STM32f103rbt6和高精度GPS接收模塊NEO-5Q為核心控制數(shù)據(jù)采集和傳輸,實現(xiàn)了GPS同步授時的設(shè)計方案。系統(tǒng)采用GPS接收模塊接收衛(wèi)星發(fā)送的標準數(shù)據(jù)串,通過微控制器對GPIRMC最小定位信息中的時間數(shù)據(jù)進行篩選和處理,最后經(jīng)上位機授時軟件對本地計算機進行成功校時,保證了系統(tǒng)的可行性。
關(guān)鍵詞:NMEA-0183;Codex-M3;STM32f103;CPS
時間同步在工業(yè)應(yīng)用中是十分重要的基礎(chǔ)工作,特別是對時間要求較高的電力系統(tǒng)。近年來,電力系統(tǒng)大多采用不同廠家的計算機監(jiān)控系統(tǒng)、諧波分析系統(tǒng)、故障錄波裝置、微機保護、電能質(zhì)量計費系統(tǒng)等,時間數(shù)據(jù)大多是設(shè)備提供自己獨立的時鐘,而時鐘因產(chǎn)品質(zhì)量差異,在對時精度上都會有一定的偏差,從而使整個系統(tǒng)不能在統(tǒng)一的時間基礎(chǔ)上進行數(shù)據(jù)的分析和比較,給事故后采取正確的故障分析判斷帶來很大的困難。
由于電力系統(tǒng)傳統(tǒng)的時間同步方法只能保證全系統(tǒng)時鐘誤差在毫秒級,很難達到目前要求的精度。GPS同步授時系統(tǒng)具有授時精度高、范圍廣、可靠性高全天候且又不受各種干擾影響的特點,因此,采用GPS同步授時系統(tǒng)比采用傳統(tǒng)的時鐘設(shè)備有著明顯的優(yōu)勢,并且可廣泛應(yīng)用于對時統(tǒng)精度較高的行業(yè)中。
1 GPS同步授時系統(tǒng)原理
如圖1所示,整個系統(tǒng)以Cortex-M3為內(nèi)核的ARM微處理器STM32f103rbt6為核心,并采用瑞士U-Blox公司NEO-5Q GPS數(shù)據(jù)接收模塊接收衛(wèi)星數(shù)據(jù),微處理器從衛(wèi)星數(shù)據(jù)中提取標準UTC時間碼同時將其轉(zhuǎn)換成標準北京時間碼傳輸給本地計算機,最后由上位機授時軟件對本地計算機進行校時,完成授時過程。
1.1 ARM微處理器STM32f103rbt6
STM32f103rbt6是意法半導體公司一款基于Conex-M3內(nèi)核的32位微控制器,它主要應(yīng)用于智能儀表、變頻器、工控網(wǎng)絡(luò)、高端家電和操作界面等領(lǐng)域。STM32f103系列微控制器開發(fā)簡單,有豐富的語句代碼庫,與ARM7TDMI相比運行速度最多可快35%且代碼最多可省45%。綜合考慮選用了此款微控制器為本系統(tǒng)的核心。
該微控制器特點如下:
1)Cortex-M3內(nèi)核、哈佛總線結(jié)構(gòu)(可達90 DMIPS);
2)20 K字節(jié)的SRAM,128 K字節(jié)的Flash;主頻72 MHz,可在系統(tǒng)編程;
3)帶喚醒功能的低功耗模式、內(nèi)部RC振蕩器、內(nèi)置復位電路;
4)在待機模式下,典型的耗電值僅為2μA,非常適合電池供電的應(yīng)用;
5)3個16位通用的定時器,1個系統(tǒng)時間定時器:24位自減型。
1.2 NEO-5Q GPS接收模塊
本系統(tǒng)選用較低功耗的NEO-5Q GPS超小型衛(wèi)星接收模塊,此芯片為多功能獨立型GPS模組,以ROM為基礎(chǔ)構(gòu)架,成本低,體積小,最多可搜尋32個衛(wèi)星頻道,能夠從接收到的信息中提取并輸出2種時間信號:一是脈沖信號1PPS,其脈沖前沿與國際標準時間的同步誤差不超過1μs;二是經(jīng)串口輸出的時間信息,它在1PPS脈沖之間給出,用來說明一個1PPS脈沖對應(yīng)的UTC時間(年、月、日、時、分、秒)。NEO-5Q有UART和USB2.0兩種接口,數(shù)據(jù)全速傳輸可達12 Mbit/s,具有高精度時間信號、在惡劣環(huán)境下持續(xù)工作的優(yōu)點,可以達到系統(tǒng)要求。
2 GPS同步授時系統(tǒng)硬件設(shè)計
GPS同步授時系統(tǒng)的硬件以STM32f103微控制器及其外圍部件為基礎(chǔ),通過串口收發(fā)數(shù)據(jù)并控制GPS接收模塊,最終達到系統(tǒng)要求。
2.1 電源電路
電源電路是整個系統(tǒng)工作的基礎(chǔ),電源的工作特性直接影響系統(tǒng)的穩(wěn)定性。在電源的設(shè)計過程中著重考慮以下因素:1)輸入的電壓、電流;2)電源保護;3)輸出的電壓、電流和功率;4)電磁兼容和電磁干擾;5)體積限制等。由于STM32f103系列微處理器的高速、低消耗、低功耗等特性導致其噪聲容限低,對電源瞬態(tài)響應(yīng)性、可靠性、時鐘穩(wěn)定性等都提出了更高的要求。
授時系統(tǒng)的供電電源為計算機PCI插槽5 V供電,5 V電源通過AMS1117-3.3穩(wěn)壓芯片將電壓轉(zhuǎn)換成3.3 V,給微控制器、GPS模塊、串口通訊電路、復位電路和其他外圍芯片供電。3 V備份電池可以保存模塊當前星歷。在模塊斷電兩小時內(nèi)重啟模塊稱為熱啟動,此時模塊內(nèi)已保存有星歷參數(shù),所以無需下載星歷,可以快速得到UTC時間參數(shù),首次獲得時間可以達到1 s以內(nèi)。電源電路如圖2所示。
2.2 NEO-5Q GPS接收電路
微控制器STM32f103rbt6的串行口RXD、TXD分別和NEO-5Q的TXD1、RXD1連接,并采用TTL電平串口通訊。微控制器的RXD負責接收從TXD1發(fā)來的GPS信息。而TXD在上電復位時的任務(wù)是向GPS接收模塊發(fā)送初始化命令,使其按預定的格式和頻率輸出時鐘信息。在初始化成功后TXD將不再向外發(fā)送任何命令,而是改變傳輸對象,轉(zhuǎn)而通過MAX3232給上位機發(fā)送時間信息。由此可見,在不同的時間段單片機的TXD引腳要與不同的單元通訊,承擔著不同的任務(wù)。既要在上電復位時給GPS接收模塊發(fā)初始化命令,又要在初始化完畢后向上位機發(fā)送時間信息。當GPS模塊被系統(tǒng)成功初始化后,將輸出GPS秒脈沖信號,在秒脈沖上升沿之后,串行口會輸出時間信息和相關(guān)的GPS狀態(tài)信息。因此,為了便于將國際標準時間轉(zhuǎn)化為北京時間,須使1PPS信號分為2路:一路作為微控制器的外部中斷源,提示微控制器準備接收GPS接收模塊輸出的各種信息,以實現(xiàn)時間信息的同步處理,并監(jiān)測信號正常與否,另一路則直接作為同步信號。GPS信號接收電路如圖3所示。
3 GPS同步授時系統(tǒng)軟件設(shè)計
3.1 GPS信號提取
GPS上電后,每隔一定的時間就會返回一定格式的數(shù)據(jù),數(shù)據(jù)每行都以‘$’開頭,接著是信息類型,后面是數(shù)據(jù),以逗號分隔開。信息的類型有:
GPGSV:可見衛(wèi)星信息
GPGLL:地理定位信息
GPRMC:最小定位信息
GPVTG:地面速度信息
GPGGA:GPS定位信息
GPGSA:當前衛(wèi)星信息
因為GPRMC最小定位信息包含系統(tǒng)所需要的時間信息,所以微控制器只需提取最小定位信息中的時間數(shù)據(jù)。
一行完整的最小定位信息數(shù)據(jù)如下:
$GPRMC,020603.000,A,3744.9012,N,11232.5569,E,0.00,96.40,140211,,,A*50
當GPS接收模塊收到數(shù)據(jù)傳給微控制器時,數(shù)據(jù)處理終端首先提取第一個逗號后的數(shù)據(jù)020603,它是UTC時間hhmmss(時分秒)格式,因為不是標準北京時間,所以要對其UTC日期ddmmyy(日月年)格式。最后,將處理完畢后的數(shù)據(jù)存到控制器的數(shù)據(jù)存儲器中,并通過串口發(fā)送給上位機軟件。
3.2上位機GPS授時軟件
GPS授時軟件是通過VC++6.0編寫的上位機程序,當軟件運行時首先采集本地計算機時間:如2011-02-14 10:05:58,當GPS模塊接收到正常數(shù)據(jù)并選擇正確的串行端口時,UTC時間信息經(jīng)控制器處理成標準北京時間后輸出到校時系統(tǒng)中:如2011-02-14 10:06:03,如圖4所示。系統(tǒng)需要校時動作時,按下校時按鈕,然后彈出GPS校時信息,表明GPS同步校時成功。
4 結(jié)論
本文給出了針對授時系統(tǒng)的新方案,并對整體結(jié)構(gòu)進行了深入分析,根據(jù)所需要實現(xiàn)的功能構(gòu)建了整體軟硬件開發(fā)平臺。提出了一種基于ARM的GPS同步授時系統(tǒng),通過GPS采集終端和微控制器數(shù)據(jù)處理終端,并結(jié)合上位機校時軟件成功實現(xiàn)了一種更加精確的同步授時方案。