一言以蔽之:SerDes Ck負責產生時脈。
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.0 | 165MHz | 1.65Gbps | 4.95Gbps | 8b/10b | 3.96Gbps |
HDMI 1.4 | 340MHz | 3.4Gbps | 10.2Gbps | 8b/10b | 8.16Gbps |
HDMI 2.0 | 600MHz | 6Gbps | 18Gbps | 8b/10b | 14.4Gbps |
HDMI 2.1 | 1.2GHz | 12Gbps | 48Gbps | 16b/18b | 42.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(展頻),也就是把單一頻率的時鐘刻意加入一些其他的頻率成分,就可以將電磁干擾的能量分散到其他頻率去。