天天看點

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

什麼是預加重/去加重(Pre-emphasis/De-emphasis?)

在下圖一中我們看到,對于2.5Gbps信号,通過10、20、30、40英寸線長的背闆後,接收端的眼圖随着長度增加會逐漸閉合。原因在于信道是一個低通濾波器,随着傳輸線長度的增加,損耗和色散會越來越大,另外,随着頻率的增加,損耗與色散效應也越來越明顯。而目前的數字電路速度不斷提高,通常,在速率高于1GHz的數字電路中,為了把信号能傳輸更遠的距離,通常在發送端使用預加重或去加重的均衡技術。

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

                                         圖一:2.5Gbps信号通過不同信道後RX端測試的眼圖

       在下圖二中左半部分是預加重。預加重保持信号的低頻部分不變,提升信号的高頻部分;而去加重衰減信号的低頻部分,保持高頻部分。預加重/去加重的目的都是提升信号中高頻部分的能量,以補償信道對高頻部分衰減過大。

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

                                                      圖二:預加重 VS 去加重

        如果在TX端測量經過預加重/去加重的信号的眼圖,可以看到如下圖三的上半部分所示的“雙眼皮”的眼圖,而下圖八的下半部分是做3.5dB的去加重之前信号的眼圖。還有,使用去加重後,TX端信号的抖動會大于未采用加重的信号,在下面的眼圖中可以清楚的看到去加重後眼圖的交叉點比去加重之前的更寬,說明在去加重後測量TX的抖動會更大些

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

                                                圖三:去加重前後的眼圖對比

在目前流行的很多串行資料,比如PCIe、USB3.0、3.1、FBDIMM都使用了去加重技術。

高速晶片通常提供了幾種預加重/去加重程度和信号幅度可調節,以第二代的PCI Express為例,其比特率為5Gbps,有3.5dB和6.5dB兩者去加重模式。

在接下來的案例中,TX為某3.125Gbps信号源,信道為Lattice的帶有24英寸傳輸線的示範闆,RX為示波器的兩個通道,即兩個标準50歐的負載。圖九中左邊的眼圖為TX端沒有預加重時RX端測量到的眼圖,右邊的眼圖為TX采用3.5dB預加重後RX端測量到的眼圖,前者眼高為93mV,後者眼高為135mV。可見使用3.5dB預加重後,接收端的眼圖得到提升。

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

                                       圖四:使用預加重後接收端眼圖品質變好

        預加重/去加重是廣泛應用于高速串行資料晶片的技術。在晶片設計中,晶片廠商通常提供了多種預加重/去加重的程度與信号幅度,在驅動不同信道時可以靈活選擇。

        對于高速背闆設計,我們可以測量不同傳輸線長度、不同背闆連接配接器的等等情況的信道模型,用力科示波器直接在TX測量該晶片輸出的信号,使用信道仿真功能,計算出RX端的信号、眼圖與抖動。然後不斷調節晶片的預加重/去加重程度,直到獲得最佳的RX端的信号品質。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

為什麼要去加重或預加重?

在高速信号傳輸中,信号鍊路對高頻信号的衰減大于對低頻信号的衰減,這就導緻了高速信号中高頻和低頻之間巨大的幅度差。反應在眼圖上就是減小了眼高,并增大了Jitter。

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

 上圖中,紅色箭頭代表眼高和眼寬,黑色箭頭加在一起代表了TJ(Total Jitter).

1. 眼高和信号幅度的峰峰值差距過大——信号高頻和低頻的幅度差導緻。

2. 眼皮很厚——Jitter過大導緻。

3. 眼圖偏斜——鍊路對信号高頻部分的損耗較低頻部分大導緻的。

什麼是去加重和預加重?

去加重和預加重的目的都是盡量平衡高頻分量和低頻分量,減少傳輸鍊路對高頻分量衰減大于低頻分量對最終結果的影響。

