<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于BCM5615和BCM5615的EPON系統(tǒng)ONU設(shè)計

          基于BCM5615和BCM5615的EPON系統(tǒng)ONU設(shè)計

          作者: 時間:2010-09-02 來源:網(wǎng)絡(luò) 收藏

            C*OLE和EMS接口電路

            串行通信通過MAX232芯片實現(xiàn),工作在3.3V工作電壓,它的體積比較小,工作穩(wěn)定。通過串口可實現(xiàn)對的網(wǎng)絡(luò)管理。使用常用的PHY芯片RTL8139擴展一個10Mbps網(wǎng)口,使得在Bootloader代碼引導(dǎo)后,通過該網(wǎng)口下載Linux內(nèi)核代碼,運行后通過該網(wǎng)口對進行WEB管理。

            交換模塊接口

            以太網(wǎng)交換模塊由1個交換芯片、3個BCM5228B PHY芯片、1個BCM5221PHY芯片、1個HDMP-1636A千兆SERDES和SDRAM芯片組成。該模塊提供1個千兆光口(1000BASE-LX),25個百兆光口(100BASE-FX),是實現(xiàn)功能的核心部分。一個千兆口作為PON的接收端口,接收OLT廣播發(fā)送的數(shù)據(jù)包;另一個千兆口連接成百兆口,作為PON的發(fā)送端口,向OLT發(fā)送數(shù)據(jù),該端口發(fā)射的是特殊波長的光。通過特殊的交換機制來實現(xiàn)ONU與OLT的連接。

            芯片簡介

            是集成多層交換芯片,是以太網(wǎng)交換模塊的核心。它具有24個10/100Mbps和2個10/100/1000Mbps以太網(wǎng)口;具有2層和3層交換和27層過濾功能;可實現(xiàn)全線速交換,交換速率達670萬包/秒;支持IEEE 802.1Q.D;具有256KB的內(nèi)部數(shù)據(jù)包存儲器,可以用SDRAM擴展64MB外部數(shù)據(jù)包存儲器。

            本選用3片BCM5228B來提供24個PHY端口。BCM5228B是物理層器件,單片內(nèi)包含8個獨立的PHY(端口)。BCM5615通過串行MII管理接口管理3個 BCM5228B芯片的24個PHY端口,對BCM5228B的訪問就是通過轉(zhuǎn)化為BCM5615的串行MII管理接口上的操作來實現(xiàn)的。BCM5228B每個PHY端口的管理地址由PHYADD[4::0]引腳設(shè)置,若BCM5228B的PHYADD[4::0]為PHYAD,則每片8個端口對應(yīng)的管理地址分別為ADDR=PHYAD+ PORTX,PORTX為每個PHY端口的編號。

            時鐘電路

            BCM5615的芯核時鐘由133MHz的晶振產(chǎn)生,PCB時,應(yīng)盡量靠近BCM5615的時鐘輸入引腳,BCM5615的GMII時鐘與MII時鐘均為125MHz,由125MHz的晶振通過74LCX245緩沖后產(chǎn)生四路125MHz的時鐘源,輸入到BCM5615的GMII_CLKIN引腳和3片BCM5228的REF_CLK引腳。注意連接到BCM5228B的時鐘線應(yīng)該等長,不管千兆口是否使用,GMII_CLKIN的時鐘都必須提供。

            系統(tǒng)復(fù)位電路

            系統(tǒng)復(fù)位電路采用IMP811復(fù)位芯片,通過74LCX245緩沖后產(chǎn)生多路復(fù)位信號,分別接到各個芯片的復(fù)位引腳。為了可靠復(fù)位,要求復(fù)位信號的上升沿不能有振蕩現(xiàn)象發(fā)生。

            系統(tǒng)軟件設(shè)計

            本文選擇Linux作為操作系統(tǒng),使用Broadcom公司提供的軟件開發(fā)包SDK開發(fā)BCM5615的驅(qū)動程序。PPCBOOT是獨立于其它軟件的,它只負責初始化并配置有關(guān)硬件,然后調(diào)用Linux內(nèi)核映像引導(dǎo)操作系統(tǒng)運行,其它軟件分為用戶空間程序和內(nèi)核空間程序兩大部分。在內(nèi)核空間運行嵌入式Linux操作系統(tǒng)、BCM5615驅(qū)動程序、RTL8139網(wǎng)口驅(qū)動程序、實現(xiàn)STP的STP內(nèi)核模塊、為方便整個軟件系統(tǒng)設(shè)計和實現(xiàn)而采用的虛擬設(shè)備VND和VCD。它們之間的接口關(guān)系是:Linux提供內(nèi)核API給BCM5615驅(qū)動和其它Linux可動態(tài)加載內(nèi)核模塊,如STP、VND、VCD、RTL8139網(wǎng)卡驅(qū)動等。

            ASIC驅(qū)動

            ASIC 驅(qū)動主要是完成對BCM5615的初始化和配置工作,并為上層服務(wù)提供接口。其中SAL 層的目的就是把操作系統(tǒng)所提供的各種服務(wù)映射為驅(qū)動程序本身的API。第二層即中間層,也可以說是整個驅(qū)動程序的核心層,它建立在SAL 之上,其設(shè)計目標主要是提供底層寄存器和存儲器的訪問、PCI 總線操作、DMA 操作以及中斷處理函數(shù)等。驅(qū)動程序的頂層是API層,它建立在DRV層之上,是對DRV 有關(guān)部分的封裝,從而為上層的其他軟件模塊提供各種服務(wù),其他模塊通過調(diào)用這一層的函數(shù)來訪問和控制ASIC。ASIC 驅(qū)動提供的API 對用戶進程來說是無法直接調(diào)用的,因此本文設(shè)計了一個虛擬的字符設(shè)備(TTY),并編寫其驅(qū)動程序,同時在/dev 目錄下用mknod 命令建立相對應(yīng)的字符設(shè)備文件。

            對操作系統(tǒng)來說,BCM5615的26 個端口對應(yīng)于一個物理PCI 設(shè)備,即ASIC,它們共享一個PCI通道和地址空間。這給那些與網(wǎng)絡(luò)設(shè)備緊密相關(guān)的軟件帶來不少麻煩,因此可以把26 個端口設(shè)計成26 個虛擬網(wǎng)絡(luò)設(shè)備(VND)并編寫其驅(qū)動程序。因此,SNMPD 和生成樹協(xié)議軟件所看到的是26 個虛擬網(wǎng)卡,和普通的網(wǎng)卡并無區(qū)別。

            結(jié)語

            本文采用波分多址(WDMA)實現(xiàn)的系統(tǒng),與同類產(chǎn)品相比較,有實現(xiàn)簡單、性能好、易于升級、系統(tǒng)造價低的優(yōu)勢,已經(jīng)在寬帶接入網(wǎng)中獲得重要應(yīng)用


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();