基于 TI TLK10002的 SERDES FIFO 溢出的解決方案
作者:李俊明
摘要
分布式基站系統(tǒng)中,RRU 通常會(huì)通過光纖拉遠(yuǎn)實(shí)現(xiàn)與 BBU 的遠(yuǎn)程互聯(lián)。由于光纖自身的特性,傳輸過程中必然會(huì)引入抖動(dòng)和漂移;尤其是漂移,因其低頻特性,并且難于濾除,在SERDES 的 FIFO 深度不夠的情況下有可能會(huì)造成 FIFO 的溢出。
本文首先會(huì)對(duì)這個(gè)問題進(jìn)行一般性地分析,在此基礎(chǔ)上我們將以德州儀器公司 10G SERDES 器件 TLK10002 為例,提出一個(gè)新的解決方案,即采用雙時(shí)鐘模式提供 SERDES系統(tǒng)時(shí)鐘,并且探討了這種模式的具體實(shí)現(xiàn)方式。同時(shí),為了驗(yàn)證雙時(shí)鐘方案的可行性,我們搭建了相應(yīng)的測試平臺(tái),并給出了相應(yīng)的測試結(jié)果。
1、光纖漂移引起的 SERDES FIFO 溢出問題分析
1.1 漂移及漂移形成的原因
漂移是一個(gè)數(shù)字信號(hào)的有效瞬時(shí)在時(shí)間上偏離其理想位置的,非累計(jì)性的偏離。所謂的“長期的偏離”是指偏離隨時(shí)間較慢的變化,通常認(rèn)為變化頻率低于 10Hz 就屬于較慢的變化。
實(shí)際數(shù)字信號(hào)存在的相位噪聲,抖動(dòng)時(shí)相位噪聲的高頻成分,漂移是相位噪聲的低頻成分,工程中以10Hz 來劃分高、低頻。產(chǎn)生這兩種頻率成分的機(jī)理有所不同。產(chǎn)生低頻成分,也就是產(chǎn)生漂移的主要原因是傳輸媒質(zhì)和設(shè)備中傳輸時(shí)延的變化,例如光纖白天受熱變長,時(shí)延增加,信號(hào)遲到,相位滯后;光纖夜間受冷變短,時(shí)延減少,信號(hào)早到、相位超前。產(chǎn)生高頻成分,也就是產(chǎn)生抖動(dòng)的主要原因是內(nèi)部噪聲引起的信號(hào)過零點(diǎn)隨機(jī)變化,例如振蕩器輸出信號(hào)的相位噪聲,數(shù)字邏輯開關(guān)時(shí)刻的不確定性等。
漂移不會(huì)直接導(dǎo)致傳輸產(chǎn)生誤碼,因?yàn)閭鬏斣O(shè)備的恢復(fù)時(shí)鐘電路能跟蹤相位的慢變化。漂移幅度變化雖慢,但長期累積幅度可能高達(dá) 1000UI[3]。
1.2 漂移引起的 SERDES FIFO 溢出問題分析
一個(gè)典型的 BBU 和 RRU 系統(tǒng)級(jí)聯(lián)方案如圖 1 所示,在 RRU 一側(cè),由于 JC PLL(主時(shí)鐘芯片)會(huì)自動(dòng)跟蹤輸入的串行數(shù)據(jù)流,當(dāng)輸入頻率發(fā)生變化時(shí),JC PLL 會(huì)調(diào)整輸出頻率以匹配輸入頻率的變化。在這個(gè)跳變瞬間,如果 SERDES 的 FIFO 的讀寫速率可能不一致,導(dǎo)致 FIFO 的沖突,從而造成溢出。但是,通過選擇跳變速度足夠快的 JC PLL,這種溢出是完全可以避免的,而一旦JC PLL 鎖定到輸入數(shù)據(jù)流,F(xiàn)IFO 讀寫工作在同一速率,就不會(huì)存在溢出問題。
在 BBU 一側(cè),值得注意的是時(shí)鐘信號(hào)的抖動(dòng),尤其是漂移引起的 FIFO 溢出。如果這種漂移來自于 BBU 自身的參考時(shí)鐘,由于輸入數(shù)據(jù)數(shù)率是與 BBU 速率匹配的,不會(huì)造成任何問題; 但是,如上節(jié)所闡述的,光纖的溫漂等特性有可能引入新的漂移,如果 RX FIFO 兩側(cè)工作在不同的時(shí)鐘域, 這種光纖引入漂移會(huì)造成 SERDES 內(nèi)部 FIFO 的碰撞,F(xiàn)IFO 自身的深度如果不足以吸收這種碰撞,就會(huì)引起 FIFO 溢出。
2、BBU SERDES 雙系統(tǒng)時(shí)鐘方案及具體實(shí)現(xiàn)
2.1 TLK10002 內(nèi)部時(shí)鐘架構(gòu)
TLK10002 是德州儀器公司推出的雙通道 10G SERDES 芯片,它可以支持目前所有的 CPRI 和OBSAI 速率,從 1.2288Gbps 到 9.8304Gbps,因而特別適合無線基站的應(yīng)用。
TLK10002 內(nèi)部的時(shí)鐘架構(gòu)如圖 2 所示,它的 A/B 通道可以通過 REFCLK0P/N 或者REFCLK1P/N 管腳來提供參考時(shí)鐘,這兩個(gè)參考時(shí)鐘的選擇可以通過 MDIO 或者REFCLKA_SEL 和 REFCLKB_SEL 管腳來實(shí)現(xiàn)。
高速側(cè) SERDES 的 CDR 主要用于從輸入串行數(shù)據(jù)中恢復(fù)時(shí)鐘信號(hào),恢復(fù)的時(shí)鐘信號(hào)從CLKOUTAP/N 和 CLKOUTBP/N 輸出。輸出信號(hào)頻率有多種選擇:通過寄存器配置,用恢復(fù)時(shí)鐘頻率除以 1, 2, 4, 5, 8, 10, 16, 20, 或者 25 均可。
對(duì)于每個(gè)通道而言,高速側(cè) SERDES 和低速側(cè) SERDES 可以工作在一個(gè)時(shí)鐘域,即兩者使用同一參考時(shí)鐘;同時(shí),TLK10002 也提供了另外一種時(shí)鐘模式,即高速側(cè) SERDES 和低速側(cè)SERDES 使用不同的參考時(shí)鐘,這種情況下,高速側(cè)鎖相環(huán)和低速側(cè)鎖相環(huán)會(huì)工作在不同的時(shí)鐘域。
圖 2 TLK10002 內(nèi)部時(shí)鐘架構(gòu)
2.2 TLK10002 雙時(shí)鐘系統(tǒng)方案
基于雙時(shí)鐘 TLK10002 構(gòu)建的系統(tǒng)級(jí)聯(lián)方案如圖 3 所示。在這種方案中,TLK10002 高速側(cè)SERDES 和低速側(cè) SERDES 采用不同的參考時(shí)鐘。
在 BBU 一側(cè),高速側(cè)鎖相環(huán)采用本地的參考時(shí)鐘,一旦高速側(cè)鎖相環(huán)鎖定,并且 BBU 和 RRU 之間建立穩(wěn)定的鏈路,BBU 一側(cè) TLK10002 的 CDR 會(huì)有穩(wěn)定輸出,這個(gè)輸出給 BBU 上的 Jitter Cleaner 提供參考輸入。 一旦 Jitter Cleaner 正常鎖定,它的輸出又會(huì)作為低速側(cè)鎖相環(huán)的參考輸入。
采用這種配置,由于 SERDES 本身可以處理最高 200ppm 的頻率偏移,發(fā)射和接收通道的速率是完全相互獨(dú)立的。這樣,F(xiàn)IFO 的兩側(cè)完全工作在同一時(shí)鐘域,F(xiàn)IFO 就不會(huì)存在溢出的風(fēng)險(xiǎn)。在這種情況下,F(xiàn)IFO 僅僅用來吸收不同時(shí)鐘之間的相位偏移和補(bǔ)償 jitter cleaner 的跟蹤能力。
2.3 雙系統(tǒng)時(shí)鐘方案的具體實(shí)現(xiàn)
以 BBU 一側(cè)為例,雙系統(tǒng)時(shí)鐘方案具體實(shí)現(xiàn)方式如下圖 4 所示。在這個(gè)方案中,由于 LMK04808具有超低相位噪聲特性,我們使用它作為抖動(dòng)消除器。
圖 4 采用雙時(shí)鐘方案構(gòu)建 BBU SERDES 系統(tǒng)
對(duì)圖 4 所示的系統(tǒng),系統(tǒng)配置及操作順序如下:
1) 正常配置 TLK10002 0X00 到 0X0D 寄存器。
2) 等待 TLK10002 高速側(cè)鎖相環(huán) HS PLL 正常鎖定。//只要本地參考時(shí)鐘準(zhǔn)備就緒,高速側(cè)鎖相環(huán)即可鎖定(此時(shí)并不需要建立穩(wěn)定的 10G 鏈路)。
3) 切換 TLK10002 ENRX:先置為 0,再置為 1。//使 HS SERDES 自適應(yīng)鏈路狀況。
4) 等待 10ms。 //等待 HS SERDES 設(shè)置參數(shù),確保 CDR 為 LMK04808 提供有效的參考時(shí)鐘。
5) 配置 LMK04808 確保其正常鎖定。
6) 等待 TLK10002 低速側(cè)鎖相環(huán) LS PLL 正常鎖定。//只要 LMK04808 鎖定并且正常輸出,LS PLL 就可以正常鎖定
7) 重啟數(shù)據(jù)通路。//此時(shí),低速側(cè)和高速側(cè) SERDES 都具有有效時(shí)鐘,重啟數(shù)據(jù)通路可以優(yōu)化 FIFO的指針位置和觸發(fā)低速側(cè) Lane 重新對(duì)齊
3、雙系統(tǒng)時(shí)鐘方案實(shí)際測試
3.1 測試設(shè)置
TLK10002 雙系統(tǒng)時(shí)鐘方案測試設(shè)置如圖 5 所示。J-BERT 用來產(chǎn)生 9.8304Gbps 的 PRBS7 測試信號(hào),在這個(gè)信號(hào)上會(huì)加載 45ps 的寬帶隨機(jī)抖動(dòng);VXI Clock Generator 用于產(chǎn)生 122.88MHz 的本地時(shí)鐘,作為 TLK10002 高速側(cè)鎖相環(huán)的參考時(shí)鐘;LMK04808 作為本地的 Jitter Cleaner,采用 LMK04808 評(píng)估板默認(rèn)的配置,TLK10002 CDR 輸出 122.88MHz 信號(hào)作為 LMK04808 參考輸入,LMK04808 輸出的 122.88MHz LVPECL 信號(hào)作為 TLK10002 低速側(cè)鎖相環(huán)的參考時(shí)鐘;TLK10002 配置成 9.8304Gbps PRBS 測試模式,發(fā)射通道采用默認(rèn)的設(shè)置;高速示波器用于觀測 TLK10002 發(fā)射通道輸出 9.8304Gbps 高速串行信號(hào)。
在 A、B、C、D 四個(gè)測試點(diǎn),我們將分別測試 TLK10002 串行輸入信號(hào)眼圖、TLK10002 恢復(fù)時(shí)鐘信號(hào)相噪、LMK04808 輸出信號(hào)相噪以及 TLK10002 發(fā)射機(jī)輸出眼圖。
圖 5 TLK10002 雙時(shí)鐘系統(tǒng)方案測試設(shè)置
3.2 實(shí)測結(jié)果
TLK10002 串行輸入信號(hào)眼圖如圖 6 所示,它的隨機(jī)抖動(dòng)(Rj)為 2.98ps,確定抖動(dòng)(Dj)為4.23ps,總的抖動(dòng)(Tj)為 44.98ps,通常,這種類型的寬帶隨機(jī)抖動(dòng)是很難通過均衡來消除的。
TLK10002 恢復(fù)時(shí)鐘輸出相噪曲線如圖 7 所示,采用圖 6 所示的輸入信號(hào),TLK10002 的恢復(fù)時(shí)鐘 RMS 抖動(dòng)為 3.98ps(1KHz~20MHz)。
LMK04808 輸出相噪如圖 8 所示,可以看到在通過 Jitter Cleaner(LMK04808)之后,由于LMK04808 的強(qiáng)勁抖動(dòng)消除能力,其輸出 RMS 抖動(dòng)僅為 121fs(1KHz~20MHz)。
TLK10002 發(fā)射通道輸出眼圖如圖 9 所示,其隨機(jī)抖動(dòng)(Rj)為 1.02ps,確定抖動(dòng)(Dj)為5.79ps,總的抖動(dòng)(Tj)僅為 19.6ps,眼圖清晰。
4、結(jié)論
由上述理論分析和實(shí)際測試結(jié)果可以清楚地看到由 TLK10002 、LMK04808 構(gòu)建的雙時(shí)鐘系統(tǒng)方案完全可以避免因光纖引入漂移從而導(dǎo)致 SERDES FIFO 溢出的問題;同時(shí),由于發(fā)射機(jī)眼圖主要是由本地參考時(shí)鐘的相噪決定,采用這種雙時(shí)鐘模式對(duì)眼圖以及發(fā)射機(jī)輸出噪聲性能沒有影響。
5、參考文獻(xiàn)
[1] TLK10002 Datasheet
[2] LMK04808 Datasheet
[3] 光同步傳送網(wǎng)和波分復(fù)用系統(tǒng), 鄧忠禮,清華大學(xué)出版社
評(píng)論