<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 使用BCM56500實(shí)現板級高性能交換型路由器

使用BCM56500實(shí)現板級高性能交換型路由器

——
作者:上海貝爾阿爾卡特股份有限公司 陳向榮 肖軍 黃義雄 盧海軍 郭煒 時(shí)間:2006-11-24 來(lái)源:今日電子 收藏

應用交換芯片實(shí)現基于PCI總線(xiàn)的板級高端口密度三層交換機,給出了路由協(xié)議和其他協(xié)議棧,并給出了交換性能指標

隨著(zhù)用戶(hù)需求和技術(shù)的發(fā)展,高速率高端口密度的多層IP路由交換功能的應用已經(jīng)越來(lái)越廣泛了。由于實(shí)現三層以上路由功能的判據較為復雜,傳統的路由器采用軟件實(shí)現路由功能,由高性能的CPU同時(shí)實(shí)現控制平臺和數據通道。

自從三層交換的概念提出以來(lái),主要的技術(shù)可以分為兩類(lèi):路由型交換機和。路由型交換機通過(guò)各種技術(shù)來(lái)發(fā)現、建立和緩存路由捷徑來(lái)實(shí)現路由加速功能。一般情況下路由型交換機不實(shí)現大型動(dòng)態(tài)路由協(xié)議,主要應用在基于A(yíng)TM的多協(xié)議交換技術(shù)中。可以用來(lái)實(shí)現類(lèi)似OSPF、EIGRP等的動(dòng)態(tài)路由協(xié)議,采用RISC CPU加ASIC專(zhuān)用交換芯片分離控制平臺和數據通道。由于數據通道單獨由ASIC實(shí)現,可以達到端口線(xiàn)速。本文介紹了一個(gè)使用Freescale公司的MPC8245高性能RISC CPU和Broadcom公司的高速交換芯片,來(lái)實(shí)現應用在接入系統中的24個(gè)千兆端口的三層交換的解決方案。由于本數據交換板是用于寬帶接入系統,測試結果表明該設計方案的高性能、高端口密度和硬件實(shí)現的穩定性能夠充分滿(mǎn)足系統的需求。

MPC8245和簡(jiǎn)介

MPC8245是基于MPC603e核的高性能低功耗的32位嵌入式RISC處理器,帶有DUART接口、雙通道DMA控制器和標準I2C控制器等通用模塊。MPC8245支持PCI總線(xiàn)2.2標準,可以同時(shí)工作在PCI主設備和從設備狀態(tài)。

BCM56500是多層交換芯片,集成了24個(gè)千兆位以太網(wǎng)端口,同時(shí)支持IPv4和IPv6協(xié)議,支持硬件處理的二層交換,三層路由以及二到七層數據包的分類(lèi)和過(guò)濾功能,芯片內部集成2MB數據包緩沖內存。BCM56500支持PCI總線(xiàn)2.2標準,系統設計中通常使用RISC CPU通過(guò)PCI總線(xiàn)對BCM56500進(jìn)行初始化、配置管理和實(shí)現三層交換功能。BCM56500的結構框圖如圖1所示。

由圖1可以看出,BCM56500芯片由以下一些主要功能模塊組成。

(1)千兆接口控制器(GPIC):用于提供千兆接口與交換邏輯之間的接口。

(2)CPU管理接口(CMIC):主要提供CPU與BCM56500設備不同功能塊之間的接口,同時(shí)也用于諸如MIIM、I2C和指示燈的處理等功能。該模塊通過(guò)PCI總線(xiàn)接口與CPU相連,可使CPU訪(fǎng)問(wèn)和控制BCM56500。

(3)地址解析邏輯(ARL):該邏輯功能模塊可在數據包的基礎上確定該數據包的轉發(fā)策略。它利用二層表(L2_TABLE)、二層組播表(L2_MCTABLE)、三層表(L3_TABLE)、三層最長(cháng)前綴匹配表(DEF_IP_HI和DEF_IP_LO)、三層接口表(L3_INTF)、IP組播表(L3_IPMC)、VLAN表(VLAN)以及生成樹(shù)表(VLAN_STAG)來(lái)決定如何轉發(fā)數據包。

(4)公共緩沖池(CBP):公共緩沖池實(shí)際上是2MB共享的包緩沖區,由8192個(gè)單元組成,每個(gè)單元256字節。設備里的每個(gè)數據包消耗一至多個(gè)單元。

(5)內存管理單元(MMU):BCM56500有一個(gè)單獨的內存管理單元,每個(gè)內存管理單元與設備的功能塊(GPIC)等相關(guān)聯(lián)。內存管理單元負責數據包的緩沖和調度,它首先接收數據包,然后再將數據包緩沖,并在發(fā)送時(shí)加以調度,同時(shí)它還管理交換單元的流控特性,概括來(lái)說(shuō),就是緩沖邏輯、調度邏輯、流控邏輯。緩沖邏輯從CP-BUS接收包并存放在公共緩沖池,同樣也從公共緩沖池獲取包并將它們發(fā)送到CP-BUS。包的發(fā)送順序由調度邏輯根據包的優(yōu)先級別確定。流控邏輯包括Head-of-Line(HOL)阻塞預防和Backpressure兩種方式。

這些功能模塊之間可通過(guò)CP-Bus和S-Channel這兩條內部總線(xiàn)聯(lián)系起來(lái)。其中CP-Bus用于芯片內數據包的高速傳輸,它支持所有端口的同時(shí)線(xiàn)速轉發(fā)。而S-Channel Bus則有兩個(gè)作用,第一是用于內存管理單元到其他功能塊的流控;第二是通過(guò)CPU管理接口由CPU控制訪(fǎng)問(wèn)內部寄存器和表,以及通過(guò)過(guò)濾器選送特殊數據包到CPU并由CPU發(fā)送特定數據包到端口以實(shí)現三層功能。

板級高端口密度LAN Switch硬件設計

圖2  交換板硬件結構圖


圖2是LAN Switch交換板的硬件結構,其硬件電路由CPU控制單元(子卡)、交換單元、物理層芯片單元、RJ45/光接口單元、CPU連接器單元、時(shí)鐘單元、電源單元組成。

在設計中采用了一片BCM56500實(shí)現24個(gè)千兆數據端口,采用一片BCM5464物理層芯片和一片BCM5461 物理層芯片來(lái)提供不同類(lèi)型的數據端口。使用BCM5464接出4個(gè)千兆電接口(SGMII接口)接入前面板,使用BCM5461接出1路千兆電接口(SGMII接口)作為板內使用。使用BCM56500的SERDES接口接出2路千兆光接口接入前面板,另外使用1路SERDES接口也作為板內使用,其余16路千兆端口使用SERDES接口接入系統背板,供系統其他板卡上聯(lián)作為星型數據總線(xiàn)。BCM5464是BroadCom公司的4端口千兆物理層芯片,BCM5461是BroadCom公司的單端口千兆物理層芯片。

在硬件設計中,交換單元選用了BCM56500,通過(guò)PCI接口與CPU控制單元相連,以實(shí)現對交換芯片的配置管理和快速通信。設計中的實(shí)際連接如圖3所示。其中由于系統中只有1個(gè)PCI從設備,設備號采用PCI_AD[31]線(xiàn)上的信號來(lái)選中,因此實(shí)際連線(xiàn)中CPU的IDSEL直接連接PCI_AD[31]即可。在PCI驅動(dòng)軟件中,要保證使用硬件相應的設備號進(jìn)行選中和配置。

圖3  系統PCI連接圖

LAN Switch的軟件啟動(dòng)和硬件初始化過(guò)程

LAN Switch采用WindRiver公司VxWorks操作系統。在CPU最小系統(CPU+SDRAM+Flash+串口)完成啟動(dòng)后,需要通過(guò)PCI總線(xiàn)對LAN Switch交換部分進(jìn)行初始化,主要步驟如下。

(1)由于BCM56500工作在little endian模式,而MPC8245工作在big endian模式,因此需要對頭模式進(jìn)行設置(可以使用字節位移指令或者對CONFIG_ADDR和CONFIG_DATA在訪(fǎng)問(wèn)前進(jìn)行字節交換);

