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