非對稱數(shù)字用戶環(huán)路(ADSL)是目前寬帶接入網(wǎng)技術(shù)中最具有前景及競爭力的一種[1]。雖然歐美一些先進國家在ADSL示范網(wǎng)上取得了成功,,但在當(dāng)前 Internet的應(yīng)用環(huán)境中,,要廣泛應(yīng)用ADSL還有阻力,。主要原因是ADSL系統(tǒng)技術(shù)較為復(fù)雜,,采用集成電路(IC)設(shè)計方法,通過印刷電路板(PCB)來將多芯片集成為系統(tǒng),,系統(tǒng)實際性能并不理想,,同時使得ADSL設(shè)備制作成本較高,因此難以推廣使用,。采用片上系統(tǒng)設(shè)計方法[2][3][4] 把各個子系統(tǒng)有機地集成到一個芯片上去,,可以很好地克服多芯片集成系統(tǒng)所引起的系統(tǒng)性能問題,使ADSL真正成為一種高速,、低成本的Internet高速接入技術(shù),。本文介紹ADSL收發(fā)器片上系統(tǒng)芯片設(shè)計,給出了硬件實現(xiàn)的具體描述,。
1 ADSL收發(fā)器片上系統(tǒng)芯片總體設(shè)計
設(shè)計的片上系統(tǒng)(System on a Chip)芯片如圖1所示,。其中存儲器核采用NMI Electronics存儲器核,PCI采用Eureka Technology的PCI核,,DSP核選用某公司的DSP核,,DSP算法自主設(shè)計開發(fā)。MCU核完成與DSP核,、ATM成幀器核及各種接口的通信,、控制、管理功能,,包括PCI總線接口,、USB接口、10BASE-T接口及內(nèi)部總線的協(xié)調(diào)控制工作,,通過專用邏輯模塊來完成,;DSP核致力于完成收發(fā)器設(shè)備中各種核心算法,包括ADSL子信道劃分算法,、DMT(離散多音頻調(diào)制)子信道比特分配算法,、功率調(diào)整、非線性回波抵消算法,、自適應(yīng)均衡算法等,;模擬前端 AFE核完成A/D、D/A轉(zhuǎn)換,、線路驅(qū)動及分離器功能,;ATM成幀器核完成ATM幀頭定位及成幀功能,其中的邏輯電路完成CRC編解碼,、擾碼與解碼,、 RS編解碼,、交織與解交織和TCM編解碼;通過模式選擇本設(shè)計可以工作于ATM和STM兩種模式下,;本芯片還提供了控制通道(RS232接口),,實現(xiàn)對系統(tǒng)的管理、監(jiān)視和調(diào)試功能,。設(shè)計特點:(1)模擬前端核與其他核集成在一起,,避免了線性驅(qū)動器件中常見的四個電源至少需要三個的情況,實現(xiàn)了高效率,、低功耗的設(shè)計,。(2)可在局端DSL接入復(fù)用器中直接當(dāng)作線卡來用,以提供高速因特網(wǎng)接入服務(wù),。(3)支持所有最新的ADSL標準,,包括ANSI T1.413Issue 2、ITU G.992.1和ITU G.992.2,。它還提供了G.Lite運作所需要的低開銷、快速啟動和再訓(xùn)練功能,。(4)通過控制口提供配置和控制ADSL線的所有功能,,減輕主機控制器的管理負擔(dān)。
2 芯片中的典型電路設(shè)計與實現(xiàn)
2.1 ATM成幀器設(shè)計
ATM 成幀器完成用戶數(shù)據(jù)接口功能,。用戶數(shù)據(jù)接口將接收的Utopia接口或者STM接口數(shù)據(jù)分為快速Utopia接口或者STM接口,。用戶數(shù)據(jù)接口分為接收方向和發(fā)送方向兩個部分,發(fā)送方向是由芯片外向芯片內(nèi),,所處理數(shù)據(jù)包括ATM數(shù)據(jù)(utopia接口),、STM數(shù)據(jù),將其組成為ADSL超幀,,并分為交織通道和快速通道,;接收方向是將交織通道和快速通道 的數(shù)據(jù)通過解幀等變換發(fā)送出去,也分為utopia接口數(shù)據(jù),、STM數(shù)據(jù),。其大致的結(jié)構(gòu)如圖2所示。
STM接口在發(fā)送方向包括STM_Data和STM_CLK兩種信號,,在接收方向包括STM_Data和STM_CLK兩種信號,。在發(fā)送方向,STM信號經(jīng)過并串轉(zhuǎn)換后,,以串行方式進行傳送,,SLT_Data0傳送偶數(shù)比特,SLT_Data1傳送奇數(shù)比特,,然后在通道分類中根據(jù)外部微處理器的配置(通過控制接口)將數(shù)據(jù)送入fast通道或者interleave通道,。在接收方向,,從fast通道和interleave通道中來的數(shù)據(jù)在通道合并中合并為串行數(shù)據(jù),SLR_Data0傳送偶數(shù)比特,,SLR_Data1傳送奇數(shù)比特,,再經(jīng)過串并轉(zhuǎn)換送到STM接口中。其中,,超幀指標模塊主要產(chǎn)生指示超幀的信號(包括接收和發(fā)送方向),,VAL和REQ是字節(jié)數(shù)據(jù)有效信號,F(xiàn)rame信號是數(shù)據(jù)超幀開始信號,,CLK信號是超幀時鐘,。根據(jù)Utopia協(xié)議可以知道, Utopia接口每個字節(jié)數(shù)據(jù)都是由一個時鐘周期來傳送的,,所以傳送一個信元可以用53個時鐘周期,。在發(fā)送方向和接收方向的同步時鐘信號都是由ATM層發(fā)出的,可以把他們看成是異步時鐘,。從Utopia接口進入芯片的數(shù)據(jù)首先通過地址譯碼,,選擇發(fā)送的端口地址,然后由發(fā)送控制器控制從Utopia接口來的數(shù)據(jù),,將它們存入發(fā)送緩沖,,然后到信元速率接口控制器。信元速率控制器模塊的功能為:當(dāng)ATM層發(fā)送的信元速率小于ADSL的下行傳送數(shù)據(jù)速率時,,信元速率控制器就插入一些空信元來使兩乾的數(shù)據(jù)速率匹配,。HEC生成模塊的功能:處理信元的HEC,提高出現(xiàn)滑碼時的信元定界能力,。在處理信元在接收誤碼計數(shù)器中記錄下來,,用于以后的性能監(jiān)測中。信元加擾模塊的功能:防止在信元負荷中出現(xiàn)與HEC相同的情況,。幀適配模塊的功能:將信元數(shù)據(jù)流整理成適于ADSL超幀數(shù)據(jù)結(jié)構(gòu),。一方面實現(xiàn)同步,在ADSL中可以通過填充字節(jié)LEX,、AEX來實現(xiàn),。如果發(fā)送時鐘稍快一點,將把固定的字節(jié)數(shù)用完,,這時可以用LEX,、 AEX來傳送數(shù)據(jù)。如果發(fā)送時鐘稍慢一點,,固定的字節(jié)數(shù)將不會被用完,,這時候可以不用信號(ib)來表示,由外部微處理器來處理。幀適配模塊的另一方面功能是可以提取aoc,、eoc,、ib等子節(jié)。并串轉(zhuǎn)換模塊的功能:將數(shù)據(jù)流進行并串轉(zhuǎn)換后送入通道分類模塊,。通道分類模塊的功能:將奇數(shù)和偶數(shù)的串行數(shù)據(jù)流合并成一列數(shù)據(jù)流,,根據(jù)Utopia接口的TxAdd信號或者外部微處理器的配置(控制接口中的寄存器)送入fast通道或者interleave通道。需要指出的是接收方向與發(fā)送方向數(shù)據(jù)流向相反,,不再解釋,。
2.2 數(shù)字接口設(shè)計
根據(jù)ADSL協(xié)議要求,數(shù)字接口主要將信道中的快速和交織的數(shù)據(jù)經(jīng)過擾碼,、FEC編碼后形成可以傳送的數(shù)據(jù),。大致框圖如圖3所示。
在發(fā)送方向,,從用戶數(shù)據(jù)接口來的fast(快車)通道和interleave(交織)通道的數(shù)據(jù)先分別進行CRC校驗,,然后進入解幀模塊,在這個模塊中,,將超幀分解為一個一個的數(shù)據(jù)幀,,存入緩沖中。然后對fast和interleave數(shù)據(jù)分別進行加擾,,這種加擾是對每個數(shù)據(jù)幀進行加擾,,加擾后的數(shù)據(jù)進入 RS編程模塊,之后進入發(fā)送FIFO,。對于Interleave數(shù)據(jù),從發(fā)送FIFO出來以后就進行交織處理,,然后將兩種數(shù)據(jù)進行比較分配,,對每個子信道分配一定的比特數(shù),這可以參考比持分配表格(在初始化時計算出來,,存放在緩存之中),。
在接收方向,從DMT調(diào)制模塊來的數(shù)據(jù)進入比特解配,,對Interleave數(shù)據(jù)再經(jīng)過de_interleave模塊之后進入接收FIFO,,然后進入 RS解碼模塊,當(dāng)發(fā)現(xiàn)錯誤時,,將誤碼計數(shù)器加1,,計數(shù)結(jié)果將用于性能。從RS解碼出來的數(shù)據(jù)經(jīng)過解擾后,,送入組幀模塊,,在個模塊中,將各個數(shù)據(jù)幀組合成超幀,,然后將數(shù)據(jù)進行CRC校驗,,最后送到用戶數(shù)據(jù)接口,。
2.3 DMT調(diào)制電路設(shè)計
DMT 調(diào)制是ADSL收發(fā)器片上系統(tǒng)芯片中的重要模塊之一,主要完成數(shù)據(jù)在每個子信道上的調(diào)制,,它的好壞直接關(guān)系到ADSL收發(fā)器芯片性能的好壞,。DMT中大部分的計算都通過DSP來完成,如FFT/IFFT,、FEQ,、TEQ、星座編碼和解碼,、Trellis編碼和Viterbi解碼等功能,。與DSP的聯(lián)系主要通過數(shù)據(jù)和程序地址總線來完成。DMT調(diào)制模塊大致框圖如圖4所示,。
在發(fā)送方向,,從數(shù)字接口來的數(shù)據(jù)流已經(jīng)是每個子信道的比特分配流,這種數(shù)據(jù)流在星座編碼模塊中進行星座編碼,,將頻域的比特流信號轉(zhuǎn)換成時域的星座平面上的復(fù)數(shù)(X+iY)信號,,然后進行2D QAM調(diào)制。這時候可以選擇Trellis編碼(四維格狀態(tài)調(diào)制),,用以產(chǎn)生冗余比特來增強發(fā)送的可靠性,。然后將經(jīng)過星座編碼后的數(shù)據(jù)存入發(fā)送緩沖。由于信道失真或者其他的原因,,從緩沖出來的數(shù)據(jù)在頻率和相位上都與主時鐘頻率和相位不匹配,。所以為了調(diào)整這種不匹配,從緩沖出來的數(shù)據(jù)先經(jīng)過頻率調(diào)整和增益微調(diào)(FTG),。頻率調(diào)整是調(diào)節(jié)發(fā)送頻率,,保證發(fā)送頻率和理想頻率的一致,F(xiàn)TG是調(diào)節(jié)每個子載波上的增益稀疏,。然后再進入快速傅立葉逆變換(IFFT),,將頻域的DMT符號轉(zhuǎn)換成時域的信號,送入發(fā)送緩沖之中,,最后送入模擬前端接口,。
在接收方向,從模擬前端接口來的數(shù)據(jù)是經(jīng)過時域均衡(TEQ)以后的,,這些數(shù)據(jù)首先進入接收緩沖,,之后進入快速傅立葉變換(FFT),將時域的DMT信號轉(zhuǎn)換成頻域的信號(512點),,然后在頻域均衡(FEQ)和相位調(diào)整模塊中消除相應(yīng)的干擾,,送入接收緩沖,之后進行星座解碼,從而將星座平面的復(fù)數(shù)點轉(zhuǎn)換為比特流,。如果接收的數(shù)據(jù)使用了Trellis編碼,,那么在星座解碼后的數(shù)據(jù)將再通過Viterbi解碼模塊之后,送入數(shù)據(jù)接口,。
在第64個子信道中傳送的時導(dǎo)頻信號,,在發(fā)送和接收方向都是通過DPLL數(shù)字鎖相環(huán)來保證發(fā)送和接收時鐘與導(dǎo)頻信號一致。當(dāng)星座編碼和解碼時,,發(fā)現(xiàn)導(dǎo)頻信號的星座點的位置與理想的點位置不一致時,,就要通過DPLL和相位調(diào)整/頻率調(diào)整模塊來糾正。同時,,監(jiān)視器可以發(fā)送中心斷R_INT4信號到管理和控制接口,。通過ASB與內(nèi)部ARM核通信。DPLL的功能有:(1)DPLL中恢復(fù)導(dǎo)頻信號的功能,。為了保證收發(fā)時鐘有固定的相位關(guān)系,,在ADSL中采用了插入導(dǎo)頻的方法來傳送和恢復(fù)時鐘信號。發(fā)送器在發(fā)送數(shù)據(jù)的同時用64號子信道傳送獨立的導(dǎo)頻信號,,抽樣時鐘頻率為2208kHz,,而導(dǎo)頻信號的頻率為 276kHz,恢復(fù)了導(dǎo)頻信號后,,利用鎖相環(huán)鎖住抽樣時鐘頻率,,從而實現(xiàn)時鐘的恢復(fù)。(2)在PLL中通過一個時鐘源產(chǎn)生內(nèi)部的所需時鐘,。其中內(nèi)部所需時鐘包括:CPU時鐘,、DSP時鐘、各種算法的時鐘等,。PLL鎖相環(huán)的外界參考晶體的頻率可以為:35.328MHz,。
在Trellis編碼和Viterbi解碼時,分別有一個誤碼計數(shù)器與之相連,,當(dāng)發(fā)生錯誤時,誤碼計數(shù)器加1,,加到一定數(shù)值,,就通過發(fā)送中斷信號T_INT5、R_INT5通知內(nèi)部ARM核,。
3 非對稱數(shù)字用戶環(huán)路收發(fā)器的睡上系統(tǒng)芯片設(shè)計難點
3.1 DSP算法設(shè)計及實現(xiàn)
DSP 算法是ADSL收發(fā)器SOC芯片的核心,,其工作的好壞直接影響整個芯片的性能,而ADSL收發(fā)器中涉及的DSP技術(shù)又非常復(fù)雜,,給設(shè)計增加了難度,。DSP 算法的設(shè)計首先要建立管理模型,以模型為基礎(chǔ)進行算法設(shè)計,繼而設(shè)計優(yōu)化模型并以此為根據(jù)對算法進行優(yōu)化,,使算法準確,、穩(wěn)定,能很好地滿足性能要求,。下一步就是硬件軟件實現(xiàn)及二者的協(xié)同設(shè)計和驗證,,驗證是為了優(yōu)化VLSI硬件和功能結(jié)構(gòu),有效快速地執(zhí)行算法,,最后進行DSP系統(tǒng)集成,。
3.2 數(shù)模混合設(shè)計
為了降低功耗,,提高電子器件的效率,,把模擬前端AFE與微控制器MCU核等集成到一起。在一個數(shù)字芯片上集成混合信號內(nèi)核時,,缺乏線性電阻是一個主要問題,,因為連續(xù)時間序濾波器要求片上電阻具有良好的可控性和線性。電流開關(guān)DAC也要用線性電阻把電流轉(zhuǎn)變成電壓,。把數(shù)字噪音與模擬噪音隔離開是另外一個問題,,必須采用具有較高共模抑制比(CMRR)和電源抑制比的完全差動設(shè)計。
3.3 系統(tǒng)驗證問題
隨著系統(tǒng)級芯片(SOC)復(fù)雜性的增加,,傳統(tǒng)使用HDL軟件模擬器來進行驗證的方法已經(jīng)不夠用了,,它無法提供所需的性能,以檢查系統(tǒng)功能的正確性,。而且 SOC芯片的驗證需要對整個系統(tǒng)建立模型,,要將很多實際的情況加入到模型之中,來證明整個系統(tǒng)經(jīng)及芯片都工作正常,。因此,,需要有一個靈活的建模環(huán)境,以便處理大量的系統(tǒng)級方案,。處理界面入口(TIP)可以在抽象層軟件和詳細的硬件實現(xiàn)之間提供一個高速鏈接,,執(zhí)行任務(wù)軟件、驗證系統(tǒng)級操作以及快速發(fā)現(xiàn)設(shè)計中的問題,。
3.4系統(tǒng)測試問題
SOC芯片的測試技術(shù)難度較大,。SOC芯片測試設(shè)備則必須能夠精確地檢測模擬和數(shù)字兩種電路,并支持掃描檢測和嵌套式存儲器檢測,。對輸入引腳加測試向量,,再從輸出引腳觀察結(jié)果的傳統(tǒng)檢測方法已不適用。因為,,傳統(tǒng)方法測試向量集會過分龐大,,執(zhí)行時間也會長得驚人,。
4 設(shè)計實現(xiàn)
采用軟硬件協(xié)同仿真設(shè)計,在大型EDA仿真軟件Cadence的數(shù)字模擬混合設(shè)計工具Spectra上,,用硬件描述語言Verilog完成設(shè)計輸入,,進而完成設(shè)計綜合、功能仿真,、布局布線,、后仿真和產(chǎn)生構(gòu)造位流文件。
以上介紹了ADSL收發(fā)器片上系統(tǒng)芯片設(shè)計,,給出了相應(yīng)硬件設(shè)計的具體描述,,對設(shè)計特點、難點進行了闡述,。