基于BCM5615和BCM5615的EPON系統ONU設計
C*OLE和EMS接口電路
串行通信通過(guò)MAX232芯片實(shí)現,工作在3.3V工作電壓,它的體積比較小,工作穩定。通過(guò)串口可實(shí)現對ONU的網(wǎng)絡(luò )管理。使用常用的PHY芯片RTL8139擴展一個(gè)10Mbps網(wǎng)口,使得在Bootloader代碼引導系統后,通過(guò)該網(wǎng)口下載Linux內核代碼,系統運行后通過(guò)該網(wǎng)口對ONU進(jìn)行WEB管理。
交換模塊接口設計
以太網(wǎng)交換模塊由1個(gè)BCM5615交換芯片、3個(gè)BCM5228B PHY芯片、1個(gè)BCM5221PHY芯片、1個(gè)HDMP-1636A千兆SERDES和SDRAM芯片組成。該模塊提供1個(gè)千兆光口(1000BASE-LX),25個(gè)百兆光口(100BASE-FX),是實(shí)現ONU功能的核心部分。一個(gè)千兆口作為PON的接收端口,接收OLT廣播發(fā)送的數據包;另一個(gè)千兆口連接成百兆口,作為PON的發(fā)送端口,向OLT發(fā)送數據,該端口發(fā)射的是特殊波長(cháng)的光。通過(guò)特殊的交換機制來(lái)實(shí)現ONU與OLT的連接。
BCM5615芯片簡(jiǎn)介
BCM5615是集成多層交換芯片,是以太網(wǎng)交換模塊的核心。它具有24個(gè)10/100Mbps和2個(gè)10/100/1000Mbps以太網(wǎng)口;具有2層和3層交換和27層過(guò)濾功能;可實(shí)現全線(xiàn)速交換,交換速率達670萬(wàn)包/秒;支持IEEE 802.1Q.D;具有256KB的內部數據包存儲器,可以用SDRAM擴展64MB外部數據包存儲器。
本設計選用3片BCM5228B來(lái)提供24個(gè)PHY端口。BCM5228B是物理層器件,單片內包含8個(gè)獨立的PHY(端口)。BCM5615通過(guò)串行MII管理接口管理3個(gè) BCM5228B芯片的24個(gè)PHY端口,系統對BCM5228B的訪(fǎng)問(wèn)就是通過(guò)轉化為BCM5615的串行MII管理接口上的操作來(lái)實(shí)現的。BCM5228B每個(gè)PHY端口的管理地址由PHYADD[4::0]引腳設置,若BCM5228B的PHYADD[4::0]為PHYAD,則每片8個(gè)端口對應的管理地址分別為ADDR=PHYAD+ PORTX,PORTX為每個(gè)PHY端口的編號。
時(shí)鐘電路
BCM5615的芯核時(shí)鐘由133MHz的晶振產(chǎn)生,設計PCB時(shí),應盡量靠近BCM5615的時(shí)鐘輸入引腳,BCM5615的GMII時(shí)鐘與MII時(shí)鐘均為125MHz,由125MHz的晶振通過(guò)74LCX245緩沖后產(chǎn)生四路125MHz的時(shí)鐘源,輸入到BCM5615的GMII_CLKIN引腳和3片BCM5228的REF_CLK引腳。注意連接到BCM5228B的時(shí)鐘線(xiàn)應該等長(cháng),不管千兆口是否使用,GMII_CLKIN的時(shí)鐘都必須提供。
系統復位電路
系統復位電路采用IMP811復位芯片,通過(guò)74LCX245緩沖后產(chǎn)生多路復位信號,分別接到各個(gè)芯片的復位引腳。為了可靠復位,要求復位信號的上升沿不能有振蕩現象發(fā)生。
系統軟件設計
本文選擇Linux作為操作系統,使用Broadcom公司提供的軟件開(kāi)發(fā)包SDK開(kāi)發(fā)BCM5615的驅動(dòng)程序。PPCBOOT是獨立于其它軟件的,它只負責初始化并配置有關(guān)硬件,然后調用Linux內核映像引導操作系統運行,其它軟件分為用戶(hù)空間程序和內核空間程序兩大部分。在內核空間運行嵌入式Linux操作系統、BCM5615驅動(dòng)程序、RTL8139網(wǎng)口驅動(dòng)程序、實(shí)現STP的STP內核模塊、為方便整個(gè)軟件系統設計和實(shí)現而采用的虛擬設備VND和VCD。它們之間的接口關(guān)系是:Linux提供內核API給BCM5615驅動(dòng)和其它Linux可動(dòng)態(tài)加載內核模塊,如STP、VND、VCD、RTL8139網(wǎng)卡驅動(dòng)等。
ASIC驅動(dòng)
ASIC 驅動(dòng)主要是完成對BCM5615的初始化和配置工作,并為上層服務(wù)提供接口。其中SAL 層的目的就是把操作系統所提供的各種服務(wù)映射為驅動(dòng)程序本身的API。第二層即中間層,也可以說(shuō)是整個(gè)驅動(dòng)程序的核心層,它建立在SAL 之上,其設計目標主要是提供底層寄存器和存儲器的訪(fǎng)問(wèn)、PCI 總線(xiàn)操作、DMA 操作以及中斷處理函數等。驅動(dòng)程序的頂層是API層,它建立在DRV層之上,是對DRV 有關(guān)部分的封裝,從而為上層的其他軟件模塊提供各種服務(wù),其他模塊通過(guò)調用這一層的函數來(lái)訪(fǎng)問(wèn)和控制ASIC。ASIC 驅動(dòng)提供的API 對用戶(hù)進(jìn)程來(lái)說(shuō)是無(wú)法直接調用的,因此本文設計了一個(gè)虛擬的字符設備(TTY),并編寫(xiě)其驅動(dòng)程序,同時(shí)在/dev 目錄下用mknod 命令建立相對應的字符設備文件。
對操作系統來(lái)說(shuō),BCM5615的26 個(gè)端口對應于一個(gè)物理PCI 設備,即ASIC,它們共享一個(gè)PCI通道和地址空間。這給那些與網(wǎng)絡(luò )設備緊密相關(guān)的軟件帶來(lái)不少麻煩,因此可以把26 個(gè)端口設計成26 個(gè)虛擬網(wǎng)絡(luò )設備(VND)并編寫(xiě)其驅動(dòng)程序。因此,SNMPD 和生成樹(shù)協(xié)議軟件所看到的是26 個(gè)虛擬網(wǎng)卡,和普通的網(wǎng)卡并無(wú)區別。
結語(yǔ)
本文采用波分多址(WDMA)實(shí)現的EPON系統,與同類(lèi)產(chǎn)品相比較,有實(shí)現簡(jiǎn)單、性能好、易于升級、系統造價(jià)低的優(yōu)勢,已經(jīng)在寬帶接入網(wǎng)中獲得重要應用
評論