0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

什么是同步通信与异步通信?它的工作原理是什么?

深圳市科瑞特自动化技术有限公司 2023-11-07 08:07 次阅读

同步通信的原理是发送端在发送串行数据的同时,提供一个时钟信号,并按照一定的约定(例如:在时钟信号的上升沿的时候,将数据发送出去)发送数据。接收端根据发送端提供的时钟信号,以及双方的约定,接收数据。这种通信方式中,因为数据分组较大,所以效率更高,适用于对速度要求高的传输。但同时,它对时序的要求也更高。

异步通信的原理是接收方并不知道数据什么时候会到达,收发双方可以有各自自己的时钟。发送方发送的时间间隔可以不均,接收方是在数据的起始位和停止位的帮助下实现信息同步的。这种传输通常是很小的分组,比如:一个字符为一组,数据组配备起始位和结束位。所以这种传输方式的效率是比较低的,因为额外加入了很多的辅助位作为负载,常用在低速的传输中。

具体来说,异步通信的工作原理可以分为以下几个步骤:

发送请求:异步通信的第一步是发送请求,请求可以是网络请求、文件读写请求、数据库请求等。发送请求后,程序不会阻塞等待响应,而是继续执行其他任务。

接收请求:接收请求的程序会将请求放入队列中,等待处理。在处理请求之前,程序不会阻塞等待请求的到来。

处理请求:处理请求的程序会从队列中取出请求,并进行处理。处理请求的过程可能需要一定的时间,但不会影响其他任务的执行。

发送响应:处理请求完成后,程序会发送响应。响应可以是网络响应、文件读写响应、数据库响应等。发送响应后,程序不会阻塞等待响应的返回。

接收响应:接收响应的程序会将响应放入队列中,等待处理。在处理响应之前,程序不会阻塞等待响应的到来。

处理响应:处理响应的程序会从队列中取出响应,并进行处理。处理响应的过程可能需要一定的时间,但不会影响其他任务的执行。

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

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

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

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

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

UART即通用异步收发器,是一种串行通信方式。串行通信分为两种类型:同步通信方式和异步通信方式。但一般多用异步通信方式,主要因为接受和发送的时钟是可以独立的这样有利于增加发送与接收的灵活性。异步通信是一个字符接着一个字符传输,一个字符的信息由起始位、数据位、奇偶校验位和停止位组成。每一个字符的传输靠起始位来同步,字符的前面一位是起始位,用下降沿通知收方开始传输,紧接着起始位之后的是数据位,传输时低位在前高位在后,字符本身由5~8位数据位组成。数据位后面是奇偶校验位,最后是停止位,停止位是用高电平来标记一个字符的结束,并为下一个字符的传输做准备。停止位后面是不同长度的空闲位。停止位和空闲位都规定为高电平,这样可以保证起始位有一个下降沿。

SPI通讯是一种同步串行通信协议,英文全称是Serial Peripheral Interface。SPI通讯协议由Motorola公司推出,常用于处理器与板载外设(比如Flash存储器、实时时钟芯片AD/DA芯片等)之间的通信。

SPI通讯使用四根线进行通信:MISO、MOSI、SCLK和CS。MISO是主设备输入/从设备输出引脚,MOSI是主设备输出/从设备输入引脚,SCLK是串行时钟信号,由主设备产生,用于同步数据传输。CS是从设备片选信号,由主设备控制,用于选中特定的从设备进行通信。SPI通讯可以配置为主从模式,一个SPI通讯系统中,必须有且仅有一个主设备,可以有一个或者多个从设备。

选择同步通讯还是异步通讯,取决于具体的应用场景和需求。同步通讯适用于需要精确时序和数据一致性要求较高的情况,比如音频视频等多媒体数据的传输。同步通讯可以确保数据的实时性和准确性,但是需要较高的硬件和软件成本。异步通讯则适用于对时序要求不那么严格,但需要实现简单、低成本的通信的情况,比如键盘、鼠标等输入设备的通信。异步通讯可以实现简单的数据传输,但是可能会因为时钟不同步等问题而导致数据错误。因此,在选择同步通讯和异步通讯时,需要根据具体的应用场景和需求进行权衡,选择最合适的通信方式。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据
    +关注

    关注

    8

    文章

    6515

    浏览量

    87617
  • 异步通信
    +关注

    关注

    1

    文章

    45

    浏览量

    10049
  • 同步通信
    +关注

    关注

    0

    文章

    26

    浏览量

    9101
