为什么到处都使用数字串行传输?SATA,PCIe,USB


47

在查看SATA,PCIe,USB,SD UHS-II时,令我惊讶的是它们都是相同的:使用差分对(通常为8b / 10b编码)传输的数字串行比特流,但链路/协议层有所不同。
为什么这样?为什么这成为标准?
为什么没有广泛的系统通信协议大量采用一些高级调制方法来获得更好的符号率?我想念什么吗?这不是“串行与并行”的问题,而是“数字信号与调制模拟”的问题


7
好吧,那里有什么替代品?
PlasmaHH

27
好吧,以前是并行的,但是您需要大量的铜线和非常宽的电缆。
Jeroen3

7
当然,这就是今天DDR仍如何工作。
MSalters

10
当电子设备变得如此便宜以至于串行-并行转换器比电线便宜时,串行技术取代了打印机电缆的并行技术。
热舔

4
您为什么不建议“一些高级调制方法”,这样我们才能理解您的意思并与“串行比特流”进行比较?
Ale..chenski

Answers:


30

为什么没有广泛的系统通信协议大量采用一些高级调制方法来获得更好的符号率?

如果两点之间的基本铜质连接支持的数字比特率超过了“应用程序”所需要传输的数据率,那么为什么还要烦扰除标准差分高速信令以外的其他问题呢?

通常,当“通道”的带宽远比铜缆或光纤受限时,采用高级调制方案。


谢谢!altgough确实提供了很好的答案,这是我正在寻找的答案!
artemonster '18

3
一个简单的问题需要一个简单的答案,但是您不能阻止人们想要覆盖比原始问题更多的内容。
安迪(aka Andy)'18

1
这是一件好事:)我从其他答案中学到了很多,因为它们很有用。
artemonster '18

68

串行通讯兴起的主要原因有两个

1)有可能。低成本晶体管已经能够管理GHz切换已有十年了,足够长的时间足以使用并成为标准功能。

2)这是必要的。如果要将超高速数据移动几英寸。此距离开始排除主板到PCI卡的链接,并且绝对排除主板到硬盘或主板/机顶盒以显示连接。

原因是歪斜的。如果沿电缆传输多个并行信号,则它们必须在同一时钟周期的一小部分内到达。这样可以降低时钟频率,因此必须增加电缆宽度。随着数据速率的提高,这变得越来越不可靠。未来增加速率的前景不存在,有人会使用两倍或四倍宽度的ATA吗?

杀死偏斜恶魔的方法是进行序列化。一条线始终与自身同步,没有任何偏差可言。该行传输的是自计时数据。也就是说,使用数据编码方案(通常为8b / 10b,有时更高),该方案可提供允许时钟提取的最小保证转换密度。

未来增加数据速率或距离的前景非常好。每一代带来更快的晶体管,以及更多的制作me的经验。我们看到了SATA的情况,SATA始于1.5Gb / s,然后经过3倍,现在变为6Gb / s。即使便宜的电缆也可以提供足够一致的阻抗和合理的损耗,并且接口硅片内置了均衡器以处理与频率有关的损耗。光纤可以长期使用。

为了获得更高的数据速率,可以并行操作多个串行链接。这与将导体平行放置不同,后者必须在时间上匹配到小于一个时钟周期的时间。这些串行通道只需要匹配一个高级别的数据帧,它可以是µs甚至ms毫秒长。

当然,数据宽度的优势不仅仅适用于电缆和连接器。串行还有利于连接器和芯片之间的PCB板面积,芯片引脚分配和芯片硅面积。

我对此有个人看法。从90年代开始,作为从事软件定义无线电(SDR)的设计师,我曾向过诸如Analog Devices和Xilinx(以及所有其他ADC和FPGA公司)之类的人(他们会不时拜访我们)问问题。当我们刚刚开始看到SATA取代ATA的出现时,我在多个100MHz ADC和FPGA之间运行了如此多的并行差分连接。我们终于得到了JESD204x,因此现在我们仅需几个串行线就可以连接转换器和FPGA。


7
PCI Express 3和4使用128b / 130b编码。
彼得·史密斯

11
Nb/(N+2)b人们在这里使用的术语是什么?

17
@ 8b / 10b,64b / 66b都是Line-Code编码的形式。在串行通信环境中,需要行编码以确保您可以执行Clock-Recovery](en.wikipedia.org/wiki/Clock_recovery)。
Trevor Boyd Smith,

