同步通信和异步通信

Posted bobuddy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了同步通信和异步通信相关的知识,希望对你有一定的参考价值。

同步通信原理

同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符。

采用同步通信时,将许多字符组成一个信息组,这样,字符可以一个接一个地传输,但是,在每组信息(通常称为帧)的开始要加上同步字符在没有信息要传输时,要填上空字符,因为同步传输不允许有间隙。在同步传输过程中,一个字符可以对应5~8位。当然,对同一个传输过程,所有字符对应同样的数位,比如说n位。这样,传输时,按每n位划分为一个时间片,发送端在一个时间片中发送一个字符,接收端则在一个时间片中接收一个字符。

同步传输时,一个信息帧中包含许多字符,每个信息帧用同步字符作为开始,一般将同步字符和空字符用同一个代码。在整个系统中,由一个统一的时钟控制发送端的发送和空字符用同一个代码。接收端当然是应该能识别同步字符的,当检测到有一串数位和同步字符相匹配时,就认为开始一个信息帧,于是,把此后的数位作为实际传输信息来处理。

异步通信原理

异步通信是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来。异步通信的好处是通信设备简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。

 

同步通信与异步通信区别:

1、同步通信要求接收端时钟频率和发送端时钟频率一致,发送端发送连续的比特流;异步通信时不要求接收端时钟和发送端时钟同步,发送端发送完一个字节后,可经过任意长的时间间隔再发送下一个字节。

2、同步通信效率高;异步通信效率较低。

3、同步通信较复杂,双方时钟的允许误差较小;异步通信简单,双方时钟可允许一定误差。

4、同步通信可用于点对多点;异步通信只适用于点对点。

同步是指:发送方发出数据后,等接收方发回响应以后才发下一个数据包的通讯方式。  
异步是指:发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。

同步是阻塞模式,异步是非阻塞模式。

其中SPI IIC为同步通信  UART为异步通信

异步通信-是一种很常用的通信方式。异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。当然,接收端必须时刻做好接收的准备(如果接收端主机的电源都没有加上,那么发送端发送字符就没有意义,因为接收端根本无法接收)。发送端可以在任意时刻开始发送字符,因此必须在每一个字符的开始和结束的地方加上标志,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接收下来

 同步通信-通信双方必须先建立同步,即双方的时钟要调整到同一个频率。收发双方不停地发送和接收连续的同步比特流。一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。同步通信是把所传送的数据以多个字节(100字节以上)为单位,在其前后添加标志

在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信。而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式。

  1、异步串行方式的特点

  所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本上是同步的。异步串行通信的特点可以概括为:

  ①以字符为单位传送信息。

  ②相邻两字符间的间隔是任意长。

  ③因为一个字符中的比特位长度有限,所以需要的接收时钟和发送时钟只要相近就可以。

  ④异步方式特点简单的说就是:字符间异步,字符内部各位同步。

异步位系统是面向字符来传输信息的,也就是我们一般情况下的一个字符,8位,1bit,当然了传输的时候还要加上起始位和结束位,没有这两位接收方就不知道什么时候开始接收数据什么时候结束了。如此一来字符与字符之间就不是连着的,打个比喻,就像秋天的叶子一样,一片一片往下落。发送方和接收方不要求同步,就是说你想什么时候落就什么时候落,我都接着,用不着先通知我

  2、异步串行方式的数据格式

  异步串行通信的数据格式如图8-1所示,每个字符(每帧信息)由4个部分组成:

  ①1位起始位,规定为低电0;

  ②5~8位数据位,即要传送的有效信息;

  ③1位奇偶校验位;

  ④1~2位停止位,规定为高电平1。

                                                                       图1 异步串行数据格式

  3、同步串行方式的特点

  所谓同步通信,是指数据传送是以数据块(一组字符)为单位,字符与字符之间、字符内部的位与位之间都同步。同步串行通信的特点可以概括为:

  ①以数据块为单位传送信息。

  ②在一个数据块(信息帧)内,字符与字符间无间隔。

  ③因为一次传输的数据块中包含的数据较多,所以接收时钟与发送进钟严格同步,通常要有同步时钟。

同步位系统就不同了,他要求发送方与接收方严格的同步,二者波特率要相同。

同步位系统传输的什么呢,不是字符,是字符组合,也就是帧,我们在OSI数据链路层可以学习到。帧的长度没有规定,传输的时候视情况而定吧。这个帧里面包含了同步信息,来通知接收方调整以同步。这里再打个比喻,前面我们说异步位系统传输的数据像树叶,那么同步位系统传输的就像是把这些树叶串成一串,是连续的。

  4、同步串行方式的数据格式

  同步串行通信的数据格式如图8-2所示,每个数据块(信息帧)由3个部分组成:

  ①2个同步字符作为一个数据块(信息帧)的起始标志;

  ②n个连续传送的数据

  ③2个字节循环冗余校验码(CRC)

                                                                        图2 同步串行数据格式

5.用途:

同步串行:通信网中,有大批量数据需要传输

异步串行:应用于在工业、实际应用中。适用于短距离、速率不高的情况下。

同步位系统比异步位系统要实用高效。这个比较好理解,计算机对帧的处理比对字符要少的多,在传送相同大小的数据量的时候,计算机要对大量的字符进行开始与结束操作,帧则要少的多。同时同步位系统的下的网络效率也更高,因为每个字符都至少包含两位的开始结束信息,这个在数据量大的时候开销是很客观的。

 时钟在通信中的作用就是在数据收发时起协调作用的,异步时钟用到比较少,同步时钟肯定会用到。

以上是关于同步通信和异步通信的主要内容,如果未能解决你的问题,请参考以下文章

同步通信和异步通信的区别

同步通信和异步通信

哪些是同步通信 哪些是异步通信

同步与异步通信

RabbitMQ 服务异步通信 -- 初识MQ(同步通信和异步通信MQ几种常见MQ的对比)RabbitMQ安装和介绍

同步通信和异步通信