并行/串行/异步传输

【转载】什么是并行传输、串行传输、异步传输?

文章收录自互联网,著作权归原作者所有,若有冒犯请联系我删除。

商业转载请联系作者获得授权,非商业转载请注明出处。

本人转载只作个人学习及后续查阅使用

该篇文档作者:航空航天迷

原文链接:什么是并行传输、串行传输、异步传输?

来源:知乎


传输可以分为串行传输并行传输。

串行传输可分为异步传输、同步传输等时传输

下图2是并行传输的示意图:

并行传输中,使用多根并行的数据线一次同时传输多个比特。

例如在图2中,共有8根数据线,一次同时传输8个比特,每个比特占用一根数据线。

下图3是串行传输的示意图:

串行传输中,使用一根数据线传输数据,一次传输1个比特,多个比特需要一个接一个依次传输。

下面简单介绍一下串行传输并行传输的发展历史,从而了解他们俩各自的优缺点,以及发展趋势。

最早的计算机(电子管计算机和晶体管计算机),其各个接口,例如输入接口、输出接口和存储器接口等,一般采用串行接口,以串行传输的方式传输数据。

下图4为电子管计算机ENIAC

电子管计算机ENIAC诞生于美国宾夕法尼亚大学。重30多吨,占地约170平方米,装有约18000只电子管。

下图5为电子管计算机中使用的电子管

图5中小玻璃瓶状的东西就是电子管,电子管的体积比较大 下图6为晶体管计算机TRADIC

1954年,贝尔实验室使用800只晶体管组装了世界上第一台晶体管计算机TRADIC。相比电子管,晶体管体积小、重量轻、寿命长、发热少、功耗低,大大改进了计算机中的电子线路的结构,大幅度提高了运算速度。 下图7为晶体管计算机TRADIC中使用的晶体管

电子管计算机和晶体管计算机以串行传输的方式传输数据,其原因是当时各个部件都是分立的部件,而不是像今天这样使用集成电路设计。如果采用并行线路的话,元件的数量和占用的空间将成倍增长。比如,一个8比特并行线路的元件数量是串行线路的元件数量的8倍(因为需要为每根线路配置一套接收元件)。另外,元件的数量成倍增长的话,耗电量也会大幅增加。 集成电路技术出现后,大量元件可以集成到一个小小的芯片上,并行传输变得方便而便宜。不论是8比特、16比特还是更高比特位数的并行线路,只需要一个并行接口芯片就可以处理,而且并行接口芯片只比串行接口芯片贵一点。

除了方便便宜外,在相同的工作频率下并行传输的传输速度是串行传输的数倍,迎合了人们对速度的追求,所以硬盘、打印机等设备开始使用并行传输以提高传输速度。PATA(Parallel Advanced Technology Attachment,并行高级技术附件)接口、并口(Parallel Port)和PCI(Peripheral Component Interconnect,外设部件互连)接口成为流行的并行接口。

下图8为电脑主板上的PATA接口(并行传输),用于连接硬盘和光驱

下图9为用于PATA接口的连接线缆

下图10中的编号2为电脑上的并口(并行传输),用于连接打印机、扫描仪等

下图11为电脑主板上的PCI接口(并行传输),用于插接外置网卡、声卡、显卡和调制解调器卡等)

下图12为采用PCI接口的显卡

图12中的显卡使用时是插入图11中的PCI接口(插槽)中。

在相同的工作频率下并行传输的传输速度是串行传输的数倍,但并行线路有一些难以克服的缺点,导致依靠并行线路的并行传输无法用于长距离通信。计算机与外界的长距离通信,例如与网络中的另外一台计算机进行通信时,只能使用串行传输

在计算机内部,如今串行传输也显示出了它的优势,有取代并行传输的趋势。

例如,

SATA接口取代PATA接口;

USB接口取代并口;

PCI Express接口取代PCI接口。

为什么串行传输有取代并行传输的趋势呢?

串行传输相比,并行传输的缺点是:

一、线路的成本高

并行传输如果每个时钟节拍发送16个比特,则需要16根数据线(另外还需要多根控制线)。

PATA(并行传输)连接线缆包含40根导线(16根数据线,24根用于接地和进行控制);

SATA(串行传输)连接线缆包含7根导线(4数据线+3接地线)。

如果是长距离通信,并行传输的线路成本是串行传输的若干倍。

另外,只有一对传输线时,串行传输也可以实现双向通信,所以可以直接利用现有的电话线路进行数据传输;而并行传输要多根并行的传输线,没有现有的线路可以利用,要另外专门铺设线路,成本高。

二、体积大

并行接口占用空间大,对应线缆占用空间也大。

如图14所示,PATA的接口与连接线缆的尺寸大大于SATA的接口与连接线缆的尺寸

如果是长距离通信,要求使用比较粗的信号线,以便降低信号的衰减,并行传输需要使用多根较粗的信号线捆扎在一起组成通信线缆,占很大空间。

即使是计算机内部通信,并行传输的线缆所占用的空间也比串行传输的线缆所占用的空间大很多。

并行接口的尺寸比串行接口的尺寸大很多,则不利于设备的小型化。例如,在手机和穿戴式设备等领域,希望零件的尺寸越小越好。

三、信号线之间的干扰大,不能用于长距离传输

