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

电器工程 数字通信 计算机架构
2022-01-02 03:47:33

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

4个回答

连载崛起的主要原因有两个

1)有可能。十年来,低成本晶体管已经能够管理 GHz 开关,足以让这种能力被使用并成为标准。

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

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

杀死偏斜恶魔的方法是连载。一条线总是与自身同步,没有什么可以歪斜的。该线路承载自计时的数据。也就是说,使用一种数据编码方案(通常为 8b/10b,有时更高),该方案提供了允许时钟提取的最小保证转换密度。

未来增加数据速率或距离的前景非常好。每一代都带来了更快的晶体管,以及更多制作介质的经验。我们看到了 SATA 是如何发挥作用的,它从 1.5Gb/s 开始,然后移动到 3,现在是 6Gb/s。即使是便宜的电缆也可以提供足够一致的阻抗和合理的损耗,并且均衡器内置在接口硅中以处理与频率相关的损耗。光纤可用于非常长的运行。

对于更高的数据速率,可以并行操作多个串行链路。这与将导体并联不同,它们必须及时匹配到小于一个时钟周期。这些串行通道只需要在一个高级数据帧内进行匹配,该帧可以是微秒甚至毫秒长。

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

我对此确实有个人观点。从 90 年代起,作为一名从事软件定义无线电 (SDR) 的设计师,我曾经向 Analog Devices 和 Xilinx(以及所有其他 ADC 和 FPGA 公司)等人抱怨(他们会不时拜访并询问我们)让我在多 100MHz ADC 和 FPGA 之间运行如此多的并行差分连接,而我们刚刚开始看到 SATA 取代 ATA。我们终于得到了 JESD204x,所以现在我们可以只用几条串行线连接转换器和 FPGA。

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

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

当“通道”的带宽比铜线或光纤更有限时,通常会采用高级调制方案。

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

大多数情况下,人们使用串行总线是因为它们很简单。并行总线使用更多的电缆,并且在长电缆上的高数据速率下会出现信号偏差。

添加到其他好的答案:

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

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