4
@tolos-大多数普通 PCB材料的速度因子约为50%(6英寸/ ns)。
彼得·史密斯

4
@supercat正是处理多个通道的方式,每个通道都有自己独立的时钟。数据被成帧并分布在所有通道上。当接收器具有所有帧时,它将对数据起作用。这允许与数据帧长度有关的偏移,正如我在回答中所说的那样,偏移可能是我们甚至是毫秒。这就是PCIe中通道数的含义,以及如何将2xHDMI处理为高性能显示器。
Neil_UK

24

如果您想举一个被广泛使用但又与众不同的示例,请查看1000BASE-T千兆以太网。它使用并行电缆和非平凡的信号编码。

通常,人们使用串行总线是因为它们很简单。并行总线使用更多的电缆,并且在长电缆上以高数据速率遭受信号偏斜的困扰。


9
GbE的创建是为了解决通过大量现有Cat 5布线推送更多数据的问题。如果设计的新接口不考虑向后兼容性,则可能看起来不太像。cf 10GbE如何在商业/家庭环境中没有取得重大进展,因为它需要安装新的Cat 6a电缆。
Barleyman

根据电缆的长度和/或质量,10GbE仍可在cat5e或cat5上工作。
user3549596'9

12

要添加其他好的答案:

其他答案中提到的问题(最显着的是,并行信号之间的偏斜以及电缆中额外电线的成本)随着信号距离的增加而增加。因此,存在一个距离,串行变得优于并行,并且该距离随着数据速率的增加而减小。

并行数据传输仍在发生:芯片内部,以及电路板上的大多数信号。但是,外部外围设备(甚至内部驱动器)所需的距离现在太远且太快,以至于并行接口无法实用。因此,最终用户现在将要面对的信号大部分是串行的。


4
RAM存储器可能是高速并行信令的最佳示例,尤其是在PC中。
Jan Dorniak '18

出色的答案直接指向跨空间域的时间同步的根本问题。需要注意的一件事是,串行链路上仍然可以有2个以上的符号,因此通过使用调制对每个波特率编码更多位,从而获得了并行通信的一些好处
crasic 18'Aug

@JanDorniak,值得注意的是,DDR *存储器具有用于同步的数据选通位。这样可以将宽总线分解为多个较小的总线。路由多个8位并行总线比路由单个32位总线要容易。
Caleb Reister

@CalebReister不知道。仍然是平行的。我个人认为,现代PC是否可以工作取决于插入DDR4的插槽。最终,由于UEFI强制降低了内存所能提供的延迟。
Jan Dorniak

11

先进的调制技术将要求您发送和接收模拟信号。运行在数百MHz的ADC和DAC往往很昂贵,并且消耗相当多的功率。就硅和功率而言,解码所需的信号处理也很昂贵。

制作支持二进制信号的更好的通讯介质便宜得多。


1
好点子。спасибозаответ:)
artemonster

8

为什么串行位流如此普遍?

使用串行链接的优点是减小了连接的物理尺寸。现代集成电路体系结构上的引脚如此之多,以至于产生了将其设计上的物理互连要求降至最低的强烈需求。这导致开发了使用串行协议在这些电路的接口上以极高速度运行的电路。出于相同的原因,自然而然地将任何其他数据链路中其他位置的物理互连需求降到最低。

对这种技术的最初需求也可能起源于光纤数据传输设计。

一旦支持高速链接的技术变得非常普遍,将它应用于许多其他地方就很自然了,因为串行连接的物理尺寸比并行连接小得多。

为什么没有广泛的系统通信协议大量采用一些高级调制方法来获得更好的符号率?

在编码级别,用于数字通信的编码方案可以很简单,例如NRZ(不归零),稍微更复杂的线路代码(例如8B / 10B),或者像QAM(正交幅度调制)那样复杂得多。

复杂性增加了成本,但是选择也取决于最终取决于信息论和链路容量限制的因素。Shannon -Hartley定理中的Shannon定律描述了通道的最大容量(将其视为“连接”或“链接”):

最大容量(以位/秒为单位)=带宽* Log2(1 +信号/噪声)

对于无线电链路(如LTE或WiFi),带宽通常会受到法律法规的限制。在那些情况下,可以使用QAM和类似的复杂协议来激发可能的最高数据速率。在这些情况下,信噪比通常会很低(10到100,或者10到20 dB分贝)。它只能在给定带宽和信噪比达到上限之前变高。

