【导读】最近高速先生一直在“围殴时序”,我们看过了外同步/共同步/源同步这些需要“绕等长”的并行信号。与其说是在“围殴时序”,不如说是在“围殴等长”,时序是“why”,等长是“how”。虽然“why”不是很好理解,但是作为在闲暇时间还关注高速先生的有追求的工程师们,相信大家还是会将这一部分给啃进去。
杭州南京的美人美景真是让人流连忘返,与大家面对面的交流也让小陈收获颇多。也难怪古来皇帝都爱下江南,而广东却只是官员被流放的南蛮之地了。
最近高速先生一直在“围殴时序”,我们看过了外同步/共同步/源同步这些需要“绕等长”的并行信号。与其说是在“围殴时序”,不如说是在“围殴等长”,时序是“why”,等长是“how”。虽然“why”不是很好理解,但是作为在闲暇时间还关注高速先生的有追求的工程师们,相信大家还是会将这一部分给啃进去。
串行信号是信号完整性知识的集大成者,虽然在设计上看起来是大道至简。它的“道”大到内部复杂的硬件实现,损耗串扰反射的管控,预加重均衡的设计等等;也简到只是一条差分线,只需要关注其信号质量即可。
那SERDES的时钟在哪里?我们一直说串行信号的时钟被嵌入在数据中,在刚接触这一概念的时候,小陈就一直在想:“是嵌入在数据的哪一位?难道8b10b这些编码是说的8位数据2位时钟?怎么样用单纯的两位数据来让接收端认识到他是时钟呢?”。直到后来才发现,原来所谓的“时钟嵌入在数据中”的意思,是时钟嵌入在数据的跳变沿里。
来,大家跟小陈玩个游戏。
现在我们面前有一组数据,我们发现每次上升/下降沿之间的间隔时间是200ps,800ps,400ps,200ps,1000ps•••大家觉得这个数据应该是多少速率的?
5Gbps,对吧?
现在我们面前又有另外一组数据,其时间间隔为200ps,800ps,400ps,200ps,100ps•••那这个数据的速率是多少呢?
大家肯定会说,10Gbps嘛。
没错!恭喜你已经成为了一名合格的Clock Recovery,这就是一个简单的求最大公约数的游戏。
CDR全称是Clock and Data Recovery,除了时钟恢复之外,还有数据恢复。第一步首先要将恢复出来的时钟与数据的边缘进行对齐,然后再将数据给读出来。在硬件原理上,使用PLL电路以及触发器即可。
知道了“时钟由捕获的上升下降沿间隔求最大公约数得来”,也就能想到在这个游戏中会碰到的困难了。实际上我们捕获的时间间隔并不一定是真实时钟周期的整数倍。很可能在接收端捕获的时间是198ps,810ps,395ps,202ps,104ps•••聪明的小伙伴们可以知道,这个应该还是一个10Gbps的信号,恩,通常这种大小的偏差Clock Recovery也能认出来。
但是如果接收端捕获的时间间隔是168ps,830ps,360ps,235ps,70ps呢?不止是我们看着头大,Clock Recovery看着估计也崩溃了。而且,这不止影响我们恢复出来的时钟质量,同时还会影响这个恢复出来的时钟与数据进行边沿对位的过程。
所以在SERDES系统中,我们需要获取一个好的时钟,确保一个好的时序,需要做的是让这种边沿的偏差尽量小。也难怪在研究SERDES的时候,听到人们左一个jitter,右一个jitter地说了。