并排的信号线在进行高速传输时,会在每条信号线的周围产生微弱的电磁场,出现串音干扰,进而影响到其它信号线中的数据传输。传输距离越长,串音干扰越严重。

所以,PATA线缆的长度不能超过0.4米,而SATA线缆可以达到1米。

四、并行传输具有同步问题

并行传输中,如果并行的线路之间的物理性质不一致,例如长度上有细微差别,会导致并行线路中传输的比特不是同时到达接收方,接收器接收数据时容易出错。

五、传输频率低

并行传输中,如果传输频率高的话,数据线之间会产生很大的干扰,造成数据出错,即使为数据线添加屏蔽层,也不能保证屏蔽掉高频率产生的干扰。所以,并行传输的最高传输频率有一定限制。

PATA接口的最高传输频率为33MHz,这个几乎已经达到了并行接口的极限。

串行传输每次只传输一个比特,但是它的传输频率可以非常高,达到10GHz,是33MHz的300倍。相当于并行传输每发送1次,串行传输可以发送300次。并行传输每次发送300比特,才能赶上串行传输的速度,但是每次发送300比特,就需要300根并行的数据线,这是不现实的。

因为并行传输串行传输各自的这些优缺点,导致并行传输仅仅用于短距离传输,而长距离传输则采用串行传输;同时,在短距离传输中,串行传输也在逐步取代并行传输

什么是异步传输呢?

计算机的键盘与主机之间的数据传输就是异步传输

在键盘上按下一个字母键、数字键或特殊字符键,键盘就需要向主机发送一个对应的长度为8比特的ASCII字符,这个8比特的ASCII字符就是需要发送的数据,大小为1个字节。

如上图所示:例如,当用户按下小写字母键“k”,键盘需要向主机发送字符“01101011”

用户可能在任意时刻按键盘,所以键盘向主机发送数据的时间不是固定的,也不会事先约好,任何时刻都有可能发送。

主机事先并不知道键盘什么时候会给自己发送数据,只能静静地等待,一旦发现键盘向自己发送数据,则马上接收。

主机如何发现键盘开始向自己发送数据了呢?

当键盘不需要向主机发送有效数据时,也就是键盘处于空闲(idle)时,键盘会连续不断地向主机发送比特“1”,告诉主机自己处于空闲状态。比特“1”用正电平表示,也就是键盘一直向主机发送正电平,表示当前没有有效数据发送给主机。

当键盘被按下,键盘需要向主机发送数据时,键盘会先在数据前添加比特“0”,组成新字符,再发送。

例如,如上图所示,发送数据“01101011”之前,先在“01101011”的前面添加“0”,组成新字符“011010110”

比特“0”可以用零电平表示。

如上图所示,键盘处于空闲时,主机接收的一直是比特“1”(正电平),当主机突然接收到比特“0”(零电平)时,马上反应过来,键盘在向自己发送有效数据,则主机开始接收“0”后面的有效数据,这个“0”相当于这个新字符的起始位(start bit)。

主机开始接收有效数据后,怎么才能知道有效数据接收完了要停下来呢?

为了解决这个问题,键盘和主机事先约定好:

  1. 每次发送的有效数据为1个字节,即8个比特
  1. 数据的传输速率(例如1000比特/秒)

  2. 键盘在有效数据前面添加起始位(比特0),以通知主机,数据开始发送

  1. 键盘在有效数据后面添加停止位(比特1),以通知主机,数据发送结束

下图显示的是:键盘根据和主机的约定,发送给主机的数据和对应的信号。

当按键“k”被按下时,键盘实际上发送的是“起始位”+k对应的ASCII码+“停止位”。

键盘发送信号的过程:

键盘在空闲时,连续地发送正电平给主机,表示当前没有有效数据发送给主机。

当按键“k”被按下时,键盘发送“起始位”+k对应的ASCII码+“停止位”这3者所对应的信号。然后紧跟着继续发送正电平,表示又处于空闲状态。

主机接收信号的过程:

主机开始接收到的一直是正电平,表示当前没有有效数据发送给主机。

主机接收到起始位比特“0”(零电平)后,开始接收比特“0”后面的有效数据。

根据约定,有效数据为1个字节,共8个比特;数据的传输速率例如为1000比特/秒,也就是每毫秒传输1个比特,则8个比特的传输时间为8毫秒。

所以主机根据自己的时钟,在起始位比特“0”后面的8毫秒内接收有效数据。

具体的接收方式(举例说明)是:

主机在起始位后面的0.5毫秒、1.5毫秒、2.5毫秒、3.5毫秒、4.5毫秒、5.5毫秒、6.5毫秒、7.5毫秒分别对信号进行采样,也就是在每个比特的正中间进行采样,以获得这8比特的有效数据。

根据约定,8比特的有效数据后面跟着的是停止位。

如果主机在第8.5毫秒接收到比特“1”(停止位),则主机可以确定数据的发送确实结束了,则结束有效数据的接收,并接受所接收的数据。

如果主机在第8.5毫秒接收到的不是比特“1”(停止位),则主机判断传输过程中发生错误,就放弃所接收到的数据。

无论接受还是放弃所接收到的数据,主机都不会向键盘进行反馈。

键盘向主机发送数据后,就撒手不管了,不会等待主机的确认或其他任何反馈。

在停止位之后,主机接收到的是表示空闲的正电平,继续等待键盘发送数据。