从PCIe探索弹性缓冲器真义
下面以两个耳熟能详的接口为例,来说明弹性缓冲器一般位于控制器中的确切位置。
本文引用地址:https://www.eepw.com.cn/article/9144.htm弹性缓冲器在不同接口中的位置
首先以USB2.0 Hub为例。众所周知,Hub装置的职责就是承上启下,单进多出,以扩展连接设备的数量。USB接口最多可连接127个设备。而USB2.0的Hub又有别于上一代USB1.1规格,它将收进来的封包去头去尾,只读取数据本身,然后以局部新的干净时钟信号将它输出。因此,480Mbps可连续接5阶Hub装置依然保持480Mbps数据传送畅通。
所以,USB2.0 Hub内部的重发器(Repeater)区块通常内含弹性缓冲器,可用来补偿Rcv_Clk及Xmt_Clk两个时钟信号差。
再以PCI Express为例。PCI Express采用内置时钟的8b/10b编码方式,因此在接收端势必要构建一个时钟数据回复CDR(Clock Data Recovery)回路,其中的弹性缓冲器也用来补偿传送时钟f1与接收端时钟f2的差异。
逻辑上,因为FIFO两端的时钟存在差异,最后很有可能发生溢位(Overflow)或下溢(Underflow)现象。为了避免这种情况,EB弹性缓冲器通常会在特定的时间插入或移除特殊的符号(Symbol)。如此一来,用来补偿两端时钟的差异就不用考虑额外的问题了。这也是EB弹性缓冲器名称的由来。
弹性缓冲器的出现甚至可以回溯到60年代。1963年,Maurice Karnaugh获得这个技术的专利,只不过当时的应用是在PCM电话网络上。当高速传输转向串行方式时,EB弹性缓冲器的价值再度显现。
PCIe中的时钟差
PCI Express采用的8b/10b编码,输出端与接收端时序的同步关系可看成是一种“源同步”,也是一种“时钟传递”的数据传输协议方法。这与过去的PCI或PCI-X采用的共通时钟方式是截然不同的。
为了方便记忆起见,最为简单的方法就是将“源同步”看成时钟与数据的合成,都来自于输出端的驱动器就可以了。
PCI Express的传输速率是 2.5Gbps(波特率),容许的误差范围是
评论