EEPW首页 > 商机频道 > 北京中联微电有限公司 > 新闻 > 高速PCB设计之共同时钟系统 嵌入式培训专家

公司信息

北京中联微电有限公司
所在省:北京
所在市:请选择
店铺地址:http://ec.eepw.com.cn/
mfmember/index/userid/6803

推荐产品

LED显示屏开发套件
价格:198元
ARM嵌入式硬件培训
价格:3860元
STM32开发板
价格:258元
DSP2812 开发板
价格:350元

联系我们

北京中联微电有限公司
电话:010-56259396
邮箱:pcb_design818@yahoo.cn
地址:北京市海淀区中关村北二条乙八号(赛特瑞科技楼五层)
高速PCB设计之共同时钟系统 嵌入式培训专家
来源:zhuyanxu905   时间:2012-09-13

高速PCB设计之共同时钟系统 

嵌入式培训专家

www.pcbedu.com


高速PCB设计 时序问题(一)共同时钟系统

       对于广大PCB设计工程师而言,提到时序问题,觉得比较茫然,看到时序图,更是一头雾水,感觉时序问题很高深。大家平常的设计中,最常见的是各种等长关系,网上流传的Layout Guide,也会告诉大家那些线需要等长。是不是做到了等长,就满足时序关系了呢?你有没有想过,在有些情况下,费尽心思做的等长,反而是系统不工作,时序问题出错的罪魁祸首呢?

     笔者在给一些公司做时序培训的时候,开场白一般会问一个问题:大家列举下平常设计中的常见等长要求,一些具有共性的回答如下:
     PCI总线,CPCI总线,PCIX数据地址总线:1000mil等长,有些回答甚至500mil或者更小。
     SDRAM的数据地址总线,这时候有两种回答:
     1.全部总线等长,等长要求200mil以内(数值的回答不关键,随着频率等因素数值也经常变化,以下的讨论相同,我们不关心具体要求是多长以内,而是等长的类型)
     2.分组等长,D0~D7 ……,如果我再问分组和什么Strobe做等长,答案更是千奇百怪(这个答案是被DDR影响了?新的工程师已经很少机会接触SDRAM了) 
     DDR1、2、3
     1.数据线分组等长,DQ0~7+DQS 数据组内20mil等长
     2.地址、控制、命令和CLK等长,范围稍微宽一些,+-500mil左右
     3.所有DQS和CLK等长,甚至DDR3,做了Fly by设计之后,继续要求等长关系 
     PCIE差分组内等长5mil以内
     PCIE差分组间等长100mil(或者500mil)以内
     大家可以先思考一下,上面这些等长关系,应该工作中都有可能碰到,你是不是也这么做的,有没有更深入思考过,哪些等长关系是不合理的?希望在时序的系列交流结束之后,大家能有更加明确的答案。

        可以这么说,绝大部分等长设计,都有相对应的时序关系,如果能看懂相关的时序图,对等长设计会更加清晰。上面列举等长要求的时候,其实做了分类,相对于高速总线的发展历史,其实就是3个大类,共同时钟的并行总线,源同步时钟的并行总线,高速串行总线,如下图所示:

bus.jpg
 

        我们先来讨论下绿色的部分,也就是共同时钟的并行总线时序设计。或许有人会说,这都是过时的设计了,并且200M以内的信号,有什么好讨论的?随便设计就好了。其实现在很多系统还会采用CPCI的构架,PCIX的总线还在通讯、工控等行业大量采用。并且共同时钟系统,到了133M以上,时序设计非常困难,可以说如果没有真正理解时序设计的原理,你可能做一个5G的PCIE2.0的系统没有什么问题,做一个166M的PCIX系统,做一个失败一个,系统完全无法运行在你预期的频率上,不得不降频使用。当然,这里面有两个原因,其一是每一代总线,发展到瓶颈之后才会进入下一代总线,在各自的瓶颈上,时序裕量非常小,设计极为困难。其二,由于技术的发展,大家更多的关注DDR3,关注高速串行总线,共同时钟系统的研究越来越少,相应的总结文章也不常见,就带来很多设计问题,也就是上面的回答里面,SDRAM分组等长设计错误的原因。

        首先,我们怎么判断一个系统是共同时钟,方法很简单,找时钟树,确定时钟的关系,是判断各种时序系统的关键。共同时钟系统,一般有一个外部的晶振或者晶体,然后通过时钟分配器分别连到系统的驱动端和接收端,由这个外部时钟线来控制系统的时序工作方式,如下图所示: 

common_clock.jpg
 

        第一个时钟边沿驱动端发数据,第二个时钟边沿,在接收端接收数据,为了保证数据的稳定可靠传输,需要满足一定的建立保持时间裕量。

        限于篇幅和时间关系,在这个小节先直接给出结论,下一个专题在针对结论具体讨论,也留给大家思考的时间。

        共同时钟的时序关系公式为:

gongshi.jpg
 
        这两个公式大家可以在各种文章里面看到,从公式可以直接得出结论,共同时钟的时序等长关系是一个范围,而不是等长。又因为飞行时间的最小时序要求一般都可以满足,也就是第二个公式在很多场合可以忽略不计,带给PCB设计的要求就是符合第一个公式,结论就是走线越短越好。任何因为并不存在时序要求而做的整个总线绕等长,而又为了绕等长而导致这个总线的布线度增加,串扰增加,这样的设计是错误的,失败的例子非常多。