摘要:本文介紹了如何采用VLAN(Virtual Local Area Network)技術(shù)實(shí)現(xiàn)EoPDH(Ethernet over PDH)網(wǎng)橋芯片中的業(yè)務(wù)匯聚功能以及多路以太網(wǎng)共享一個(gè)信道傳輸?shù)墓δ堋S懻摿薞LAN技術(shù)的工作原理,提出了實(shí)現(xiàn)方案,并介紹了主要模塊的電路設(shè)計(jì),通過FPGA驗(yàn)證了設(shè)計(jì)的可行性。
關(guān)鍵詞:以太網(wǎng);E1;VLAN;PDH;EopDH
VLAN介紹
IEEE于1999年頒布了802,1Q標(biāo)準(zhǔn),即VLAN協(xié)議,規(guī)定了VLAN的國(guó)際標(biāo)準(zhǔn)實(shí)現(xiàn),從而使得不同廠商之間的VLAN互通成為可能。標(biāo)準(zhǔn)以太網(wǎng)幀和VLAN幀結(jié)構(gòu)如l所示。
與標(biāo)準(zhǔn)的以太網(wǎng)幀頭相比,VLAN報(bào)文格式在源地址后增加了一個(gè)4字節(jié)的VLAN標(biāo)簽。
TPID(Tag Protocol Identifier):16比特,是IEEE定義的新的類型,表明這是一個(gè)加了802.1Q標(biāo)簽的幀。TPID取固定值0x8100。
Priority:3比特,它指明了該幀的優(yōu)先級(jí)。一共有8種優(yōu)先級(jí),0~7。
CFI(Canonical Format Indicator):1比特,當(dāng)它為O時(shí)表示是規(guī)范格式,為1時(shí)表示是非規(guī)范格式幀。
VLAN Identifier(VLAN IDl:12比特,用來(lái)表示VLAN的ID標(biāo)識(shí),一共可有4096個(gè)。每個(gè)支持802.1Q協(xié)議的交換機(jī)發(fā)出來(lái)的數(shù)據(jù)包中都會(huì)包含這個(gè)字段,用來(lái)指明這個(gè)包屬于哪一個(gè)VLAN。
EOPDH網(wǎng)橋芯片構(gòu)介紹
本EopDH網(wǎng)橋芯片是為實(shí)現(xiàn)多通道以太網(wǎng)映射到PDH而設(shè)計(jì)的EOPDH匯聚式網(wǎng)橋芯片。它提供4個(gè)以太網(wǎng)接口,每路以太網(wǎng)可通過VLAN劃分到片內(nèi)63路完全隔離的VCG通道,每個(gè)通道經(jīng)GFP封裝后又可以根據(jù)帶寬需求映射到1~16路E1。以該芯片為核心,配以少量的外圍元器件即可實(shí)現(xiàn)具有匯聚功能的多路以太網(wǎng)到多略E1轉(zhuǎn)換器。芯片的內(nèi)部結(jié)構(gòu)設(shè)計(jì)如圖1所示。
從圖1中可知,VLAN的收發(fā)處理在以太網(wǎng)接口模塊和GFP封裝/解封裝模塊之間完成。在發(fā)送方向,從MAC口來(lái)的以太網(wǎng)幀經(jīng)過以太網(wǎng)接收器后提取出相關(guān)的VLAN信息及并將以太網(wǎng)凈荷數(shù)據(jù)合并成字節(jié)數(shù)據(jù)流送給VLAN發(fā)送模塊。VLAN發(fā)送模塊根據(jù)相關(guān)要求插入VLAN標(biāo)簽或刪除VLAN標(biāo)簽,將以太網(wǎng)數(shù)據(jù)分發(fā)到63個(gè)VCG后進(jìn)行GFP封裝。之后,將VCG數(shù)據(jù)送給VCAT/LCAS協(xié)議發(fā)送模塊,此模塊根據(jù)ITU-TG.7042-Y1305鏈路容量自動(dòng)調(diào)整(LCAS)協(xié)議和ITU-TG.7043[3]準(zhǔn)同步數(shù)字體系虛級(jí)聯(lián)(VCAT)協(xié)議處理數(shù)據(jù)后再進(jìn)行El成幀。最后發(fā)送到E1線路上去。在接收方向,從El線路來(lái)的數(shù)據(jù)經(jīng)El解幀后送給VCAT/LCAS模塊,恢復(fù)出的VCG數(shù)據(jù)經(jīng)過GFP解幀后到VLAN接收模塊處理。此模塊根據(jù)接收VLAN相關(guān)要求插入VLAN標(biāo)簽或刪除VLAN標(biāo)簽,將恢復(fù)出的以太網(wǎng)數(shù)據(jù)通過以太網(wǎng)發(fā)送器發(fā)到以太網(wǎng)上。
VLAN模塊設(shè)計(jì)
VLAN模塊的設(shè)計(jì)分為收發(fā)兩部分。收發(fā)功能獨(dú)立、可分別進(jìn)行寄存器配置。其發(fā)送部分的電路框圖如圖2所示。
在發(fā)送方向上,設(shè)計(jì)一個(gè)發(fā)送VLAN表格,如表1所示,所有的發(fā)送VLAN操作都以這個(gè)表為核心進(jìn)行。發(fā)送VLAN表格包含63個(gè)VLAN的匹配信息以及VLAN的刪除、插入控制信息和VCG的分配信息。因?yàn)橐С?個(gè)以太網(wǎng)口到63個(gè)VLAN的交叉處理,需要一個(gè)專門的調(diào)度模塊來(lái)調(diào)度VLAN表格,協(xié)調(diào)各個(gè)操作。使用以太網(wǎng)端口的PORTID和從以太網(wǎng)幀數(shù)據(jù)幀提取出VLAN信息來(lái)索引此表格,如7VLAN表格中的VLAN配置和以太網(wǎng)中提取的VLAN TAG一致,則說(shuō)明此以太網(wǎng)幀的VLAN匹配。不匹配的幀將被
丟棄,對(duì)于匹配的幀進(jìn)一步處理,如果配置為VLAN刪除,則由發(fā)送VLAN刪除電路將以太網(wǎng)幀中的VLAN TAG刪除:如果配置為添加VLAN,則由發(fā)送VLAN添加電路根據(jù)寄存器配置在數(shù)據(jù)幀中原VLANTAG前或原VLAN TAG后再插入一級(jí)VLAN,形成二級(jí)VLAN。經(jīng)過VLAN處理的數(shù)據(jù)幀按配置的VCG映射關(guān)系放到外部SDRAM中緩存。因?yàn)橐蕴W(wǎng)數(shù)據(jù)的突發(fā)性所以需要為以太網(wǎng)來(lái)的數(shù)據(jù)幀提供一個(gè)海量存儲(chǔ)器。以防止以太網(wǎng)數(shù)據(jù)的丟失。外部的SDRAM就充當(dāng)了這個(gè)海量存儲(chǔ)器的作用。
在發(fā)送方向上,如果要實(shí)現(xiàn)多路以太網(wǎng)數(shù)據(jù)共享一個(gè)信道傳輸,需要將上述表格中的VCG assign分配成相同的值即可。這樣經(jīng)過VLAN處理后的以太網(wǎng)幀就會(huì)被映射到同一個(gè)VCG組中,通過GFP封裝后從E1發(fā)出。
VLAN接收部分電路結(jié)構(gòu)和發(fā)送部分類似。在接收方向上,也需要設(shè)計(jì)一個(gè)接收VLAN表格,如表2所示。接收所有操作圍繞接收VLAN表格進(jìn)行,這個(gè)表格包含63個(gè)VCG的VLAN配置信息及是否要進(jìn)行VLAN刪除、插入的控制信息和MAC端口對(duì)應(yīng)信息。VCG數(shù)據(jù)經(jīng)過GFP解封裝后從數(shù)據(jù)中提取出VLAN信息,使用此VLAN信息索引接O&VLAN表格。如果表格中的VLAN配置和提取出的VLAN信息一致,則說(shuō)明VLAN匹配。不匹配的幀被丟棄,匹配的幀進(jìn)一步處理,如果配置為刪除,則將收到包中的VLAN TAG刪除:如果配置為添加則在原包中的VLAN TAG前或后插入新的VLAN TAG,形成二級(jí)VLAN,和發(fā)送方向完全類似。經(jīng)過VLAN處理的包按MAC映射關(guān)系存入外部的SDRAM緩存。等到SDRAM中有完整的包后,以太網(wǎng)發(fā)送器將數(shù)據(jù)幀取出通過MAC接口發(fā)送。
在接收方向上,如果要實(shí)現(xiàn)多業(yè)務(wù)流的匯聚功能,需要將表格中需要匯聚業(yè)務(wù)流VLAN對(duì)應(yīng)的MACport_assign配置成相同。這樣從El來(lái)的多個(gè)VCG業(yè)務(wù)流就可以匯聚到一個(gè)MAC口上發(fā)送。
電路設(shè)計(jì)、仿真及FPGA實(shí)現(xiàn)
本設(shè)計(jì)模塊作為BoPDH網(wǎng)橋芯片的一部分,根據(jù)模塊功能定義進(jìn)行了功能細(xì)分。采用高級(jí)描述語(yǔ)言VerilogL41來(lái)進(jìn)行代碼設(shè)計(jì),輸入工具采用圖形化設(shè)計(jì)工具Summit。仿真工具采用NC-Verilog,綜合布線軟件采用的是Xilinx公司提供的Xilinx ISEDesign Sure 12.4。
系統(tǒng)仿真時(shí),編寫以太網(wǎng)發(fā)生器模型,產(chǎn)生連續(xù)帶VLAN的以太網(wǎng)幀送給MAc接口,經(jīng)過芯片發(fā)送電路處理后從El側(cè)將信號(hào)環(huán)回。環(huán)回的數(shù)據(jù)經(jīng)接收電路處理后從以太網(wǎng)口恢復(fù)出以太網(wǎng)幀。發(fā)送方向插入VLAN后形成兩級(jí)VLAN的仿真波形截圖如圖3所示。數(shù)據(jù)從E1接收回來(lái)從兩級(jí)VLAN中刪除一級(jí)VLAN的仿真波形截圖如圖4所示。
從圖3可以看到,以太網(wǎng)幀原數(shù)據(jù)幀中的VLAN信息為0x8i000000,插入的VLAN也為0x81000000。在具體應(yīng)用中這個(gè)插入的VLAN信息可以根據(jù)具體應(yīng)用由寄存器來(lái)設(shè)置。
從圖4可以看到,經(jīng)過發(fā)送VLAN電路插入形成的兩級(jí)VLAN被刪除掉了一級(jí),只剩下了原測(cè)試激勵(lì)中的VLAN標(biāo)簽。從仿真結(jié)果來(lái)看,VLAN模塊完成了所設(shè)計(jì)的功能。
最后,將整個(gè)芯片在xiIinxSpartan-6的XA6SLX45-3 FGG484上進(jìn)行FPGA驗(yàn)證。經(jīng)過FPGA驗(yàn)證、實(shí)現(xiàn)了802,1Q標(biāo)準(zhǔn)要求的VLAN功能,電路可工作在100Mhz。