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