解析高速PCB设计中的时序分析及仿真策略

发布者:DelightfulWish最新更新时间:2014-09-04 来源: elecfans关键字:CLOCK  总线  驱动端  接收端 手机看文章 扫描二维码
随时随地手机看文章

  在网络通讯领域,ATM交换机、核心路由器、千兆以太网以及各种网关设备中,系统数据速率、时钟速率不断提高,相应处理器的工作频率也越来越高;数据、语音、图像的传输速度已经远远高于500Mbps,数百兆乃至数吉的背板也越来越普遍。数字系统速度的提高意味着信号的升降时间尽可能短,由数字信号频率和边沿速率提高而产生的一系列高速设计问题也变得越来越突出。当信号的互连延迟大于边沿信号翻转时间的20%时,板上的信号导线就会呈现出传输线效应,这样的设计就成为高速设计。高速问题的出现给硬件设计带来了更大的挑战,有许多从逻辑角度看来正确的设计,如果在实际PCB设计中处理不当就会导致整个设计失败,这种情形在日益追求高速的网络通信领域更加明显。专家预测,在未来的硬件电路设计开销方面,逻辑功能设计的开销将大为缩减,而与高速设计相关的开销将占总开销的80%甚至更多。高速问题已成为系统设计能否成功的重要因素之一。

  因高速问题产生的信号过冲、下冲、反射、振铃、串扰等将严重影响系统的正常时序,系统时序余量的减少迫使人们关注影响数字波形时序和质量的各种现象。由于速度的提高使时序变得苛刻时,无论事先对系统原理理解得多么透彻,任何忽略和简化都可能给系统带来严重的后果。在高速设计中,时序问题的影响更为关键,本文将专门讨论高速设计中的时序分析及其仿真策略。

  1 公共时钟同步的时序分析及仿真

  在高速数字电路中,数据的传输一般都通过时钟对数据信号进行有序的收发控制。芯片只能按规定的时序发送和接收数据,过长的信号延迟或信号延时匹配不当都可能导致信号时序的违背和功能混乱。在低速系统中,互连延迟和振铃等现象都可忽略不计,因为在这种低速系统中信号有足够的时间达到稳定状态。但在高速系统中,边沿速率加快、系统时钟速率上升,信号在器件之间的传输时间以及同步准备时间都缩短,传输线上的等效电容、电感也会对信号的数字转换产生延迟和畸变,再加上信号延时不匹配等因素,都会影响芯片的建立和保持时间,导致芯片无法正确收发数据、系统无法正常工作。

  所谓公共时钟同步,是指在数据的传输过程中,总线上的驱动端和接收端共享同一个时钟源,在同一个时钟缓冲器(CLOCK BUFFER)发出同相时钟的作用下,完成数据的发送和接收。图1所示为一个典型的公共时钟同步数据收发工作示意图。图1中,晶振CRYSTAL产生输出信号CLK_IN到达时钟分配器CLOCK BUFFER,经CLOCK BUFFER分配缓冲后发出两路同相时钟,一路是CLKB,用于DRIVER的数据输出;另一路是CLKA,用于采样锁存由DRIVER发往RECEIVER的数据。时钟CLKB经Tflt_CLKB一段飞行时间(FLIGHT TIME)后到达DRIVER,DRIVER内部数据由CLKB锁存经过TCO_DATA时间后出现在DRIVER的输出端口上,输出的数据然后再经过一段飞行时间Tflt_DATA到达RECEIVER的输入端口;在RECEIVER的输入端口上,利用CLOCK BUFFER产生的另一个时钟CLKA(经过的延时就是CLKA时钟飞行时间,即Tflt_CLKA)采样锁存这批来自DRIVER的数据,从而完成COMMON CLOCK一个时钟周期的数据传送过程。

  

  以上过程表明,到达RECEIVER的数据是利用时钟下一个周期的上升沿采样的,据此可得到数据传送所应满足的两个必要条件:①RECEIVER输入端的数据一般都有所要求的建立时间Tsetup,它表示数据有效必须先于时钟有效的最小时间值,数据信号到达输入端的时间应该足够早于时钟信号,由此可得出建立时间所满足的不等式;②为了成功地将数据锁存到器件内部,数据信号必须在接收芯片的输入端保持足够长时间有效以确保信号正确无误地被时钟采样锁存,这段时间称为保持时间,CLKA的延时必须小于数据的无效时间(INVALID),由此可得出保持时间所满足的不等式。

  1.1 数据建立时间的时序分析

  由第一个条件可知,数据信号必须先于时钟CLKA到达接收端,才能正确地锁存数据。在公共时钟总线中,第一个时钟周期的作用是将数据锁存到DRIVER的输出端,第二个时钟周期则将数据锁存到RECEIVER的内部,这意味着数据信号到达RECEIVER输入端的时间应该足够早于时钟信号CLKA。为了满足这一条件,必须确定时钟和数据信号到达RECEIVER的延时并保证满足接收端建立时间的要求,任何比需要的建立时间多出来的时间量即为建立时间时序余量Tmargin。在图1的时序图中,所有箭头线路表示数据信号和时钟信号在芯片内部或传输线上产生的延时,在下面的箭头线路表示从第一个时钟边沿有效至数据到达RECEIVER输入端的总延时,在上面的箭头线路表示接收时钟CLKA的总延时。从第一个时钟边沿有效至数据到达RECEIVER输入端的总延时为:

  TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA

  接收时钟CLKA下一个周期的总延时为:

  TCLKA_DELAY=TCYCLE+TCO_CLKA+Tflt_CLKA

  要满足数据的建立时间则必须有:

  TCLKA_DELAY_MIN-TDATA_DELAY_MAX-Tsetup-Tmargin》0

  展开并考虑时钟的抖动Tjitter等因素整理后得到:

  TCYCLE+(TCO_CLKA_MIN-TCO_CLKB_MAX)+ (Tflt_CLKA_MIN-Tflt_CLKB_MAX)-TCO_DATA_MAX-Tflt_DATA_SETTLE_DELAY_MAX-Tjitter-Tsetup-Tmargin》0 (1)

  式(1)中TCYCLE为时钟的一个时钟周期;第一个括号内是时钟芯片CLOCK BUFFER输出时钟CLKA、CLKB之间的最大相位差,即手册上称的OUTPUT-output skew;第二个括号内则是CLOCK BUFFER芯片输出的两个时钟CLKA、CLKB分别到达RECEIVER和DRIVER的最大延时差。式(1)中TCO_DATA是指在一定的测试负载和测试条件下,从时钟触发开始到数据出现在输出端口并到达测试电压Vmeas(或VREF)阈值的时间间隔,TCO_DATA的大小与芯片内部逻辑延时、缓冲器OUTPUT BUFFER特性、输出负载情况都有直接关系,TCO可在芯片数据手册中查得。

  由公式(1)可知,可调部分实际只有两项:Tflt_CLKB_MIN-Tflt_CLKB_MAX和Tflt_DATA_SETTLE_DELAY_MAX。单从满足建立时间而言,Tflt_CLKA_MIN应尽可能大,而Tflt_CLKB_MAX和Tflt_DATA_SETTLE_DELAY_MAX则要尽可能小。实质上,就是要求接收时钟来得晚一点,数据来得早一点。

  1.2 数据保持时间的时序分析

  为了成功地将数据锁存到器件内部,数据信号必须在接收芯片的输入端保持足够长时间有效以确保信号正确无误地被时钟采样锁存,这段时间称为保持时间。在公共时钟总线中,接收端缓冲器利用第二个时钟边沿锁存数据,同时在驱动端把下一个数据锁存到数据发送端。因此为了满足接收端保持时间,必须保证有效数据在下一个数据信号到达之前锁存到接收端触发器中,这就要求接收时钟CLKA的延时要小于接收数据信号的延时。

  TCLKA_DELAY=TCO_CLKA+Tflt_CLKA

  而数据延时:

  TDATA_DELAY=TCO_CLKB+Tflt_CLKB+TCO_DATA+Tflt_DATA_SWITCH_DELAY

  若要满足数据的保持时间,则必须有:

  TDATA_DELAY_MIN-TCLKA_DELAY_MAX-Thold-Tmargin》0

  展开、整理并考虑时钟抖动Tjitter等因素,可得如下关系:

  (TCO_CLKB_MIN-TCO_CLKA_MAX)+(Tflt_CLKB_MIN-Tflt_CLKA_MAX)+TCO_DATA_MIN+Tflt_DATA_SWITCH_DELAY_MIN-Thold-Tmargin-Tjitter》0 (2)

  式(2)中,第一个括号内仍然是时钟芯片CLOCK BUFFER输出时钟之间的最大相位差;第二个括号内继续可以理解为时钟芯片输出的两个时钟CLKA、CLKB分别到达RECEIVER和DRIVER的最大延时差;要满足数据的保持时间,实际可调整的部分也只有两项,即Tflt_CLKB_MIN-Tflt_CLKA_MAX和Tflt_DATA_SWITCH_DELAY_MIN。单从满足保持时间的角度而言,Tflt_CLKB_MIN和Tflt_DATA_SWITCH_DELAY_MIN应尽可能大,而Tflt_CLKA_MAX则要尽可能小。也就是说,若欲满足保持时间,就要使接收时钟早点来,而数据则要晚点无效(invalid)。[page]

  为了正确无误地接收数据,必须综合考虑数据的建立时间和保持时间,即同时满足(1)式和(2)式。分析这两个不等式可以看出,调整的途径只有三个:发送时钟延时、接收时钟延时和数据的延时。调整方案可这样进行:首先假定发送时钟延时严格等于接收时钟延时,即?Tflt_CLKA_MIN-Tflt_CLKB_MAX =0和?Tflt_CLKB_MIN-Tflt_CLKA_MAX =0(后文将对这两个等式的假设产生的时序偏差进行考虑),然后通过仿真可以得出数据的延时范围,如果数据延时无解则返回上述两个等式,调整发送时钟延时或接收时钟延时。下面是宽带网交换机中GLINK总线公共时钟同步数据收发的例子:首先假定发送时钟延时严格等于接收时钟延时,然后确定数据的延时范围,代入各参数,(1)和(2)式分别变为:

  1.5-Tflt_DATA_SETTLE_DELAY_MAX-Tmargin》0

  0.5+Tflt_DATA_SWITCH_DELAY_MIN-Tmargin》0

  在不等式提示下,结合PCB布局实际,确定Tflt_DATA_SETTLE_DELAY_MAX《1.1;tflt_data_switch_delay_min》-0.1,剩下0.4ns的余量分配给了两个时钟的时差和Tmargin。在SPECCTRAQUEST中提取拓扑并进行信号完整性仿真,进而确定各段线长及拓扑结构。对此结构(共12种组合)进行全扫描仿真,得到?Tflt_DATA_SETTLE_DELAY_MAX=1.0825? Tflt_DATA_SWITCH_DELAY_MIN =-0.0835004,符合确定的1.1和-0.1的范围指标。由此可以得出GLINK总线数据线的约束规则:①匹配电阻到发送端的延时不应大于0.1ns;②数据线必须以0.1ns进行匹配,即每个数据线都必须在0.65ns~0.75ns之间。有了上述的约束规则就可以指导布线了。

  下面再考虑硬性规定 Tflt_CLKA_MIN-Tflt_CLKB_MAX=0和Tflt_CLKB_MIN-Tflt_CLKA_MAX=0带来的影响。事先约束发送时钟和接收时钟完全等长(在实际操作中以0.02ns进行匹配)?在CADENCE环境下,进行时钟仿真,得到结果:|Tflt_CLKA_MIN-Tflt_CLKB_MAX|《0.2和|tflt_clkb_min-tflt_clka_max|《0.2。可见留给tmargin的余量为0.2ns。

  最终的仿真结果是:① 匹配电阻到发送端的延时不应大于0.1ns;②数据线以0.1ns进行匹配,即每个数据线都必须在0.65ns~0.75ns之间;③发送时钟和接收时钟以0.02ns匹配等长;④Tmargin=0.2ns。有了上述拓扑结构样板和约束规则就可以将SPECCTRAQUEST或ALLEGRO导入到CONSTRAINS MANAGER中。当这些设计约束规则设置好后,就可以利用自动布线器进行规则驱动自动布线或人工调线。

  2 源同步时序关系及仿真实例

  

  所谓源同步就是指时钟选通信号CLK由驱动芯片伴随发送数据一起发送,它并不象公共时钟同步那样采用独立的时钟源。在源同步数据收发中,数据首先发向接收端,经稍短时间选通时钟再发向接收端用于采样锁存这批数据。其示意图如图2所示。源同步的时序分析较公共时钟同步较为简单,分析方法很类似,下面直接给出分析公式:

  建立时间:Tvb_min+(Tflt_clk_min-Tflt_data_settle_delay_max)-Tsetup-Tmargin》0

  保持时间:Tva_min+(Tflt_data_switch_delay min-Tflt_clk _max)-Thold-Tmargin》0

  其中,Tvb为驱动端的建立时间,表示驱动端数据在时钟有效前多少时间有效;Tva为发送端的保持时间,表示驱动端数据在时钟有效后保持有效的时间;其他参量含义同前。下面以通信电路中很常见的TBI接口为例介绍源同步时序分析及仿真过程。TBI接口主要包括发送时钟和10bit的发送数据、两个接收时钟和10bit接收数据。RBC0、RBC1为两个接收时钟,在千兆以太网中,这两个时钟频率为62.5MHz,相差为180°,两个时钟的上升沿轮流用于锁存数据。根据数据手册的时序参数,代入上式可得:

  2.5+?Tflt_clk _min-Tflt_data__settle_delay_max -1-Tmargin》0

  1.5+?Tflt_data__switch_delay min-Tflt_clk _max -0.5-Tmargin》0

  仿照前述分析方法:假设时钟、数据信号线的飞行时间严格相等,即时钟和数据完全匹配,然后分析它们不匹配带来的影响。上式变为?

  1.5-Tmargin》0

  1-Tmargin》0

  可见,无论是建立时间还是保持时间都有很大的余量。经过仿真,发现数据和时钟完全匹配等长(以0.02ns匹配为例),仍有0.3ns的差别,即

  ?Tflt_clk_min-Tflt_data_settle_delay_max《0.3

  ?Tflt_data_switch_delay min-Tflt_clk_max《0.3

  取Tmargin=0.5ns得到时钟和数据的匹配为0.2ns,即数据和时钟的长度匹配不应超过0.2ns。

  

  在实际仿真中首先就时钟和数据的信号完整性进行分析仿真,通过适当的端接匹配得到较好的接收波形。图3是一组无源端匹配和有源端匹配时钟线的不同仿真波形比较,从中可以看出首先进行信号完整性仿真的必要性。

  在公共时钟同步中,数据的发送和接收必须在一个时钟周期内完成。同时器件的延时和PCB走线的延迟也限制了公共时钟总线的最高理论工作频率。故公共时钟同步一般用于低于200MHz~300MHz的传输速率,高于这个速率的传输,一般应引入源同步技术。源同步技术工作在相对的时钟系统下,采用数据和时钟并行传输,传输速率主要由数据和时钟信号间的时差决定,这样可以使系统达到更高的传输速率。笔者通过对宽带以太网交换机主机和子卡板进行信号完整性分析、时序分析及其仿真,大大缩短了产品的设计周期,通过分析仿真有效地解决了高速设计中出现的信号完整性、时序等方面的问题,充分保证了设计的质量和设计速度,真正做到了PCB板的一次通过。主板和子卡板目前已经通过调试,并顺利转产。

