在物理层的传输方式中,分为并行传输和串行传输。在串行传输里,又分为同步传输和异步传输。
异步传输:Asynchronous Transmission
异步传输一般以字符为单位,有时候也会比一个字符大。
异步传输有一个起始位,比如先发出一个逻辑”0”信号,表示传输字符的开始。
异步传输有一个空闲位,比如处于逻辑“1”状态,表示当前线路上没有数据传送,逻辑“1”也表示停止位。
异步传输的信息都以一个起始位“0”开头,它通知接收方数据已经到达了,这就给了接收方响应、接收和缓存数据比特的时间;在传输一个字符(8bit)结束时,一个停止位“1”表示该次传输信息的终止。由于每个信息都加上了“同步”信息,因此计时的漂移不会产生大的积累,但却产生了较多的开销。
在异步传输中,以一个字符为单位发送数据,每8个比特要多传送两个比特,因为有起始位和停止位,总的传输负载就增加25%(2/8)。对于数据传输量很小的低速设备来说问题不大,但对于那些数据传输量很大的高速设备来说,25%的负载增值就相当严重了。因此,异步传输常用于低速设备。
举一个例子,比如要要传输xiaomokuaipao这个数据,异步传输在传输前为空闲“1”状态:
当要发送第一个字符x时,将电平置于起始位“0”,表示传输开始,然后再传输x,二进制表示为“01111000”,传输完成一个字符后,将电平置于停止位“1”,表示一个字符传输完成。当x传输完成后,并不知道i什么时候传输,所以置于空闲“1”状态,直到“i”开始传输。
传输一个字符x的8位bit时,有一个起始位和停止位,占用一次传输数据的1/4=25%。
同步传输(Synchronous Transmission)
同步传输的比特分组要大得多。是以同步的时钟节拍来发送数据信号的,因此在一个串行的数据流中,各信号码元之间的相对位置都是固定的(即同步的)。同步传输把一组数据组成一起传输,在这组数据的开始和结束地方都有同步位和结束位,数据和同步位停止位组成了一个数据帧,一次传输以帧为单位,而不是以字符为单位传输。
数据帧的第一部分包含一组同步字符,用于通知接收方一个帧已经到达,但它同时还能确保接收方的采样速度和比特的到达速度保持一致,使收发双方进入同步。
帧的最后一部分是一个帧结束标记。与同步字符一样,它也是一个独特的比特串,类似于前面提到的停止位,用于表示在下一帧开始之前没有别的即将到达的数据了。
如图:
同步传输的数据帧的数据字节比较大,比如5000bit里只包含100bit的其他信号,占比2%,数据开销要比异步传输小得多。
同步与异步传输的区别
- 异步传输是面向字符的传输,而同步传输是面向比特的传输。
- 异步传输的单位是字符而同步传输的单位是桢。
- 异步传输通过字符起止的开始和停止码抓住再同步的机会,而同步传输是以数据中抽取同步信息。
- 异步传输对时序的要求较低,同步传输往往通过特定的时钟线路协调时序。
- 异步传输相对于同步传输效率较低。