并行通信:控制简单,传输速度快;由于传输线较多,适用于短距离通信。
串行通信:控制复杂,传输速度慢;只需要一根数据线,适用于远距离通信。

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

串行通信方式分类

在串行通信中,根据对【数据流的分界、定时以及同步方案方法不同】,可分为和同步串行通信方式和异步通信方式。

在串行通信中,由于是一位一位地进行数据传送。为了把每个字节区别开来,需要收发双方在传送数据的串行信息流中,加入一些标记信号位。在数据中根据所添加的标记信号位的不同方式,分成同步通信和异步通信两种。

同步通信

①双方使用频率一致的时钟
②以固定的节奏去发送数据,而接收方要时刻做好接收数据的准备,识别到前导码后马上要开始接收数据了。
③同步这种方式中因为分组相比异步则大得多,称为一个【数据帧】,很长一段数据才会有额外的辅助位负载【独特的bit串作为启停标识】,所以效率更高,更加适合对速度要求高的传输,当然这种通信对时序的要求也更高

异步通信

①双方使用各自的时钟。
②发送的时间间隔可以不均,接收方是在数据的起始位和停止位的帮助下实现信息同步的。【接收方不知道数据何时到达】
③这种传输通常是很小的分组,比如【一个字符为一组】,为这个组配备【起始位和结束位】。所以这种传输方式的效率是比较低的,毕竟额外加入了很多的辅助位作为负载,常用在【低速】的传输中。

对比:

区别:
①时钟频率:
  同步通信要求统一时钟频率,发送端发送连续的比特流;
  异步通信时不要求时钟同步,相邻字节之间的时间间隔任意,在任意时刻发送
     每个字符都需要开始停止位【开始位+数据字节+停止位】
②通信效率:同步效率高,异步效率低 【URAT异步效率低 而SPI和IIC效率高】
③实现复杂度:
  同步较为复杂,双方时钟的允许误差较小
  异步通信简单,双方时钟可允许一定误差。
④同步通信可用于点对多点;异步通信只适用于点对点。

总结一下,异步传输其实是通过字符数据前后的开始和停止码进行再同步,弥补自己刚才注意不集中的不足;而同步方式则是一个规矩的好学生,时刻候命准备工作。异步是你扔出去一个内容,对方靠着内容前后他能嗅到的异样在人潮之中发现了它,把这个内容存下来;而同步是对方在时刻等着你发布号令,你告诉对方我要发送了哦,然后双方一拍即合。

标记信号位【用于区分每个字节】
同步:【开始和中间不发送 】2个状态时发送同步字符
异步:由于每个字符独自发送且间隔未定-----每一个字符都需要开始位和停止2位

特征

异步串行通信

比如UART 不连续传输方式

①【发送时间间隔任意】接收端必须时刻做好接收的准备。
  ②【一次发送一个字符帧=开始位+数据位+(校验位)+停止位】
  ③【双方有各自的时钟】→→【接收端要时刻处于接受状态】

特征:异步通信的好处是通信设备&实现方式简单、便宜,但传输效率较低(因为开始位和停止位的开销所占比例较大)。

同步串行通信: SPI IIC 连续传输方式


连续串行传送数据的通信方式
一次通信只传送一个信息帧【多个数据字符 而异步每次发送一个字符数据】
  ①【空字符】当没有信息发送时要填上空字符【因为同步传输不允许有间隙。】
  ②每个字符对应5-8位,每一个字符划分一个时间片,一个时间片内发送端发送一个字符,接收端接受一个字符
  ③【同步字符】多个字符组成信息帧,每组信息(一个信息帧)的开始要加上同步字符。
  ④【时钟频率一致】–收发双方不停地发送和接收连续的同步比特流。

同步串行通信的特点:必须有同步时钟,传输信息量大,传输速率高,但是传输设备则为复杂,技术要求高。

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

一种是使用全网同步,用一个非常精确的主时钟对全网所有结点上的时钟进行同步。一种是使用准同步,各结点的时钟之间允许有微小的误差,然后采用其他措施实现同步传输。同步通信是【把所传送的数据以多个字节(100字节以上)为单位,在其前后添加标志。

串行通信传输速率
比特率:每秒钟传送的二进制位数 bit/s 即bps

波特率:每秒钟调制信号变化的次数。Baud 每秒传输的码元次数

串行通信常用波特率表示数据传输率。

波特率与比特率的关系为:

比特率 = 波特率x单个调制状态对应的二进制位数(单次传输的数据bit数量)

单个调制状态对应1个二进制位时,或对于数字信号1或0直接用两种不同电压表示的基带传输,此时 比特率==波特率。串行通信双方识别位的时间间隔要相同,所以通信双方的波特率必须一致。

三种串行通信方式

