各种被称为“串行”的硬件连接器,例如 USB 和 PCI-express,都拥有远多于 2 个引脚/线。事实上,即使是老式的“串行端口”也拥有这些引脚/线。
但是由于它们是串行的,而不是并行的,人们会认为它们不需要那么多。如果不是并行通信通道,额外的电线有什么用呢?
答案1
最初的串行口有 3、5 甚至 7 个引脚,但只有一来携带数据。
三个引脚串行的工作方式如下:
需要额外的引脚作为公共接地,以便另一台计算机知道要将数据信号与什么进行比较。接收和发送线路交叉,以便计算机 1 发送的数据在计算机 2 的接收引脚上接收。
如果你愿意你可以这样称呼两条串行线。
5 针和 7 针版本的串行电缆增加了额外的信号,允许在它们准备好接收数据时或忙时发出信号(如果忙,任何发送的数据都可能会丢失,因为接收器没有时间接收)。
USB(版本 1 和 2)有多条电缆,但只有一对电缆用于传输数据信号。因此,它是一种串行连接。
看看这张图片(维基百科提供)。你会注意到两条电源线和一条数据对(基本上是一条带有差分信号的线)
PCIe 具有串行通道。每个通道都以串行形式传输数据。具有一个串行通道的 PCI-e 连接称为 PCI-e x1,具有四个串行通道的 PCI-e 连接称为 PCI-e x4 等等。
原因有二:
- 灵活性:更容易重新配置大部分独立的车道
- 信号偏差。
如果我并行在多条线路上传输数据,并且路径(电缆+设备内部路径)的长度不相等,那么部分信号可能会不同步到达。在高信号传输速度下,这是一个严重的问题。
编辑,作为对评论的回答的一部分。这是 PCI-e x1 连接器的引脚分配。该连接器使用引脚 16 和 17 上的信号通道,但有更多连接器用于其他目的(例如为 PCI-e 卡供电、发出卡存在信号等)
答案2
嗯,答案是因为这是规范,但这显然有点过于简单了。让我们来谈谈 RS232(“串行”),这个答案在“这些东西通常设计的方式(至少在最复杂的情况下)”的意义上具有广泛的适用性。
对于 RS232 来说,你是正确的 - 只有两个引脚是实际上用于数据传输(一个发送,一个接收)。其他的是用于协议的其他相关位,它们已决定为其提供自己的信号路径(检测、发送和接收请求等)。
以 USB 为例,它只有四个引脚 - 两个数据传输引脚、一个 +5V 连接和一个接地。USB 规范将所有在 RS232 中获得其自己通道的信号转移到数据通道上。
(PCIe 有点误导——它有两个发送和接收引脚每条车道...由于通道架构,很难将整体设计称为“串行”。此外还有一堆接地和电源。)
答案3
为了完整起见,这里是早期 PC 中使用的 RS232 DB25 引脚排列
根据我的经验,大多数计算机和串行设备实际上最多仅使用引脚 1-8、20、22。
这是那个时代典型的诊断接线盒: