10G以太網(wǎng)的UTOPIA接口設(shè)計(jì)與實(shí)現(xiàn)
(1)網(wǎng)絡(luò)連通性、可靠性和可擴(kuò)展性高;
本文引用地址:http://www.ex-cimer.com/article/201612/329190.htm(2)只支持全雙工模式,傳送媒體只能是光纖;
(3)不使用載波偵聽(tīng)多路訪問(wèn)和沖突檢測(cè)協(xié)議;
(4)使用64B/66B和8B/10B兩種編碼方式;
(5)具有支持局域網(wǎng)和廣域網(wǎng)的接口,網(wǎng)絡(luò)范圍擴(kuò)展到10km。
1 10G以太網(wǎng)協(xié)議層結(jié)構(gòu)
10G以太網(wǎng)基于下面的技術(shù):位于OSI模型中數(shù)據(jù)鏈路層的MAC層,以及介于MAC層和物理層的XGMII(10G Media Independent Interface,10G介質(zhì)無(wú)關(guān)接口)。物理層又包括PCS(Physical Coding Sublayer,物理編碼子層)、PMA(Physical Media Attachment,牧師介質(zhì)附屬子層)、PMD(Physical Media Dependent,物理介質(zhì)相關(guān)子層)。
圖1是10G以太網(wǎng)的協(xié)議結(jié)構(gòu)。其中LLI(Logical Link Control,邏輯鏈路控制層)在網(wǎng)絡(luò)層和介質(zhì)訪問(wèn)控制之間提供選擇。MAC層負(fù)責(zé)對(duì)網(wǎng)絡(luò)的訪問(wèn)、MAC尋址、幀類型識(shí)別等與幀相關(guān)的操作。Reconciliation(適配層)是MAC層和物理層之間的通路。XGMII在MAC層和物理層之間提供了一個(gè)標(biāo)準(zhǔn)接口,使得MAC層能適應(yīng)不同的物理層。PCS(Physical Coding Sublayer,物理編碼子層)主要負(fù)責(zé)對(duì)來(lái)自MAC層數(shù)據(jù)的編碼和解碼。PMA(Physical Media Attachment,物理介質(zhì)附屬子層)負(fù)責(zé)把編碼轉(zhuǎn)換為適應(yīng)物理層傳輸?shù)谋忍亓?,同時(shí)完成數(shù)據(jù)解碼的同步。PMD(Physical Media Dependent,物理介質(zhì)相關(guān)子層)負(fù)責(zé)信號(hào)的傳送包括信號(hào)的放大、調(diào)制和波的整形。不同的PMD設(shè)備支持不同的物理介質(zhì)。MDI(Media Dependent Interface,介質(zhì)相關(guān)接口)定義了對(duì)應(yīng)于不同的物理介質(zhì)和PMD設(shè)備所采用的連接器類型。10G以太網(wǎng)協(xié)議在XGMII接口下增加WIS子層(WAN Interface Sublayer,廣域網(wǎng)接口子層),可以讓10G以太網(wǎng)幀能夠在目前廣域網(wǎng)中廣泛使用的SONET/SDH體系中傳輸。
2 幀格式
10G以太網(wǎng)的MAC幀不必像千兆以太網(wǎng)那樣拆分/封裝幀結(jié)構(gòu),更適合高速交換。圖2為10G以太網(wǎng)的MAC幀格式。為了在現(xiàn)有的廣域網(wǎng)上傳輸10G以太網(wǎng)幀,MAC層還負(fù)責(zé)把10Gbps速率匹配成9.058464Gbps速率。
圖2
3 UTOPIA接口實(shí)現(xiàn)
3.1 UTOPIA接口
UTOPIA(Universal Test & Operations PHY Interface for ATM)接口是ATM論壇定義的一個(gè)重要的設(shè)備內(nèi)部接口,是物理層與上層邏輯邊界的具體物理實(shí)現(xiàn)。目前有四個(gè)等級(jí)的UTOPIA規(guī)范,本文采用的UTOPIA leve14協(xié)議,它支持點(diǎn)對(duì)點(diǎn)的高速互聯(lián)。其數(shù)據(jù)寬度可以是32比特、16比特或者8比特,基本的接口工作速率可達(dá)415MHz。除了數(shù)據(jù)信號(hào),還有時(shí)鐘信號(hào)和控制信號(hào)。控制信號(hào)控制數(shù)據(jù)或控制字是否在數(shù)據(jù)總線上傳輸。流控、尋址和其他控制功能均通過(guò)數(shù)據(jù)總線帶內(nèi)傳輸,減少了接口信號(hào)線的數(shù)量。由于對(duì)稱性,UTOPIA level4協(xié)議非常適合鏈路層端對(duì)端通信。當(dāng)數(shù)據(jù)包在物理層和鏈路層傳輸時(shí),發(fā)送方向(Tx)指從鏈路層到物理層,反之為接收方向(Rx)。圖3是UTOPIA接口示意圖,顯然它是物理層和鏈路層之間的數(shù)據(jù)傳輸通道,并可在芯片內(nèi)部實(shí)現(xiàn)。
3.2 UTOPIA接口實(shí)現(xiàn)
UTOPIA接口的信號(hào)采用圖2所示的MAC幀格式,幀長(zhǎng)度從64字節(jié)到1518字節(jié)。圖4是10G以太網(wǎng)的UTOPIA接口功能模塊圖,分為數(shù)據(jù)接收端口和發(fā)送端口。發(fā)送端口從鏈路層發(fā)送下行數(shù)據(jù)到物理層,接收端口從物理層發(fā)送數(shù)據(jù)到鏈路層。端口的地址部遲疑不決寬度為8比特。接收端口有32比特的rx_data信號(hào)、rx_ctrl控制信號(hào)和rx_clk時(shí)鐘信號(hào),發(fā)送端口有32比特的tx_data信號(hào)、tx_ctrl時(shí)鐘信號(hào)。
接收方向的模塊主要完成以太幀的接收,并根據(jù)MAC控制幀進(jìn)行流量控制。來(lái)自XGMII接口的數(shù)據(jù)首先送入“幀類型檢查”模塊,此模塊分辨幀的類型,判斷接收的數(shù)據(jù)是幀頭還是幀尾,并把要送入FIFO的域值送入“接收數(shù)據(jù)選擇”模塊。為了在FIFO中實(shí)現(xiàn)數(shù)據(jù)首單元的對(duì)齊,采用了“數(shù)據(jù)調(diào)整器”。如果選擇存儲(chǔ)轉(zhuǎn)發(fā)工作模式,調(diào)整整齊的數(shù)據(jù)將進(jìn)入“數(shù)據(jù)緩存器”模塊。此模塊緩存收到的數(shù)據(jù)幀的目的地址、源地址、長(zhǎng)度/類型以及標(biāo)簽控制信息,并直接刪除錯(cuò)誤幀。如果采用穿通工作模式,數(shù)據(jù)則直接進(jìn)入FIFO接口模塊。“接收狀態(tài)機(jī)”控制并行執(zhí)行三個(gè)模塊:“CRC校驗(yàn)”模塊、“幀長(zhǎng)檢查”模塊和“地址過(guò)濾”模塊。“CRC校驗(yàn)”模塊判斷是否剝離或者保留CRC;“幀長(zhǎng)檢查”模塊計(jì)算并比較收到幀的長(zhǎng)度是否與長(zhǎng)度域的值一致,如果不一致就提供報(bào)錯(cuò)信息;“地址過(guò)濾”模塊過(guò)濾出單播和組播地址。圖4中未標(biāo)識(shí)出的“接收統(tǒng)計(jì)”模塊統(tǒng)計(jì)接收方向系統(tǒng)收到的幀個(gè)數(shù)、正確幀個(gè)數(shù)、超長(zhǎng)幀個(gè)數(shù)據(jù)等統(tǒng)計(jì)信息。“UTOPIA接收”模塊讀出接收FIFO里的數(shù)據(jù)并在每個(gè)時(shí)鐘的上升沿輸出8個(gè)字節(jié)到UTOPIA接口。“接收控制”模塊控制對(duì)發(fā)送FIFO的讀寫,附上其溢出和讀空。
在發(fā)送方向,來(lái)自UTOPIA接口的數(shù)據(jù)進(jìn)入“UTOPIA發(fā)送”模塊,并寫入“發(fā)送FIFO”里。“發(fā)送控制”模塊控制對(duì)發(fā)送FIFO的讀寫,防止其溢出和讀空。“發(fā)送狀態(tài)機(jī)”模塊從發(fā)送FIFO里讀出數(shù)據(jù),并控制“幀長(zhǎng)計(jì)算”模塊、“CRC編碼器”模塊、“PAD添加”模塊、“前導(dǎo)產(chǎn)生”模塊與“IFS計(jì)算”模塊并行對(duì)數(shù)據(jù)進(jìn)行操作。“幀長(zhǎng)計(jì)算”模塊計(jì)算來(lái)自發(fā)送FIFO里的數(shù)據(jù)的幀長(zhǎng),載斷過(guò)長(zhǎng)包;“CRC編碼器”模塊對(duì)數(shù)據(jù)進(jìn)行CRC計(jì)算并在幀的CRC域添加CRC值;“PAD添加”模塊填補(bǔ)過(guò)短包使之達(dá)到以太幀的長(zhǎng)度;“前導(dǎo)產(chǎn)生”模塊生成幀的前導(dǎo)域值;“IFS計(jì)算”模塊則計(jì)算幀間隔。圖4中未標(biāo)識(shí)出的“發(fā)送統(tǒng)計(jì)”模塊統(tǒng)計(jì)在發(fā)送方向系統(tǒng)發(fā)送幀的個(gè)數(shù)、發(fā)送幀的長(zhǎng)度、類型等統(tǒng)計(jì)信息。從“發(fā)送狀態(tài)機(jī)”出來(lái)的數(shù)據(jù)以XGMII的數(shù)據(jù)格式(8個(gè)字節(jié)的數(shù)據(jù)和8個(gè)比特的控制)發(fā)送到XGMII接口。
通過(guò)“微處理器”模塊和“微處理器接口”模塊可以對(duì)芯片內(nèi)部的寄存器值進(jìn)行配置或者讀取寄存器值。
4 降低功耗的考慮
集成電路的功耗估算公式為:P=kfV2,其中P、f和V分別為芯片功耗、工作頻率和工作電壓。根據(jù)此公式可知工作頻率的提高會(huì)導(dǎo)致芯片功耗的增加。為了減少芯片功耗,可以從降低芯片工作頻率入手。但是較低的工作頻率會(huì)使得芯片面積增大,而芯片面積的增大同樣也會(huì)導(dǎo)致芯片功耗的增加。在兩種實(shí)現(xiàn)方案:一是采用了并采設(shè)計(jì)方法降低芯片工作頻率,這樣提高了設(shè)計(jì)的復(fù)雜性并因此增加了芯片門個(gè)數(shù)從而增大了芯片面積。二是不采用并行設(shè)計(jì)方法,這樣不增加芯片的門個(gè)數(shù),但是芯片面積比較大,從而芯片功耗也比較大。另外,由于芯片面積還受制于其他因素如制造工藝等,而目前國(guó)內(nèi)的制造工藝還實(shí)現(xiàn)了太大的芯片面積。綜合考慮功耗和工作頻率及芯片面積之間的關(guān)系,權(quán)衡利弊,本文采用方案一來(lái)達(dá)到它們之間最好的平衡。
圖4
本設(shè)計(jì)采用64位比特并行處理使得內(nèi)部工作頻率降低為10Gbps的1/64。圖4中所需的FIFO選用FPGA片內(nèi)集成RAM構(gòu)成,代替外置FIFO以提高芯片的集成度,減少了芯片間高速通信。
10G以太網(wǎng)是以太網(wǎng)技術(shù)發(fā)展的一個(gè)新臺(tái)階,它使得網(wǎng)絡(luò)實(shí)現(xiàn)低成本、簡(jiǎn)單化、可管理、高帶度和易操作等目標(biāo)成為可能。本文介紹了10G以太網(wǎng)的技術(shù)特點(diǎn)、協(xié)議層結(jié)構(gòu)及幀格式,并概述了UTOPIA接口,詳細(xì)描述了采用UTOPIA leve14實(shí)現(xiàn)10G以太網(wǎng)的物理層和數(shù)據(jù)鏈路層連接的功能模塊圖。為降低芯片功耗,本設(shè)計(jì)采用并行設(shè)計(jì)方案。實(shí)際結(jié)果證明此方案是可行的。目前還可采用SPI-4(System Packet Interface Level 4)協(xié)議實(shí)現(xiàn)10G以太網(wǎng)的物理層和鏈路層之間的互連,這將是作者的下一步研究工作。
評(píng)論