分布式基站系統(tǒng)中,RRU 通常會(huì)通過(guò)光纖拉遠(yuǎn)實(shí)現(xiàn)與 BBU 的遠(yuǎn)程互聯(lián)。由于光纖自身的特性,傳輸過(guò)程中必然會(huì)引入抖動(dòng)和漂移;尤其是漂移,因其低頻特性,并且難于濾除,在SERDES的 FIFO 深度不夠的情況下有可能會(huì)造成 FIFO 的溢出。
本文首先會(huì)對(duì)這個(gè)問(wèn)題進(jìn)行一般性地分析,在此基礎(chǔ)上我們將以德州儀器公司 10G SERDES 器件 TLK10002 為例,提出一個(gè)新的解決方案,即采用雙時(shí)鐘模式提供 SERDES系統(tǒng)時(shí)鐘,并且探討了這種模式的具體實(shí)現(xiàn)方式。同時(shí),為了驗(yàn)證雙時(shí)鐘方案的可行性,我們搭建了相應(yīng)的測(cè)試平臺(tái),并給出了相應(yīng)的測(cè)試結(jié)果。
1、光纖漂移引起的 SERDES FIFO 溢出問(wèn)題分析
1.1 漂移及漂移形成的原因
漂移是一個(gè)數(shù)字信號(hào)的有效瞬時(shí)在時(shí)間上偏離其理想位置的,非累計(jì)性的偏離。所謂的“長(zhǎng)期的偏離”是指偏離隨時(shí)間較慢的變化,通常認(rèn)為變化頻率低于 10Hz 就屬于較慢的變化。
實(shí)際數(shù)字信號(hào)存在的相位噪聲,抖動(dòng)時(shí)相位噪聲的高頻成分,漂移是相位噪聲的低頻成分,工程中以10Hz 來(lái)劃分高、低頻。產(chǎn)生這兩種頻率成分的機(jī)理有所不同。產(chǎn)生低頻成分,也就是產(chǎn)生漂移的主要原因是傳輸媒質(zhì)和設(shè)備中傳輸時(shí)延的變化,例如光纖白天受熱變長(zhǎng),時(shí)延增加,信號(hào)遲到,相位滯后;光纖夜間受冷變短,時(shí)延減少,信號(hào)早到、相位超前。產(chǎn)生高頻成分,也就是產(chǎn)生抖動(dòng)的主要原因是內(nèi)部噪聲引起的信號(hào)過(guò)零點(diǎn)隨機(jī)變化,例如振蕩器輸出信號(hào)的相位噪聲,數(shù)字邏輯開(kāi)關(guān)時(shí)刻的不確定性等。
漂移不會(huì)直接導(dǎo)致傳輸產(chǎn)生誤碼,因?yàn)閭鬏斣O(shè)備的恢復(fù)時(shí)鐘電路能跟蹤相位的慢變化。漂移幅度變化雖慢,但長(zhǎng)期累積幅度可能高達(dá) 1000UI[3]。
1.2 漂移引起的 SERDES FIFO 溢出問(wèn)題分析
一個(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 的讀寫(xiě)速率可能不一致,導(dǎo)致 FIFO 的沖突,從而造成溢出。但是,通過(guò)選擇跳變速度足夠快的 JC PLL,這種溢出是完全可以避免的,而一旦JC PLL 鎖定到輸入數(shù)據(jù)流,F(xiàn)IFO 讀寫(xiě)工作在同一速率,就不會(huì)存在溢出問(wèn)題。
在 BBU 一側(cè),值得注意的是時(shí)鐘信號(hào)的抖動(dòng),尤其是漂移引起的 FIFO 溢出。如果這種漂移來(lái)自于 BBU 自身的參考時(shí)鐘,由于輸入數(shù)據(jù)數(shù)率是與 BBU 速率匹配的,不會(huì)造成任何問(wèn)題; 但是,如上節(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,因而特別適合無(wú)線(xiàn)基站的應(yīng)用。
TLK10002 內(nèi)部的時(shí)鐘架構(gòu)如圖 2 所示,它的 A/B 通道可以通過(guò) REFCLK0P/N 或者REFCLK1P/N 管腳來(lái)提供參考時(shí)鐘,這兩個(gè)參考時(shí)鐘的選擇可以通過(guò) MDIO 或者REFCLKA_SEL 和 REFCLKB_SEL 管腳來(lái)實(shí)現(xiàn)。
高速側(cè) SERDES 的 CDR 主要用于從輸入串行數(shù)據(jù)中恢復(fù)時(shí)鐘信號(hào),恢復(fù)的時(shí)鐘信號(hào)從CLKOUTAP/N 和 CLKOUTBP/N 輸出。輸出信號(hào)頻率有多種選擇:通過(guò)寄存器配置,用恢復(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.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 僅僅用來(lái)吸收不同時(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ù)通路可以?xún)?yōu)化 FIFO的指針位置和觸發(fā)低速側(cè) Lane 重新對(duì)齊