劉玉升,項(xiàng)文蔚,王 楠,王 巍
(國核自儀系統(tǒng)工程有限公司,上海 200241)
電站控制系統(tǒng)[1]是基于工業(yè)以太網(wǎng)的分布式控制系統(tǒng)[2],系統(tǒng)龐大、復(fù)雜,設(shè)備分布化程度高。各設(shè)備間要協(xié)調(diào)工作,就必須有統(tǒng)一的時(shí)間基準(zhǔn),即時(shí)鐘的精確同步。所有現(xiàn)場(chǎng)設(shè)備間的精確時(shí)鐘同步是實(shí)現(xiàn)同步數(shù)據(jù)采集和控制的核心技術(shù)之一。基于嵌入式軟件控制方式的時(shí)間同步方案,如網(wǎng)絡(luò)時(shí)間協(xié)議(network timing protocol,NTP),由于其實(shí)現(xiàn)機(jī)理的限制,同步精度難以滿足事件順序記錄(sequence of event,SOE)為1 ms的要求。
IEEE 1588定義了一個(gè)能夠在測(cè)量和控制系統(tǒng)中實(shí)現(xiàn)高精度時(shí)鐘同步的協(xié)議?;贗EEE 1588協(xié)議,可實(shí)現(xiàn)微秒級(jí)的同步精度。本文提出了一種基于片上系統(tǒng)現(xiàn)場(chǎng)可編程門陣列[3-5](system-on-chip field-programmable gate array,SoC FPGA)的時(shí)間節(jié)點(diǎn)硬件實(shí)現(xiàn)方式,以IEEE 1588作為時(shí)鐘同步協(xié)議,以嵌入式軟件形式實(shí)現(xiàn)TCP/IP通信和時(shí)鐘同步,通過SoC FPGA準(zhǔn)確捕獲報(bào)文時(shí)間戳。這種硬件抓包輔助[6]的時(shí)鐘同步方法實(shí)現(xiàn)了主控時(shí)鐘節(jié)點(diǎn)和從I/O設(shè)備節(jié)點(diǎn)間微秒級(jí)的精確定時(shí)同步,并提高了電站控制系統(tǒng)的時(shí)鐘同步精度[7]。
IEEE 1588的基本功能是使分布式網(wǎng)絡(luò)內(nèi)的參考時(shí)鐘(reference clock,RC)與其他時(shí)鐘保持同步。它定義了一種精確時(shí)鐘協(xié)議(precision timing protocol,PTP)[8]。在采用多播技術(shù)的分布式總線系統(tǒng)中,使用PTP協(xié)議對(duì)各個(gè)節(jié)點(diǎn)設(shè)備的時(shí)鐘進(jìn)行精確同步。PTP協(xié)議也適用于對(duì)標(biāo)準(zhǔn)以太網(wǎng)的時(shí)鐘進(jìn)行精確同步。PTP技術(shù)規(guī)范中特別定義了一套基于消息的同步協(xié)議,通過周期性地發(fā)布帶有時(shí)間戳的信息包,使各個(gè)測(cè)控節(jié)點(diǎn)的時(shí)鐘得到校正,從而實(shí)現(xiàn)整個(gè)系統(tǒng)的同步運(yùn)行。
PTP協(xié)議使用主從式的結(jié)構(gòu)來組織整個(gè)時(shí)鐘同步系統(tǒng)。主時(shí)鐘和從時(shí)鐘是相對(duì)的。通常將能提供絕對(duì)時(shí)間基準(zhǔn),如全球定位系統(tǒng)(global positioning system,GPS)、接收機(jī)提供的協(xié)調(diào)世界時(shí)(coordinated universal time,UTC)或相對(duì)時(shí)間基準(zhǔn)(如高精度穩(wěn)定的時(shí)鐘信號(hào)源)的時(shí)鐘稱為主時(shí)鐘。系統(tǒng)中的全部從時(shí)鐘都要同步于同一個(gè)主時(shí)鐘。PTP協(xié)議時(shí)間同步,通過交換報(bào)文來確定主、從時(shí)鐘間的時(shí)間偏移及報(bào)文傳輸?shù)木W(wǎng)絡(luò)延遲。PTP時(shí)鐘誤差校正原理如圖1所示。
圖1 PTP時(shí)鐘誤差校正原理圖
IEEE 1588同步過程分為偏移測(cè)量和延遲測(cè)量兩個(gè)階段。
偏移測(cè)量階段用于修正主、從時(shí)鐘的時(shí)間差。其實(shí)現(xiàn)過程如下。
①主時(shí)鐘Tm采用多播方式,周期性地向網(wǎng)絡(luò)發(fā)出同步時(shí)間報(bào)文(Sync報(bào)文,缺省為0.5 次/s),并在報(bào)文發(fā)送過程中記錄Sync報(bào)文的發(fā)送時(shí)間戳Tm1;從時(shí)鐘Ts接收Sync報(bào)文,并在報(bào)文發(fā)送過程中記錄Sync報(bào)文的接收時(shí)間戳Ts1。
②主時(shí)鐘采用多播方式向網(wǎng)絡(luò)上發(fā)送Follow Up報(bào)文,其中包含主時(shí)鐘發(fā)布Sync報(bào)文的發(fā)送時(shí)間戳Tm1。
通過時(shí)鐘使用Follow Up信息中的發(fā)送時(shí)間戳Tm1和接收時(shí)間戳Ts1,可計(jì)算出從時(shí)鐘與主時(shí)鐘之間的時(shí)間偏差Toffset:
Toffset=Ts1-Tm1-Tdelay
(1)
式中:Tdelay為主、從時(shí)鐘間的網(wǎng)絡(luò)傳輸延遲時(shí)間,在延遲測(cè)量階段測(cè)出。偏移測(cè)量階段提供了一個(gè)校正時(shí)間,將從時(shí)鐘校正為:
Tadjust=Ts-Toffset
(2)
延遲測(cè)量階段用來測(cè)量上述網(wǎng)絡(luò)傳輸造成的延遲時(shí)間Tdelay。此階段實(shí)現(xiàn)過程如下。
①從時(shí)鐘在收到Sync報(bào)文后,在Ts2時(shí)刻采用單播方式向主時(shí)鐘發(fā)送延遲請(qǐng)求信息包(Delay_Req);主時(shí)鐘Tm接收Delay_Req報(bào)文,并記錄下Delay_Req報(bào)文的接收時(shí)間戳Tm2。
②主時(shí)鐘收到Delay_Req報(bào)文后,在延遲響應(yīng)信息報(bào)文(Delay_Resp)加時(shí)間戳,反映準(zhǔn)確的接收時(shí)間Tm2;然后,采用單播方式,將Delay_Resp報(bào)文發(fā)送給從時(shí)鐘。
這樣,從時(shí)鐘就可以非常準(zhǔn)確地計(jì)算出網(wǎng)絡(luò)延遲時(shí)間Toffset。與偏移測(cè)量階段不同的是,延遲測(cè)量階段的延遲請(qǐng)求信息包是隨機(jī)發(fā)出的,沒有時(shí)間限制。
假如網(wǎng)絡(luò)延遲是對(duì)稱的,則在以上兩個(gè)階段,可得到以下方程組:
(3)
解得方程組如下:
(4)
這樣可得到從時(shí)鐘和主時(shí)鐘之間的時(shí)鐘偏差值。采用這個(gè)差值調(diào)整各從時(shí)鐘節(jié)點(diǎn)時(shí)鐘,直到與主時(shí)鐘的時(shí)間同步為止。
IEEE 1588協(xié)議通過周期性校正來實(shí)現(xiàn)主、從時(shí)鐘同步。同步精度取決于主、從時(shí)鐘間的偏差值。影響時(shí)鐘偏差值的主要因素有三個(gè):一是網(wǎng)絡(luò)通信鏈路傳輸延遲的不確定性,二是時(shí)間戳的精度,三是主、從時(shí)鐘同步時(shí)間間隔。
①傳輸延遲。報(bào)文在協(xié)議棧中的封裝和解析過程所用的時(shí)間具有非常強(qiáng)的不確定性,造成了網(wǎng)絡(luò)傳輸延遲的不確定性。但本文所述的電站控制系統(tǒng)為相對(duì)本地化的局域網(wǎng)系統(tǒng),子網(wǎng)或內(nèi)部組件所處環(huán)境相對(duì)穩(wěn)定。該系統(tǒng)采用交換芯片連接各I/O設(shè)備的設(shè)計(jì),可確保報(bào)文在網(wǎng)絡(luò)傳輸中的固定延遲。
②時(shí)間戳精度。不同時(shí)間戳加蓋方式的時(shí)間戳精度也不同。在應(yīng)用層加蓋方式中,無論是在網(wǎng)絡(luò)驅(qū)動(dòng)層,還是在介質(zhì)無關(guān)接口(media independent interface,MII)產(chǎn)生的時(shí)間戳都必須返回到PTP應(yīng)用層并經(jīng)由內(nèi)核處理,才能發(fā)送到PTP終端。但協(xié)議棧的操作延遲和負(fù)載都會(huì)對(duì)同步精度造成影響,因此這種方式的同步精度最低。通過網(wǎng)絡(luò)驅(qū)動(dòng)程序,在網(wǎng)絡(luò)驅(qū)動(dòng)層加蓋時(shí)間戳。由于以太網(wǎng)自身的CSMA/CD機(jī)制、上一層通信(如TCP及UDP)的誤差檢測(cè)及翻譯障礙等,都占用以太網(wǎng)的時(shí)間,因此精度略低。在協(xié)議棧物理層加蓋時(shí)間戳的硬件方式中,由于時(shí)間戳的獲取點(diǎn)更靠近傳輸介質(zhì),大大降低了網(wǎng)絡(luò)傳輸延遲的不確定性,避免了協(xié)議棧上部較大的時(shí)間抖動(dòng),也消除了報(bào)文傳輸中的網(wǎng)絡(luò)延遲。該方式獲取的發(fā)送和接收時(shí)間戳精度最高。
③同步間隔。同步間隔決定了兩條Sync報(bào)文的間隔時(shí)間。主、從時(shí)鐘之間通過收發(fā)同步消息來獲得時(shí)間戳,進(jìn)而計(jì)算出同步偏差,并對(duì)從時(shí)鐘時(shí)間進(jìn)行調(diào)整。由于主、從時(shí)鐘的頻率不一致,主、從時(shí)鐘在同步間隔的時(shí)間內(nèi)會(huì)產(chǎn)生偏差。當(dāng)同步間隔變化時(shí),從時(shí)鐘時(shí)間的調(diào)整頻率也會(huì)發(fā)生變化,從而對(duì)同步精度產(chǎn)生影響。根據(jù)IEEE 1588協(xié)議,建議將PTP同步間隔時(shí)間設(shè)為2 s;同時(shí),通過同步間隔時(shí)間對(duì)從時(shí)鐘偏差的測(cè)試分析[9]可知,主、從時(shí)鐘同步時(shí)間間隔按2 s設(shè)計(jì),可保證從時(shí)鐘時(shí)間偏差在微秒級(jí)范圍內(nèi)。因此,本系統(tǒng)中主、從時(shí)鐘同步時(shí)間間隔也按2 s設(shè)計(jì)。
基于上述分析,本設(shè)計(jì)中的傳輸延遲和同步間隔均易于實(shí)現(xiàn)。為了獲得最精確時(shí)間戳,實(shí)現(xiàn)更精準(zhǔn)的時(shí)間同步,本設(shè)計(jì)采用基于SoC FPGA和硬件描述語言(Verilog HDL)的時(shí)鐘同步系統(tǒng),通過SoC FPGA抓包輔助技術(shù)在協(xié)議棧的物理層加蓋時(shí)間戳。
SoC FPGA是近年來的主流嵌入式控制技術(shù)。由于其具有低功耗、高性能、低成本、高集成度等特性,因而適用于網(wǎng)絡(luò)時(shí)間節(jié)點(diǎn)。為了控制成本、提高時(shí)鐘同步精度,電站控制系統(tǒng)采用時(shí)鐘同步設(shè)計(jì)。實(shí)時(shí)數(shù)據(jù)網(wǎng)采用NTP對(duì)時(shí),控制網(wǎng)使用基于SoC FPGA抓包輔助實(shí)現(xiàn)的高精度PTP對(duì)時(shí)。時(shí)鐘同步系統(tǒng)結(jié)構(gòu)如圖2所示。
圖2 時(shí)鐘同步系統(tǒng)結(jié)構(gòu)示意圖
由圖2可知,時(shí)鐘同步系統(tǒng)包含一個(gè)主時(shí)鐘節(jié)點(diǎn)(NTP服務(wù)器),若干從時(shí)鐘節(jié)點(diǎn)。其中:主時(shí)鐘節(jié)點(diǎn)上帶有GPS接收機(jī)或者北斗衛(wèi)星,NTP服務(wù)器發(fā)出的秒脈沖信號(hào)將主時(shí)鐘同步于UTC,實(shí)時(shí)數(shù)據(jù)網(wǎng)上的所有網(wǎng)絡(luò)從時(shí)鐘節(jié)點(diǎn)(主控制器時(shí)間節(jié)點(diǎn)里的NTP客戶端)通過以太網(wǎng)的通信鏈路同步于NTP服務(wù)器;通過NTP完成對(duì)時(shí)后的主控制器時(shí)間節(jié)點(diǎn)將作為主時(shí)鐘,控制網(wǎng)上的從I/O設(shè)備時(shí)鐘節(jié)點(diǎn)也均使用高精度IEEE 1588協(xié)議完成與主控制器的高精度對(duì)時(shí),實(shí)現(xiàn)了控制器與I/O設(shè)備間微秒級(jí)的精確定時(shí)同步。
FPGA實(shí)現(xiàn)信號(hào)的輸入、輸出及信息處理,具有納秒級(jí)別的數(shù)據(jù)處理和運(yùn)算能力。系統(tǒng)中的主控制器時(shí)鐘節(jié)點(diǎn)和從I/O設(shè)備節(jié)點(diǎn)均采用SoC FPGA抓包技術(shù),輔助實(shí)現(xiàn)高精度IEEE 1588協(xié)議。為了充分體現(xiàn)SoC FPGA中的以太網(wǎng)時(shí)間戳獲取模塊對(duì)電站控制系統(tǒng)時(shí)鐘同步精度的關(guān)鍵影響,本設(shè)計(jì)中的系統(tǒng)時(shí)間節(jié)點(diǎn)均基于賽靈思的SoC FPGA。SoC FPGA內(nèi)置ARM內(nèi)核高性能處理器,本身又具有可編程邏輯單元。SoC FPGA具有高集成、低成本、低功耗、極速中斷反應(yīng)以及高速處理效率等特點(diǎn)。
系統(tǒng)中有關(guān)抓包部分的每個(gè)時(shí)間節(jié)點(diǎn)都包含SoC FPGA、以太網(wǎng)介質(zhì)訪問控制(media access control,MAC)器、以太網(wǎng)物理(physical,PHY)層收發(fā)器這三個(gè)主要模塊。本設(shè)計(jì)采用博通公司的以太網(wǎng)PHY芯片;利用SoC FPGA的可編程邏輯單元實(shí)現(xiàn)三個(gè)以太網(wǎng)MAC,并通過邏輯編程實(shí)現(xiàn)對(duì)MII接口上PTP網(wǎng)絡(luò)報(bào)文的獲取、硬件時(shí)鐘計(jì)數(shù)器等功能。PHY和MAC通過標(biāo)準(zhǔn)的媒體獨(dú)立接口MII相連,內(nèi)嵌CPU通過內(nèi)部級(jí)聯(lián)總線與MAC相連。PHY、MAC和內(nèi)嵌CPU構(gòu)成了通信協(xié)議棧,完成數(shù)據(jù)包的發(fā)送與接收。SoC FPGA的內(nèi)嵌CPU主要負(fù)責(zé)驅(qū)動(dòng)MAC完成相關(guān)的通信功能;作為主時(shí)鐘節(jié)點(diǎn)時(shí),內(nèi)嵌CPU還負(fù)責(zé)通過MAC向本地網(wǎng)絡(luò)廣播Sync報(bào)文。
PTP時(shí)鐘同步系統(tǒng)邏輯是基于IEEE 1588協(xié)議的精準(zhǔn)對(duì)時(shí)原理設(shè)計(jì)的[10]。
SoC FPGA是實(shí)現(xiàn)電站控制系統(tǒng)高精度時(shí)鐘同步的核心器件。其實(shí)現(xiàn)了兩個(gè)主要邏輯功能:一是控制三個(gè)以太網(wǎng)MAC,并使得多網(wǎng)卡具有統(tǒng)一的時(shí)鐘源;二是在協(xié)議棧的物理層獲取精準(zhǔn)時(shí)間戳。基于SoC FPAG的時(shí)鐘同步方案內(nèi)部采用結(jié)構(gòu)化的硬件描述語言,設(shè)計(jì)了MII兼容的以太網(wǎng)發(fā)送/接收數(shù)據(jù)提取模塊、硬件時(shí)鐘計(jì)數(shù)器FRC、雙端口RAM等模塊。其中,PTP報(bào)文時(shí)間戳獲取模塊通過監(jiān)聽MII接口上的信號(hào),抓取符合條件的PTP報(bào)文;時(shí)鐘計(jì)數(shù)器FRC值是SoC FPGA基于外部高精度時(shí)鐘源產(chǎn)生的,發(fā)送和接收捕獲到的PTP報(bào)文,并加蓋當(dāng)前FRC時(shí)間戳;SoC FPGA通過監(jiān)聽并分析MAC和PHY之間MII接口的發(fā)送和接收信號(hào),確定數(shù)據(jù)包的發(fā)送時(shí)間戳和接收時(shí)間戳,并將每個(gè)網(wǎng)絡(luò)發(fā)送和接收的數(shù)據(jù)包都存放在各自的RAM中以供CPU讀寫。由于SoC FPGA內(nèi)嵌CPU,CPU通過內(nèi)部高速級(jí)聯(lián)總線實(shí)時(shí)讀取RAM中存放的網(wǎng)絡(luò)數(shù)據(jù)包,故內(nèi)嵌CPU比外置CPU的架構(gòu)更精簡,讀取速度更快。
網(wǎng)絡(luò)數(shù)據(jù)抓包的程序處理是提取網(wǎng)絡(luò)時(shí)間包的關(guān)鍵,既要保證符合條件的包都被抓取到,又要精確提取想要的時(shí)間域。抓包程序需要對(duì)抓取網(wǎng)絡(luò)數(shù)據(jù)包進(jìn)行匹配,丟掉無用包。所需抓取時(shí)間包的內(nèi)容包括:固定的16進(jìn)制UTP特征碼(08 00 45 11 01 3F)、FRC值、sourceuuid(發(fā)送端MAC)、sourceportid(網(wǎng)絡(luò)序號(hào))和幀起始精準(zhǔn)時(shí)間戳。只要帶同步時(shí)間包的數(shù)據(jù)包中有符合條件的時(shí)間包,F(xiàn)PGA就負(fù)責(zé)抓取,并將所有的數(shù)據(jù)都存放在固定的寄存器中;當(dāng)系統(tǒng)讀取時(shí),一次性地以RAM的形式進(jìn)行傳送。每個(gè)網(wǎng)絡(luò)發(fā)送和接收的數(shù)據(jù)包,都存放在各自的RAM中。其中:RAM0可以進(jìn)行讀寫,RAM1、RAM2、RAM3和RAM4只能讀取相應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)包數(shù)據(jù)。
根據(jù)抓包數(shù)據(jù)讀寫操作處理流程,采用Verilog HDL語言開發(fā)基于SoC FPGA的以太網(wǎng)發(fā)送/接收數(shù)據(jù)提取模塊,采用systemverilog等語言開發(fā)以太網(wǎng)發(fā)送/接收數(shù)據(jù)提取模塊的測(cè)試用例并對(duì)其進(jìn)行充分測(cè)試?;赟oC FPGA,采用硬件方法在MII接口處獲取時(shí)間戳,這是一般CPU無法完成的工作。由于時(shí)間戳的獲取點(diǎn)更靠近傳輸介質(zhì),網(wǎng)絡(luò)傳輸延遲的不確定性大大降低,避免了協(xié)議棧上部的較大時(shí)間抖動(dòng),也消除了報(bào)文傳輸中的網(wǎng)絡(luò)延遲,獲取的發(fā)送和接收時(shí)間戳的精度最高。根據(jù)同步精度的因素影響分析,采用SoC FPGA硬件技術(shù)捕獲時(shí)間戳的方法,對(duì)電站控制系統(tǒng)時(shí)鐘同步精度提升起到了關(guān)鍵的作用,可以避免在軟件層獲取時(shí)間戳精度時(shí)受制于操作系統(tǒng)任務(wù)調(diào)度的影響。
SoC FPGA抓包對(duì)電站控制系統(tǒng)時(shí)鐘同步精度的輔助實(shí)現(xiàn)效果,通過對(duì)電站控制系統(tǒng)平臺(tái)原理樣機(jī)的測(cè)試來顯現(xiàn)。將千兆NTP服務(wù)器連接到GPS或北斗接收機(jī),主時(shí)鐘節(jié)點(diǎn)CPU每隔2 s向網(wǎng)絡(luò)發(fā)送同步時(shí)間報(bào)文。
為了充分測(cè)試SoC FPGA抓包技術(shù)對(duì)電站控制系統(tǒng)的時(shí)鐘同步精度輔助實(shí)現(xiàn)情況,從以下三個(gè)方面對(duì)本設(shè)計(jì)進(jìn)行測(cè)試。
①SoC FPGA抓包數(shù)據(jù)測(cè)試。
②主控制器時(shí)間節(jié)點(diǎn)與UTC同步情況測(cè)試,從I/O設(shè)備時(shí)鐘節(jié)點(diǎn)延遲與偏移情況測(cè)試。
③從I/O設(shè)備時(shí)鐘節(jié)點(diǎn)間SOE事件時(shí)間偏差測(cè)試。
通過對(duì)SoC FPGA在MII接口處抓取的網(wǎng)絡(luò)報(bào)文測(cè)試,檢驗(yàn)主、從時(shí)鐘節(jié)點(diǎn)之間傳輸?shù)膱?bào)文是否為IEEE 1588協(xié)議規(guī)定的報(bào)文。將主、從時(shí)鐘以及測(cè)試上位機(jī)都通過網(wǎng)線連接在交換機(jī)上,即可在上位機(jī)上利用Wireshark網(wǎng)絡(luò)包抓取軟件獲取主、從時(shí)鐘之間傳輸?shù)木W(wǎng)絡(luò)報(bào)文。
通過從SoC FPGA抓取到的網(wǎng)絡(luò)報(bào)文,可以清楚地看到發(fā)送的各個(gè)報(bào)文的情況,協(xié)議類型為PTP V1版本。通過對(duì)所抓取的同步時(shí)間報(bào)文進(jìn)行解析,可以得到抓取報(bào)文的UTP特征碼(08 00 45 11 01 3F)。
主、從時(shí)鐘以及測(cè)試機(jī)都通過網(wǎng)線連接在交換機(jī)上。上位機(jī)可清楚地顯示主控制器時(shí)間節(jié)點(diǎn)通過NTP服務(wù)器與UTC時(shí)間同步的情況,從I/O設(shè)備時(shí)鐘節(jié)點(diǎn)與主節(jié)點(diǎn)間的延遲與偏移情況。
通過從主控制器時(shí)鐘節(jié)點(diǎn)輸出的時(shí)間值和從I/O設(shè)備時(shí)鐘節(jié)點(diǎn)延遲與偏移測(cè)量值可以看出,主、從時(shí)鐘節(jié)點(diǎn)同步完成后的某一時(shí)刻,從時(shí)鐘節(jié)點(diǎn)與主時(shí)鐘節(jié)點(diǎn)的偏移為10.403 μs,實(shí)現(xiàn)了主控制器時(shí)鐘節(jié)點(diǎn)和從I/O設(shè)備從時(shí)鐘節(jié)點(diǎn)間微秒級(jí)的高精度同步對(duì)時(shí)。
SOE是一種帶時(shí)間戳的數(shù)字量輸入(data input,DI)采集模塊。在發(fā)生SOE事件時(shí),由SOE模塊記錄SOE時(shí)間戳?;陔娬究刂葡到y(tǒng)原理樣機(jī)的時(shí)鐘同步系統(tǒng)構(gòu)建一個(gè)SOE最小系統(tǒng):將同一SOE變位事件,同時(shí)發(fā)送給兩對(duì)不同控制器管轄下的兩個(gè)不同SOE模塊;通過對(duì)兩個(gè)SOE模塊記錄的SOE事件時(shí)標(biāo)偏差,可以進(jìn)一步了解整個(gè)電站控制系統(tǒng)的時(shí)鐘同步精度是否滿足電站控制系統(tǒng)需求。SOE最小系統(tǒng)結(jié)構(gòu)如圖3所示。
圖3 SOE 最小系統(tǒng)結(jié)構(gòu)示意圖
首先,組建一個(gè)SOE最小系統(tǒng),將任意兩個(gè)SOE模塊(采樣頻率為10 kS/s)、兩對(duì)控制器以及測(cè)試上位機(jī)都通過網(wǎng)線連接到各自的交換機(jī)上,SOE信號(hào)發(fā)生器分別接入兩個(gè)SOE模塊的任一通道。
抓取兩個(gè)SOE模塊記錄的大量SOE點(diǎn),通過分析,在測(cè)試上位機(jī)顯示兩個(gè)從時(shí)鐘節(jié)點(diǎn)間SOE事件的時(shí)間戳偏差,如圖4所示。
圖4 SOE事件時(shí)間戳偏差
由圖4可以看到,在電站控制系統(tǒng)時(shí)鐘同步穩(wěn)定過程中,SOE事件時(shí)間戳偏差在±300 μs以內(nèi),滿足SOE相對(duì)時(shí)間誤差不大于1 ms的要求。由于SOE事件時(shí)間戳偏差是由電站控制系統(tǒng)的時(shí)間同步精度決定的,因此,SOE時(shí)間戳偏差測(cè)試結(jié)果也間接表明了整個(gè)電站控制系統(tǒng)時(shí)鐘達(dá)到了微秒級(jí)的時(shí)鐘同步精度。
基于SoC FPGA抓包輔助技術(shù)實(shí)現(xiàn)的時(shí)鐘同步系統(tǒng),其所達(dá)到的時(shí)鐘同步精度指標(biāo)完全滿足電站控制系統(tǒng)時(shí)鐘同步精度的要求,并在核電儀控系統(tǒng)工程樣機(jī)上得以驗(yàn)證?;诒驹O(shè)計(jì)的電站控制系統(tǒng)已成功應(yīng)用于國內(nèi)某火力發(fā)電廠的200 MW機(jī)組,計(jì)劃進(jìn)一步應(yīng)用于更大功率的發(fā)電機(jī)組;驗(yàn)證成熟后,將正式用于核電站控制系統(tǒng)中。
為了滿足電站控制系統(tǒng)中多網(wǎng)絡(luò)節(jié)點(diǎn)統(tǒng)一時(shí)鐘源和精確時(shí)鐘同步的要求,本文設(shè)計(jì)并實(shí)現(xiàn)了基于SoC FPGA抓包的IEEE 1588對(duì)時(shí)協(xié)議時(shí)鐘同步。該設(shè)計(jì)基于SoC FPGA 抓包,獲得了精確的時(shí)間戳,降低了電站控制系統(tǒng)時(shí)鐘同步設(shè)計(jì)的復(fù)雜度。硬件采用SoC FPGA實(shí)現(xiàn)時(shí)鐘節(jié)點(diǎn),提高了電站控制系統(tǒng)的集成度。
通過對(duì)電站控制系統(tǒng)平臺(tái)原理樣機(jī)的長期系統(tǒng)測(cè)試和實(shí)際應(yīng)用,該設(shè)計(jì)所達(dá)時(shí)鐘精度指標(biāo)完全滿足電站控制系統(tǒng)全站時(shí)鐘節(jié)點(diǎn)設(shè)備同步時(shí)鐘精度的要求,從而可廣泛應(yīng)用于核電、火電、燃機(jī)等各領(lǐng)域的電站控制系統(tǒng)中,保障電站控制系統(tǒng)的穩(wěn)定、可靠、安全運(yùn)行。
參考文獻(xiàn):
[1] 顧軍.AP1000核電廠系統(tǒng)與設(shè)備[M].北京:原子能出版社,2010:465-475.
[2] 王常力,羅安.分布式控制系統(tǒng)(DCS)設(shè)計(jì)與應(yīng)用實(shí)例[M].北京:電子工業(yè)出版社,2010:51-67.
[3] 廉玉.工業(yè)以太網(wǎng)時(shí)鐘同步的研究與設(shè)計(jì)[D].天津:天津工業(yè)大學(xué),2012:21-50.
[4] 汪祺航,吳在軍,趙上林,等.IEEE 1588時(shí)鐘同步技術(shù)在數(shù)字化變電站中的應(yīng)用[J].電力系統(tǒng)保護(hù)與控制,2010,38(19):137-141.
[5] 任愛鋒,羅豐,宋士權(quán),等.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì) [M].西安:西安電子科技大學(xué)出版社,2014:179-239.
[6] 楊傳順,袁建,李國華.分布式控制系統(tǒng)精確時(shí)鐘同步技術(shù)[J].自動(dòng)化儀表,2012,33(4):66-69.
[7] 曹禹,鄒磊,時(shí)維鐸,等.基于IEEE 1588時(shí)間同步系統(tǒng)的硬件實(shí)現(xiàn)[J].電測(cè)與儀表,2013,50(3):107-112.
[8] EIDSON J,KANG L.IEEE standard for a precision clock synchronization protocol for networked measurement and control systems[C]//IEEE,2008.
[9] 覃斌毅,陳鐵軍,邱杰,等.基于IEEE 1588協(xié)議時(shí)鐘同步精度影響因素的研究[J].計(jì)算機(jī)測(cè)量與控制,2014,22(10):3312-3315.
[10]戚明珠.基于FPGA的IEEE 1588 IP核開發(fā)[D]. 濟(jì)南:山東大學(xué),2012:34-63.