趙曉宇,江可揚(yáng)
(武漢船用電力裝置研究所,武漢 430064)
?
基于SERDES的同步光纖環(huán)網(wǎng)設(shè)計(jì)與實(shí)現(xiàn)
趙曉宇,江可揚(yáng)
(武漢船用電力裝置研究所,武漢 430064)
摘要:本文介紹了一種基于SERDES的同步光纖環(huán)網(wǎng)的設(shè)計(jì)以及實(shí)現(xiàn)方法,其實(shí)現(xiàn)方法簡(jiǎn)單,同步效果好。通過(guò)采用FPGA中的SERDES收發(fā)器可使得信息傳輸速度達(dá)到1.25 Gbps,并通過(guò)鏈路協(xié)議有效的控制了信息在每個(gè)節(jié)點(diǎn)的傳輸延時(shí),使得網(wǎng)絡(luò)傳輸周期大大的減小,從而實(shí)現(xiàn)對(duì)高頻率控制的支持。本文的通信協(xié)議還實(shí)現(xiàn)了信號(hào)采集的同步,從而提高控制精度。最終通過(guò)在硬件系統(tǒng)上的實(shí)驗(yàn),驗(yàn)證了設(shè)計(jì)的正確性和可靠性。
關(guān)鍵字:SERDEFPGA實(shí)現(xiàn)同步光纖環(huán)網(wǎng)信號(hào)同步采集實(shí)時(shí)通信Verilog編程
近年來(lái)隨著經(jīng)濟(jì)的發(fā)展,電力的應(yīng)用領(lǐng)域越來(lái)越廣泛,對(duì)電力變換的需求也大幅提高,對(duì)大功率變換器的需求也越來(lái)越高。由于受限于器件的功率水平,目前大功率變換器大多采用功率模塊級(jí)聯(lián)或變流器并聯(lián)的方式實(shí)現(xiàn),而這都對(duì)控制器造成更多的外部接口要求、更大的數(shù)據(jù)傳輸量、更快的運(yùn)算能力等。
為解決復(fù)雜系統(tǒng)所面臨的這些問(wèn)題,美國(guó)海軍部于1995年提出了PEBB標(biāo)準(zhǔn)電力電子模塊的概念,以求能夠?qū)@些問(wèn)題提供一種解決方案。這種設(shè)計(jì)思想自其提出便受到了廣泛的關(guān)注,許多科研機(jī)構(gòu)開(kāi)始對(duì)大功率電力電子系統(tǒng)的分布式控制、模塊化設(shè)計(jì)以及相關(guān)通信方案進(jìn)行了大量的研究,并提供了一些解決方案[5]。光纖環(huán)網(wǎng)便是其中一種可靠的解決方案。
由于環(huán)形結(jié)構(gòu)每通過(guò)一個(gè)節(jié)點(diǎn)都會(huì)造成延時(shí),且會(huì)隨著節(jié)點(diǎn)數(shù)增加而逐漸積累,所以要采用環(huán)形拓?fù)渚捅仨毥鉀Q環(huán)形通信的同步性問(wèn)題。目前在工業(yè)以太網(wǎng)中,基本都采用1588協(xié)議來(lái)實(shí)現(xiàn)各個(gè)節(jié)點(diǎn)的同步,但1588協(xié)議實(shí)現(xiàn)復(fù)雜,編程難度很大。在眾多的工業(yè)以太網(wǎng)解決方案中比較有特點(diǎn)的是EtherCAT,其所采用的FMMU技術(shù)使得串行數(shù)據(jù)以數(shù)據(jù)列車(chē)的形式在環(huán)網(wǎng)中傳輸[4],在各節(jié)點(diǎn)實(shí)現(xiàn)邊收邊發(fā),同時(shí)將要上傳的數(shù)據(jù)裝入數(shù)據(jù)列車(chē)中。因此大大的減少了傳輸延時(shí),實(shí)現(xiàn)了較高的同步精度,但其技術(shù)細(xì)節(jié)并未對(duì)外披露。
目前國(guó)內(nèi)也在這方面有了一定的研究如文獻(xiàn)[2]和[3]所提出的軟件可控的環(huán)形高速光纖網(wǎng)絡(luò)拓?fù)涞目刂平Y(jié)構(gòu),以及論文[1]所提出的智能的改進(jìn)的FDDI標(biāo)準(zhǔn)的通訊網(wǎng)絡(luò)拓?fù)洹?/p>
本文光纖環(huán)網(wǎng)中存在的節(jié)點(diǎn)延時(shí)、節(jié)點(diǎn)間同步、節(jié)點(diǎn)間采樣同步、傳輸協(xié)議等問(wèn)題進(jìn)行了進(jìn)一步的研究。提出了一種簡(jiǎn)單的基于SERDES的同步光纖環(huán)網(wǎng)實(shí)現(xiàn)方法提高了通信速率、降低了節(jié)點(diǎn)延時(shí),并得到了更好的同步性能。并通過(guò)實(shí)驗(yàn)驗(yàn)證了其正確性。
SREDES是SERializer和DESerializer的英文縮寫(xiě),即串行收發(fā)器。它主要有接收單元和發(fā)送單元兩部分組成,能夠支持?jǐn)?shù)G甚至幾十G的傳輸速率,具體根據(jù)不同的器件而不同,且不同器件的實(shí)現(xiàn)機(jī)理也不盡相同。本文就以Altra的Stratix GX芯片內(nèi)部收發(fā)器為例進(jìn)行分析。其收發(fā)器結(jié)構(gòu)如圖1所述。
收發(fā)器發(fā)送部分主要是將要發(fā)送的并行數(shù)據(jù)轉(zhuǎn)化為串行數(shù)據(jù)并對(duì)外發(fā)送。為保證數(shù)據(jù)能夠在接收端正確的恢復(fù),在發(fā)送端還對(duì)數(shù)據(jù)進(jìn)行了一定的處理如:加入校驗(yàn)信息、進(jìn)行8B10B編碼、設(shè)置FIFO緩沖器等。
收發(fā)器的接收部分負(fù)責(zé)將發(fā)送來(lái)的串行數(shù)據(jù)進(jìn)行恢復(fù),并將串行數(shù)據(jù)轉(zhuǎn)換為并行數(shù)據(jù)。接收端要實(shí)現(xiàn)數(shù)據(jù)的正確解析是有難度的,由于數(shù)據(jù)在高速傳輸時(shí)會(huì)產(chǎn)生嚴(yán)重偏移和抖動(dòng),在接收端很難進(jìn)行捕捉和識(shí)別,特別對(duì)于這種跨時(shí)鐘域的異步傳輸。所以在SERDES的接收端有特殊的機(jī)制來(lái)保證數(shù)據(jù)的可靠恢復(fù)。
其數(shù)據(jù)恢復(fù)原理如圖2和圖3所示。
圖1 SERDES收發(fā)器原理圖
圖2 數(shù)據(jù)恢復(fù)時(shí)鐘產(chǎn)生電路
接收端的PLL通過(guò)如圖2所示的電路產(chǎn)生依次相差45°的8個(gè)時(shí)鐘,然后分別用這些時(shí)鐘對(duì)輸入的串行數(shù)據(jù)進(jìn)行采樣,根據(jù)采樣結(jié)果從8個(gè)時(shí)鐘中選取最優(yōu)采樣時(shí)鐘,然后依據(jù)這個(gè)最優(yōu)時(shí)鐘進(jìn)行串行數(shù)據(jù)的恢復(fù)。
同步光纖環(huán)網(wǎng)中節(jié)點(diǎn)間的同步是整個(gè)拓?fù)浣Y(jié)構(gòu)的關(guān)鍵,本節(jié)就從數(shù)據(jù)同步和采樣同步兩個(gè)方面對(duì)其原理進(jìn)行研究。
圖3 最優(yōu)時(shí)鐘選擇原理
2.1節(jié)點(diǎn)間同步原理
主節(jié)點(diǎn)將數(shù)據(jù)和指令封裝后,向下傳輸依次通過(guò)各個(gè)節(jié)點(diǎn),各個(gè)節(jié)點(diǎn)取下自己對(duì)應(yīng)的數(shù)據(jù)并將狀態(tài)數(shù)據(jù)插入到幀的尾部,最后返回主節(jié)點(diǎn),主節(jié)點(diǎn)根據(jù)返回的狀態(tài)來(lái)判斷各個(gè)節(jié)點(diǎn)是否正確接收到了數(shù)據(jù)。本文采用的環(huán)形拓?fù)浣Y(jié)構(gòu)如圖4所示。
在數(shù)據(jù)傳輸環(huán)節(jié)延時(shí)主要由節(jié)點(diǎn)延時(shí)tnode和傳輸線(xiàn)延時(shí)tline,其中tnode為固定延時(shí)與傳輸協(xié)議和器件有關(guān);tline為可變延時(shí)與光纖長(zhǎng)度相關(guān),一般為3~5 ns/m。本文中忽略tline造成的影響,以等長(zhǎng)應(yīng)用為背景進(jìn)行分析。所以單個(gè)節(jié)點(diǎn)造成的延時(shí)tdelay可表示為:
所以對(duì)于有n個(gè)節(jié)點(diǎn)的系統(tǒng),第m個(gè)節(jié)點(diǎn)所需補(bǔ)償?shù)难訒r(shí)tcomp為:
補(bǔ)償延時(shí)由同步控制模塊來(lái)實(shí)現(xiàn)。
圖5 節(jié)點(diǎn)內(nèi)部傳輸控制功能圖
2.2數(shù)據(jù)同步過(guò)程
數(shù)據(jù)流向控制:接收端收到數(shù)據(jù)首先解析幀頭來(lái)定位自己的數(shù)據(jù)段,并根據(jù)數(shù)據(jù)校驗(yàn)結(jié)果修改幀頭。接收判斷邏輯用于控制數(shù)據(jù)流向,若為本單元的數(shù)據(jù)則將其存儲(chǔ)至數(shù)據(jù)同步模塊,若不是則向下轉(zhuǎn)發(fā),若為上傳字節(jié)段則將發(fā)送數(shù)據(jù)緩沖區(qū)的數(shù)據(jù)接至發(fā)送端。
同步控制:當(dāng)接收數(shù)據(jù)緩沖區(qū)完成接收后,便啟動(dòng)同步控制模塊工作,同步控制模塊根據(jù)公式(2)的延時(shí)后觸發(fā)數(shù)據(jù)更新,并同時(shí)啟動(dòng)采樣,從而實(shí)現(xiàn)數(shù)據(jù)傳輸和采樣的同步。
本文中光纖環(huán)網(wǎng)的同步控制采用FPGA芯片來(lái)實(shí)現(xiàn),收發(fā)器采用FPGA內(nèi)部標(biāo)準(zhǔn)的SEDRES內(nèi)核來(lái)實(shí)現(xiàn),其它控制協(xié)議采用Verilog語(yǔ)言編程實(shí)現(xiàn)。
協(xié)議實(shí)現(xiàn)過(guò)程為,主節(jié)點(diǎn)開(kāi)機(jī)發(fā)送初始化幀,確定各節(jié)點(diǎn)位置,同時(shí)各節(jié)點(diǎn)上傳各自的ID信息供主節(jié)點(diǎn)識(shí)別設(shè)備。接著主節(jié)點(diǎn)發(fā)送延時(shí)測(cè)量幀和延時(shí)設(shè)定幀,完成各節(jié)點(diǎn)的同步設(shè)定工作。接著進(jìn)入工作狀態(tài)發(fā)送正常的工作幀。其協(xié)議格式如圖6所示,虛線(xiàn)部分為各節(jié)點(diǎn)插入數(shù)據(jù)。
協(xié)議幀配合圖5所示的各功能單元來(lái)實(shí)現(xiàn)節(jié)點(diǎn)延時(shí)測(cè)量、節(jié)點(diǎn)延時(shí)控制、上傳數(shù)據(jù)的插入隊(duì)列、節(jié)點(diǎn)數(shù)據(jù)接收、非節(jié)點(diǎn)數(shù)據(jù)的轉(zhuǎn)發(fā)等控制,最終實(shí)現(xiàn)環(huán)形內(nèi)各節(jié)點(diǎn)數(shù)據(jù)接收和采樣的同步。
圖6 協(xié)議幀格式
試驗(yàn)硬件平臺(tái)如圖7所示,包括一個(gè)主節(jié)點(diǎn)和兩個(gè)從節(jié)點(diǎn)。
圖7 光纖環(huán)網(wǎng)硬件測(cè)試平臺(tái)
圖8是節(jié)點(diǎn)間同步性測(cè)試波形,當(dāng)從節(jié)點(diǎn)完成一次接收后便控制FPGA的IO引腳翻轉(zhuǎn)波形,從而輸出一個(gè)方波,從實(shí)驗(yàn)中可看出其同步精度達(dá)到25 ns。
圖8 節(jié)點(diǎn)同步性測(cè)試
從試驗(yàn)結(jié)果可以看出,節(jié)點(diǎn)間達(dá)到了很高的同步性,從而驗(yàn)證了原理的可行性和正確性。對(duì)于實(shí)際應(yīng)用有較強(qiáng)的指導(dǎo)意義。
參考文獻(xiàn):
[1]杭麗君,胡海兵,呂征宇,等.基于電力電子標(biāo)準(zhǔn)模
塊的高速智能通訊網(wǎng)絡(luò)拓?fù)洌跩].中國(guó)電機(jī)工程學(xué)報(bào),2006,26(20):50-56.
[2]孫馳,張成,艾勝.一種實(shí)用的大容量電力電子系統(tǒng)高速光纖環(huán)網(wǎng)拓?fù)浼捌鋮f(xié)議[J].中國(guó)電機(jī)工程學(xué)報(bào),2012,(15):63-73.
[3]張成.大容量電力電子分布式控制系統(tǒng)關(guān)鍵技術(shù)研究[D].華中科技大學(xué),2014.
[4]Orfanus D,Indergaard R,Prytz G,et al.EtherCAT-based platform for distributed control in high-performance industrial applications[C]//Emerging Technologies & Factory Automation (ETFA),2013 IEEE 18th Conference on.IEEE,2013:1-8.
[5]錢(qián)照明,張軍明,謝小高,等.電力電子系統(tǒng)集成研究進(jìn)展與現(xiàn)狀[J].電工技術(shù)學(xué)報(bào),2006,21(3):1-14.
Design and Realization of SERDES-based Synchronous Ring Fiber Net
Zhao Xiaoyu,Jiang Keyang
(Wuhan Institute of Marine Electric Propulsion,Wuhan 430064,China)
Abstract:This paper introduces a design and realization method for synchronous ring fiber net with SERDES,which very easy to realize and can reach very high synchronization.By using the SERDES core in FPGA,the communication speed can reach as fast as 1.25Gbps,and the delay caused by each node in the ring can be significantly reduced by link protocol,which make the cycle time very short and can support high speed control.Also the paper brings up a synchronous signal acquisition method,which is very helpful in improving control accuracy.Finally,it gives the test results on hardware platform,which verify the correction and reliability of the design.
Keywords:SERDES; FPGA implementation; synchronous ring fiber net; synchronous signal acquisition; Real-time communication; Verilog programming
中圖分類(lèi)號(hào):TP791
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1003-4862(2016)06-0006-03
收稿日期:2015-12-23
作者簡(jiǎn)介:趙曉宇(1987-),男,工程師。研究方向:電力電子與電力傳動(dòng)。