編碼技術: PRBS, 8B/10B

Dr. of Honer
伊伊威爾斯
Published in
May 18, 2023

剛進SI這個行業的時候(現在也還是小菜雞 XD),很多技術名詞其實常常搞不清楚。就像之前輩交代說: 明天客戶想確認這條高速線到conector的眼圖,幫我跑個quick eye的模擬。 結果一打開前輩整理的Spec,看到data rate, V-high, V-low, rise time 都還可以理解,看到PRBS 11? 8B/10B? 當下Nick Young的臉浮現在眼前。直到後來工作一陣子後,才知道這是測試高速線的編碼技術名稱。

Nick Young, 俗稱黑人問號

首先要先分清楚碼型編碼這兩個名詞

PRBS碼型:

PRBS(Pseudo Random Binary Sequence)字面翻譯是偽隨機二進制序列(偽隨機碼)。隨機指在週期內是碼型是隨機的,也就是亂中有序,這個序就會根據階數來產生不同位元的碼型。用途是用來測試高速訊號的誤碼率,像是USB PCIE…等,當然也會延伸不同的測試碼型PRBS 7, PRBS 9, PRBS 11…PRBS 31,其中數字表示的階數。那是甚麼意思呢? 為什要用PRBS來做為測試碼型?

主要原因是PRBS碼型與真實訊號傳輸的狀況很相近,在真實訊號傳輸也是屬於隨機的發生,沒有理由和規律。且這種碼型的頻域特徵很貼近”白噪音”[1]。意思是說在一個比較寬頻域中功率密度均勻的分布,每個頻點的能量都一樣,不是指溪流聲的那種,不要搞錯了XD

至於階數可以簡單理解成碼型序列的長度,階數越高序列長度越長,在頻域表現出更多的頻點的能量分布。至於產生的架構可以參考一博科技的文章,寫得很淺顯易懂,裡面用PRBS 3的架構來說明 [3]

不同階數的PRBS碼頻域分布 [2]

8B/10B編碼

常見的編碼有4B/5B, 8B/10B, 64B/66B, 128B/130B等編碼方式,這些都是屬於NRZ編碼其中常見的方式。NRZ? Nick Young? 不懂可以先參考網際星空裡面提到編碼調變技術的文章PAM4 and MIPI,寫得很詳細 [4]

回歸正題,每個編碼都有適應的信號協議。其中編碼的數字代表些甚麼? 以8B/10B編碼來說,就是把8 bit的數據擴增至10 bit,增加了25%的非實際數據傳輸。這時候就會想說這樣傳輸的效率不就下降了嗎?沒事幹嘛增加2 bit沒用的數據? 這就跟人生一樣,常常有時候做白工才是最有效率的 (欸欸欸,偏題了XD)

其主要目的是用來直流平衡,原因是高速訊號線上的通常都會擺耦合電容隔離低頻的雜訊,頻率越低阻抗越大(Zc=1/2pi*f*C)。但有時候要傳輸的訊號是連續0或1不就會被當作低頻雜訊被衰減隔離掉,但事實上那是要傳輸的訊號不應該被衰減的。利用這種編碼方式就可以降低頻訊號提升到高頻,降低直流低頻的損耗。其實有還有另一格作用是保證訊號有足夠的翻轉密度,讓Clock Data Recovery有更多的邊沿變換,對減小抖動和數據採樣有幫助,至於CDR有機會再跟大家介紹。至於編碼的詳細機制可以參考[6]

高速線上的耦合電容 [5]

直接用頻譜看使用8B/10B編碼的效果最簡單粗暴了,沒用之前訊號再低頻的能量很多(紅色),用了之後改善了低頻能量的分佈(藍),低頻信號明顯減小,相當於通過一個高通濾波器,起到Pre-emphasis的作用,減緩ISI的干擾,讓眼睛更明亮。仔細想想發明這個編碼的人還真神啊XD

f頻譜圖 [7]

結論PRBS是產生的碼型,而8B/10B是編碼方式。最後的理解可以用一句話來結尾。”用PRBS的碼來編出NRZ 8B/10B的訊號做高速訊號的測試”

參考文獻:

[1] https://zh.wikipedia.org/zh-tw/%E7%99%BD%E9%9B%9C%E8%A8%8A

[2] PRBS码, https://zhuanlan.zhihu.com/p/597585635

[3] PRBS码是什么?PRBS生成原理, https://zhuanlan.zhihu.com/p/29658418

[4] PAM4 and MIPI, 網際星空 https://www.oldfriend.url.tw/Designer/ansys_ch_PAM4.html

[5] USB 3.0硬件設計, https://www.twblogs.net/a/5d06fcdfbd9eee1e5c80ebbd

[6] 8B/10B編碼, https://www.twblogs.net/a/5d06fcdfbd9eee1e5c80ebbd

[7] https://www.sohu.com/a/165596586_657253

--

--

Dr. of Honer
伊伊威爾斯

目前職業是迷途的工程師。想透過撰寫5分鐘能閱讀完的文章,分享人生、知識與工作。幫助曾經迷惘的你我。