傳統ADSL技術的下載速率是8~12Mbps,傳輸最大距離可達6~7公里。另一種DSL技術──VDSL,其最大下載速率是52Mbps,傳輸最大距離約1公里。雖然VDSL的傳輸速率很快,但是傳輸距離卻很短。經過國外業者的研究與妥協,在2003年制定了G.992.5標準,也就是所謂的ADSL2+。它使ADSL的頻寬增加,傳輸距離在1~3公里以內時,其最大的下載速率可達24Mbps。
ADSL2+的優點
ADSL2+可以彌補傳統ADSL和VDSL的缺點,在應用上,它們之間是互補的關係。全球VDSL的市場只有ADSL市場的幾十分之一,ADSL2+技術是ADSL的革新版,而且它不是VDSL的競爭者,VDSL在短距離的傳輸應用,具有絕對的優勢。在1~3公里範圍內,ADSL2+的傳輸速率比VDSL和傳統ADSL優異;但超過3公里以後,ADSL2+的傳輸速率與傳統ADSL很接近。
傳統ADSL採用離散多頻道調變(Discrete Multi-Tone modulation;DMT)技術,它的1.1MHz頻寬被分成255個子頻道(tone),每個子頻道使用4.3125KHz的頻寬。子頻道6至31為上載傳輸,子頻道33至255為下載傳輸。子頻道最多可進行1-bit的點陣圖(bitmap)調變,所以,在理論上,傳統ADSL的下載傳輸速率約為14.4MHz(4.3125KHzX(255-33+1)X15)。此外,由於每個子頻道可以進行獨立的調變和傳輸,因此,它具有很強的抗雜訊能力。
如(圖一)所示
《圖一 傳統ADSL和ADSL2+的頻寬》 |
ADSL2+採用與傳統ADSL相同的調變技術,但將傳輸頻寬增加至2.2MHz,共有511個子頻道,這使得傳輸速率加倍。ADSL2+的24Mbps下載速率,最多可支援三個視訊流同時傳輸。除了傳輸速率增加以外,ADSL2+還有另一個優點,就是可以減少傳輸線路的串音(crossover)干擾。
ADSL2+數據機的架構
(圖二)是典型的ADSL2+數據機的內部架構,它和傳統的ADSL數據機類似。一般而言,它包含了網路處理器、DMT引擎、類比前端(analog front end;AFE)、記憶體單元。圖二中有附一個UTOPIA-II介面,當內建的DMT引擎之規格不符需求時,可以選擇連接一個外部的DMT數位訊號處理器。
《圖二 ADSL2+數據機的架構》 |
DMT引擎(或DMT處理單元)可能是一顆DSP,或是可程式的硬體線路(FPGA或CPLD)。在理論上,若使用DSP,將會比較有彈性,能夠適應ADSL規格和市場需求的演變;但是,在實務上,大部份的設計改變,可以使用FPGA或CPLD透過組態重新設定達到。
主控制器(host controller)可能內建有獨立的網路處理器或通訊處理器,負責處理所有的封包,也包含ATM SAR封包在內。它們內部的CPU大多數是ARM或MIPS。Broadcom、Conexant、LSI Logic的網路處理器內部還包含AAL2 SAR單元,可以支援壓縮過的語音。大多數的網路處理器內部都支援AAL5 SAR功能,可以將接收到的ATM封包(cell)轉換成乙太封包。
比較新型的網路處理器內部,還包含一個防火牆(firewall)的功能,這是現代網路閘道器非常需要的功能之一。而將此功能整合到ADSL2+數據機中,還可以降低寬頻存取系統的總開發成本。
主控制器(或網路處理器)和DMT DSP之間的資料傳輸,是經由對信箱區(mailbox)進行讀寫完成的。信箱區是公用的記憶體區域,它被區分為數個頻道(channel),每一個頻道具有數個讀寫資料時所必需的暫存器;此外,還有一些供給所有頻道共用的暫存器,這些暫存器提供之功能包括:主控制器組態之設定、中斷遮蔽(interupt mask)之設定、主控制器的中斷狀態、DSP時脈控制。信箱區暫存器是全部映射至主控制器的主記憶體位址中,因此,主控制器內的嵌入式軟體或作業系統可以直接操控信箱區的資料傳輸。
DSP韌體
DSP韌體是ADSP2+數據機的核心,它控制和設定所有的硬體加速器,並執行大部份的數據處理工作。如圖二所示,此韌體是在DMT DSP內運行。開機以後,此韌體必須下載至DMT DSP的內建記憶體儲存,為了支援此韌體的下載,主控制器內部ROM(或外部FLASH)必須具有基本的下載程式。
ADSL2+數據機可以被視為一個狀態機器(state machine),其狀態和狀態之間的轉換是由韌體控制的。ADSL2+數據機的最初狀態是禁能(dusable)狀態,(圖三)的流程表示如何將ADSL2+數據機的DMT DSP初始化,並讓它進入禁能狀態。
《圖三 啟動數據機韌體的流程》 |
若不使用內建的晶體(crystal),而使用外部晶體時,則必須對主控制器組態暫存器做設定。軟重置(soft-reset)是由此組態暫存器發出的。韌體是從主控制器下載至DMT DSP,這是利用訊息(message)來傳遞的,且需要一些暫存器來控制。「設定ATM」也是利用訊息傳送來完成的。「設定模式」是為了設定訊息的工作模式。當上述程序都完成後,便可送出連接控制(connect control)的訊息,以開啟數據機。
訊息格式
信箱區的訊息格式包含有:命令欄位、長度欄位、次類型(subtype)、資料欄位。後兩者可依需要決定是否要使用,如(圖四)所示。長度欄位內的值是次類型和資料欄位的總長度,不包括命令和長度欄位的大小。
《圖四 訊息格式》 |
當傳輸的資料很大時,在一個信箱區大小和傳輸時段之內,數個訊息可以連接起來一起傳輸此筆大資料。不過,在一個信箱緩衝區內的最後一個訊息的最後一行欄位必須全部都是0,用以表示此次信箱區傳輸的終結。如果沒有任何資料要傳輸,仍然要在信箱緩衝區的第一行位址上寫入16個0。
嵌入式軟體
大體而言,傳統ADSL數據機的軟體堆疊,如(圖五)所示,是可以適用於ADSL2+數據機的。不過,由於各廠商的SoC晶片和硬體介面之不同,底層的驅動程式或韌體設計可能會不一樣。
《圖五 ADSL的軟體堆疊》 |
基本上,除了嵌入式作業系統以外,ADSL2+數據機的主控制器之嵌入式軟體還應該要包含:開機載入程式(boot loader或boot codes)、硬體驅動程式、核心層(或傳輸層)的通訊協定堆疊、應用層的通訊協定堆疊、應用程式。
ATM傳輸匯集(Transmission Convergence;TC)、作業和維持(operation and maintenance control;OAM)算是傳統ADSL和ADSL2+標準特有的功能,前者可藉由驅動程式呼叫特定的命令訊息,來設定ATM TC的參數和UTOPIA的實體位址來達到;OAM功能則要看ADSL2+晶片(DMT DSP)是否有支援。
如前面所介紹的,為簡化和方便程式的設計,現代的ADSL2+驅動程式大都是呼叫命令訊息來控制內部的DMT DSP。但若是使用外部的DMT DSP時,則必須啟動ATM TC和UTOPIA的功能,這和傳統的ADSL驅動程式類似。在PPPoA、IPoA、PPPoE、RFC1483/ RFC 2684下方仍然需要ATM SAR(AAL5)驅動程式,用來控制主控制器的ATM SAR單元,在ATM封包與乙太封包之間做轉換。
開發工具
一般而言,在開發ADSL2+數據機時,需要下列的工具:
●作業系統的監控工具(console):是PC主機和目標板(target board)之間的通訊介面,透過它,開發者可以監控與觀察硬體或軟體的行為,這包含執行驅動程式和FPGA/CPLD程式,並查看其輸出結果。
●嵌入式軟體的開發工具:這包含編譯器(compiler)、組譯器、除錯器、FLASH燒錄器、載入器(loader)、線路仿真器(ICE)等等。
●FPGA/CPLD開發工具:包含編譯器、仿真器、除錯器、載入器和監控平台。
●所有必需的原始程式碼(或樣本程式)、執行檔、映像檔(image file):供程式設計、修改、建製(build)、測試、除錯之用。
此外,在使用這些工具之前,還需要有正式授權的版權碼或檔案才行。
經由本文之介紹可以知道,OEM或ODM廠商想要從零開始設計一台軟硬體完全自製的ADSL2+數據機實非易事。鑒於成本和時間的壓力,大多數廠商寧可選擇全段加工(turn key)的解決方案。不過,對研發工程師而言,能夠完全窺見、理解和掌握ADSL2+數據機的所有技術,是一件多麼令人快樂的事啊!雖然,這很可能要歷經許多挫折和風波,最後才能幸運地如願以償。