关键字:CLOCK  总线  驱动端  接收端 引用地址:解析高速PCB设计中的时序分析及仿真策略

上一篇:汽车级瞬态电压抑制器,提供专业级保护
下一篇:USB接口的数模转换系统设计解析

推荐阅读最新更新时间:2024-05-02 23:09

STM32时钟详解
1.概述 时钟是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟。这样的好处是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。每个时钟tick,系统都会处理一步数据,这样才能让工作不出现紊乱。 2.原理 首先,任何外设都需要时钟,51单片机,STM32,430等等,因为寄存器是由D触发器组成的,往触发器里面写东西,前提条件是有时钟输入。 51单片机不需要配置时钟,是因为一个时钟开了之后所有的功能都可以用了,而这个时钟是默认开启的,比如有一个水库,水库有很多个门,这些门默认是开启的,所以每个门都会出水,我们需要哪个门的水的时候可以直接用,但是也存在一个问题,
[单片机]
STM32<font color='red'>时钟</font>详解
基于LonWorks现场总线的楼宇自动化系统
  楼宇自动化系统包括:冷冻水系统、新风机组、空调机组、给排水系统、变配电系统、电梯系统、照明系统、有害气体检测系统和热交换系统9部分。由于LONWorks技术的开放性和全分布式的特点,并且考虑到以后与其他功能子系统的集成,决定采用LonWorks技术作为本系统的技术平台。这个平台上集成了来自3个不同厂商的基于LonWorks技术的产品,它们分别是:美国SIEBE公司的LA系列新风、空调控制器;澳大利亚AUS-LON公司的Dl-10E1;Echelon公司的LonPoint系列产品(Dl-10、DO-10、Al-10、SCH-10和LPR-10路由器模块)。     网络采用自由拓朴结构,网线采用Echelon公司推荐的Belden
