一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于MPC8245處理器和BCM56500芯片實(shí)現(xiàn)交換型路由器的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:今日電子 ? 作者:陳向榮;肖軍;黃義 ? 2021-05-19 11:24 ? 次閱讀

作者:陳向榮;肖軍;黃義雄;盧海軍;郭煒

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

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

MPC8245和BCM56500簡(jiǎn)介

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

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

基于MPC8245處理器和BCM56500芯片實(shí)現(xiàn)交換型路由器的設(shè)計(jì)

圖1 BCM56500結(jié)構(gòu)框圖

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

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

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

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

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

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

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

板級(jí)高端口密度LAN Switch硬件設(shè)計(jì)

圖2 交換板硬件結(jié)構(gòu)圖

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

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

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

圖3 系統(tǒng)PCI連接圖

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

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

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

(2)根據(jù)硬件連接選擇PCI設(shè)備的設(shè)備號(hào),配置交換芯片BCM56500的PCI基地址和窗口大?。?/p>

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

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

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

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

前面已經(jīng)說(shuō)明了對(duì)于BCM56500的IDSEL信號(hào)已經(jīng)確定,設(shè)計(jì)中使用VxWorks的標(biāo)準(zhǔn)PCI驅(qū)動(dòng)程序,對(duì)于BCM56500的PCI掛接例程如下。

(1)在bootROM中用sysHwInit()調(diào)用sysPciAutoConfig(),對(duì)PCI_SYSTEM結(jié)構(gòu)進(jìn)行實(shí)例化;

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

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

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

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

(2)在本地的PCI總線上查詢Broadcom設(shè)備:sysconf_prob();

(3)根據(jù)查詢到的設(shè)備進(jìn)行相對(duì)應(yīng)的驅(qū)動(dòng)程序掛接:sysconf_attached();

(4)應(yīng)用正確的驅(qū)動(dòng)程序?qū)粨Q芯片進(jìn)行初始化:system_init();

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

交換性能測(cè)試結(jié)果和三層功能實(shí)現(xiàn)

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

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

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

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19746

    瀏覽量

    232953
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    51947

    瀏覽量

    433953
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3790

    瀏覽量

    115643
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    交換機(jī)和路由器

    報(bào)的轉(zhuǎn)發(fā),包括數(shù)據(jù)報(bào)的尋徑和傳送; 2.子網(wǎng)隔離,抑制廣播風(fēng)暴; 3.維護(hù)路由表,并與其他路由器交換路由信息,這是IP報(bào)文轉(zhuǎn)發(fā)的基礎(chǔ)。 4.IP數(shù)據(jù)報(bào)的差錯(cuò)
    發(fā)表于 01-08 17:42

    MT7628處理器是什么

    MT7628處理器:MT7628nn/mt7628an 系列產(chǎn)品是新一代2T2R 802.11n Wi-Fi AP / 路由器 (系統(tǒng)單芯片)。 MT7628可提升射頻效能表現(xiàn)、減低功耗,并將整體
    發(fā)表于 07-22 06:19

    mt7628處理器

    mt7628處理器:MT7628nn/mt7628an 系列產(chǎn)品是新一代2T2R 802.11n Wi-Fi AP / 路由器 (系統(tǒng)單芯片)。 MT7628可提升射頻效能表現(xiàn)、減低功耗,并將整體
    發(fā)表于 07-30 06:23

    freescale的mpc563處理器開(kāi)發(fā)流程

    現(xiàn)在在伊頓公司實(shí)習(xí),用的是freescale的mpc563處理器。開(kāi)發(fā)流程大致是:應(yīng)用層在Matlab建模,然后通過(guò)matlab的code generation自動(dòng)生成代碼,得到應(yīng)用層的*.cpp
    發(fā)表于 08-18 07:03

    RK3399處理器與AR9201處理器有哪些不同之處呢

    RK3399處理器與AR9201處理器有哪些不同之處呢?hi3559A處理器與RV1126處理器有哪些不同之處呢?
    發(fā)表于 02-21 07:29

    路由器交換機(jī)的區(qū)別

    。交換機(jī)不可以分配網(wǎng)速,但是你在家里和阿姨上網(wǎng)應(yīng)該是用到的一個(gè)寬帶賬號(hào),所以相當(dāng)于把網(wǎng)速均分為二,這個(gè)功能用路由器也可以實(shí)現(xiàn),但是交換機(jī)無(wú)法開(kāi)wifi,無(wú)法對(duì)網(wǎng)絡(luò)作其他比例的分配。從這
    發(fā)表于 03-17 11:58

    MPC8245/XPC8245LZU266B pdf dat

    The MPC8245 combines a PowerPC™ MPC603e core with a PCI bridge. The PCI support onthe MPC8245
    發(fā)表于 08-29 12:51 ?19次下載

    路由器處理器

    路由器處理器              與計(jì)算機(jī)一樣,路由器也包含
    發(fā)表于 01-06 11:24 ?614次閱讀

    路由器處理器

    路由器處理器              與計(jì)算機(jī)一樣,路由器也包含了一個(gè)中央處理器,
    發(fā)表于 01-08 14:58 ?417次閱讀

    基于MPC8260處理器和FPGA的DMA接口設(shè)計(jì)

    基于MPC8260處理器和FPGA的DMA接口設(shè)計(jì)   以MPC8260通信處理器為硬件平臺(tái),結(jié)合中斷處理和IDMA傳輸機(jī)制設(shè)計(jì)
    發(fā)表于 02-08 10:17 ?1249次閱讀
    基于<b class='flag-5'>MPC</b>8260<b class='flag-5'>處理器</b>和FPGA的DMA接口設(shè)計(jì)

    信元交換路由器(CSR),信元交換路由器(CSR)是什么意思

    信元交換路由器(CSR),信元交換路由器(CSR)是什么意思 信元交換路由器(Cell Swi
    發(fā)表于 04-03 14:41 ?1740次閱讀

    蘋(píng)果a6處理器怎么樣_a6處理器參數(shù)

    蘋(píng)果正式發(fā)布iphone5,iphone5采用A6處理器,那么A6處理器怎么樣?a6處理器參數(shù)是什么呢?a6處理器四核的嗎?帶著這些疑問(wèn),我們來(lái)一起了解下A6
    發(fā)表于 09-13 14:29 ?2.6w次閱讀

    麒麟9000處理器和高通驍龍875處理器相比如何?

    隨著華為mate10系列的發(fā)布,華為最后一代旗艦處理器,麒麟9000也就此亮相,大家對(duì)于麒麟9000處理器十分的看好。因?yàn)轺梓?000處理器在安兔兔的跑分竟然高達(dá)72萬(wàn)分,較上一代麒麟990
    的頭像 發(fā)表于 11-03 11:31 ?6112次閱讀

    BCM4707/4708/4709處理器英文手冊(cè)

    Broadcom?BCM4707/4708/4709處理器是針對(duì)中的應(yīng)用程序的通信設(shè)備交換控制和管理,以及住宅路由器/網(wǎng)關(guān)。BCM4707/
    發(fā)表于 07-24 09:12 ?214次下載

    路由器處理器有什么用

    路由器處理器的作用 路由器處理器路由器中最重要的部分之一,也是路由器的核心部分。它用來(lái)
    的頭像 發(fā)表于 08-27 17:08 ?2170次閱讀