原创 谈谈高速数字总线的时钟架构

2009-9-22 20:57 2896 7 9 分类: 测试测量

    前言-高速数字设计最关键的问题就是时钟和阻抗。根据不同的应用通常会采用不同的时钟架构,但是实际使用中经常会有人搞混。所以抽空把时钟分配的种类大概整理了一下,供大家参考。


   对于数字电路来说,目前绝大部分的应用都是同步逻辑电路,而同步逻辑电路中必不可少的就是时钟。为了把发送端的时钟信息传递到接收端,数字总线采用的时钟方式大体上可以分为3类,各有各的应用领域。


1、并行时钟<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


          传统的并行总线使用一路时钟和多路信号线进行数据传输,如PCI总线、大部分CPUDSPlocal bus等。这些总线工作时有一个系统时钟,数据的发出和接收都是在时钟的有效沿进行。为了保证在有效沿时采集到正确的数据,通常都有建立/保持时间的要求,以避免采到不稳定时刻的数据。同时这些总线对于布线长度的等长都有比较严格的要求,否则可能有些数据线建立/保持时间满足要求而另一些不满足。这种并行总线在使用中最大的挑战是当总线时钟速率超过几百MHz后就很难再提高了,因为其很多根并行线很难满足此时苛刻的走线等长的要求,特别是当总线是点到多点的拓扑结构时。


2、嵌入式时钟


          为了解决并行总线数据吞吐率很难提高的这个问题,一些系统和芯片的设计厂商提出了嵌入式时钟的概念。其思路首先是把原来很多根的并行线用一对或多对高速差分线来代替,节省了布线空间;然后把系统的时钟信息通过数据编码的方式嵌在数据流里,省去了专门的时钟走线。信号到了接收端,接收端采用相应的CDR(clock-data recovery)电路把数据流中内嵌的时钟信息提取出来再对数据采样。这种方法由于不需要走单独的时钟线,各对差分线可以采用各自独立的CDR电路,所以对各对线的等长要求不太严格(即使要求严格也很容易实现,因为走线数量大大减少,而且一般都是点对点传输)。为了把时钟信息嵌在数据流里,需要对数据进行编码。通常采用的编码方式如ANSI8b/10b编码,以及曼彻斯特编码等。目前流行的PCIESATAFCXAUIDP等都是采用的ANSI 8b/10b编码。典型的数据速率在1Gbps5Gbps


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />


          嵌入式时钟结构的关键在于CDR电路,CDR通常是用一个PLL电路实现,可以从数据中提取时钟。为了应对数据疏密的变化,PLL的环路带宽不可能做得太宽,否则很容易失锁。所以受到环路带宽的限制,CDR只能跟踪上数据中的一部分低频抖动,而数据线上的高频抖动会对眼图和抖动测试产生比较大的影响。采用嵌入式时钟的另一个问题在于数据编码需要一些额外开销,降低了总线效率。

 


3、前向时钟


随着技术的发展,一些对总线吞吐速率和效率要求更高的应用中开始采用另一种时钟分配方式,即前向时钟(Forward Clocking)。前向时钟的实现得益于DLL delay locked loop)电路的成熟。DLL电路最大的好处是可以很方便地用成熟的CMOS工艺大量集成,而且不会增加抖动。Xilinx公司对于DLL电路的应用做出了很大贡献,目前其Spartan/Virtex系列的FPGA内部都集成了大量的DLL电路。


前向时钟架构中总线仍然有单独的时钟传输通路,而与传统并行总线所不同的是接收端每条数据信号路径上都有一个DLL电路。电路开始工作时可以有一个训练的过程,接收端的DLL在训练过程中可以根据每条链路的时延情况调整时延,从而保证每条数据线都有充分的建立保持时间。



采用前向时钟的总线效率一般都比较高,因为有专门的时钟通路,不需要再对数据进行编解码。还有一个好处是线路噪声和jitter对于时钟和数据线的影响基本是一样的(因为走线通常都在一起),所以对系统的影响可以消除到最小。


嵌入式时钟的电路对于线路上的高频抖动非常敏感,而采用前向时钟的电路对高频抖动的敏感度就相对小得多。前向时钟总线典型的数据速率在500Mbps6.4Gbps


          在前向时钟的拓扑总线中,时钟速率通常是数据速率的一半,数据在上下边沿都采样,也就是通常所说的DDR方式。使用DDR采样的好处是时钟线和数据线在设计上需要的带宽是一样的,任何设计上的局限性(比如trace的衰减特性)对于时钟和数据线的影响是一样的。


          前向时钟在一些关注效率、实时性,同时需要高吞吐量的总线上应用比较广泛,比如FB-DIMM(目前基本死掉了)IntelQPI总线以及AMDHT3总线,还有象DDR/GDDR等总线也是使用相同的概念。


 点击下载


 

文章评论2条评论)

登录后参与讨论

朱玉龙 2009-9-26 16:15

呵呵,支持一个

李凯的技术博客 2009-9-25 11:49

如果转载的话请注明出处,谢谢!
相关推荐阅读
李凯的技术博客 2018-02-27 13:25
串行总线的8b/10b编码 #D200
为了提高串行数据传输的可靠性,现在很多更高速率的数字接口采用的是对数据进行编码后再做并串转换的方式。编码的方式有很多,如8b/9b编码、8b/10b编码、64b/66b编码、128b/130b编码等,...
李凯的技术博客 2017-10-16 11:51
时钟是怎么恢复的? #D0190
对于高速的串行总线来说,一般情况下都是通过数据编码把时钟信息嵌入到传输的数据流里,然后在接收端通过时钟恢复把时钟信息提取出来,并用这个恢复出来的时钟对数据进行采样,因此时钟恢复电路对于高速串行信号的传...
李凯的技术博客 2017-07-31 08:24
调幅、调频、调相 与 I/Q 调制有什么区别? #W0010
无线通信是现在应用最为广泛的通信技术之一,其核心是把要传输的数据调制在载波上发射出去,载波状态的变化承载了不同的信息。 如下图所示,载波信号的状态变化可以分为幅度变化、频率变化以及相位变化,因此对应的...
李凯的技术博客 2017-07-24 09:02
为什么扔掉你的德标电源线?#B0040
某研究所用户在使用示波器进行测量时,发现有很大的噪声干扰,如下图所示,无法进行正常的测试,不是是否设备损坏? 问题分析:示波器自身会有一定的本底噪声,但在200mv/格的量程下其噪声的峰峰值通常不会...
李凯的技术博客 2017-07-18 15:21
最全 USB3.1 TypeC 测试 (图文并茂) #S0040
USB是目前PC上最成功的接口标准,而USB3.1是其最新版本。 在USB3.1的标准里,革命性地融合了3种最新的现代科技技术,分别是:数据速率从5Gbps提高到10Gbps;TypeC接口实现PC外...
李凯的技术博客 2017-07-14 08:21
测量引起晶体停振? -送给傻傻分不清晶体和晶振的你 #B0030
某工控设备开发厂商的设备中采用单片机控制电路,单片机使用外接的两脚晶体振荡器产生11.0592MHz的工作时钟,用户希望能够精确测量工作时钟的频率。 但用示波器测量频率一方面测不准,另一方面测量时还会...
我要评论
2
7
关闭 站长推荐上一条 /2 下一条