SerDes隨便聊:時脈產生器

一言以蔽之:SerDes Ck負責產生時脈。

Clocking

Clock and Data Recovery(時鐘資料恢復)

Tx把訊號傳送給Rx的時候,除了要送資料,還要把時鐘也送過去,否則當Rx收到時間10ns長度的0時,它無法知道這是一個0(若Tx速度是100Mbps)、還是十個0(若Tx速度是1Gbps)。舉例來說,HDMI線材有四對高速線,其中一對線傳送時鐘,另外三對線傳送資料。

從HDMI 1.0到2.0的進步,每一代速度都幾乎提高為二倍,靠的是提高每對線傳輸的速度。問題是,如果做電路這麼隨便就可以加倍加倍再加倍,那規格乾脆直接定成100Gbps就好了啊。因此到了HDMI 2.1的時候,協會覺得用一對線在傳送時鐘好浪費,就改成四對線全都傳送資料,這樣頻寬就上升為三分之四。(備註:HDMI 2.1還把速度每對線提高到12Gbps,編碼方式也從8b/10b=80%變成16b/18b=89%,所以HDMI 2.1的有效頻寬是HDMI 2.0的3倍。)

規格時脈每對線各傳送資料頻寬總共可傳送資料頻寬編碼方式總共有效頻寬
HDMI 1.0165MHz1.65Gbps4.95Gbps8b/10b3.96Gbps
HDMI 1.4340MHz3.4Gbps10.2Gbps8b/10b8.16Gbps
HDMI 2.0600MHz6Gbps18Gbps8b/10b14.4Gbps
HDMI 2.11.2GHz12Gbps48Gbps16b/18b42.67Gbps

問題又回來了,那沒有專屬的時鐘線,那Rx就沒有時脈了啊。因此厲害的高手就發明了Clock and Data Recovery(CDR),CDR就可以把時脈的週期找出來。

簡單地說,資料裡面總是有1/0/1/0不斷轉態的波形,這個快速轉態的長度T就是週期了。那如果好一陣子沒遇到連續轉態的波形怎麼辦?

汽車的導航系統在道路上把車速算了出來,結果汽車開進了山洞,導航系統沒有衛星訊號沒辦法計算車速,這時候導航系統會假設汽車維持等速前進來估計所在位置,直到汽車出了山洞收到衛星訊號後再重新校準,只要這山洞不是太長,等速前進的假設不會誤差太多。

相同的道理,如果Rx沒收到轉態的波形,它會假設時脈持續,只要連續0或1(進山洞)不是太長,等到下一筆轉態來(出山洞)的時候,時脈就會重新被校準。這就是為什麼編碼規定Tx傳過來的資料至少一段時間要轉態(不能有太長的連續0或1),例如8b/10b最長的連續0或1只有五個。

Spread Spectrum Clock(展頻時鐘)

Tx端一定要有時鐘,因為這個時脈就是打出來在Channel線路上傳輸的頻率。由於線路上都是這個頻率,會導致電磁干擾electromagnetic interference(EMI),為了降低電磁干擾,Tx端的時鐘常常會做Spread Spectrum(展頻),也就是把單一頻率的時鐘刻意加入一些其他的頻率成分,就可以將電磁干擾的能量分散到其他頻率去。

Spread Spectrum Clock