殷愛(ài)菡,劉方仁
(華東交通大學(xué)信息工程學(xué)院,江西南昌 330013)
以太無(wú)源光網(wǎng)絡(luò)EPON(ethernet passive optical network,EPON)是光接入網(wǎng)的重要解決方案之一[1],為了實(shí)現(xiàn)EPON系統(tǒng)良好的可擴(kuò)展性和方便的操作維護(hù)管理,在系統(tǒng)開(kāi)通運(yùn)行后,新連接的或者掉電的光網(wǎng)絡(luò)單元ONU(optical network unit,ONU)需要能夠自動(dòng)加入到系統(tǒng)中,而不影響其它正常工作的ONU。以往關(guān)于ONU注冊(cè)的研究,大部分集中在對(duì)ONU注冊(cè)算法的研究,如對(duì)ONU注冊(cè)窗口大小和周期的選擇[2],以及對(duì)ONU注冊(cè)流程及其安全性研究[3],很少涉及到ONU注冊(cè)的硬件實(shí)現(xiàn)。本文提出了一種基于FPGA的ONU注冊(cè)方案,且采用自頂向下的設(shè)計(jì)方法,通過(guò)硬件描述語(yǔ)言Verilog HDL編程實(shí)現(xiàn),該方案具有占用硬件資源少、結(jié)構(gòu)簡(jiǎn)單、可靠性高和可移植性等優(yōu)點(diǎn)。
ONU的注冊(cè)是指新連接的或斷線的ONU接入網(wǎng)絡(luò),能夠被光線路終端OLT(optical line terminal,OLT)自動(dòng)識(shí)別,這一過(guò)程由OLT來(lái)驅(qū)動(dòng)。注冊(cè)過(guò)程中需要的控制幀有:傳送注冊(cè)授權(quán)和帶寬授權(quán)的GATE幀,傳送注冊(cè)請(qǐng)求的REGISTER_REQ幀,傳送注冊(cè)信息的REGISTER幀,傳送注冊(cè)確認(rèn)信息的REGISTER_ACK幀。具體的注冊(cè)過(guò)程及原理如下.
1)OLT周期性的向系統(tǒng)各個(gè)ONU廣播發(fā)送注冊(cè)授權(quán)GATE幀,讓新接入的或者斷線的ONU有機(jī)會(huì)被OLT識(shí)別。OLT發(fā)送注冊(cè)授權(quán)GATE幀后,啟動(dòng)發(fā)現(xiàn)窗口定時(shí)器,若定時(shí)器超時(shí)未收到ONU的應(yīng)答,則關(guān)閉發(fā)現(xiàn)窗口,等待下一周期的到來(lái)[4]。
2)已注冊(cè)的ONU忽略注冊(cè)授權(quán)GATE幀,而未注冊(cè)的ONU接收到注冊(cè)授權(quán)GATE幀后,首先根據(jù)時(shí)間標(biāo)簽調(diào)整本地時(shí)鐘,然后在授權(quán)的時(shí)隙內(nèi)利用REGISTER_REQ幀發(fā)送注冊(cè)請(qǐng)求信息。若ONU在發(fā)送注冊(cè)請(qǐng)求后的指定時(shí)間內(nèi)未收到OLT發(fā)來(lái)的REGISTER幀,則認(rèn)為發(fā)生了注冊(cè)沖突。ONU進(jìn)行隨機(jī)延時(shí)后重新發(fā)送注冊(cè)請(qǐng)求,直至收到OLT發(fā)來(lái)的REGISTER幀[5]。
3)OLT在發(fā)現(xiàn)窗口內(nèi)收到一個(gè)有效地注冊(cè)請(qǐng)求消息后,首先給新發(fā)現(xiàn)的ONU分配邏輯鏈路標(biāo)識(shí)LLID(logical link identifier),并將LLID與該ONU的MAC地址綁定起來(lái),同時(shí)利用REGISTER幀給該ONU發(fā)送注冊(cè)信息;然后OLT再給該ONU發(fā)送帶寬授權(quán)GATE幀以使其向OLT發(fā)送注冊(cè)確認(rèn)幀[6]。
4)未注冊(cè)的ONU收到REGISTER幀后,利用該消息中攜帶的新分配的LLID替換未注冊(cè)時(shí)的LLID,同時(shí)等待OLT發(fā)送帶寬授權(quán)GATE幀。收到授權(quán)后,ONU利用REGISTER_ACK幀向OLT發(fā)送注冊(cè)確認(rèn)信息,這樣就完成了整個(gè)注冊(cè)過(guò)程。具體的注冊(cè)過(guò)程如圖1所示。
根據(jù)ONU的注冊(cè)過(guò)程以及模塊化的FPGA設(shè)計(jì)思想,將ONU注冊(cè)作為一個(gè)模塊來(lái)實(shí)現(xiàn),其總體設(shè)計(jì)框圖如圖2所示。為了更好地說(shuō)明ONU注冊(cè)的FPGA實(shí)現(xiàn)過(guò)程,設(shè)計(jì)了一個(gè)由OLT和3個(gè)ONU組成的簡(jiǎn)單注冊(cè)模塊。由設(shè)計(jì)框圖可知,注冊(cè)模塊包括:?jiǎn)?dòng)注冊(cè)模塊、OLT端控制幀處理模塊、單播/廣播控制模塊和ONU端控制幀處理模塊等4個(gè)子模塊。
ONU注冊(cè)過(guò)程的第一步是OLT以廣播的方式周期發(fā)送注冊(cè)授權(quán)GATE幀,由于該幀是周期發(fā)送的,且該GATE幀的內(nèi)容是固定的,因此單獨(dú)設(shè)計(jì)一個(gè)模塊來(lái)周期發(fā)送注冊(cè)授權(quán)GATE幀。注冊(cè)授權(quán)GATE幀的長(zhǎng)度為72個(gè)字節(jié),故啟動(dòng)注冊(cè)模塊的設(shè)計(jì)中將該GATE幀存儲(chǔ)在一個(gè)長(zhǎng)度為18,位寬為32的數(shù)組中。clk_gate為發(fā)送注冊(cè)授權(quán)GATE幀的標(biāo)識(shí)信號(hào),當(dāng)clk_gate產(chǎn)生一個(gè)高電平時(shí),OLT就立即發(fā)送注冊(cè)授權(quán)GATE幀。
OLT端控制幀處理模塊的主要功能是發(fā)送REGISTER幀和帶寬授權(quán)GATE幀,處理ONU發(fā)來(lái)的REGISTER_REQ幀和REGISTER_ACK幀??刂茙陌l(fā)送與接收可以利用FIFO來(lái)實(shí)現(xiàn)[7]。考慮到控制幀的長(zhǎng)度為72字節(jié),故FIFO的位寬設(shè)定為32,深度設(shè)定為18。OLT端控制幀處理模塊接收到ONU發(fā)來(lái)的控制幀后將其保存到64位的移位寄存器中,然后判斷移位寄存器的數(shù)值是不是幀前導(dǎo)碼。若不是幀前導(dǎo)碼,則繼續(xù)檢測(cè);若是,則將計(jì)數(shù)器置0,并開(kāi)始計(jì)數(shù),直到計(jì)數(shù)器的值為8時(shí),再進(jìn)行數(shù)據(jù)檢測(cè)。此時(shí)檢測(cè)的是操作碼字段的值,根據(jù)操作碼字段的值來(lái)進(jìn)行幀識(shí)別,從而對(duì)不同的幀作出相應(yīng)的處理。操作碼0x0002代表GATE幀,0x0004代表REGISTER_REQ幀,0x0005代表REGISTER幀,0x0006代表REGISTER_ACK幀,其中0x表示十六進(jìn)制[8]。該模塊程序設(shè)計(jì)流程圖如圖3所示。
在ONU的注冊(cè)過(guò)程中,OLT控制幀的發(fā)送方式分為廣播發(fā)送與單播發(fā)送,注冊(cè)授權(quán)GATE幀和REG-ISTER幀為廣播發(fā)送,帶寬授權(quán)GATE幀為單播發(fā)送。當(dāng)控制幀進(jìn)入單播/廣播控制模塊時(shí),檢測(cè)該幀的操作碼字段,從而識(shí)別該幀的類型,選擇相應(yīng)發(fā)送方式。單播/廣播控制模塊程序設(shè)計(jì)流程圖如圖4所示。
ONU端控制幀處理模塊的主要功能是接收注冊(cè)授權(quán)GATE幀、帶寬授權(quán)GATE幀,發(fā)送REGISTER_REQ幀和REGISTER_ACK幀。ONU端控制幀處理模塊也采用FIFO來(lái)進(jìn)行數(shù)據(jù)處理的,將接收到的數(shù)據(jù)存儲(chǔ)到64位的移位寄存器中,檢測(cè)其操作碼字段的值,從而確定幀的類型。當(dāng)ONU連續(xù)收到REGISTER幀和帶寬授權(quán)GATE幀后,ONU向OLT發(fā)送一個(gè)REGISTER_ACK幀,報(bào)告注冊(cè)結(jié)果。ONU端控制幀處理模塊程序設(shè)計(jì)流程圖如圖5所示。
ONU注冊(cè)的FPGA實(shí)現(xiàn)和功能驗(yàn)證是在Modelsim SE 6.5和QuartusⅡ7.1環(huán)境下完成的。驗(yàn)證所采用的芯片是CycloneⅡ系列芯片EP2C8Q208C7。為了對(duì)ONU注冊(cè)過(guò)程進(jìn)行仿真,特設(shè)定如下參數(shù):OLT的MAC地址為0x201010011030,LLID為0x1fff;ONU1的MAC地址為0x201010011001,ONU2的MAC地址為0x201010011002,ONU3的MAC地址為0x201010011003;注冊(cè)成功后OLT分配給ONU1,ONU2,ONU3的LLID分別為0x1111,0x2222,0x3333。
ONU注冊(cè)的仿真過(guò)程如圖6所示,圖6(a)是OLT發(fā)送的注冊(cè)授權(quán)GATE幀,圖6(b)是OLT接收到ONU1發(fā)送的REGISTER_REQ幀,圖6(c)和圖6(d)分別是OLT向ONU1發(fā)送的REGISTER幀和帶寬授權(quán)GATE幀。ONU注冊(cè)成功的確認(rèn)結(jié)果如圖7所示,圖中的數(shù)據(jù)是OLT接收到ONU發(fā)送的REGISTER_ACK確認(rèn)幀。該幀的第1,2組數(shù)據(jù)是幀前導(dǎo)碼,第3,4,5組數(shù)據(jù)是目的地址和源地址,第6組數(shù)據(jù)是幀類型標(biāo)識(shí)和操作碼,第7組數(shù)據(jù)是時(shí)戳,第8組數(shù)據(jù)是數(shù)據(jù)域,其前2位數(shù)字表示注冊(cè)成功與否,若為0x01則表示注冊(cè)成功;中間4位數(shù)字表示注冊(cè)完成后OLT分配給某個(gè)ONU的LLID,后面2位數(shù)字則是對(duì)同步時(shí)間值作的回應(yīng)。
圖7(a)(b)(c)分別是OLT接收到ONU1,ONU2,ONU3發(fā)送的REGISTER_ACK幀。從圖7中的結(jié)果可以看出,圖7(a)中的第3組數(shù)據(jù)和第4組數(shù)據(jù)的前4位為0x201010011030,為OLT的MAC地址,表示該幀是發(fā)送給OLT的;第4組數(shù)據(jù)的后4位和第5組數(shù)據(jù)為0x201010011001,為ONU1的MAC地址,表示該幀是從ONU1發(fā)出的;第6組數(shù)據(jù)的前4位為0x8808,表示該幀的類型為控制幀,其后4位為0x0006,表示該幀為注冊(cè)確認(rèn)幀;第7組數(shù)據(jù)表示ONU1發(fā)送該確認(rèn)幀時(shí)的本地時(shí)間值;第8組數(shù)據(jù)的前2位數(shù)字為0x01,且中間4位數(shù)字為1111,這說(shuō)明ONU1注冊(cè)成功,且分配的LLID與前面預(yù)期設(shè)定的分配值相同。同理,圖7(b)中的第8組數(shù)據(jù)的前6位數(shù)字為0x012222,圖7(c)中的第8組數(shù)據(jù)的前6位數(shù)字為0x013333。綜上所述,仿真結(jié)果驗(yàn)證了該ONU注冊(cè)方案的有效性和可行性。
通過(guò)對(duì)ONU注冊(cè)的各個(gè)模塊的程序設(shè)計(jì),在Altera的平臺(tái)上實(shí)現(xiàn)了FPGA硬件電路,成功實(shí)現(xiàn)了提出的ONU注冊(cè)方案,仿真結(jié)果與預(yù)期的理論值完全相符。該方案設(shè)計(jì)靈活,具有可移植性,能很容易地?cái)U(kuò)展為16個(gè)或者32個(gè)ONU的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),可廣泛地應(yīng)用于新一代無(wú)源光接入網(wǎng)中。
[1]SíLVIAPATO,HENRIQUE SILVA,PAULO MONTEIRO.Forward error correction in 10 Gbits/s Ethernet passive optical networks[J].Journal of Optical Networking,2009,8(1):84-94
[2]戚世杰,李迎春,林如儉.EPON系統(tǒng)注冊(cè)過(guò)程[J].上海大學(xué)學(xué)報(bào):自然科學(xué)版,2005(11):346-349.
[3]簡(jiǎn)化,李慶山,秦前清.EPON中ONU的自動(dòng)加入技術(shù)及實(shí)現(xiàn)[J].光通信技術(shù),2004(9):18-19.
[4]朱華偉,侯曉榮,何崢.10 G EPON系統(tǒng)ONU注冊(cè)技術(shù)研究[J].光通信技術(shù),2010(2):1-4.
[5]張多英,李學(xué)易,劉偉平,等.EPON系統(tǒng)中的MPCP協(xié)議研究[J].應(yīng)用光學(xué),2004,25(4):21-25.
[6]李霞,黃俊,朱雁程.EPON中LLID配置方式[J].光通信技術(shù),2009(5):8-10.
[7]陳軍,張遠(yuǎn)見(jiàn),楊俊.一種節(jié)能型可升級(jí)異步FIFO的FPGA實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2009(4):66-69.
[8]LAN/MAN Standards Committee of the IEEE Computer Society.IEE Std 802.3ah-2004[S].New York:The Institue of Electrical and Electronics Engineers:2004.