摘 要:在此設(shè)計(jì)一款具有多個(gè)輸入鐘源和多個(gè)輸出接口的同步時(shí)間服務(wù)器,它采用FPGA實(shí)現(xiàn)時(shí)間接口,用MCU作為控制器,輸入GPS引擎M12T,IRIG-B,IEEE 1588等作為標(biāo)準(zhǔn)時(shí)鐘源,利用多路選擇器得到系統(tǒng)標(biāo)準(zhǔn)時(shí)間,通過低頻數(shù)字鎖相環(huán)提供同步輸出。該系統(tǒng)還可實(shí)現(xiàn)IRIG-B直流碼和交流碼,利用硬件實(shí)現(xiàn)NTP和PTP時(shí)間戳及相關(guān)的網(wǎng)絡(luò)時(shí)間協(xié)議。其中,多路時(shí)間選擇和基準(zhǔn)時(shí)間產(chǎn)生及同步用低頻數(shù)字鎖相環(huán)和同步時(shí)間編碼輸出是創(chuàng)新之舉。系統(tǒng)采用VHDL進(jìn)行邏輯綜合,軟件采用C語言進(jìn)行編程,通過軟件仿真和示波器觀測(cè)以及現(xiàn)場(chǎng)運(yùn)行表明,系統(tǒng)同步和定時(shí)精確可靠,完全達(dá)到預(yù)期目標(biāo)。
關(guān)鍵詞:授時(shí)碼;IRIG-B;數(shù)字調(diào)制;數(shù)字鎖相環(huán);GPS;IEEE 1588
中圖分類號(hào):P228.4文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)04-092-05
Implementation of Synchronize Time Server
PANG Jiyao
(Nanjing Paneng Electric Power Technology Co.Ltd.,Nanjing,210036,China)
Abstract:A synchronize time server with multiple input time source and multiple output time interface is designed.This system uses FPGA to implement time interface and MCU as controller,system can accept time source such as GPS engine M12T,IRIG-B,IEEE1588 etc,one multiplexer is provided to select system reference time,the global synchronization signal output from low frequency digital PLL.IRIG-B DC/AC code provided by encoder module.Because the timestamp of NTPPTP are generated by Ethernet PHY,the system implements PTPNTP accurately.Using low frequency digital PLL and multiplexer to select synchronization source,encoding time and synchronization signal in one packet.The design uses VHDL to synthesize system logic and program software uses C language.The systemis verified by means of simulation and oscilloscope,the field application also proves the goals have been achieved perfectly.
Keywords:time code;IRIG-B;digital modulation;DPLL;GPS;IEEE 1588
0 引 言
在繼電保護(hù)和過程控制領(lǐng)域,為了能夠?qū)Ξ惒绞录M(jìn)行測(cè)量和記錄,實(shí)現(xiàn)操作和控制的同步,以及事故后的分析和事故反演,都需要有統(tǒng)一的時(shí)間基準(zhǔn)。由于累積誤差的存在自動(dòng)化裝置內(nèi)部的實(shí)時(shí)時(shí)鐘,必須實(shí)現(xiàn)系統(tǒng)級(jí)的時(shí)間同步。此外,電力系統(tǒng)的失步保護(hù)、線路縱差保護(hù)以及過程控制領(lǐng)域等分布式數(shù)據(jù)采集和集中處理應(yīng)用場(chǎng)合則需要多個(gè)節(jié)點(diǎn)之間實(shí)現(xiàn)數(shù)據(jù)采樣同步和操作同步。數(shù)字化變電站由于二次回路設(shè)計(jì)簡(jiǎn)化,接線大大減少,真正實(shí)現(xiàn)信息集成、數(shù)據(jù)共享和互操作性受到越來越多的關(guān)注,而數(shù)字化變電站的一個(gè)基本要求就是數(shù)據(jù)采樣同步和系統(tǒng)時(shí)間同步[1]。
這些應(yīng)用都需要有一個(gè)統(tǒng)一基準(zhǔn)時(shí)間源和同步信號(hào)來實(shí)現(xiàn)時(shí)間同步、采樣同步和控制同步。文獻(xiàn)[2]給出了典型的變電站內(nèi)時(shí)鐘系統(tǒng)的結(jié)構(gòu),有使用串口和脈沖同步方式,也有使用標(biāo)準(zhǔn)的串行編碼IRIG-B[3]格式,或者通過局域網(wǎng)進(jìn)行時(shí)間同步[4],如NTP[5]和IEEE 1588[6] (以下簡(jiǎn)稱PTP)等。在數(shù)字化變電站中,不同的數(shù)據(jù)合并器之間有同步采樣的要求,于是需要一種時(shí)間同步裝置,能夠接入不同的標(biāo)準(zhǔn)時(shí)間源,然后以不同方式輸出標(biāo)準(zhǔn)時(shí)間和同步信號(hào),以滿足各種裝置及用戶應(yīng)用的要求。
1 問題的提出
1.1 基準(zhǔn)時(shí)間的問題
現(xiàn)有的一些時(shí)間設(shè)備往往只有一種基準(zhǔn)時(shí)鐘輸入源和兩、三種基準(zhǔn)時(shí)鐘輸出源,而且沒有提供一種全局的同步控制信號(hào),在基準(zhǔn)時(shí)鐘出現(xiàn)故障時(shí)無法為其他需要時(shí)間的設(shè)備提供精確的時(shí)基。
1.2 同步參考信號(hào)的問題
目前,普遍使用秒脈沖同步,通過在本地構(gòu)建采樣定時(shí)器,定時(shí)器在秒脈沖的上沿復(fù)位,這樣使設(shè)備的采樣時(shí),刻和秒脈沖的上升沿同步。高速采樣時(shí)采樣間隔遠(yuǎn)小于1 s,秒脈沖邊沿的微秒級(jí)抖動(dòng)都將對(duì)采樣造成很大的影響。由于同步源的周期擾動(dòng)和各節(jié)點(diǎn)本地時(shí)鐘頻率fa的漂移,實(shí)際上無法同時(shí)實(shí)現(xiàn)同步和等間隔采樣。
1.3 解決辦法
在此,給出一種集多個(gè)基準(zhǔn)輸入和多種輸出方式為一體的同步時(shí)間服務(wù)器設(shè)計(jì)方法。系統(tǒng)可以接入IEEE1588、GPS引擎[7]、IRIG-B時(shí)間碼[3]、PPS/串行時(shí)間和內(nèi)部精密RTC的多個(gè)精準(zhǔn)時(shí)鐘源和電網(wǎng)頻率相關(guān)的同步源輸入,支持IEE1588時(shí)間、NTP、IRIG-B AC/DC碼輸出和全局PPS輸出及串口時(shí)間輸出。
通過給出高速同步信號(hào),并把絕對(duì)時(shí)間和同步信號(hào)一起編碼,同時(shí)解決同步和時(shí)間問題。其他低速率采樣設(shè)備通過對(duì)同步信號(hào)進(jìn)行分頻得到本地采樣同步信號(hào),而高速率采樣設(shè)備可以通過倍頻得到本地采樣同步信號(hào)。例如,本文給出的同步信號(hào)速率為12.8 Kb/s(周期為78.125 ns),高于IEC61850[1]規(guī)定的最高采樣速率。
此外,由于時(shí)間服務(wù)器具有多個(gè)外部時(shí)間參考輸入,而系統(tǒng)在特定時(shí)刻只能同步到一個(gè)源,所以需要一個(gè)鐘源選擇器來根據(jù)既定策略選擇參考源,并根據(jù)選定的源輸出參考時(shí)鐘和同步參考信號(hào)。為消除不同參考時(shí)間源之間的切換帶來對(duì)同步參考信號(hào)的負(fù)面影響,需要一個(gè)數(shù)字鎖相和跟蹤模塊來保證同步信號(hào)在過渡過程中的穩(wěn)定輸出。
2 系統(tǒng)方案
根據(jù)上述目標(biāo),設(shè)計(jì)出一種具有多輸入鐘源和多輸出接口,可用于多個(gè)節(jié)點(diǎn)之間時(shí)間同步和采樣同步的同步時(shí)間服務(wù)器方案,系統(tǒng)的原理框圖如圖1所示。
圖1 同步時(shí)間服務(wù)器的原理框圖
2.1 系統(tǒng)工作原理
時(shí)間服務(wù)器中FPGA檢測(cè)來自圖1中各個(gè)基本模塊的輸入基準(zhǔn)鐘源,并將狀態(tài)報(bào)告MCU,MCU選擇一種鐘源輸出作為基準(zhǔn)時(shí)間,同時(shí)從中獲得基準(zhǔn)同步脈沖,位于FPGA上的數(shù)字鎖相環(huán)路根據(jù)基準(zhǔn)脈沖發(fā)生器的輸出產(chǎn)生全局同步脈沖,同步輸出編碼器在每個(gè)同步間隔把基準(zhǔn)時(shí)間和全局采樣計(jì)數(shù)器一起編碼發(fā)送到物理鏈路,IRIG-B[3]直流編碼部件從基準(zhǔn)時(shí)間發(fā)生器獲得時(shí)間在1PPS脈沖的觸發(fā)下形成IRIG-B DC碼,B碼的交流數(shù)字調(diào)制部分則通過調(diào)制DC碼獲得B碼AC輸出。
MCU通過FPGA提供的接口測(cè)量母線電壓或所用變壓器的電壓與頻率,讀取實(shí)時(shí)時(shí)間信息,并用此基準(zhǔn)時(shí)間來完成NTP協(xié)議和IEEE1588時(shí)間協(xié)議。
2.2 硬件設(shè)計(jì)
時(shí)間服務(wù)器通過GPS引擎M12T[7]接收衛(wèi)星同步時(shí)鐘,采用Freescale公司的MCF52259作為主處理器,MCU和FPGA之間通過Mini FlexBus連接。網(wǎng)絡(luò)采用MCU片上MAC,通過MII接口連接物理層DP83640[8],由物理層硬件生成PTP時(shí)間戳和NTP的時(shí)間戳;MCU通過MDIO讀取和設(shè)置PHY的工作狀態(tài)和時(shí)間戳。MCU通過一組GPIO控制DP83640來觸發(fā)和捕獲IEEE1588報(bào)文傳輸。FPGA鎖相環(huán)輸出則連接到DP83640的CLK_OUT,CLK_OUT的I/O屬性由節(jié)點(diǎn)配置方式確定。
時(shí)間服務(wù)器利用電壓互感器將輸入的380 V或100 V交流轉(zhuǎn)換為ADC能接收的小信號(hào)電壓,按差分方法接入到MCU的ADC輸入端,同經(jīng)過差分比較器TL331轉(zhuǎn)換成與電網(wǎng)同步50Hz脈沖信號(hào),經(jīng)施密特整形后送到FPGA,作為基準(zhǔn)鐘源和頻率測(cè)量。
RTC DS3231通過I2C連接到MCU,其內(nèi)部TCXO晶振的32.768 kHz信號(hào)接入FPGA和MCU的RTC_EXTAL輸入端,設(shè)置DS3231的方波輸出為1 s,并把該信號(hào)接入FPGA和MCU的中斷輸入,使MCU內(nèi)部RTC計(jì)時(shí)鏈與DS3231的計(jì)時(shí)鏈保持同步。系統(tǒng)通過FPGA控制數(shù)碼管顯示數(shù)據(jù),由MCU輪流寫入時(shí)間和交流電壓與頻率完成顯示工作。
為了增強(qiáng)系統(tǒng)可靠性和抗電磁干擾能力,B碼的DC碼和秒脈沖輸入/輸出以及異步串行接口都經(jīng)過高速光耦隔離,B碼的AC碼輸出部分則經(jīng)過變壓器隔離輸出。因?yàn)檩敵鲱l率高而且邊沿和抗干擾要求嚴(yán)格,同步信號(hào)采用850 nm的光纖發(fā)送器HFBR1412經(jīng)同步光口輸出,并經(jīng)過光纖長(zhǎng)距離和變電站中過程層數(shù)據(jù)合并器相接,在距離很短時(shí)可用雙絞線經(jīng)同步電口輸出。
3 系統(tǒng)功能組件實(shí)現(xiàn)
3.1 輸入時(shí)鐘源
3.1.1 電壓和頻率測(cè)量
對(duì)交流輸入采樣數(shù)據(jù)進(jìn)行12點(diǎn)DFT變換,并乘以通道增益,即可計(jì)算出實(shí)際的交流電壓。系統(tǒng)用一個(gè)門控計(jì)數(shù)器檢測(cè)頻率脈沖的兩個(gè)上升沿之間周期來間接地計(jì)算頻率。設(shè)輸入時(shí)鐘為本地時(shí)鐘fa,門控信號(hào)為頻率脈沖的上升沿,在每個(gè)上升沿記錄門控計(jì)數(shù)器的值后將計(jì)數(shù)器清零。若測(cè)得通道x的兩個(gè)頻率脈沖之間的門控計(jì)數(shù)器的值為Nx,則頻率fx可以通過式(1)計(jì)算出。
fx=Nx/fa(1)
3.1.2 GPS模塊接口
GPS引擎M12T[7]在與衛(wèi)星同步后可以穩(wěn)定地提供100 PPS信號(hào)輸出,位置保持狀態(tài)下定時(shí)誤差小于12 ns,其時(shí)序如圖2所示。
圖2 M12T模塊輸出的100 PPS信號(hào)(PPM12)
圖2中,每個(gè)脈沖的上升沿時(shí)刻準(zhǔn)確,在PPS的參考點(diǎn)脈沖寬度為6~8 ms,其他時(shí)刻2~4 ms。在FPGA中構(gòu)建一個(gè)模100的碼元計(jì)數(shù)器MMH和一個(gè)高電平脈沖寬度檢測(cè)器,再利用下面的步驟恢復(fù)1 PPS信號(hào):
(1) 在PPM12信號(hào)的上升沿復(fù)位寬度檢測(cè)器,高電平計(jì)時(shí),在下降沿停止并輸出Tb;
(2) 在PPM12下降沿檢查Tb,當(dāng)6 ms if MMH=99 then MMH=0 else MMH=MMH+1 (3) 在PPM12信號(hào)的上升沿檢查MMH,如果MMH=0,則當(dāng)前脈沖的上升沿是參考點(diǎn)Pr,觸發(fā)輸出8 ms高電平脈沖作為PPS輸出信號(hào)。 此外,M12T還從一個(gè)TTL電平UART接口向外輸出絕對(duì)時(shí)間,MCU的串口接收程序從UART2接收來自M12T的絕對(duì)時(shí)間。 3.1.3 IRIG-B輸入 同步時(shí)間服務(wù)器設(shè)計(jì)有一路RS 485電平兼容IRIG-BDC碼輸入接口。接口模塊從B碼中恢復(fù)絕對(duì)時(shí)間信息和1 PPS的基準(zhǔn)參考點(diǎn)。由于IRIG-B的格式[3]是每秒發(fā)送100個(gè)碼元,每個(gè)碼元寬度10 ms,且每一個(gè)碼元的上升沿都可以作為時(shí)間參考點(diǎn),可以直接使用B碼的信號(hào)作為100 PPS信號(hào),供給鐘源選擇模塊。當(dāng)MCU選擇使用B碼輸入作為系統(tǒng)時(shí)基時(shí),應(yīng)該在1 s內(nèi)從B碼的解碼模塊讀取絕對(duì)時(shí)間,并寫入到基準(zhǔn)時(shí)間發(fā)生器。 3.1.4 串行時(shí)間和PPS輸入 時(shí)間服務(wù)器提供一個(gè)RS 485電平兼容的PPS輸入接口,當(dāng)采用外接的全局同步信號(hào)時(shí),可以使系統(tǒng)時(shí)間同步到PPS的邊沿。一般在使用外部PPS時(shí),同時(shí)需要經(jīng)過RS 485/RS 232輸入絕對(duì)時(shí)間,該系統(tǒng)通過一個(gè)RS 485接口連接到MCU的Uart0接口,用來從對(duì)時(shí)總線上獲取全局的絕對(duì)時(shí)間信息。通常時(shí)間信息應(yīng)該在PPS的上升沿過后發(fā)出,每秒鐘發(fā)送一次,所以處理程序需要在1 s內(nèi)分析完時(shí)間信息。 3.1.5 IEEE1588 本文通過網(wǎng)絡(luò)物理層DP83640采用產(chǎn)生PTP的時(shí)間戳,通過MDIO可以讀取PTP時(shí)間戳,配合高層軟件實(shí)現(xiàn)IEEE 1588,成為一種精確的解決方案。IEEE 1588的時(shí)間戳[6,9]包括一個(gè)48位秒字段和一個(gè)32位納秒字段,可利用這兩個(gè)信息生成本地時(shí)間和同步參考信號(hào)。在FPGA上構(gòu)建一個(gè)32位計(jì)數(shù)器[10],收到來自主機(jī)的同步包后,從其時(shí)間戳中提取當(dāng)前納秒時(shí)間標(biāo)記,按下式計(jì)算出本地新的計(jì)數(shù)器值Nnew,在剩余的時(shí)間內(nèi)計(jì)數(shù)器用DP83640輸出的PTP時(shí)鐘fPTP計(jì)數(shù)。 Nnew=PTP ns×fPTP×10-9(2) 式中:PTP ns為納秒字段值。 當(dāng)上述計(jì)數(shù)器為0時(shí),產(chǎn)生一個(gè)寬度為10ms的高電平脈沖作為1 PPS信號(hào),每當(dāng)計(jì)數(shù)器的值模fa/100等于0時(shí),產(chǎn)生一個(gè)寬度為2ms的高電平信號(hào)作為100 PPS信號(hào)。 3.2 授時(shí)輸出 3.2.1 網(wǎng)絡(luò)輸出 時(shí)間同步服務(wù)器提供了多種手段的授時(shí)輸出,MCU從圖3所示的基準(zhǔn)時(shí)間發(fā)生器中讀取標(biāo)準(zhǔn)時(shí)間,再按照NTP協(xié)議要求生成時(shí)間戳,多播到變電站的局域網(wǎng)中,為網(wǎng)絡(luò)上的其他設(shè)備提供時(shí)間參考。如果時(shí)間服務(wù)器被配置成PTP的主控節(jié)點(diǎn),還可以利用已經(jīng)得到的標(biāo)準(zhǔn)時(shí)間生成PTP的時(shí)間戳,為支持PTP協(xié)議的設(shè)備提供更高精度的時(shí)間參考。 該方案的網(wǎng)絡(luò)物理層采用DP83640[8],NTP的時(shí)間戳[5]和PTP時(shí)間戳[6],都可以在MCU的控制下由底層硬件生成,不受軟件協(xié)議棧的影響,所以授時(shí)精度高,NTP精度在局域網(wǎng)內(nèi)可達(dá)0.1ms,而PTP的精度可達(dá)40ns。 3.2.2 IRIG-B輸出 利用多路選擇器輸出的1 PPS信號(hào)和100 PPS信號(hào)生成IRIG-B的時(shí)間參考點(diǎn)和100個(gè)碼元的參考點(diǎn)。B碼輸出的絕對(duì)時(shí)間則由基準(zhǔn)時(shí)間發(fā)生器直接提供給B碼模塊,無需MCU參與即可得到IRIG-B的DC碼[3]。在獲得IRIG-B的DC碼后,采用數(shù)字調(diào)制方法得到IRIG-B的AC碼輸出。 IRIG-B的AC碼[3]的載波是1 kHz正弦信號(hào),調(diào)制比U1/U0為1/6~1/2。把每個(gè)碼元在時(shí)間上等分成100點(diǎn),在FPGA構(gòu)建兩個(gè)100個(gè)元素的正弦查找表,邏輯0對(duì)應(yīng)表0,邏輯1對(duì)應(yīng)表1,表的地址由輸出的時(shí)間點(diǎn)決定,為0~99,而表的內(nèi)容則對(duì)應(yīng)該時(shí)刻的標(biāo)準(zhǔn)正弦抽樣值,通過對(duì)表0和表1乘以不同增益,可以獲得B碼所要求的調(diào)制比。然后在一個(gè)定時(shí)器的控制下,每隔10 μs根據(jù)當(dāng)前DC碼的值(0或1)從查找表0或者查找表1中取得一個(gè)值輸出到DAC,再將DAC的輸出通過低通濾波和緩沖放大。與經(jīng)過10 Mb/s的高速光耦隔離DC碼相比,通過變壓器隔離的AC碼的輸出將帶來額外的延時(shí)。 3.2.3 串口輸出 為了兼容變電站一些傳統(tǒng)設(shè)備對(duì)時(shí)間服務(wù)的要求,時(shí)間服務(wù)器還通過UART接口向外發(fā)送串行時(shí)間碼和秒脈沖。通過MCU每秒讀取一次基準(zhǔn)時(shí)間發(fā)生器的數(shù)據(jù),并通過串口在秒脈沖的上升沿發(fā)出,而秒脈沖則可以給這些設(shè)備提供同步參考。 3.3 同步輸出部件 3.3.1 同步源選擇和基準(zhǔn)時(shí)間生成 圖3為同步源選擇器,每個(gè)同步源提供1 Hz秒脈沖信號(hào)和同步參考信號(hào),同步參考可以是100 PPS,50 Hz和512 Hz幾種,信號(hào)的上升沿是參考點(diǎn)。當(dāng)SYN_SEL=0時(shí),選擇IEEE 1588接口模塊的同步信號(hào);當(dāng)SYN_SEL為1,2,3,4時(shí),電網(wǎng)脈沖中的一路作為同步參考信號(hào),類似的方法用來選擇其他同步參考信號(hào)。不同的同步源會(huì)導(dǎo)致不同的同步誤差,來自IEEE 1588和GPS引擎的同步信號(hào)可以使同步誤差減小到50 ns,而GPS方式更適合廣域同步,但受限捕捉到衛(wèi)星數(shù)量;電網(wǎng)脈沖適合基于頻率跟蹤的同步采樣,但脈沖整形時(shí)邊沿會(huì)有200 ns左右的抖動(dòng);采用IRIG-B的外部脈沖同步精度取決于信號(hào)源,隔離電路將會(huì)增加1 μs左右的延遲;采用內(nèi)部帶TCXO晶體的RTC輸出作為參考,則可以實(shí)現(xiàn)20 ns低抖動(dòng)和嚴(yán)格的等間隔同步輸出。 圖3 同步時(shí)間多路選擇器的原理框圖 MCU不間斷檢查各個(gè)輸入鐘源的狀態(tài),并根據(jù)各個(gè)同步鐘源的特性及預(yù)定義的策略選擇其中之一作為參考,讀取其時(shí)間,再通過預(yù)置數(shù)端寫入基準(zhǔn)時(shí)間發(fā)生器?;鶞?zhǔn)時(shí)間發(fā)生器的計(jì)時(shí)鏈在秒脈沖的上升沿自動(dòng)進(jìn)位,以保證系統(tǒng)標(biāo)準(zhǔn)時(shí)間與參考信號(hào)同步(進(jìn)位時(shí)同時(shí)考慮閏年月大和月小)。MCU則通過讀接口取出基準(zhǔn)時(shí)間發(fā)生器的時(shí)間,作為系統(tǒng)的標(biāo)準(zhǔn)時(shí)間。 3.3.2 基準(zhǔn)脈沖生成器 由于來自多路選擇器的同步信號(hào)周期可能不一樣,所以選擇器輸出的參考信號(hào)ASYN不能直接進(jìn)入鎖相環(huán),需要生成一個(gè)固定頻率的參考信號(hào)PSYN。若設(shè)Ts為系統(tǒng)所需要的采樣間隔,則通過一個(gè)模N的計(jì)數(shù)器可以實(shí)現(xiàn)PSYN,其中N=Ns=Ts×fa。 式中:fa為主時(shí)鐘;N為計(jì)數(shù)器的模。構(gòu)建計(jì)數(shù)器AQC,在ASYN的上升沿和計(jì)數(shù)器值為N-1時(shí)復(fù)位計(jì)數(shù)器,而當(dāng)AQC=0時(shí)給出基準(zhǔn)參考信號(hào)PSYN的上升沿. 3.3.3 低頻數(shù)字鎖相環(huán) 為了保證系統(tǒng)在切換外部參考鐘源時(shí)同步輸出信號(hào)的穩(wěn)定,需要增加一個(gè)數(shù)字鎖相回路,在鐘源發(fā)生切換時(shí)逐步過渡到新的參考源,結(jié)構(gòu)如圖4所示。 圖4 數(shù)字鎖相環(huán)的基本結(jié)構(gòu) 數(shù)控振蕩器輸出的脈沖CSYN和參考脈沖PSYN同時(shí)進(jìn)入數(shù)字鑒相器,通過檢測(cè)兩信號(hào)的上升沿,得到相差Nlead=Tlead×fa和Nlag=Tlag×fa,取數(shù)字鑒相器的輸出為dQ=min{Nlead,Nlag}。同時(shí)檢測(cè)PSYN的周期TPSYN,用fa度量為NPSYN=TPSYN×fa。 若設(shè)系統(tǒng)能夠容忍的同步間隔擾動(dòng)為Δt(用fa度量為dm=Δt×fa),則重復(fù)下面的步驟可以獲得系統(tǒng)的同步輸出脈沖為: (1) 當(dāng)|NPSYN-Ns|>dm時(shí),置輸出選擇SEL=0轉(zhuǎn)步驟(3); (2) 當(dāng)dQ (3) 根據(jù)SEL選擇輸出脈沖,SEL=1選擇前饋的PSYN,SEL=0選擇振蕩器輸出CSYN。 數(shù)控振蕩器是一個(gè)可變模計(jì)數(shù)器,模Nc由式Nc=Ns+dM給出,通過調(diào)整Ns可以得到需要的采樣間隔。在計(jì)數(shù)值為0時(shí),數(shù)控振蕩器產(chǎn)生寬度為2個(gè)時(shí)鐘的窄同步脈沖CSYN,并將CSYN反饋到數(shù)字鑒相器的輸入,同時(shí)還作為選擇器的一個(gè)輸入。 3.4 同步輸出編碼 時(shí)間服務(wù)器的同步輸出采用如下編碼來傳送同步信號(hào)和時(shí)間信息,格式如圖5所示。 編碼使用高電平表示信息,每個(gè)碼元寬度為Tb。圖中,Th為幀同步頭寬度,隨后是數(shù)據(jù)段;T0為碼元邏輯0的寬度;T1為碼元邏輯1的寬度。時(shí)間服務(wù)器以采樣間隔Ts發(fā)送同步信號(hào),tfs為發(fā)送幀起始點(diǎn),tSYN為接收方同步檢出點(diǎn)。數(shù)據(jù)字段中,包含絕對(duì)時(shí)標(biāo)和8位幀計(jì)數(shù)器。幀計(jì)數(shù)器每個(gè)間隔自加1,可以標(biāo)記某一特定時(shí)刻的采樣數(shù)據(jù)。 圖5 時(shí)間服務(wù)器的同步輸出信號(hào) 4 系統(tǒng)軟件設(shè)計(jì)及測(cè)試 時(shí)間服務(wù)器的MCU軟件采用C語言編程,在Codewarrior下調(diào)試通過。利用中斷服務(wù)實(shí)現(xiàn)ADC采樣控制和時(shí)間同步數(shù)據(jù)的讀取和寫入,以及串行時(shí)間輸入輸出和NTP及PTP協(xié)議。裝置還定義和實(shí)現(xiàn)了用戶配置協(xié)議接口。通過以太網(wǎng)連接設(shè)備到計(jì)算機(jī),則可通過配置軟件在計(jì)算機(jī)上配置裝置的時(shí)鐘源選擇策略和預(yù)置時(shí)間等功能。 時(shí)間服務(wù)器的FPGA部分全部采用VHDL進(jìn)行邏輯設(shè)計(jì),設(shè)計(jì)在Altera Quartus Ⅱ 7.2環(huán)境下編譯和綜合,并利用Quartus Ⅱ的仿真工具進(jìn)行仿真分析和驗(yàn)證通過,最后下載到目標(biāo)板用示波器測(cè)試系統(tǒng)時(shí)序。測(cè)試表明,同步時(shí)間服務(wù)器B碼編碼器的DC碼參考點(diǎn)和Pr與M12T GPS模塊的PPS參考點(diǎn)時(shí)間誤差小于20 ns,與絕對(duì)時(shí)間參考點(diǎn)之間的誤差小于40 ns,AC碼與DC碼之間的延遲為100 ns?;谟布r(shí)間戳實(shí)現(xiàn)的NTP和PTP在局域網(wǎng)中精度達(dá)到0.1 ms和40 ns。 圖6為使用GPS引擎作為標(biāo)準(zhǔn)鐘源時(shí)的秒脈沖和IRIG-B AC碼及DC碼隔離輸出定時(shí)。 圖6 時(shí)鐘輸出測(cè)試波形 圖中通道1(圖6中①)為GPS引擎M12T輸出的100 PPS信號(hào),通道2(圖6中③)為IRIG-B的直流編碼輸出信號(hào),通道3(圖6中②)為秒脈沖輸出PPS信號(hào),通道4(圖6中④)為IRIG-B編碼的交流輸出波形。 時(shí)鐘測(cè)試表明, 當(dāng)GPS引擎處于位置保持狀態(tài)時(shí),秒脈沖輸出和B碼的直流輸出誤差小于500 ns,B碼交流輸出誤差小于9 μs,而同步測(cè)試也表明,在同步編碼序列的后沿檢出同步點(diǎn)的方法穩(wěn)定可靠,系統(tǒng)同步輸出誤差小于50 ns。 5 結(jié) 語 由于裝置可以接入多個(gè)時(shí)間源,要根據(jù)各個(gè)源的情況,考慮系統(tǒng)時(shí)間的一致性、同步穩(wěn)定性和抗干擾的要求;根據(jù)輸入源的精度和可靠性,設(shè)置系統(tǒng)的鐘源選擇策略,時(shí)間的輸入/輸出處理應(yīng)該在秒脈沖的觸發(fā)下處理,并在1 s內(nèi)完成;在多個(gè)設(shè)備需要時(shí)間和同步信號(hào)時(shí),可以將FPGA的輸出信號(hào)用簡(jiǎn)單邏輯電路進(jìn)行驅(qū)動(dòng)擴(kuò)展,然后連接到多個(gè)物理層器件進(jìn)行物理層擴(kuò)充;應(yīng)該使用屏蔽電纜或者光纖傳送同步時(shí)間信號(hào),并保證傳輸電纜的屏蔽層和裝置外殼可靠接地;在啟用頻率跟蹤時(shí),當(dāng)測(cè)得的頻率越過45~55 Hz界限時(shí),應(yīng)考慮放棄跟蹤,以提高系統(tǒng)同步穩(wěn)定性。經(jīng)過系統(tǒng)測(cè)試和電磁兼容及環(huán)境試驗(yàn),這種同步時(shí)間服務(wù)器已經(jīng)實(shí)現(xiàn)了預(yù)期的設(shè)計(jì)目標(biāo),并在公司的數(shù)字化變電站系統(tǒng)和數(shù)字化煤礦系統(tǒng)中推廣使用,現(xiàn)場(chǎng)運(yùn)行穩(wěn)定,準(zhǔn)確可靠。 參考文獻(xiàn) [1]IEC61850-5 Communication Networks and Systems in Substations-Part 5-13:Message Performamce Requirements[S].2003. [2]雷霆,李斌,黃太貴.220 kV變電站GPS時(shí)間同步系統(tǒng)實(shí)現(xiàn)技術(shù)[J].電力自動(dòng)化設(shè)備,2007(11):71-74. [3]IRIG STANDARD 200-98 IRIG Serial Time Code Formats(Format B)[S]. [4]黃小耘.NTP在電力自動(dòng)化設(shè)備時(shí)鐘同步中的應(yīng)用探討[J].電力系統(tǒng)自動(dòng)化,2005,29(15):93-95. [5]RFC1305.Network Time Protocol 3 Specification,Implementation and Aanalysis[S].1992. [6]IEEE-SA Standards Board.IEEE Standard for a Precise Clock Synchronization Protocol for Networked Measurement and Control Systems[S].2008. [7]北京衛(wèi)信杰科技發(fā)展有限公司.M12/M12T快速應(yīng)用指南[Z].2005. [8]National Semicondutor.DP83640 Precision PHYTER.IEEE1588 Precision Time Protocol Transceiver[Z].2009. [9]戴寶峰,崔少輝,王巖.基于 IEEE 1588協(xié)議的時(shí)間戳的生成與分析[J].儀表技術(shù),2007(7):15-17. [10]王蘭,楊志家.IEEE 1588精準(zhǔn)時(shí)鐘協(xié)議的IP設(shè)計(jì)[J].微計(jì)算機(jī)信息,2007,23(26):288-289.