來源:EETOP論壇 及 公衆號:不忘初心的模擬小牛牛前端
做者:131v1vv函數
本系列,準備把高速串行通訊中用到的均衡進行一個總結。這期先介紹發送端。post
高速接口SerDes爲實現芯片間信號的有線傳輸,須要完成數字到模擬的轉化,通過通道傳輸後,再將模擬信號轉回數字信號。並保證傳輸過程保持比較低的誤碼率。本期,結合信道的特性,咱們來了解一下SerDes的發送端TX的均衡原理。性能
SerDes的整個模型能夠簡單表示爲圖1所示。其中通過串化後的數字信號流,通過TX Driver轉化爲NRZ編碼的波形發送到TX輸出端,通過信道傳輸,被RX前端採樣和比較,解碼獲得正確的數據。模型上就是從{dk}到y(t)的過程。編碼
圖1spa
其中數字信號表示爲{dk},這裏爲方便敘述,dk取值歸一化爲±1,分別表明邏輯「1」和「0」。其轉化關係爲是線性的。一樣將TX輸出y(t)歸一化爲±1的波形如圖2。能夠將TX的單位衝激響應Φ(t)看作是一個窗函數rect,也就是一個零階保持器(Zero-order Hold,ZOH)。Tx Driver就經過ZOH完成了離散信號到連續信號的轉換。設計
如圖2,通過ZOH連續化的NRZ編碼信號,能夠分解爲1UI寬度的幅度爲±1的脈衝信號了。3d
圖2blog
從信號與系統中,咱們知道,知足採樣定理的原始信號通過採樣後,爲了重建(reconstruction)原始信號,須要對採樣信號在頻域加理想窗函數rect。接口
如圖3,rect和sinc函數是一對傅里葉變換對。頻域窗函數rect其時域則是sinc函數。這種理想信號重建方式,實際上,比較難以實現。
ZOH做爲最簡單的離散信號連續化手段,其對應的頻域是個sinc函數。能夠看到,頻域sinc函數衰減了高頻成分,雖然沒法徹底消除。但因其時域的實現方式簡單容易,而普遍應用。
圖3
在TX的信號轉化模型中,咱們能夠看到,將離散非週期信號{dk}轉化爲連續非週期信號y(t),採用的是ZOH的零階保持。對應的頻譜從連續週期變化爲連續非週期。這是由於表示ZOH的矩形窗函數rect在頻域是連續非週期的sinc函數。過程如圖4,也就是頻域通過sinc函數整形。
圖4
總結一下,就是TX發送端完成了離散數字信號的連續化。
對於必定的信道,隨着SerDes的數據速率愈來愈高,數據傳輸到接收端時,已經比較難以分辨了,接收端會獲得大量的錯誤數據。至於信道模型,基本都是等效爲咱們先前聊過的傳輸線。圖5給出幾個不一樣長度FR4板材的傳輸線特性,主要是插入損耗S21隨頻率的變化曲線。
圖5
能夠看到在設計的比較好的信道時,其損耗和頻率的關係相對比較線性。信道對不一樣頻率成分的衰減量是不一致的。而實際信號的頻率會比較豐富。這會致使信號有比較嚴重的碼間干擾(後邊具體說明)。
所以須要在接收端RX,採用不一樣的均衡手段,來下降信道的低通頻率特性的影響,但爲應對更大的信道衰減,在更高的數據率下,也須要在發送端集成均衡方案。這種均衡方式常稱爲前饋均衡(Feed-Forward Equalization,FFE)。利用的是數字信號處理中最多見的有限長度衝激響應(Finite Impulse Response)濾波器。
那麼對於SerDes的發送端均衡,咱們要考慮的FIR就必須具備高通特性,以此來提早補償必定程度的信道損耗。
至於具體的FIR實現上,須要分析FIR的補償量,階數。同時綜合考慮應用場景特性,發送端電路實現和用戶的易用性等因素。圖6給出了個簡單的2階3-tap結構的FIR例子。
圖6
其中3個tap的係數就是設計參數,儘管咱們已經肯定須要FIR的頻域特性是高通特性。但考慮到電路實現時(特別是功耗這一點上),就有兩種不一樣的FIR的兩均衡方式,分別稱之爲預加劇(Pre-emphasis)和去加劇(De-emphasis)。其歸一化頻域特性和離散時域表達式如圖7所示。
圖7
看到預加劇和去加劇的典型區別是,在多檔可調均衡量設計中,是否具備 恆定的最大輸出擺幅 (也就是fixed peak swing)。好比說去加劇就是典型的fixed Vpk。而預加劇的最大輸出幅度和加劇量相關。表現爲圖7中歸一化奈奎斯特頻率是否恆定。
加劇量的計算能夠直觀從圖7表達式看到。DC頻率幅度和奈奎斯特頻率幅度比值取對數座標便可。
能夠這麼理解,去加劇方式主要是下降中低頻份量,保持高頻份量恆定;而預加劇主要是保持低頻恆定,增長中高頻份量。給定圖7所示係數 C0 =0.1, C2 =0.2,一個典型的去加劇和預加劇波形如圖8所示。
圖8
若是說發送端在無均衡模式下,只能看作1bit的D/A轉化器,那麼包含FFE均衡的發送端就是多bit的ADC了。在實際的實現過程當中,不管是電壓型的SST結構和電流型的CML結構。均可以採用了多份疊加的實際思路,如圖9的示意圖。
圖9
那麼如今還剩下一個問題就是FIR的係數怎麼肯定,爲何c0和c2要取負值。回答這個問題前,咱們先了解下信道的脈衝響應。
如圖10所示。10Gbps數據率下,對應圖5不一樣損耗的單位脈衝響應。能夠看到隨着損耗的增長,響應信號最大幅度逐漸減少,並表現出了愈來愈嚴重(幅度和持續時間)的「拖尾」,這就是咱們常說的碼間干擾(ISI)。
圖10
可見在須要長距離傳輸時(一般損耗量和長度正相關),爲保持信號儘量的小的衰減,就須要使用更好材質的傳輸線,或更進一步使用光纖傳輸。
爲了更形象的理解ISI的干擾做用,圖11和圖12給出了更進一步的說明。
圖11是一個典型的信道輸入信號的脈衝分解。這裏脈衝初值給了0(對應實際的發送器輸出爲idle態,也就是共模)。以後是「 1111101 」的脈衝。將該輸入送給圖10中具備-14.4dB@5GHz的信道。
圖11
圖12是輸出結果波形。信道一般是LTI系統,能夠看到8個相隔爲1UI=100ps的脈衝響應。還有一些疊加信號, 黃色 是僅前3個+脈衝的疊加結果, 藍色 爲前6個+脈衝的疊加, 紅色 爲前6個+脈衝加第7個-脈衝的疊加結果, 黑色 爲所有8個脈衝的疊加結果。
圖12
從圖12比較明顯地觀察到,前6個+脈衝和第8個+脈衝的影響,致使第7個-脈衝的幅度裕量(和0電壓比較)很小了。若是再加上噪聲和其餘干擾,比較容易致使RX端判斷錯誤。下邊量化一下ISI的影響。
圖13給出-14.4dB@5GHz信道的脈衝響應,包括前標(pre_cursor)、主標(main_cursor)和後標(post_cursor)的具體量值。這些標量在計算通過信道後眼圖的「眼高」時有重要指導意義。
好比圖13中給出了出現最小眼高的Case。通常是在出現連續多個UI的邏輯「0」(或「1」)以後,緊接着出現邏輯「10」(或「01」),或者相反的狀況(圖12例子)。
圖13
須要注意的worst case眼高值y的計算公式。固然實際上眼高和數據密切相關,好比咱們在用PRBS7和PRBS15等進行仿真時,能夠明顯看到PRBS7的眼高就比PRBS15的更大一些。這裏邊就是由於PRBS7碼型最多出現7個連續的邏輯「0」或者「1」。致使計算式中post_cursor的和偏小。worst case的「眼高」估計,是RX端設計的重要參考指標。
最後就是FIR係數計算方式,一種是迫零法(Zero Force),另外一種是最小均方偏差(Minimum Mean Square Error,MMSE)。
限於篇幅,這裏給一個迫零法的簡單說明。這裏利用圖13中給出的14.4dB的脈衝響應,計算一下實現圖6和7中3-tap結構FIR。能夠看到FIR係數的計算就是利用脈衝響應構成的矩陣運算,其中P是無先後標的理想脈衝響應[0 1 0],歸一化後能夠獲得係數的計算結果。
圖14
MMSE不不強迫後標都是零值,而是使全部後標的總能量最小。是一種比迫零法更好的方法。
須要說明的是,在咱們FIR的實現中,能夠只用Pre-cursor C0 ( C2 =0)或者Post_cursor C2 ( C0 =0)進行均衡加劇,也能夠二者都用,區別表如今TX輸出的幅度穩態值個數不一樣。
最後再放一張包含了同時包含Pre-cursor去加劇和post-cursor去加劇量的發送端眼圖。能夠在圖15的眼圖上看到約6個穩態幅度量。分別表明了高中低等頻率份量。
圖15
到了最後仍是不得不說一下TX端均衡的侷限性,最主要的就是發送器的均衡程度很難作好根據應用場景的自適應調節。通常都是 留一些可調整的檔位供用戶選擇。但這不妨礙TX端的均衡可以進一步提升SerDes的過channel能力,提升串口的性能。總之,屬於錦上添花的feature。返回搜狐,查看更多