先分别阐述下二者是什么,在进行比较。
同步传输与异步传输虽然从名字上来看是两个完全不同的方式,但要知道,他们的目的是相同的,其实他们都是在进行位同步的动作,只不过一个选择了直捣黄龙,而另一个是迂回作战。所以首先应该明确一个思想,如果想理解这两种方式只要理解了他们是在如何进行同步就可以了。
1.同步通信原理
1.1 定义
同步通信中双方使用频率一致的时钟,它的分组相比异步则大得多,称为一个数据帧,通过独特的bit串作为启停标识。发送方要以固定的节奏去发送数据,而接收方要时刻做好接收数据的准备,识别到前导码后马上要开始接收数据了。
同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。
采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符,在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。这样,传输时,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。
同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。
1.2 优点:
同步这种方式中因为分组很大,很长一段数据才会有额外的辅助位负载,所以效率更高,更加适合对速度要求高的传输,当然这种通信对时序的要求也更高。
2. 异步通信原理
2.1 定义
异步通信中的接收方并不知道数据什么时候会到达,收发双方可以有各自自己的时钟。
异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。
发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。
2.2 优点
通信设备简单、便宜
2.3 缺点
但传输效率较低,毕竟额外加入了很多的辅助位作为负载,常用在低速的传输中。
2.4. 例子
我们的键盘按下一个按键,发出一个字符信号,异步传输机制就会为它加上前后的辅助同步信息,帮助接收方识别到我们按下了哪一个按键。因为我们敲击键盘的节奏不固定,所以异步是一种很适合的方式。
3.总结
总结一下,异步传输其实是通过字符数据前后的开始和停止码进行再同步,弥补自己刚才注意不集中的不足;而同步方式则是一个规矩的好学生,时刻候命准备工作。异步是你扔出去一个内容,对方靠着内容前后他能嗅到的异样在人潮之中发现了它,把这个内容存下来;而同步是对方在时刻等着你发布号令,你告诉对方我要发送了哦,然后双方一拍即合。
4. 主要区别
1. 通信时,传递的字符帧不同,同步通信字符帧要大,也就是每组发送到数据要多。
2. 辅助位不同。同步通信只需要在分组信息前添加一个标志开始的信息即可,因为是连续发送。但是异步通信,发送时间不固定,因此在传输的时候,在开始和结尾都需要添加辅助位,以确保接收方知道中间的是可用信息。
3.效率不同。同步效率快,异步效率慢。
4.时间钟要求不同。同步通信需要send和receive具有相同的时间种或者双方的时间钟误差很小,并且需要连续发送比特流。但是异步通信的send和receive的时间钟可以不同。send发送完一个字节后,可以经过任意长时间再发送下一个字节。