对于有线链路,带宽仅由实现的实用性来调节。有线链路的信噪比可能非常高,大于1000(30 dB)。如其他答案所述,带宽受驱动导线和接收信号的晶体管的设计以及导线本身(传输线)的设计限制。

当带宽成为限制因素而信噪比不是限制因素时,设计人员便找到了其他方法来提高数据速率。是采用更复杂的编码方案还是采用更多线路,这是一个经济决策:

当单根线仍然太慢时,您确实会看到使用的串行/并行协议。PCI-Express通过使用多个通道来克服硬件的带宽限制。

在光纤传输中,它们不必添加更多的光纤(尽管如果它们已经就位并且未被使用,它们可能会使用其他光纤)。可以使用波分复用。通常,这样做是为了提供多个独立的并行通道,并且其他答案中提到的偏斜问题与独立通道无关。


1
好答案。这确实让我感到好奇,是否有人可以(或已经拥有?)以USB3速度实现256-QAM,以实现真正惊人的传输速率……
mbrig,

FWIW,光纤世界正在开始开发和部署更复杂的调制方案。PAM-4将用于100和400 G以太网,并且电信系统(我相信,但这不是我的领域)开始使用相干QAM。
Photon

但是,实际上,如果一条线的SNR如此之高,为什么不挤出每个可能的带宽呢?为什么要推入GHZ频率(存在所有相关问题),在这里您可能会慢得多并采用一些调制/编码。会不会更方便?
artemonster '18

你可以做到的。这成为经济决定。
吉姆(Jim)

1
QAM需要一个运营商,因此除了对“基带”数字进行PAM之外,没有其他任何意义。它用于光领域,使用光本身作为载体。通过铜缆,您基本上只需构建一个无线电收发器。这将需要更多的高速模拟电路,以及随之而来的所有复杂性和增加的功耗。比较而言,串行器和解串器相对简单。恕我直言,与通过铜缆转向QAM相比,我们更有可能看到集成的硅光子调制器和检测器。
alex.forencich

1

乘坐四辆带有效载荷的半卡车。每边高速公路四车道。为了使卡车成功地平行搬运有效载荷,它们必须完美并排,一个不能比另一个领先或落后一英寸多。丘陵,曲线,没关系。变化太多,完全失败。

但是让它们走一条车道,它们之间的距离会有所不同。虽然这是线性的,但要移动有效载荷,从第一辆卡车的前部到最后一辆卡车的后部的距离要超过其四倍,但它们不必保持理想的间距。就在一辆卡车的长度之内,它必须具有驾驶室和有效载荷,并且有效载荷的长度必须正确定位和隔开。

它们甚至达到了并行,pcie,网络等的高度,但是,尽管从技术上讲,它们是多个单独的数据路径,但它们并不是并行的,因为它们必须像卡车那样用四辆卡车同时离开和到达。卡车可以在大致平行的四个车道上行驶,但可以变化,卡车用到达的车道进行标记,这样,当卡车到达另一端时,有效载荷就可以组合回到原始数据集中。和/或每个通道可以串行地是一个数据集,并且通过拥有更多通道,您可以一次移动更多数据集。


车道不需要完全“对齐”。与完全并排相比,现代的多通道接口使用更复杂的符号对齐方法。
Ale..chenski

1
是的,那是我说的。
old_timer '18

1

作为Dmitry Grigoryev的补充。

模拟传输始终比数字传输更容易出错。例如,数字串行传输具有带时钟的侧翼,其中模拟信号以某种方式在0V和VDD之间浮动。因此,很难检测到干扰。可以像音频中那样考虑到这一点并使用差分信号。

但是随后您遇到了DAC / ADC的速度与精度之间的折衷。如果您必须与数字系统互相通信,则使用数字传输会更有意义,因为您不需要花费一些时间来进行DA-AD转换。

但是,如果您有一台运行在模拟控制电压下的模拟计算机,则周围仍然有些环境,它们看起来基本上就像是模拟模块化合成器,情况有所不同,通常您只能为特定任务构建模拟计算机。关于模拟计算的德语有趣演讲

谈到模拟模块化合成器,它们也是某种模拟计算机,专门设计用于对变化的信号进行调用。

因此,计算中存在模拟传输,但仅限于非常特定的领域。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.