(2)根據硬件連接選擇PCI設備的設備號,配置交換芯片BCM56500的PCI基地址和窗口大??;

(3)通過(guò)PCI總線(xiàn)使用交換芯片BCM56500的CPU管理接口確定交換芯片的型號,然后根據不同的芯片類(lèi)型進(jìn)行初始化和DMA通道的配置;

(4)掛接交換芯片的驅動(dòng)程序和各種API,完成LAN switch的初始化過(guò)程。

其中第三、第四步驟需要Broadcom公司的軟件開(kāi)發(fā)支持包(SDK)支持,直接從程序中調用Boradcom的初始化程序,可以保證正常完成初始化和加載驅動(dòng)程序。

以下對PCI驅動(dòng)的設計配置和SDK做進(jìn)一步的說(shuō)明。

前面已經(jīng)說(shuō)明了對于BCM56500的IDSEL信號已經(jīng)確定,設計中使用VxWorks的標準PCI驅動(dòng)程序,對于BCM56500的PCI掛接例程如下。

(1)在bootROM中用sysHwInit()調用sysPciAutoConfig(),對PCI_SYSTEM結構進(jìn)行實(shí)例化;

(2)同樣在sysHwInit()中,使用pciConfigOutLong()對BCM56500的基地址和窗口大小進(jìn)行配置,然后使用pciConfigOutByte()掛接BCM56500的中斷至CPU的外部中斷向量表;

(3)至此,PCI配置完成。通過(guò)BCM56500的S_Channel可以配置BCM56500中的各個(gè)寄存器和表項。S_Channel的消息傳遞有特殊的格式和規范,一般通過(guò)Broadcom公司提供的軟件開(kāi)發(fā)支持包(SDK)中自帶的標準函數來(lái)進(jìn)行配置。

本設計使用Broadcom公司5.2.3版的SDK。SDK的設計嚴格分層,自下而上分成操作系統(RTOS)、操作系統適配層(SAL)、芯片系統層(SOC)、分發(fā)層(Dispatch)和BCM的應用接口層(API層)。由于SDK支持Broadcom公司的幾乎所有交換芯片,因此在使用SDK的時(shí)候,在使用API之前需要進(jìn)行芯片查詢(xún),按照搜索到的芯片掛接相對應的API。整個(gè)的芯片查詢(xún)和掛接API的過(guò)程,使用SDK實(shí)現相當方便。初始化SDK的API的過(guò)程如下。

(1)SDK軟件初始化:diag_shell(),sysconf_int();

(2)在本地的PCI總線(xiàn)上查詢(xún)Broadcom設備:sysconf_prob();

(3)根據查詢(xún)到的設備進(jìn)行相對應的驅動(dòng)程序掛接:sysconf_attached();

(4)應用正確的驅動(dòng)程序對交換芯片進(jìn)行初始化:system_init();

(5)芯片基本的初始化后,進(jìn)入正常的工作狀態(tài),此時(shí)可以進(jìn)行應用程序的初始化了:bcm_init(),應用程序和協(xié)議棧入口。

交換性能測試結果和三層功能實(shí)現

設計定型后的LAN Switch經(jīng)過(guò)SmartBits測試,每個(gè)端口都可以達到線(xiàn)速轉發(fā),穩定性測試表明可以達到48小時(shí)千兆線(xiàn)速無(wú)丟幀性能。所得的結果如圖4所示。

圖4  千兆光接口48小時(shí)性能測試結果

由于這個(gè)設計方案使用CPU+ASIC方案,三層的IP路由轉發(fā)功能由交換芯片的三層轉發(fā)表(L3_Table)實(shí)現線(xiàn)速轉發(fā)。其他的三層協(xié)議棧功能應用交換芯片中過(guò)濾器實(shí)現。在本設計中,根據需求完成了OSPF、RIP-2、DHCP、DHCP relay、IGMP、IGMP relay等常用IP協(xié)議棧,實(shí)現了基于PCI總線(xiàn)的板級高端口密度三層交換機的設計要求。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>