摘要:大型分布式通信設(shè)備的各個功能模塊可單獨完成一定的工作,但各模塊之間仍需要進行高速內(nèi)部通信以使設(shè)備協(xié)調(diào)工作。以3TNet核心設(shè)備——大規(guī)模匯聚接入路由器(ACR)的內(nèi)部組網(wǎng)模塊為例,介紹了一種基于VSC7389和VSC8538芯片的16端口10/100/1000 Mbps自適應以太網(wǎng)交換機的設(shè)計。
關(guān)鍵詞:大規(guī)模匯聚路由器;以太網(wǎng)交換機模塊;VSC7389;VSC8538;遠程更新
中圖分類號:TP393.1文獻標志碼:A
文章編號:1001-3695(2007)08-0316-02
ACR的兩大基本功能概括為寬帶骨干路由組網(wǎng)和提供大規(guī)模匯聚接入[1]。在物理實現(xiàn)上,ACR寬帶骨干路由組網(wǎng)功能由ACR交換主機(ACRS)提供的常規(guī)外部路由線路接口(簡稱為線卡)實現(xiàn);ACR大規(guī)模匯聚接入功能由ACRS提供的外部匯聚線路接口實現(xiàn)。ACR以太網(wǎng)交換機模塊應用于ACRS中。
1以太網(wǎng)交換機模塊的整體設(shè)計與關(guān)鍵實現(xiàn)
出于對易實現(xiàn)性以及成熟度的考慮,ACR內(nèi)部通信選擇使用TCP/IP協(xié)議,整個通信過程的設(shè)計參照IEEE Std 802.3—2002標準。它以ACR內(nèi)部以太網(wǎng)交換機模塊作為核心組網(wǎng)部件,配合ATCA機箱的背板與機箱中其他線卡相連組成ACRS內(nèi)部通信網(wǎng),為線卡與主控處理模塊之間的數(shù)據(jù)交換建立通道。
ACRS使用ATCA標準機箱,為了充分利用其內(nèi)部較為有限的空間,內(nèi)部報文分組交換模塊和以太網(wǎng)交換機模塊設(shè)計在同一塊電路板上。ACRS的交換容量是可擴展的,同一個ACRS中可能會有兩個以太網(wǎng)交換機模塊并存。綜上所述,為保證在交換容量擴展或不擴展情況內(nèi)部以太網(wǎng)均可正常工作,ATCA機箱的高速背板連接成雙星型結(jié)構(gòu)。雙星型拓撲如圖1所示。
1.1以太網(wǎng)交換機模塊的子模塊劃分與設(shè)計
ACR內(nèi)部以太網(wǎng)交換機模塊的主要工作是將進入模塊交換端口的以太網(wǎng)數(shù)據(jù)包發(fā)送到其目的端口。根據(jù)需要可將以太網(wǎng)交換機模塊劃分為端口子模塊、總線子模塊、判決處理子模塊。各個子模塊功能如下:
a)端口子模塊中應包含物理層和MAC層的處理功能,將接收到的以太網(wǎng)電平信號轉(zhuǎn)換為數(shù)據(jù)包,存入端口子模塊自身FIFO。
b)總線子模塊讀取端口子模塊的數(shù)據(jù)包。如果端口數(shù)為N,每個端口子模塊的帶寬為M,總線子模塊帶寬超過N×M時,判決子模塊與端口交換子模塊線速交換才能實現(xiàn),數(shù)據(jù)包才能無阻塞地被送往判決子模塊進行處理。
c)判決處理子模塊先讀取數(shù)據(jù)包頭中的源MAC地址,判斷源MAC地址的線卡連在端口子模塊的端口號;然后讀取包頭中的目的MAC地址,并在地址表中查找相應的端口子模塊的MAC地址信息;根據(jù)MAC地址通過總線子模塊送入相應的端口子模塊進行轉(zhuǎn)發(fā)。如表中有與該目的MAC地址對應的端口子模塊,判決處理子模塊把數(shù)據(jù)包直接復制到該端口子模塊的FIFO中;如表中找不到相應的端口子模塊,判決處理子模塊將數(shù)據(jù)包廣播到所有端口子模塊上,通過目的節(jié)點的回應在MAC表中添加新的表項。如此循環(huán),維護交換機模塊中的MAC表,并通過查找此MAC表進行數(shù)據(jù)包的轉(zhuǎn)發(fā)。各子模塊的連接及包的轉(zhuǎn)發(fā)流程如圖2所示。
根據(jù)上文中對以太網(wǎng)交換機模塊的分析及性能需求,有多種方案可滿足此設(shè)計的需求。一種方案可將各個子模塊以單獨的芯片實現(xiàn);但此方案實現(xiàn)較為繁瑣,而且體積、功耗較大,調(diào)試不便。設(shè)計中選擇了一種基于VSC7389交換芯片的以太網(wǎng)交換機模塊解決方案。
VSC7389是一款二層交換芯片。它內(nèi)部包含了16個10/100/1000 Mbps自適應端口子模塊,總線子模塊可支持16×1 Gbps,其判決處理子模塊可以對16路1 000 Mbps以太網(wǎng)輸入輸出實現(xiàn)無阻塞線速交換[5]。VSC7389內(nèi)嵌入了一塊8051CPU,使它除了具有二層交換功能外,還可以實現(xiàn)對VLAN功能、數(shù)據(jù)包QoS分類的支持[5]。綜上,該交換芯片可滿足設(shè)計的需要。在VSC7389的16個端口子模塊中,有8個是SGMII(serialGMII, cisco system specification v1.7)口,即不包含物理層部分,無法處理物理層信號,需要給這8個端口子模塊配置物理層芯片。根據(jù)性能需求,選擇了VSC8538物理層芯片。此芯片支持SGMII信號,可提供8個10/100/1000 Mbps自適應以太網(wǎng)物理層接口[6]。
VSC7389上電啟動時需要對其端口子模塊以及物理層芯片的各個端口進行相應的配置。VSC7389內(nèi)部沒有非易失性存儲器,需要外接一片E2PROM存儲啟動配置程序,通過內(nèi)嵌8051的SI(serial interface)連接。設(shè)計中選擇了一片M95128WMN6的來完成此項工作。為調(diào)試和監(jiān)視設(shè)備的需要,VSC7389還連接了RS-232串口芯片MAX3221E。通過串口可監(jiān)測交換芯片和物理層芯片各個端口的工作狀況。另外,還需對交換芯片和物理層芯片提供25 MHz的時鐘。通過上述各芯片的配合,可使VSC7389正常工作。其連接結(jié)構(gòu)如圖3所示。
1.2以太網(wǎng)交換機模塊中啟動配置過程的關(guān)鍵實現(xiàn)
以太網(wǎng)交換機模塊中比較關(guān)鍵的實現(xiàn)部分是在E2PROM中寫入啟動配置文件,系統(tǒng)上電后VSC7389從中讀取文件配置整個系統(tǒng)。ACR在特殊情況下需要對E2PROM中的文件進行修改,以便對VLAN等功能的相應設(shè)定作出修改。修改E2PROM的傳統(tǒng)方法是打開機箱后,從電路板上將E2PROM取下,用E2PROM專用寫入器重新寫好后再焊到電路板上,全部過程操作復雜且容易損壞設(shè)備。針對此問題,設(shè)計中利用內(nèi)部報文分組交換模塊中使用的Altera公司的EMP1270T144C4N 型CPLD剩余邏輯資源以及其中的860處理機實現(xiàn)了對E2PROM的在線更新。
在此以太網(wǎng)交換機模塊中,由VSC7389向CPLD的SI接入四個信號,它們分別是數(shù)據(jù)輸入(SPI_DI)、數(shù)據(jù)輸出(SPI_DO)、時鐘信號(SPI_CLK)、選通使能信號(SPI_nEN)。CPLD與E2PROM連接四根信號線,分別是SI_DI、SI_DO、SI_CLK、SI_CLK。在不需要更新EEPROM時,CPLD內(nèi)部的選通邏輯直接將由VSC7389送入的四個SI信號分別與其送入E2PROM的信號對應連接,相當于VSC7389直接讀取E2PROM中的信息。當需要更新配置文件時,則系統(tǒng)流程如下:
a)由860處理機將控制信號C_UP_N置低, CPLD內(nèi)部的選通邏輯將由VSC7389發(fā)送的四根信號置為高阻狀態(tài)。
b)860處理機通過以太網(wǎng)與存有配置文件的PC機相連,讀取16 bit二進制配置文件的數(shù)據(jù)后送入CPLD;CPLD接收到數(shù)據(jù)后將其存入內(nèi)部存儲單元。其中的寫入邏輯以每次8 bit數(shù)據(jù)串行寫入E2PROM。其寫入時序如圖4所示。
在SI_nEN置為低有效后,在接下來的8個時鐘周期內(nèi),SI_DI發(fā)送串行指令00000010,通知E2PROM開始進行寫操作,在16個時鐘周期串行送入要寫入的地址,最后8個時鐘周期送入要寫入的8個字節(jié)數(shù)據(jù)。
c)重復過程b),不斷將由860處理機讀入的數(shù)據(jù)寫入E2PROM,直至文件寫入完全E2PROM,更新過程結(jié)束。系統(tǒng)再次啟動時可使用更新后的配置文件。
這種更新E2PROM的方式可以在不影響整個設(shè)備工作的前提下對交換機模塊配置文件遠程更新,有利于對大型設(shè)備的遠程維護,滿足了ACR的需求。
2結(jié)束語
因ACR的特殊要求,本文提出了一種可在線更新系統(tǒng)配置文件的設(shè)計方法。在通常的內(nèi)部交換機使用中,可省略掉在線更新部分的CPLD和860處理機部分,直接將VSC7389與已寫入配置文件的E2PROM相連接,簡化系統(tǒng)結(jié)構(gòu)。
此設(shè)計基于VSC7389和VSC8538芯片。整個設(shè)計方案具有整體結(jié)構(gòu)簡單、接入帶寬大、功耗小、整體體積小等特點,適合于在大型設(shè)備中以功能模塊的形式使用。其開發(fā)和使用都比較方便,縮短了產(chǎn)品的研發(fā)周期,可以為大型高速分布式設(shè)備中的內(nèi)部通信網(wǎng)的設(shè)計提供參考。
參考文獻:
[1]汪斌強,鄔江興. 基于IPv6的大規(guī)模接入?yún)R聚路由器的設(shè)想和實現(xiàn)[J].電信科學,2006,22(1):5-9.
[2]吳美娟,魏進武,陳庶樵,等.高性能路由器硬件抽象層的設(shè)計與實現(xiàn)[J].計算機科學,2004,31(7):156 158,191.
[3]吳美娟,岳儉.高性能路由器硬件抽象層的關(guān)鍵技術(shù)研究[J].現(xiàn)代電子技術(shù),2004,27(10):27-29.
[4]姜艷紅,魏進武,陳庶樵,等.基于ACR的硬件抽象層結(jié)構(gòu)及關(guān)鍵技術(shù)研究[J].電子技術(shù)應用,2005,31(11):911,14.
[5]Vitesse公司.VSC7389 SparXG16 datasheet[EB/OL].(2006-03-20).http://www.vitesse.com/products/product.php?number=VSC7389.
[6]Vitesse公司.VSC8538 Octal 10/100/1000 baseT PHY with integrated 1.25 Gbps SerDes datasheet[EB/OL].(2006-03-20).http://www.vitesse.com/products/product.php?number=VSC8538.
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”