高速源同步系统的时序分析
同步系统的时序分析
关于高速信号的时序分析,主要针对两种最常见的同步时序系统:共同时钟同步系统与源同步系统。
共同时钟同步原理及时序分析
所谓共同时钟,就是在数据传输过程中,驱动端和接受端共享一个时钟,而这个时钟是由外部的一个器件提供,并且是同一个缓冲器输出的同相位时钟信号。如图1所示:

                    1:共同时钟拓扑结构

    OSC提供时钟输入,CLK_BUFFER则分兵分两路把时钟信号分别输出为CLK_ACLK_B到驱动端和接收端,暂时不考虑时钟ABBuffer内部的Skew与在PCB板上由于走线长度不统一(当然也包括时钟信号接收端的负载不同)所造成的总的Skew天涯明月刀ol捏脸,即我们认为时钟AB在理想状态下同时到达了TRANSRECEIVE。当CLK_B到达TRANS后,在第一个时钟的上升沿,TRANS会将数据Dt锁存到Qt等待输出,直到Qt输出电平达到有效参考电平Vmeas(通常是高电平的一半左右),这段时间我们就称之为驱动端数据信号的Tco
Qt输出数据信号,通过总线传输到RECEIVEDr,在CLK_A的第二个时钟上升沿到来之前把数据送至芯片组内部。不难看出,如果要使得系统正常工作,必须在一个时钟周期内让数据信号从驱动端发送到接收端,即理论上图1中的QtDr的斜线通道的传输延时要小于一个时钟周期。如果传输延时大于一个时钟周期,则接收端的第二个教师节贺卡制作大全简单又漂亮CLK信号的上升沿到来时,正确的数据还在传输过程中,就会导致由于数据信号建立时间不足而导致错误的发生。这就是接收端的数据对建立时间的要求。
    上述分析得出结果就是数据信号要提前CLK_A的第二个上升沿到来,那么要提前多少呢?这就要满足接收端的setup time。这就要求传输线尽可能地短,但是太短的传输线又
带来另一个问题,就是如果数据信号提前CLK_A的第二个上升沿太多的时间,那么时钟的上升沿对数据信号进行锁存的时候,数据信号没有足够的hold on time来保证被正确地采样,同样也会导致数据出错。
    综上所述,共同时钟的时序要求就是:数据信号传输线不能太长或者太重,太长导致数据来得太慢,接收端没有足够的数据建立时间;当然数据信号传输线也不能太短,太短导致数据信号提前接收端时钟的第二个上升沿太多,没有足够的数据保持时间。这就是共同时钟的一个最重要的时序要求。
在实际的计算中,我们还会考虑到CLK_BUFFER内部的时钟固定偏斜,即CLK_ACLK_BTco之间的差值,时钟抖动Jitter,还需要控制时钟信号ABPCB板上的传输延时要尽可能相等,要对他们做等长,并且走线要一致。

Tcycle:时钟的周期
Tco_clkb本科一批省控:时钟BCLK_BUFFER内部从CLK_IN开始到CLK_B输出有效延时
Tflt_clkb:时钟BPCB板上的飞行时间,即从CLK_BUFFER输出有效电平到TRANS接收到的CLK信号达到有效电平
Tco_dataTRANS中数据从CLK_B输入TRANS开始到寄存器输出数据到达有效电平的延时
Tflt_data:数据信号在PCB板上的飞行时间,从TRANS输出有效电平开始到RECEIVE接收到数据信号的延时
Tco_clka: 时钟ACLK_BUFFER内部从CLK_IN开始到CLK_A输出有效延时
Tflt_clka:时钟APCB板上的飞行时间,即从CLK_BUFFER输出有效电平到RECEIVE接收到的CLK信号达到有效电平
中国奥运史上的第一枚金牌Jitter:接收端RECEIVE的时钟抖动
Tsetup:数据的建立时间
Tsetup margin:建立时间裕量
Thold:数据的保持时间
Thold margin:保持时间裕量
         

                      2:共同时钟数据建立时序分析

第一个输入时钟开始到数据接收的总延时为
Tdata_delayTco_clkb+Tflt_clkb+Tco_data+Tflt_data
接收时钟CLK_A下一个时钟周期的总的延时为
Tclk_delayTcycle+Tco_clka+Tflt_clka
再加上建立时间、建立裕量与抖动的时间可以得出如下计算公式
Tdata_delay+Tsetup+Tsetup margin+Tjitter=Tclk_delay
因为要保证Tsetup margin>0
所以得出:
Tclk_delay-Tdata_delay+Tsetup+Tjitter>0
代入Tdata_delaykol是什么意思啊和Tclk_delay的关系式
Tcycle+Tco_clka+Tflt_clka-Tco_clkb+Tflt_clkb+Tco_data+Tflt_data+Tsetup+Tjitter>0
为了保证最恶劣的结果都能满足条件,我们把上式中前面的两个参数Tco_clkaTflt_clka取最小值,把式中括号内的参数Tco_clkbTflt_clkbTco_dataTflt_data都取最大值,Jitter取正值。得到如下的关系式:
Tcycle+Tco_clka_min+Tflt_clka_min-Tco_clkb_max+Tflt_clkb_max+Tco_data_max+Tflt_data_max+Tsetup+Tjitter>0
化简得到:
Tcycle+[Tco_clka_min+Tflt_clka_min-Tco_clkb_max+Tflt_clkb_max]-Tco_data_max+Tflt_data_max+Tsetup+Tjitter>0
而上式中的Tco_clka_min+Tflt_clka_min-Tco_clkb_max+Tflt_clkb_max=Tskew,即为CLK_ACLK_B的总偏斜。总偏斜分为器件内部固定偏斜与PCB走线造成的偏斜两部分。
器件内部的固定偏斜为Tco_clka_min-Tco_clkb_max,这个参数是固定的
PCB走线造成的偏斜为Tflt_clka_min-Tflt_clkb_max,这个参数是可调的,单从建立时间来说,我们希望这个值越大越好。
上式中的后面的参数还有一个参数Tflt_data_max是可调的,但从建立时间来说,我们希望这个值越小越好,即Data的走线越短越好,接收端的负载越轻越好。十大气势背景音乐
下面再来分析一下保持时间的时序要求

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。