預加重技術就是在傳輸線的始端增強信号的高頻分量,以補償高頻分量在傳輸鍊路中較大的衰減。由于信号頻率的高低主要是由信号電平變化的速度決定的,是以信号的高頻分量主要出現在信号的上升沿和下降沿處,預加重技術就是增強信号上升沿和下降沿處的幅度。如下圖所示。

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

去加重技術的思想跟預加重技術有點類似,隻是實作方法有點不同,預加重是增加信号上升沿和下降沿處的幅度,其它地方幅度不變;而去加重是保持信号上升沿和下降沿處的幅度不變,其他地方信号減弱。如下圖所示。

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

去加重補償後的信号擺幅比預加重補償後的信号擺幅小,眼圖高度低,功耗小,EMC 輻射小。下圖為去加重後得出的眼圖,與上面的眼圖對比可以看出,眼皮厚度明顯變薄,總抖動減小。

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

參考以下文章:

https://blog.csdn.net/wangdapao12138/article/details/79532618

https://blog.csdn.net/qq_30496755/article/details/80154633

https://blog.csdn.net/u013897440/article/details/75040722

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

是麼是去加重和preshoot?

去加重(De-emphasis)和preshoot是為了對抗碼間幹擾的(inter-symbol interference, ISI)。

什麼是碼間幹擾呢?我們可以這麼了解,當我們發送111101111這樣的資料是,忽然變化的0,讓電路裡的電容很難迅速放電達到0,後面又被迅速拉到1,造成0的信号眼圖很小:

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

而這種情況随着頻率的提高越來越嚴重。從信号的角度來看,也就是信道對高頻衰減大,而對低頻衰減小。那怎麼辦呢?通過壓低1的幅度來張開0的眼圖:

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)
【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

而Preshoot是将跳變前一個增大幅度:

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

PCIE 3 代中規定了共 11 種不同的 Preshoot 和 De-emphasis 的組合(Preset)

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

在PCIe root port鍊路初始化Training中,Rx發送TxEQ preset設定 要求給Tx,此過程叫做動态均衡。是的,他們本質上是一種FFE(Feed-forward Equalizer,前饋均衡器),發送端Tx通過它提高信号完整性。那麼接受端Rx呢?

什麼是CTLE和DFE?

Rx端采用CTLE (Continuous Time Linear Equalizer,連續時間線性均衡器)和DFE (Decision Feedback Equalizer,判決回報均衡器)。限于篇幅,本文隻簡要介紹一下。

CTLE是利用連續的信号曲線,減緩低頻部分,用來補償高頻部分,因為高頻部分損耗較大,所謂削峰填谷。它有個缺點是會放大高頻噪聲。

DFE也是一種回饋均衡器,是用上次信道的輸出經過判斷後權重回報到輸入上。它不會放大高頻噪聲,但是隻能處理碼後幹擾,不能消除碼前幹擾,且設計複雜和耗電。

效果如何?

PCIe 3.0信号不經過EQ處理是這樣,眼圖關閉:

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

Tx經過EQ變成:

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

再在Rx經過CTLE和DFE後:

【電子技術】高速串行信号的預加重(Pre-emphasis)和去加重(De-emphasis)

眼圖才全部張開。

結論

我們把FFE和DFE這種具有回饋和自動調整的EQ叫做自适應均衡器(Adaptive Equalization),将CTLE這種叫做固定均衡器(Fixed Equalization)。普通程式員和一般BIOS工程師盡管可能接觸了不少PCIe、USB、HDMI甚至是QPI的内容,但幾乎都不會接觸EQ。這是因為EQ大部分是自适應的,是在鍊路train的時候,由硬體自動完成的,晶片組完成了Tx的部分,闆卡或者裝置中TI等的晶片完成了Rx的部分,極少需要固件和驅動參與。隻有在鍊路出現問題後的調試甚至workaround錯誤時才需要手動設定EQ參數,來解決不能train通或者train到更高速率的問題。

不僅僅高速串行總線,現在記憶體的并行總線中也引入了DFE和CTLE算法,但它是MRC程式實作而不是硬體實作。

繼續閱讀