收藏 人收藏

    评论

    相关推荐

    并行通信和串行通信是什么意思?同步传送和异步传送又有何区别

    并行通信和串行通信是什么意思?同步传送和异步传送又有何区别  并行通信是指在数据传输过程中同时传送多个数据位的方式。在并行
    的头像 发表于 02-18 16:55 390次阅读

    同步整流和异步整流的工作方式和区别,你知道吗?

    同步整流和异步整流的工作方式和区别,你知道吗? 同步整流和异步整流是电力电子领域中常用的两种整流方式。它们在
    的头像 发表于 02-04 10:06 503次阅读

    同步通信是怎么让时钟同步的?

    将两个支持相同协议的设备通过同步通信串口连接,怎么保证两个通信串口的时钟信号是同步启动的呢?这一步是靠软件实现还是硬件实现,如果在建立完成之前,两台设备的
    发表于 01-19 14:55

    永磁同步电机和异步电机的区别

    永磁同步电机和异步电机是当今工业中常见的两种电机类型。它们在工作原理、结构和应用方面存在诸多差异。以下将逐一详细分析这些差异,并介绍它们在不同领域中的使用情况。 首先,永磁同步电机和
    的头像 发表于 01-11 10:36 904次阅读

    同步整流和异步整流的区别

    同步整流和异步整流的区别  同步整流和异步整流是电力系统中常用的两种整流方式,它们有着不同的工作原理和特点。本文将详细介绍
    的头像 发表于 12-08 10:06 1410次阅读

    异步信号与同步电路交互的问题及其解决方法

    异步信号与同步电路交互的问题及其解决方法  异步信号和同步电路的交互问题是指在使用异步信号与同步
    的头像 发表于 12-07 10:53 280次阅读

    异步电路和同步电路区别在哪?

    异步电路和同步电路区别在哪? 异步电路和同步电路是两种不同的电路设计方法,它们在功能、工作原理和应用领域上有着显著的差异。下面将详细介绍
    的头像 发表于 12-07 10:53 1215次阅读

    同步异步通信协议介绍

    同步异步传输归结为时钟是外部的(同步)还是内部的(异步)。异步协议的一些例子包括UART、USB、CAN和以太网。
    发表于 11-27 15:39 629次阅读
    <b class='flag-5'>同步</b>和<b class='flag-5'>异步</b><b class='flag-5'>通信</b>协议介绍

    交流异步电机比永磁同步效率低的原因

    交流异步电机比永磁同步效率低的原因 交流异步电机与永磁同步电机是现代工业应用中常见的两种电机类型,它们在结构和工作原理上存在一定的差异。尽管
    的头像 发表于 11-23 11:00 688次阅读

    IIC同步通信协议#工作原理大揭秘

    通信协议
    油泼辣子
    发布于 :2023年11月16日 17:26:50

    交流异步电机的异步是怎么来的?交流异步电动机的工作原理

    交流异步电机的异步是怎么来的?交流异步电动机的工作原理 异步电机的“异步”一词来源于电机转速与旋
    的头像 发表于 11-06 11:32 1102次阅读

    串口的同步通信异步通信有什么区别?什么情况下会使用异步通信

    什么情况下会使用异步通信
    发表于 11-02 08:00

    基于STM32的模拟UART串口通信工作原理

    UART即通用异步收发器,是一种串行通信方式。数据在传输过程中是通过一位一位地进行传输来实现通信的,串行通信方式具有传输线少,成本底等优点,缺点是速度慢。
    发表于 08-03 10:07 404次阅读
    基于STM32的模拟UART串口<b class='flag-5'>通信</b><b class='flag-5'>工作原理</b>

    基于STM32模拟UART串口通信

    UART即通用异步收发器,是一种串行通信方式。数据在传输过程中是通过一位一位地进行传输来实现通信的,串行通信方式具有传输线少,成本底等优点,缺点是速度慢。串行
    的头像 发表于 06-25 17:13 1270次阅读
    基于STM32模拟UART串口<b class='flag-5'>通信</b>

    串口通信与波特率详解

    通信来说,虽然没有同步时钟,但是通信双方必须约定并遵循同样的设置,这就需要异步串行通信中一个重要的参数来设置,该参数即波特率。   波特率即
    发表于 05-15 14:52