【串行通信中的】同步通信和异步通信的区别相关推荐

  1. (一)串口通信:同步通信与异步通信的区别;异步通信:握手、收发过程、心跳包、定时器、粘包、拆包、丢包、误包(或误码)、帧结构、奇偶校验、CRC校验等等

    目录 第一章.简介 第二章.并行通信 第三章.串行通信 3.1.同步通信 3.1.1.同步通信的原理 3.1.2.同步通信的数据格式 3.1.3.同步通信特点 3.2.异步通信 3.2.1.异步通信的 ...

  2. 串行异步通信_串行通信中 同步通信和异步通信的区别及使用情况(转)

    在计算机系统中,CPU和外部通信有两种通信方式:并行通信和串行通信.而按照串行数据的时钟控制方式,串行通信又可分为同步通信和异步通信两种方式. 1.异步串行方式的特点 所谓异步通信,是指数据传送以字符 ...

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

    同步通信原理 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息.这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符. 采用同步通信时,将许多字符组成一个信息组,这样,字符可以 ...

  4. 同步通信和异步通信的区别以及优缺点

    同步通讯:就像打电话,需要实时响应. 异步通讯:就像发邮件,不需要马上回复. 同步通信的优点: 时效性较强,可以立即得到结果 同步通信的缺点: 耦合度高 性能和吞吐能力下降 有额外的资源消耗 有级联失 ...

  5. 什么叫异步通信?同步通信与异步通信的区别是什么?

    异步通信: 又称为起止式异步通信,数据帧与数据帧之间没有固定时间间隔约定,可以是不定时长的"空闲位".异步通信是在内部约定好时钟.(芯片设计设定好的时钟) 用起始位开头.中间包含数 ...

  6. 同步通信与异步通信区别

    同步通信原理 同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息.这里的信息帧与异步通信中的字符帧不同,通常含有若干个数据字符. 采用同步通信时,将许多字符组成一个信息组,这样,字符可以 ...

  7. 同步通信和异步通信区别

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

  8. UART与USART区别 (串口同步通信和异步通信)

    UART的同步通信和异步通信 https://blog.csdn.net/chipsea_mltsum/article/details/83897924 STM32-USART同步异步串行通讯 htt ...

  9. 浅析同步通信与异步通信

    1. 概述 1.1 同步通信原理 同步通信: 发送端在发送串行数据的同时,提供一个时钟信号,并按照一定的约定(例如:在时钟信号的上升沿的时候,将数据发送出去)发送数据,接收端根据发送端提供的时钟信号, ...

最新文章

  1. Eclipse MyEclipse下常用快捷键介绍
  2. 【Python】Pandas数据挖掘与分析时的常用方法
  3. 三维重建:SLAM的粒度和工程化问题
  4. 互联网晚报 | 2月11日 星期五 | 小红书月活跃用户超2亿;小鹏汽车宣布拓展欧洲市场;贝壳首个青年公寓项目落地上海...
  5. iphone-常用的对视图图层(layer)的操作
  6. Linux实战 | 使用Xshell连接Linux_2
  7. android tabhost 跳转,TabHost中跳转到指定Tab页问题
  8. springboot集成quartz完成定时任务
  9. matlab精简版如何使用,精简版快速入门Matlab.pdf
  10. Inpaint 5.6 图片去水印工具 限时免费
  11. linux访问mdio接口函数,MII 接口解析(三)GPIO 模拟 MDIO 接口使用代码
  12. 年度Sweb绩效考评表
  13. curl_easy_getinfo() -- 从 curl 句柄里获得附加信息
  14. 什么是交换机?跟服务器之间有什么联系吗?
  15. 转 - DataGuard中如何配置LOG_ARCHIVE_DEST_n参数
  16. Python学习之CSDN21天学习挑战赛计划之2
  17. QQ音乐推荐歌单API报错 invalid referer
  18. 用Java实现目录复制(包含此目录下的所有文件与目录)
  19. hive sql 向上取整、向下取整、保留小数位的函数
  20. preg_match_all 和 preg_replace 区别

热门文章

  1. 编程随笔-Java | 03.使用FileWriter向文件中写入内容
  2. DDD第3篇 - 事件风暴
  3. RTX Excption integer divided by zero at loc (proc= thread=)Process image has been *unloaded
  4. 直流无刷电机仿真分析——基于simulink官方例程BLDC Speed Control
  5. mp3播放器 遍历本地音乐显示在listview上,点击每一项item并传送音乐地址
  6. List的removeAll方法异常
  7. 955.WLB 不加班公司名单新增 6 家公司,移出 1 家公司!
  8. python Xarray处理设置2维数组作为coordinates
  9. 黑客攻防技术宝典(七)
  10. 短信ui--短信设置界面之sim卡短信管理