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