[嵌入式]
基于51单片机的多功能电子时钟设计
设计任务: 1、设计任务:利用单片机、时钟芯片 DS1302、温度传感器 DS18B20、1602 液晶 等实现日期、时间、温度的显示即一个简单的万年历。 2、设计要求 (1)通过 DS1302 能够准确的计时,时间可调并在液晶上显示出来。 (2)通过 DS18B20 能够实时、准确的检测当前环境温度。 (3)利用单片机自身功能实现闹钟 总体方案论证与设计 总体方案论证与设计 本系统以 AT89S52 单片机为控制核心,通过与 DS1302 和 DS18B20 通信获取实时时间和实时环境温度,并将得到的数据通过 1602 液晶 显示出来,同时通过相应的按键调整相应的值。因此本设计可分为一 下模块:显示模块、实时时间计算模块、实
[单片机]
基于51单片机的多功能电子<font color='red'>时钟</font>设计
采用突波吸收电容减小UPS直流总线电压
 众所周知,逆变器是UPS的核心部分,逆变器的性能决定了UPS的输出性能指标。在一个由整流器、逆变器、充电器等组成的UPS中(如图1),逆变器不但要承受来自负载的冲击,还要随时对直流总线电压的波动进行调整。大量的统计数据证明,直流总线电压的异常波动和负载的冲击是造成逆变器故障的主要原因。在UPS实际运用过程中,负载的冲击不可避免,而稳定直流总线电压、减小直流总线电压的纹波却是可以做到的。 图1 UPS结构框图   直流总线电压的纹波主要由整流输入电压的波动和逆变器IGBT开关的反冲电压回馈至直流总线形成。如果纹波过大,就会造成整流滤波电容温升过高,寿命缩短,同时加大了逆变器PWM调节频繁程度,容易造成控制电路不稳定而导致故障
