基于A(yíng)TM的ADSL網(wǎng)關(guān)的研究與實(shí)現
隨著(zhù)互聯(lián)網(wǎng)上的內容越來(lái)越豐富多彩,人們對傳輸帶寬的需求也逐漸增大,傳統Modem的56K帶寬日益顯得不堪重負。如何充分有效利用現有的電話(huà)線(xiàn)資源來(lái)獲得足夠的帶寬呢? ADSL(不對稱(chēng)數字用戶(hù)環(huán)路)是一個(gè)很好的答案。ADSL技術(shù)利用電話(huà)線(xiàn)上高于話(huà)音頻帶的帶寬(4K~1.1MHz),采用離散多音頻調制技術(shù)來(lái)調制高速數字信號(傳統的Modem是用話(huà)音頻帶來(lái)調制數字信號),下行速率可達8Mbit/s,上行可達1.5Mbit/s。隨著(zhù)超大規模集成電路(VLSI)和數字信號處理(DSP)技術(shù)的不斷進(jìn)步,DSL技術(shù)也不斷趨于成熟。ADSL完成A/D、D/A變換,采用FFT/IFFT作DMT和卷積編碼調制,既實(shí)現了高帶寬利用率,又保證了傳輸的低誤碼特性。我們所設計的ADSL網(wǎng)關(guān)采用Itex的Apollo 3 ADSL PCI解決方案作Internet的接入部分,另一側用以太網(wǎng)或無(wú)線(xiàn)局域網(wǎng)接多用戶(hù),接口為RJ-45和無(wú)線(xiàn)訪(fǎng)問(wèn)點(diǎn)(AP)天線(xiàn),提供了靈活方便的組網(wǎng)方式,可以廣泛應用于家庭、小型辦公室的接入。在軟件上,我們采用根據硬件結構來(lái)定制Linux內核的方法,整合了必要的驅動(dòng)模塊來(lái)作網(wǎng)關(guān)的操作系統,不僅完成對ADSL接入模塊、以太網(wǎng)模塊以及無(wú)線(xiàn)局域網(wǎng)(WLAN)無(wú)線(xiàn)接入點(diǎn)AP模塊的驅動(dòng),還提供DHCP、SNMP以及IP防火墻等應用功能。
一、 硬件體系結構
1.AMD微控制器總體構架
AMD公司推出的ElanSC520功能強大,適用于在嵌入式環(huán)境下用作協(xié)議處理器和網(wǎng)絡(luò )處理器,兼容PC/AT,支持32位PCI外部總線(xiàn),而且其傳輸的低延遲和低價(jià)位使其獲得了廣泛的應用。ElanSC520集成了一個(gè)工業(yè)級的X86處理器,從而為與X86結構適配的軟件提供了良好的接口和易移植性,支持包括Linux和Windows在內的多種操作系統,內建的高速PCI總線(xiàn)接口符合PCI V2.2規范,可擴展1~5個(gè)PCI總線(xiàn)設備,通過(guò)其內部的PCI總線(xiàn)仲裁機制來(lái)決定與哪一個(gè)PCI設備進(jìn)行相互通信。PCI總線(xiàn)的最高傳輸速率可達132MB/s。在A(yíng)DSL網(wǎng)關(guān)設備的設計中,我們使用了三個(gè)PCI總線(xiàn)設備,這三個(gè)總線(xiàn)設備共享PCI總線(xiàn)與ElanSC520進(jìn)行通信。ElanSC520微控制器還帶有高性能的SDRAM和ROM/FLASH接口,同時(shí)還有用于配置和調試的UART串行接口,可以接模擬終端。基于ATM的ADSL網(wǎng)關(guān)的硬件體系結構如圖1所示:
圖1:ADSL硬件體系結構
2. ADSL接入設備
ADSL接入端采用Itex的Apollo 3的PCI解決方案,其芯片組包括線(xiàn)路驅動(dòng)、模擬前端和數字收發(fā)器,完成對電話(huà)線(xiàn)路上信號的發(fā)送和接收濾波、放大、A/D和D/A轉換、FFT/IFFT等數字信號處理,并通過(guò)PCI總線(xiàn)與ElanSC520進(jìn)行通信。該組芯片將PCI到UTOPIA(標準信元接口)的轉換功能集成到DMT收發(fā)器和ATM的成幀器中,將線(xiàn)路接收器集成到模擬前端中。由于控制由主處理器完成,Apollo3不需要額外的存儲設備和控制器,使板上的控制需求減少到最小,從而大大降低了功耗。該芯片組符合以下協(xié)議標準:G.992.1(G.DMT), G.992.2(G.LITE), G.994(G.HS), T1.413 Issue 2(1998)
其結構如圖2所示:
圖2:ADSL線(xiàn)路接入端結構
信號由RJ-11電話(huà)線(xiàn)接口進(jìn)來(lái),收端通過(guò)接收濾波器送到接收部分進(jìn)行濾波、信號放大,經(jīng)A/D變換,FFT解調,送往處理器進(jìn)行處理;而在發(fā)端,由處理器出來(lái)的數字信號經(jīng)過(guò)IFFT進(jìn)行DMT調制,再經(jīng)過(guò)線(xiàn)路驅動(dòng)模塊,濾波后發(fā)送到電話(huà)線(xiàn)路上進(jìn)行傳輸。
3.以太網(wǎng)接口
以太網(wǎng)采用的是Realtek 的RLT8029AS芯片,與NE2000兼容,符合標準的802.3CSMA/CD協(xié)議規范。其全雙工特性允許同時(shí)發(fā)送和接收,集成了曼徹斯特編解碼器,可以用于無(wú)盤(pán)工作站。
4.WLAN_AP接口
為了方便筆記本電腦共享電話(huà)線(xiàn)上網(wǎng),我們在用戶(hù)端還提供了WLAN_AP接口,可以方便的進(jìn)行無(wú)線(xiàn)局域網(wǎng)的組網(wǎng),在這里我們使用了TI公司的PCI1410A橋芯片將PCI信號轉為PCMCIA信號,接無(wú)線(xiàn)網(wǎng)卡,將數據包封裝為符合IEEE802.11b協(xié)議的幀進(jìn)行傳輸。
二、 軟件體系結構
由于Linux操作系統的穩定性、開(kāi)放性以及可擴展性,使它在嵌入式系統中獲得較為廣泛的應用,然而由于Linux允許非搶先式操作,使其不可能成為完全的實(shí)時(shí)系統,最多只能算是在統計意義上的實(shí)時(shí)。在A(yíng)DSL網(wǎng)關(guān)的設計中我們可以將實(shí)時(shí)的信號賦予很高的優(yōu)先級,從而保證在整體上公平地進(jìn)行進(jìn)程調度。
構建嵌入式操作系統,我們首先考慮到在一個(gè)嵌入式的應用環(huán)境下既沒(méi)有多少內存也沒(méi)有多少外存可用,操作系統必須存放在有限的存儲器Flash中,所以我們必須根據硬件的構架來(lái)定制我們需要的Linux內核。由于A(yíng)DSL接入端是基于ATM的,我們要為內核加上對PPP over ATM的patch(補?。?,對于在A(yíng)TM基礎上支持Internet,實(shí)際上可以歸結為在A(yíng)TM上如何支持TCP/IP的問(wèn)題,即ATM如何承載IP包的問(wèn)題。在A(yíng)DSL網(wǎng)關(guān)應用中,要共享ADSL線(xiàn)路接入Internet,遵循的是點(diǎn)到點(diǎn)協(xié)議,因此ADSL接入端的驅動(dòng)程序實(shí)際上是一個(gè)PPP over ATM的模塊,它將作為內核的一個(gè)可載入模塊進(jìn)行進(jìn)程調用,而以太網(wǎng)驅動(dòng)程序和WLAN_AP的驅動(dòng)程序是實(shí)現在以太網(wǎng)和無(wú)線(xiàn)介質(zhì)里傳送IP包的,即分別用802.3和802.11的幀格式來(lái)封裝IP包,這樣ADSL網(wǎng)關(guān)的協(xié)議棧就如圖3所示。
評論