摘要:基于國際航海標(biāo)準(zhǔn)NMEA-0183為數(shù)據(jù)協(xié)議,以保證電力系統(tǒng)精準(zhǔn)授時(shí)為目的,,通過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ù)串,,通過微控制器對(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),。近年來,電力系統(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ù)的分析和比較,給事故后采取正確的故障分析判斷帶來很大的困難,。
由于電力系統(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)勢,,并且可廣泛應(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í)過程。
1.1 ARM微處理器STM32f103rbt6
STM32f103rbt6是意法半導(dǎo)體公司一款基于Conex-M3內(nèi)核的32位微控制器,,它主要應(yīng)用于智能儀表,、變頻器、工控網(wǎng)絡(luò),、高端家電和操作界面等領(lǐng)域,。STM32f103系列微控制器開發(fā)簡單,有豐富的語句代碼庫,,與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,,其脈沖前沿與國際標(biāo)準(zhǔn)時(shí)間的同步誤差不超過1μs;二是經(jīng)串口輸出的時(shí)間信息,,它在1PPS脈沖之間給出,,用來說明一個(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ǔ),通過串口收發(fā)數(shù)據(jù)并控制GPS接收模塊,,最終達(dá)到系統(tǒng)要求,。
2.1 電源電路
電源電路是整個(gè)系統(tǒng)工作的基礎(chǔ),,電源的工作特性直接影響系統(tǒng)的穩(wěn)定性。在電源的設(shè)計(jì)過程中著重考慮以下因素: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電源通過AMS1117-3.3穩(wěn)壓芯片將電壓轉(zhuǎn)換成3.3 V,給微控制器,、GPS模塊,、串口通訊電路、復(fù)位電路和其他外圍芯片供電,。3 V備份電池可以保存模塊當(dāng)前星歷,。在模塊斷電兩小時(shí)內(nèi)重啟模塊稱為熱啟動(dòng),此時(shí)模塊內(nèi)已保存有星歷參數(shù),,所以無需下載星歷,,可以快速得到UTC時(shí)間參數(shù),首次獲得時(shí)間可以達(dá)到1 s以內(nèi),。電源電路如圖2所示,。
2.2 NEO-5Q GPS接收電路
微控制器STM32f103rbt6的串行口RXD、TXD分別和NEO-5Q的TXD1,、RXD1連接,,并采用TTL電平串口通訊。微控制器的RXD負(fù)責(zé)接收從TXD1發(fā)來的GPS信息,。而TXD在上電復(fù)位時(shí)的任務(wù)是向GPS接收模塊發(fā)送初始化命令,,使其按預(yù)定的格式和頻率輸出時(shí)鐘信息。在初始化成功后TXD將不再向外發(fā)送任何命令,,而是改變傳輸對(duì)象,,轉(zhuǎn)而通過MAX3232給上位機(jī)發(fā)送時(shí)間信息。由此可見,在不同的時(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)信息,。因此,為了便于將國際標(biāo)準(zhǔn)時(shí)間轉(zhuǎn)化為北京時(shí)間,,須使1PPS信號(hào)分為2路:一路作為微控制器的外部中斷源,,提示微控制器準(zhǔn)備接收GPS接收模塊輸出的各種信息,以實(shí)現(xiàn)時(shí)間信息的同步處理,,并監(jiān)測信號(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ù)每行都以‘$’開頭,,接著是信息類型,,后面是數(shù)據(jù),以逗號(hào)分隔開,。信息的類型有:
GPGSV:可見衛(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ǔ)器中,并通過串口發(fā)送給上位機(jī)軟件,。
3.2上位機(jī)GPS授時(shí)軟件
GPS授時(shí)軟件是通過VC++6.0編寫的上位機(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)建了整體軟硬件開發(fā)平臺(tái),。提出了一種基于ARM的GPS同步授時(shí)系統(tǒng),,通過GPS采集終端和微控制器數(shù)據(jù)處理終端,并結(jié)合上位機(jī)校時(shí)軟件成功實(shí)現(xiàn)了一種更加精確的同步授時(shí)方案,。