非對(duì)稱數(shù)字用戶環(huán)路(ADSL)是目前寬帶接入網(wǎng)技術(shù)中最具有前景及競(jìng)爭(zhēng)力的一種[1]。雖然歐美一些先進(jìn)國(guó)家在ADSL示范網(wǎng)上取得了成功,但在當(dāng)前 Internet的應(yīng)用環(huán)境中,要廣泛應(yīng)用ADSL還有阻力。主要原因是ADSL系統(tǒng)技術(shù)較為復(fù)雜,采用集成電路(IC)設(shè)計(jì)方法,通過(guò)印刷電路板(PCB)來(lái)將多芯片集成為系統(tǒng),系統(tǒng)實(shí)際性能并不理想,同時(shí)使得ADSL設(shè)備制作成本較高,因此難以推廣使用。采用片上系統(tǒng)設(shè)計(jì)方法[2][3][4] 把各個(gè)子系統(tǒng)有機(jī)地集成到一個(gè)芯片上去,可以很好地克服多芯片集成系統(tǒng)所引起的系統(tǒng)性能問(wèn)題,使ADSL真正成為一種高速、低成本的Internet高速接入技術(shù)。本文介紹ADSL收發(fā)器片上系統(tǒng)芯片設(shè)計(jì),給出了硬件實(shí)現(xiàn)的具體描述。
1 ADSL收發(fā)器片上系統(tǒng)芯片總體設(shè)計(jì)
設(shè)計(jì)的片上系統(tǒng)(System on a Chip)芯片如圖1所示。其中存儲(chǔ)器核采用NMI Electronics存儲(chǔ)器核,PCI采用Eureka Technology的PCI核,DSP核選用某公司的DSP核,DSP算法自主設(shè)計(jì)開發(fā)。MCU核完成與DSP核、ATM成幀器核及各種接口的通信、控制、管理功能,包括PCI總線接口、USB接口、10BASE-T接口及內(nèi)部總線的協(xié)調(diào)控制工作,通過(guò)專用邏輯模塊來(lái)完成;DSP核致力于完成收發(fā)器設(shè)備中各種核心算法,包括ADSL子信道劃分算法、DMT(離散多音頻調(diào)制)子信道比特分配算法、功率調(diào)整、非線性回波抵消算法、自適應(yīng)均衡算法等;模擬前端 AFE核完成A/D、D/A轉(zhuǎn)換、線路驅(qū)動(dòng)及分離器功能;ATM成幀器核完成ATM幀頭定位及成幀功能,其中的邏輯電路完成CRC編解碼、擾碼與解碼、 RS編解碼、交織與解交織和TCM編解碼;通過(guò)模式選擇本設(shè)計(jì)可以工作于ATM和STM兩種模式下;本芯片還提供了控制通道(RS232接口),實(shí)現(xiàn)對(duì)系統(tǒng)的管理、監(jiān)視和調(diào)試功能。設(shè)計(jì)特點(diǎn):(1)模擬前端核與其他核集成在一起,避免了線性驅(qū)動(dòng)器件中常見的四個(gè)電源至少需要三個(gè)的情況,實(shí)現(xiàn)了高效率、低功耗的設(shè)計(jì)。(2)可在局端DSL接入復(fù)用器中直接當(dāng)作線卡來(lái)用,以提供高速因特網(wǎng)接入服務(wù)。(3)支持所有最新的ADSL標(biāo)準(zhǔn),包括ANSI T1.413Issue 2、ITU G.992.1和ITU G.992.2。它還提供了G.Lite運(yùn)作所需要的低開銷、快速啟動(dòng)和再訓(xùn)練功能。(4)通過(guò)控制口提供配置和控制ADSL線的所有功能,減輕主機(jī)控制器的管理負(fù)擔(dān)。
2 芯片中的典型電路設(shè)計(jì)與實(shí)現(xiàn)
2.1 ATM成幀器設(shè)計(jì)
ATM 成幀器完成用戶數(shù)據(jù)接口功能。用戶數(shù)據(jù)接口將接收的Utopia接口或者STM接口數(shù)據(jù)分為快速Utopia接口或者STM接口。用戶數(shù)據(jù)接口分為接收方向和發(fā)送方向兩個(gè)部分,發(fā)送方向是由芯片外向芯片內(nèi),所處理數(shù)據(jù)包括ATM數(shù)據(jù)(utopia接口)、STM數(shù)據(jù),將其組成為ADSL超幀,并分為交織通道和快速通道;接收方向是將交織通道和快速通道 的數(shù)據(jù)通過(guò)解幀等變換發(fā)送出去,也分為utopia接口數(shù)據(jù)、STM數(shù)據(jù)。其大致的結(jié)構(gòu)如圖2所示。
STM接口在發(fā)送方向包括STM_Data和STM_CLK兩種信號(hào),在接收方向包括STM_Data和STM_CLK兩種信號(hào)。在發(fā)送方向,STM信號(hào)經(jīng)過(guò)并串轉(zhuǎn)換后,以串行方式進(jìn)行傳送,SLT_Data0傳送偶數(shù)比特,SLT_Data1傳送奇數(shù)比特,然后在通道分類中根據(jù)外部微處理器的配置(通過(guò)控制接口)將數(shù)據(jù)送入fast通道或者interleave通道。在接收方向,從fast通道和interleave通道中來(lái)的數(shù)據(jù)在通道合并中合并為串行數(shù)據(jù),SLR_Data0傳送偶數(shù)比特,SLR_Data1傳送奇數(shù)比特,再經(jīng)過(guò)串并轉(zhuǎn)換送到STM接口中。其中,超幀指標(biāo)模塊主要產(chǎn)生指示超幀的信號(hào)(包括接收和發(fā)送方向),VAL和REQ是字節(jié)數(shù)據(jù)有效信號(hào),F(xiàn)rame信號(hào)是數(shù)據(jù)超幀開始信號(hào),CLK信號(hào)是超幀時(shí)鐘。根據(jù)Utopia協(xié)議可以知道, Utopia接口每個(gè)字節(jié)數(shù)據(jù)都是由一個(gè)時(shí)鐘周期來(lái)傳送的,所以傳送一個(gè)信元可以用53個(gè)時(shí)鐘周期。在發(fā)送方向和接收方向的同步時(shí)鐘信號(hào)都是由ATM層發(fā)出的,可以把他們看成是異步時(shí)鐘。從Utopia接口進(jìn)入芯片的數(shù)據(jù)首先通過(guò)地址譯碼,選擇發(fā)送的端口地址,然后由發(fā)送控制器控制從Utopia接口來(lái)的數(shù)據(jù),將它們存入發(fā)送緩沖,然后到信元速率接口控制器。信元速率控制器模塊的功能為:當(dāng)ATM層發(fā)送的信元速率小于ADSL的下行傳送數(shù)據(jù)速率時(shí),信元速率控制器就插入一些空信元來(lái)使兩乾的數(shù)據(jù)速率匹配。HEC生成模塊的功能:處理信元的HEC,提高出現(xiàn)滑碼時(shí)的信元定界能力。在處理信元在接收誤碼計(jì)數(shù)器中記錄下來(lái),用于以后的性能監(jiān)測(cè)中。信元加擾模塊的功能:防止在信元負(fù)荷中出現(xiàn)與HEC相同的情況。幀適配模塊的功能:將信元數(shù)據(jù)流整理成適于ADSL超幀數(shù)據(jù)結(jié)構(gòu)。一方面實(shí)現(xiàn)同步,在ADSL中可以通過(guò)填充字節(jié)LEX、AEX來(lái)實(shí)現(xiàn)。如果發(fā)送時(shí)鐘稍快一點(diǎn),將把固定的字節(jié)數(shù)用完,這時(shí)可以用LEX、 AEX來(lái)傳送數(shù)據(jù)。如果發(fā)送時(shí)鐘稍慢一點(diǎn),固定的字節(jié)數(shù)將不會(huì)被用完,這時(shí)候可以不用信號(hào)(ib)來(lái)表示,由外部微處理器來(lái)處理。幀適配模塊的另一方面功能是可以提取aoc、eoc、ib等子節(jié)。并串轉(zhuǎn)換模塊的功能:將數(shù)據(jù)流進(jìn)行并串轉(zhuǎn)換后送入通道分類模塊。通道分類模塊的功能:將奇數(shù)和偶數(shù)的串行數(shù)據(jù)流合并成一列數(shù)據(jù)流,根據(jù)Utopia接口的TxAdd信號(hào)或者外部微處理器的配置(控制接口中的寄存器)送入fast通道或者interleave通道。需要指出的是接收方向與發(fā)送方向數(shù)據(jù)流向相反,不再解釋。
2.2 數(shù)字接口設(shè)計(jì)
根據(jù)ADSL協(xié)議要求,數(shù)字接口主要將信道中的快速和交織的數(shù)據(jù)經(jīng)過(guò)擾碼、FEC編碼后形成可以傳送的數(shù)據(jù)。大致框圖如圖3所示。
在發(fā)送方向,從用戶數(shù)據(jù)接口來(lái)的fast(快車)通道和interleave(交織)通道的數(shù)據(jù)先分別進(jìn)行CRC校驗(yàn),然后進(jìn)入解幀模塊,在這個(gè)模塊中,將超幀分解為一個(gè)一個(gè)的數(shù)據(jù)幀,存入緩沖中。然后對(duì)fast和interleave數(shù)據(jù)分別進(jìn)行加擾,這種加擾是對(duì)每個(gè)數(shù)據(jù)幀進(jìn)行加擾,加擾后的數(shù)據(jù)進(jìn)入 RS編程模塊,之后進(jìn)入發(fā)送FIFO。對(duì)于Interleave數(shù)據(jù),從發(fā)送FIFO出來(lái)以后就進(jìn)行交織處理,然后將兩種數(shù)據(jù)進(jìn)行比較分配,對(duì)每個(gè)子信道分配一定的比特?cái)?shù),這可以參考比持分配表格(在初始化時(shí)計(jì)算出來(lái),存放在緩存之中)。
在接收方向,從DMT調(diào)制模塊來(lái)的數(shù)據(jù)進(jìn)入比特解配,對(duì)Interleave數(shù)據(jù)再經(jīng)過(guò)de_interleave模塊之后進(jìn)入接收FIFO,然后進(jìn)入 RS解碼模塊,當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),將誤碼計(jì)數(shù)器加1,計(jì)數(shù)結(jié)果將用于性能。從RS解碼出來(lái)的數(shù)據(jù)經(jīng)過(guò)解擾后,送入組幀模塊,在個(gè)模塊中,將各個(gè)數(shù)據(jù)幀組合成超幀,然后將數(shù)據(jù)進(jìn)行CRC校驗(yàn),最后送到用戶數(shù)據(jù)接口。