【導(dǎo)讀】最近高速先生一直在“圍毆時序”,我們看過了外同步/共同步/源同步這些需要“繞等長”的并行信號。與其說是在“圍毆時序”,不如說是在“圍毆等長”,時序是“why”,等長是“how”。雖然“why”不是很好理解,但是作為在閑暇時間還關(guān)注高速先生的有追求的工程師們,相信大家還是會將這一部分給啃進(jìn)去。
杭州南京的美人美景真是讓人流連忘返,與大家面對面的交流也讓小陳收獲頗多。也難怪古來皇帝都愛下江南,而廣東卻只是官員被流放的南蠻之地了。
最近高速先生一直在“圍毆時序”,我們看過了外同步/共同步/源同步這些需要“繞等長”的并行信號。與其說是在“圍毆時序”,不如說是在“圍毆等長”,時序是“why”,等長是“how”。雖然“why”不是很好理解,但是作為在閑暇時間還關(guān)注高速先生的有追求的工程師們,相信大家還是會將這一部分給啃進(jìn)去。
串行信號是信號完整性知識的集大成者,雖然在設(shè)計上看起來是大道至簡。它的“道”大到內(nèi)部復(fù)雜的硬件實現(xiàn),損耗串?dāng)_反射的管控,預(yù)加重均衡的設(shè)計等等;也簡到只是一條差分線,只需要關(guān)注其信號質(zhì)量即可。
那SERDES的時鐘在哪里?我們一直說串行信號的時鐘被嵌入在數(shù)據(jù)中,在剛接觸這一概念的時候,小陳就一直在想:“是嵌入在數(shù)據(jù)的哪一位?難道8b10b這些編碼是說的8位數(shù)據(jù)2位時鐘?怎么樣用單純的兩位數(shù)據(jù)來讓接收端認(rèn)識到他是時鐘呢?”。直到后來才發(fā)現(xiàn),原來所謂的“時鐘嵌入在數(shù)據(jù)中”的意思,是時鐘嵌入在數(shù)據(jù)的跳變沿里。
來,大家跟小陳玩?zhèn)€游戲。
現(xiàn)在我們面前有一組數(shù)據(jù),我們發(fā)現(xiàn)每次上升/下降沿之間的間隔時間是200ps,800ps,400ps,200ps,1000ps•••大家覺得這個數(shù)據(jù)應(yīng)該是多少速率的?
5Gbps,對吧?
現(xiàn)在我們面前又有另外一組數(shù)據(jù),其時間間隔為200ps,800ps,400ps,200ps,100ps•••那這個數(shù)據(jù)的速率是多少呢?
大家肯定會說,10Gbps嘛。
沒錯!恭喜你已經(jīng)成為了一名合格的Clock Recovery,這就是一個簡單的求最大公約數(shù)的游戲。
CDR全稱是Clock and Data Recovery,除了時鐘恢復(fù)之外,還有數(shù)據(jù)恢復(fù)。第一步首先要將恢復(fù)出來的時鐘與數(shù)據(jù)的邊緣進(jìn)行對齊,然后再將數(shù)據(jù)給讀出來。在硬件原理上,使用PLL電路以及觸發(fā)器即可。
知道了“時鐘由捕獲的上升下降沿間隔求最大公約數(shù)得來”,也就能想到在這個游戲中會碰到的困難了。實際上我們捕獲的時間間隔并不一定是真實時鐘周期的整數(shù)倍。很可能在接收端捕獲的時間是198ps,810ps,395ps,202ps,104ps•••聰明的小伙伴們可以知道,這個應(yīng)該還是一個10Gbps的信號,恩,通常這種大小的偏差Clock Recovery也能認(rèn)出來。
但是如果接收端捕獲的時間間隔是168ps,830ps,360ps,235ps,70ps呢?不止是我們看著頭大,Clock Recovery看著估計也崩潰了。而且,這不止影響我們恢復(fù)出來的時鐘質(zhì)量,同時還會影響這個恢復(fù)出來的時鐘與數(shù)據(jù)進(jìn)行邊沿對位的過程。
所以在SERDES系統(tǒng)中,我們需要獲取一個好的時鐘,確保一個好的時序,需要做的是讓這種邊沿的偏差盡量小。也難怪在研究SERDES的時候,聽到人們左一個jitter,右一個jitter地說了。