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