[电源管理]
采用突波吸收电容减小UPS直流<font color='red'>总线</font>电压
如何抗干扰——CAN总线抗干扰的6条“军规”
随着CAN总线在电动汽车、充电桩、电力电子、轨道交通等电磁环境比较恶劣的场合应用越来越多,信号干扰的问题已经严重影响到使用者对CAN总线的信任。究竟如何才能抗干扰?本文展示了致远电子CAN总线抗干扰的6条“军规”。 在汽油车时代,CAN总线遇到的干扰少之又少,即使有一些继电器和电磁阀的脉冲,也不会有很大影响,稍微进行双绞处理,完全可以实现零错误帧。 可是到了电动汽车年代,逆变器、电动机、充电机等大功率设备对CAN的影响足以中断通讯,或者损坏CAN节点,如图1图2所示,就是被逆变器干扰的CAN波形。 图1 干扰前 图2 干扰后 面对干扰,各个汽车厂、零部件厂,测试诊断设备的厂商都纷纷研究抗干扰之“妙方”
[汽车电子]
如何抗干扰——CAN<font color='red'>总线</font>抗干扰的6条“军规”
现场总线构建无人职守供热联网监测系统
  现场总线技术的发展引起了传统控制系统结构的改变。在供热系统中,到目前为止我国大部分地区都采用各供热站人工抄表并上报数据到本供热公司,然后由专人负责记录、统计和分析,因此,各热力公司每天的运营情况不能及时地反馈到供热办。为确保对居民的有效供热,现场总线技术在此发挥了强大的作用,其不仅实现了自动抄表功能而且能够及时将数据发送到供热办。   对供热控制系统的新要求   在我国能源结构中,供热耗能所占比重很大,其节能潜力相当可观,主要表现在:因热网失调造成的能源浪费;供热系统中缺乏有效的调节手段,不能实现意义上的运行调节,实现按需供热,设备匹配不尽合理,运行费用过高,特别是热网循环泵耗电过大等等许多方面。城市供热关系到千家万户的冷暖,
