摘要:利用ucLinux對(duì)網(wǎng)絡(luò)技術(shù)的支持,提出了一種利用ucLinux來(lái)構(gòu)建基于ARM9 CPU的SOHO路由器的設(shè)計(jì)思想。該方案的硬件平臺(tái)核心采用美國(guó)MARVELL公司生產(chǎn)的88E6218微處理器芯片。文中詳細(xì)描述了SOHO路由器的軟、硬件設(shè)計(jì)結(jié)構(gòu)及設(shè)計(jì)流程。
關(guān)鍵詞:SOHO路由器;ucLinux;ARM9;以太網(wǎng)
O 引言
作為互聯(lián)網(wǎng)的核心設(shè)備,路由器市場(chǎng)也越來(lái)越廣闊。網(wǎng)絡(luò)向家庭和辦公室的不斷普及,帶動(dòng)了小型路由器(即SOHO路由器)的需求,F(xiàn)在,市場(chǎng)上已經(jīng)出現(xiàn)了大量面向SOHO的網(wǎng)絡(luò)通信產(chǎn)品。其中ARM9系列微處理器以性能優(yōu)越、價(jià)格低廉且技術(shù)成熟而成為目前路由器配置的首選。本文以ARM9核心芯片結(jié)合uclinux操作系統(tǒng)開(kāi)發(fā)模式,詳細(xì)介紹了一種SOHO路由器的設(shè)計(jì)和技術(shù)實(shí)現(xiàn)過(guò)程。
1 SOH0路由器設(shè)計(jì)思路
路南器是一種嵌入式設(shè)備,它離不開(kāi)硬件設(shè)備和軟件系統(tǒng)的支持,對(duì)其開(kāi)發(fā)一般可以理解成三層模型:硬件設(shè)備、操作系統(tǒng)以及運(yùn)行操作系統(tǒng)之上的應(yīng)用程序。硬件設(shè)備主要由微處理器和圍繞微處理器芯片的元件電路組成,它是設(shè)備功能實(shí)現(xiàn)的硬件基礎(chǔ);中間層就是操作系統(tǒng),它可連接硬件部分和應(yīng)用程序,操作系統(tǒng)既要完成對(duì)底層硬件的基本操作,又應(yīng)為應(yīng)用程序提供運(yùn)行環(huán)境支持;操作系統(tǒng)之上就是應(yīng)用程序,是負(fù)責(zé)實(shí)現(xiàn)針對(duì)性應(yīng)用的程序代碼,對(duì)應(yīng)于路由器的網(wǎng)絡(luò)架構(gòu)和通信協(xié)議等功能模塊。
2 硬件實(shí)現(xiàn)
SOH0路由器的硬件結(jié)構(gòu)如圖1所示。圖中的核心是一顆美國(guó)MARVELL公司生產(chǎn)的88E6218高性能16/32位微處理器。該芯片是專門(mén)為SOHO路由器和以太網(wǎng)交換機(jī)而設(shè)計(jì)的,相對(duì)于目前市場(chǎng)上的網(wǎng)絡(luò)通信處理器。88E6218具有性能高、成本低等優(yōu)點(diǎn)。此外,該處理器還帶有DSP指令擴(kuò)展的ARM946E高性能CPU核,其工作頻率達(dá)133/150 MHz,采用16/32位RISC體系,帶有8 KB指令CACHE、8 KB數(shù)據(jù)CACHE和8 KB數(shù)據(jù)RAM,可支持uclinux和Vxwork操作系統(tǒng)內(nèi)存管理,而且內(nèi)置32位ARM指令系統(tǒng)和16位指令集。
88E6218具有集成的以太網(wǎng)接口和交換功能,它內(nèi)部帶有一個(gè)UNIMAC結(jié)構(gòu),可以實(shí)現(xiàn)基于QOS機(jī)制的快速以太網(wǎng)交換功能。其結(jié)構(gòu)框圖如圖2所示。88E6218芯片具有5個(gè)支持IEEE802.3的自適應(yīng)以太網(wǎng)接口和MAC地址端口,其中包括4個(gè)10/100BASE-TX的LAN端口和1個(gè)10/100BA-SE-TX或者100BASE-FX可選擇模式的WAN端口。這些端口可支持802模式的各種路由的網(wǎng)絡(luò)協(xié)議,也支持10/100 Mbps二種傳輸速率以及全/半雙工傳輸功能。每個(gè)端口都有CRC效驗(yàn)、判斷、轉(zhuǎn)移功能,并具有片上數(shù)據(jù)包緩沖存儲(chǔ)器,且符合IEEE 802.3ab,802.3x,802.p,802.-1Q標(biāo)準(zhǔn)的管理功能。此外,該器件還具有IEEE 802.1p流量?jī)?yōu)先權(quán)序列能力,可提供IEEE 802.1Q VALN功能且能夠無(wú)阻塞交換。
88E6218芯片內(nèi)的外圍功能模塊包括SDRAM/FLASH的控制器、JTAG接口、可編程通用I/O口、UART串口接口、中斷控制器、存儲(chǔ)控制器與及電源調(diào)整引腳等。另外,88E6218還有一個(gè)重要特點(diǎn)就是提供有PHY LED燈的控制器,可以用來(lái)指示端口收發(fā)器是否連接、接收、發(fā)送、全雙工等各種工作狀態(tài),以通過(guò)LED顯示判斷網(wǎng)絡(luò)的連接狀態(tài)。