當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于BCM5615和BCM5615的EPON系統(tǒng)ONU設(shè)計(jì)

   ONU硬件系統(tǒng)設(shè)計(jì)

  系統(tǒng)硬件由嵌入式控制模塊和網(wǎng)絡(luò)交換模塊兩部分構(gòu)成。嵌入式控制模塊是ONU的控制和管理核心,它為嵌入式Linux操作系統(tǒng)的運(yùn)行提供硬件平臺(tái),通過它來實(shí)現(xiàn)對網(wǎng)絡(luò)交換模塊的控制與配置,實(shí)現(xiàn)網(wǎng)絡(luò)交換模塊的正常運(yùn)行。網(wǎng)絡(luò)交換模塊提供以太幀的交換與轉(zhuǎn)發(fā)功能,嵌入式控制模塊通過PCI總線與網(wǎng)絡(luò)交換模塊進(jìn)行通信,訪問網(wǎng)絡(luò)交換模塊內(nèi)部各芯片的寄存器,對各芯片進(jìn)行配置并獲取各個(gè)芯片的狀態(tài)信息。網(wǎng)絡(luò)交換模塊內(nèi)部的交換芯片BCM5615將嵌入式控制模塊對它的訪問,轉(zhuǎn)換為自己對網(wǎng)絡(luò)交換模塊內(nèi)部各芯片的訪問,這樣就實(shí)現(xiàn)了嵌入式控制模塊對網(wǎng)絡(luò)交換模塊內(nèi)部各芯片的管理。

  嵌入式控制模塊接口設(shè)計(jì)

  嵌入式處理器MPC8245簡介

  MPC8245由一個(gè)外設(shè)邏輯塊和一個(gè)32位超標(biāo)量體系結(jié)構(gòu)PowerPC處理器內(nèi)核構(gòu)成。在外設(shè)邏輯塊中集成了一個(gè)PCI橋、DUART、內(nèi)存控制器、DMA控制器、EPIC中斷控制器、一個(gè)消息單元和一個(gè)I2C控制器。處理器內(nèi)核支持浮點(diǎn)運(yùn)算和內(nèi)存管理,具有16KB指令高速緩存(cache), 16KB數(shù)據(jù)cache和電源管理特性。MPC8245內(nèi)含一外設(shè)邏輯總線,用于連接處理器內(nèi)核和外設(shè)邏輯塊。處理器內(nèi)核可在多種不同的頻率下工作。MPC8245既可用作 PCI host,也可用作PCI代理控制器。支持多達(dá)2GB的SDRAM;支持1"8 組的4MB, 16MB, 64MB, 128MB, 或256MB存儲(chǔ)器。

  時(shí)鐘電路

  MPC8245輸入時(shí)鐘由33MHz的的晶振通過零延時(shí)緩沖器產(chǎn)生四路時(shí)鐘信號,一路作為MPC8245的PCI總線時(shí)鐘和內(nèi)核的輸入時(shí)鐘,系統(tǒng)時(shí)鐘信號OSC_IN未用,需要接地。MPC8245的引腳PLL_CFG[0:4]用于配置倍頻因子,經(jīng)過內(nèi)部倍頻器,產(chǎn)生SDRAM時(shí)鐘和166MHz的CPU內(nèi)核時(shí)鐘。一路作為RTL8139的PCI總線時(shí)鐘,一路作為BCM5615的PCI總線時(shí)鐘。

  PCI總線接口

  PCI總線工作在33MHz,設(shè)計(jì)中要保證PCI時(shí)鐘的時(shí)鐘相位偏移小于2ns,否則,系統(tǒng)可能無法正常工作。MPC8245作為PCI 主處理器,RTL8139和BCM5615的REQ#、GNT#分別連到MPC8245的REQ[0:1]#、GNT[0::1]#,由MPC8245來實(shí)現(xiàn)總線的仲裁。利用地址線AD31,AD30來決定RTL8139、BCM5615的IDSEL, 實(shí)現(xiàn)PCI總線配置訪問時(shí)對RTL8139、BCM5615的片選。這種方法會(huì)使AD31,AD30線上增加一個(gè)負(fù)載,因此將它們的IDSEL通過1K?電阻耦合到AD31、AD30上來解決負(fù)載加重的問題。PCI總線的控制信號都要求有上拉電阻,保證它們在沒有驅(qū)動(dòng)設(shè)備驅(qū)動(dòng)總線的情況下仍然具有穩(wěn)定的值,因而 FRAME#、TRDY#、IRDY#、DEVSEL#、STOP#、SERR#和PERR#這些信號使用10K?電阻上拉。

  Flash

  在MPC8245 中,ROM/Flash被分為2 個(gè)BANK ,BANK0 的地址為0xFF800000"0xFFFFFFFF ,片選為/RCS0, RCS0接存儲(chǔ)代碼的存儲(chǔ)器片選;BANK1 的地址為0xFF000000"0xFF7FFFFF,片選為/RCS1。 ROM/Flash/SRAM 工作在不同的數(shù)據(jù)寬度(8位,16位,32位,64位)地址總線下,復(fù)位時(shí),MPC8245的引腳MDL0、/FOE決定啟動(dòng)數(shù)據(jù)位寬度;復(fù)位后,硬件復(fù)位配置字決定數(shù)據(jù)的寬度。

  本設(shè)計(jì)中選擇512KB的Flash作為Bootloader代碼存儲(chǔ)器,系統(tǒng)工作在8位模式,對應(yīng)的地址為0xFF800000"0xFF87FFFF。選用兩片AM29LV320B分別作為Bootloader/Linux內(nèi)核和文件存儲(chǔ)器,AM29LV320B是32 Mb、單3.3V電源供電的閃存,編程和擦寫電壓由內(nèi)部產(chǎn)生,與JEDEC單電源閃存標(biāo)準(zhǔn)兼容;可組成4M×8Bit或2M×16Bit的存儲(chǔ)器。可用標(biāo)準(zhǔn)EPROM編程器進(jìn)行編程;存取時(shí)間最短為70ns;獨(dú)立的片選(CE#)、寫使能(WE#) 和輸出使能(OE#)控制,可減小對總線的壓力。片選RCS1、RCS2分別選擇兩片F(xiàn)lash,RCS1選中的Flash對應(yīng)的地址為0xFF000000"0xFF3FFFFF,RCS2選中的Flash地址由編程決定。

  跳線J1用來將RCS0接到Flash1,RCS1接到Flash0,這樣在Bootloader代碼運(yùn)行后,將Bootloader代碼、Linux內(nèi)核代碼都燒到Flash1,節(jié)約一片512KB的Flash,同時(shí)留下RCS2、RCS3片選信號,留作以后擴(kuò)展Flash用。

  SDRAM

  32MB的SDRAM由兩片HY57V283220T組成。MPC8245的SDRAM接口 使用一個(gè)片選信號CS1,同時(shí)作為兩片HY57V 283220T的片選,構(gòu)成64位數(shù)據(jù)的SDRAM。 HY57V283220T是4 Bank×1M×32Bit的CMOS SDRAM,單3.3±0.3V電源供電,所有引腳與LVTTL接口兼容,所有輸入和輸出都以系統(tǒng)時(shí)鐘的上升沿為參考。[!--empirenews.page--]

  C*OLE和EMS接口電路

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

  交換模塊接口設(shè)計(jì)

  以太網(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í)現(xiàn)ONU功能的核心部分。一個(gè)千兆口作為PON的接收端口,接收OLT廣播發(fā)送的數(shù)據(jù)包;另一個(gè)千兆口連接成百兆口,作為PON的發(fā)送端口,向OLT發(fā)送數(shù)據(jù),該端口發(fā)射的是特殊波長的光。通過特殊的交換機(jī)制來實(shí)現(xiàn)ONU與OLT的連接。

  BCM5615芯片簡介

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

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

  時(shí)鐘電路

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

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

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

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

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

  ASIC驅(qū)動(dòng)

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

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

  結(jié)語

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

 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