[嵌入式]
模拟数字何处相逢?
  孩提时代我喜欢的超级英雄中有一个名叫Flash的红衣信使,他奔跑的速度惊人,竟能使时间停顿,他在不可思议的短时间内(像人的一次心跳,或者钟表上秒针的一次动作),就能完成许多不同的任务。 Stephan Ohr   尽管电子工业没这么神奇,但它也有自己的Flash版本。时钟和时序发生器就能“切”出更小电子状态片段来。做切片的时候它们就充当了的模拟和数字之间的真正接口。   我在上一期的栏目中解释了非常细密的时间片段和过采样如何用于较高分辨率的A/D转换。数字过采样倾向于削平这些信号的峰值和低谷,而不是强迫数据转换器以更高阶数响应快速变化的信号。因此,delta-sigma数据转换器只
[模拟电子]
SylixOS CAN总线初始化流程解析
概述 本文档是在AT91SAM9X25平台上进行SylixOS CAN总线驱动开发时,对CAN总线初始化流程的分析。 适用于正在学习CAN总线开发的技术工程师。 技术实现 CAN总线的初始化流程可以分成两个部分: 一部分是CAN总线通道资源初始化,主要工作是对通道相关的管脚和中断以及总线编程时需要的时钟等资源的初始化;另一部分是CAN总线的硬件初始化,主要工作是对总线的波特率的设置、接收和发送数据邮箱(相当于缓存区)的初始化以及接收中断和错误中断的使能。 CAN总线通道资源初始化 在AT91SAM9X25平台上,CAN总线通道资源初始化如图 21所示。CAN总线的TX管脚、RX管脚和时钟的使能以及中断服务函数的绑定
[单片机]
SylixOS CAN<font color='red'>总线</font>初始化流程解析
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved