跳转到主要内容

高速数字总线,你不仅得认识它,还得知道它跑的有多快

<p><em>作者:科林</em></p>

<p>在高速PCB设计的时候,会遇到各种各样的高速信号,高速的数字信号常见于各类并行的总线和串行的总线。信号的质量设计的怎么样,取决于你对它们的认识。它是谁?信号的速率有多高,有没有时序要求...</p>
<img alt="信号速率" data-align="center" data-entity-type="file" data-entity-uuid="753b8c5b-630e-410f-9387-1368943d1743" src="/sites/default/files/inline-images/1_11.png" />
<p>有人要问了,什么是并行的总线?什么是串行的总线?最好的区分方式就是,串行的传输方式为数据排成一行、一位一位送出,接收也一样;并行的传输是8位数据一次送出。</p>
<img alt="2" data-align="center" data-entity-type="file" data-entity-uuid="d4c5f7ca-88fc-4929-9812-b600e6b15020" src="/sites/default/files/inline-images/2_9.png" />
<p>以最具典型代表的DDR并口为例,每8bit要附带一对DQS线作为时钟,每个bit都要同步到这对DQS上去,skew超标就不能工作。而串口信号在一个独立的信道上,每次只同时传输1bit,其他信道传什么跟我没关系。标准的串口如HDMI,SATA,SAS,PCIE...等,每对差分线组成一个信道,每个信道是否能成功传输并不取决于其他信道。而DDR这种,11根线(8根数据线,一对DQS,一个DM)组成一个信道,每次同时传8bit,错了某一bit只能重新传。在大部分情况下,为什么串行的差分对之间不用做等长,而并行的单端信号之间通常要绕几下,跟它们的传输方式有很大关系。</p>

<p>按照这种定义,各接口协议其实就已经很好划分了。</p>

<p>当你看到从某个IC出来的信号网络名有D0,D1,D2...有时钟,有地址,那肯定就是并行无疑了。这类高速总线相对来说比较好处理,除了必要的完整参考面和3W原则之外,通常还会绕个等长。不信来看图。</p>

<p>DDR并行总线</p>
<img alt="DDR并行总线" data-align="center" data-entity-type="file" data-entity-uuid="c9588c22-c5a4-48bd-9602-5958e1a9c53d" height="670" src="/sites/default/files/inline-images/3_10.png" width="606" />
<p>PHY的接口RGMII总线</p>
<img alt="PHY的接口RGMII总线" data-align="center" data-entity-type="file" data-entity-uuid="cb7ef43c-b286-403e-af9f-3ac6fa955012" height="368" src="/sites/default/files/inline-images/4_9.png" width="572" />
<p>SD卡的数据总线</p>
<img alt="SD卡的数据总线" data-align="center" data-entity-type="file" data-entity-uuid="bf3f035c-69ec-4a76-bd5a-651db8add1fd" height="433" src="/sites/default/files/inline-images/5_4.png" width="670" />
<p>模拟信号通过AD出来的数据总线</p>
<img alt="模拟信号通过AD出来的数据总线" data-align="center" data-entity-type="file" data-entity-uuid="143057d6-e685-4db2-928d-210be4979f13" height="529" src="/sites/default/files/inline-images/6_6.png" width="670" />
<p>由串并转换器出来的并行数据总线</p>
<img alt="由串并转换器出来的并行数据总线" data-align="center" data-entity-type="file" data-entity-uuid="0b7cf915-9830-4df7-a510-da3e32a2a70b" src="/sites/default/files/inline-images/7_6.png" />
<p>...</p>

<p>图还有很多,挨个截出来,光图就可以写个好几期了。所以每次做完一个高速板,手都会绕的发抖,真想让老板招个绕等长工程师。当然并行总线不仅仅绕个等长就完事了,数据速率越高,负载越多,越讲究,DDR1,DDR2,DDR3,DDR4从1个颗粒到几十个颗粒都画过的同学应该就比较清楚。我们这里就不讨论了。</p>

<p>串行信号因为速率比较高,业界大佬研究的10G,25G,28G,40G甚至100G的信号都是在研究它。所以它的设计要更讲究,来看图。</p>
<img alt="串行信号" data-align="center" data-entity-type="file" data-entity-uuid="221395b7-883a-460d-8f91-96c7d2391249" src="/sites/default/files/inline-images/8_3.png" /><img alt="9" data-align="center" data-entity-type="file" data-entity-uuid="ed3e7599-9634-48d2-8c72-5d55cbb21fb9" height="239" src="/sites/default/files/inline-images/9_6.png" width="659" /><img alt="10" data-align="center" data-entity-type="file" data-entity-uuid="608d630f-bc7a-4009-a1ae-c5b05adc8fba" height="490" src="/sites/default/files/inline-images/10_6.png" width="654" /><img alt="11" data-align="center" data-entity-type="file" data-entity-uuid="7e5e662b-301d-4663-bfd1-6515a7b7c952" src="/sites/default/files/inline-images/11_6.png" /><img alt="12" data-align="center" data-entity-type="file" data-entity-uuid="cc76dce7-cd17-4117-a48b-70a5cb541d00" src="/sites/default/files/inline-images/12_4.png" /><img alt="13" data-align="center" data-entity-type="file" data-entity-uuid="9327288e-e528-4e56-a5d2-cae2d15fbcfb" height="412" src="/sites/default/files/inline-images/13_3.png" width="606" />
<p>...</p>

<p>说真的,要是再早几年看到这些个图片,我都不知道这些都是在干什么,怎么把线扯成这样子。当然,不要觉得串行总线的设计就很难,速率高甚至超高的,当然讲究,速率低的就比较好处理。所以认识高速数字总线的传输速率很重要,当你认识它是谁的时候还得知道它是第几代产品。你说PCIE1.0的信号和PCIE4.0的信号处理起来能一样吗?</p>

<p>下面就来跟大家科普一下。</p>

<p>并行总线还是以DDR为例</p>
<img alt="并行总线还是以DDR为例" data-align="center" data-entity-type="file" data-entity-uuid="22c4ceb6-8975-46d5-8b38-0cfdb66aef76" height="298" src="/sites/default/files/inline-images/14_3.png" width="622" />
<p>常见的高速串行总线标准如下图所示。</p>
<img alt="常见的高速串行总线标准" data-align="center" data-entity-type="file" data-entity-uuid="379e357d-0ab6-40e6-969d-9baccfae9c8e" height="265" src="/sites/default/files/inline-images/15_3.png" width="553" />
<p>1.QPI总线</p>

<p>QPI是双向的,在发送的同时也可以接收另一端传输来的数据,这样,每个QPI总线总带宽=每秒传输次数(即QPI频率)×每次传输的有效数据(即16bit/8=2Byte)×双向。QPI频率为6.4GT/s,总带宽=6.4GT/s×2Byte×2=25.6GB/s。</p>

<p>2.PCIE总线</p>
<img alt="PCIE总线" data-align="center" data-entity-type="file" data-entity-uuid="bfe57c08-b609-411d-9721-834a99cec152" height="193" src="/sites/default/files/inline-images/16_4.png" width="591" />
<p>3.USB总线</p>

<p>USB1.1:低速模式:1.5Mbps &nbsp;全速模式:12Mbps</p>

<p>USB2.0:最高速率:480Mbps</p>

<p>USB3.0:理论上最高达4.8Gbps</p>

<p>USB3.1:理论上最高可达10Gbps</p>

<p>3.SATA总线</p>

<p>SATA1.0: 1.5Gbps</p>

<p>SATA2.0: 3Gbps</p>

<p>SATA3.0: 5Gbps</p>

<p>SATA3.1:8Gbps&nbsp;</p>

<p>4.SAS总线</p>

<p>SAS1.0: 3Gbps</p>

<p>SAS2.0: 6Gbps</p>

<p>SAS3.0: 12Gbps</p>

<p>SAS4.0:24Gbps&nbsp;</p>

<p>5.HDMI总线</p>

<p>HDMI1.0: 1.65Gbps</p>

<p>HDMI1.3:3.4Gbps</p>

<p>HDMI1.4:HDIM1.4版的线只是增加了网络的那对线的,功能不具备TMDS的功能,所以1.4版仍然是3.4Gbps</p>

<p>HDMI2.0:6Gbps</p>

<p>业界所说的HDMI的传输速度可达10Gbps,18Gbps是三对数据差分线叠加效应的结果,也就是3.4GbpsX3和6GbpsX3</p>

<p>6.Ethernet以太网口总线</p>

<p>早期以太网:10Mbps</p>

<p>百兆以太网:理论上最大100Mbps</p>

<p>千兆以太网:理论上最大1Gbps</p>

<p>7.光纤</p>

<p>集成高速串行收发芯片可以实现40/100Gbps以太网,其速度并不是一路串行差分对实现40/100Gbps速率传输,而是多对差分对叠加效应的结果。Alteration FPGA芯片实现100Gbps的方案有两种,一种是10对差分对,每对速率为10.312Gbps 10Gbps;另一种为4对差分对,每对速率为25.781 25Gbps</p>

<p>8.雷电Thunderbolt总线</p>

<p>Thunderbolt1.0:10Gbps</p>

<p>Thunderbolt2.0:20Gbps</p>

<p>Thunderbolt3.0:40Gbps</p>

<p>9.光模块</p>

<p>SFP:10Gbps</p>

<p>QSFP:40Gbps</p>

<p>ZQSFP:100Gbps</p>

<p>...</p>

<p>这些如果同学们在设计的过程中如果遇到了,并且知道它是谁,是第几代产品,信号速率是多少,就能够以不变应万变,这些都画过的同学,不是大神也是老司机了。</p>

<p>好了,这期内容就到这里,希望对大家有帮助,谢谢!</p>

<p>文章转载自:&nbsp;<a href="javascript:void(0);" id="js_name">EDA设计智汇馆</a></p>