什么是异步,同步,并行,串行,单工,半双工,全双工通信

news2024/11/13 14:46:42

目录

1 如何理解“BUS总线”

2 通信方式的分类

2.1 串行通信Serial communication

2.1.1 异步传输Asynchronous serial communication

2.1.2 同步传输Synchronous serial communication

2.1.3 单工通信Simplex communication

2.1.4 半双工通信Half-duplex communication

2.1.5 全双工通信Full-duplex communication

2.2 并行通信Parallel communication

3 各通信方式的区别

3.1 串行通信与并行通信的区别

3.2 异步通信与同步通信的区别

3.2 单工,半双工,全双工通信的区别

4 常见通信标准分类

结尾


优质博文推荐阅读(单击下方链接,即可跳转):

点击返回「《Autosar从入门到精通-实战篇》总目录」

点击返回「《Autosar_BSW高阶配置》总目录」

点击返回「《Autosar_MCAL高阶配置》总目录」

点击返回《嵌入式软件开发》专栏

1 如何理解“BUS总线”

BUS总线的本质是导线/电线通信的载体和介质),其作用是在不同芯片之间不同ECU之间用高低电平(或负电平)的电信号来传递一些数据和信息。

图1-1 MCU芯片与CAN收发器芯片之间,通过PCB上的布线/焊盘/过孔进行连接

图1-2 多个CAN收发器CANH和CANL PIN(与ECU的接插件相通),通过双绞屏蔽线连接在一起,形成组网

2 通信方式的分类

通信方式

串行通信

按照同步方式分类

异步传输

同步传输

按照传输方向分类

单工通信

半双工通信

全双工通信

并行通信

2.1 串行通信Serial communication

Serial communication串行通信是指发送方只有一个通信通道(BUS总线),每次按顺序发送一个逐个发送比特Bit的过程。

举例:

十六进制0x4B,其二进制为01001011。标准的发送顺序:LSB(least significant bit)在先(D0到D7依次递增)。通过串行传输,接收器首先接收D0。

 

2.1.1 异步传输Asynchronous serial communication

Asynchronous serial communication异步串行通信是一种serial communication串行通信的形式,其中通信的端点不由一个共同的时钟信号(容易产生采样的累计误差)。数据流中,没有共同的同步信号,而是在每个发送单元之前和之后,分别以起始停止信号的形式包含同步信息。起始信号使接收方为数据的到来做好准备,而停止信号则重置其状态,以便能够触发新的序列。

一种常见的启动-停止发送:UART通信(还有CAN通信也是异步通信,通过SOF硬同步)。

 

在此图中,发送两个字节,每个字节包括一个起始位Start bit,然后是八个数据位Data bit(0-7位)和一个停止位Stop Bit,为一个10位字符帧。在每个字符帧结束时,接收方会短暂停止以等待下一个起始位。正是这种差异使发送方和接收方保持同步。

2.1.2 同步传输Synchronous serial communication

Synchronous serial communication同步串行通信是一种serial communication串行通信的形式,描述了一种"数据以恒定速率连续发送"的通信协议,要求存在一个通信通道(总线BUS)用于发送和接收设备中的clock时钟的同步。如下图中MCU与CAN收发器之间的SPI通信,MCU发出时钟信号给到CAN 收发器。

因此接收器可以在发送器使用的相同时间间隔,对信号进行采样。不需要起始停止位。由于这个原因,与异步串行通信相比,"同步通信允许在单位时间内通过电路传递更多信息",而不是异步串行通信,随着时间的推移,发送和接收的时钟将趋于偏离,需要起始或停止位重新同步。

2.1.3 单工通信Simplex communication

Simplex communication单工通信是一种serial communication串行通信的形式,只在一个方向发送信息的通信通道(BUS总线)。其中一个设备发射,其他设备只能听,常见应用有:广播电台和电视、车库开门器等。在这些设备中,通信只有一个方向。

2.1.4 半双工通信Half-duplex communication

Half-duplex communication半双工通信(HDX)是一种serial communication串行通信的形式,双方可以互相通信,但不能同时进行。同一时刻,在通信通道(BUS总线)中,只有一个站点发出信息,其它站点想要发送信息,只能等待通道空闲。

常见应用有:

半双工设备的一个典型例子是对讲机。当本地用户想和远程人员说话时,他们按下这个按钮,打开发送器,关闭接收器,防止他们在说话时听到远程人员的声音。要听远程人员说话,松开这个按钮,打开接收器,关闭发送器。

 

2.1.5 全双工通信Full-duplex communication

Full-duplex communication半双工通信(FDX)是一种serial communication串行通信的形式,双方可以同时进行通信。同一时刻,发送方和接收方各有一个通信通道(BUS总线),独立发送消息,互不干扰。

常见应用有:

全双工设备的一个例子是电话。通话两端的当事人可以同时说话并被对方听到。耳机重现远方的讲话,而话筒则发送本地的讲话。他们之间有一个双向的通信通道,或者更严格地说,他们之间有两个通信通道。

2.2 并行通信Parallel communication

Parallel communication并行通信是指发送方有多个通信通道(BUS总线),每次按顺序同时发送多个比特Bit的过程。这与串行通信形成对比,后者一次只发送一个比特;这种区别是描述通信链路的一种方式。

举例:

十六进制0x4B,其二进制为01001011。通过并行传输,接收方同时收到D0~D7(速度是串行通信的8倍)。

并行通信在集成电路、外围总线和内存设备(如RAM)中被广泛使用,而且一直如此。

3 各通信方式的区别

3.1 串行通信与并行通信的区别

串行通信的优点:

简单:串行通信使用单一的通信线路传输数据,因此电路较简单,易于设计和实现。

成本较低:由于只需要单一的通信线路,所需的硬件资源较少,因此成本相对较低。

长距离传输:串行通信通常能够在较长的距离上进行稳定传输,因为串行信号在传输过程中较少受到干扰。

串行通信的缺点:

速度较慢:由于串行通信是逐位传输数据,因此传输速度较慢,特别是在需要传输大量数据时,可能会成为性能瓶颈。

不适合高并发:串行通信一次只能传输一个数据位,因此在需要高并发传输多个数据位的场景下,可能会导致传输效率下降。

可靠性差:由于串行通信只使用单一的通信线路,因此在传输过程中对于错误检测和纠错可能较为复杂,需要额外的协议或机制来确保通信的可靠性。

可扩展性差:串行通信在需要扩展传输带宽时可能会受到限制,因为只有单一的通信线路可供使用,可能需要采取其他手段来增加带宽。

实时性差:在需要实时性较高的应用中,由于串行通信传输速度较慢,可能会导致通信延迟较高,从而影响系统的实时性能。

并行通信的优点:

高速传输:并行通信可以同时传输多个数据位,因此在传输大量数据时,速度较快,适合高带宽需求的场景。

适合高并发:并行通信可以同时处理多个数据位,因此在需要高并发传输多个数据位的场景下,可以提高传输效率。

并行通信的缺点:

复杂:并行通信需要多个通信线路,因此硬件资源和设计复杂度较高。

成本较高:由于需要多个通信线路,所需的硬件资源较多,因此成本相对较高。

易受干扰:由于多个通信线路之间可能会相互干扰,因此并行通信在长距离传输时可能会受到干扰影响。

3.2 异步通信与同步通信的区别

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

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

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

3.2 单工,半双工,全双工通信的区别

单工通信的优点:

硬件和软件设计简单,成本较低。

不需要处理双方同时发送和接收数据的问题,避免了数据冲突。

单工通信的缺点:

只能单向传输数据,通信效率较低。

不能同时进行双向通信,通信不灵活。

对错误或丢失的数据没有反馈和处理能力。

半双工通信的优点:

比单工通信多了双向传输数据的能力,通信灵活性较高。

设计相对简单,成本较低。

半双工通信的缺点:

只能同时进行单向的发送或接收,通信效率较低。

对同时发送和接收数据的冲突需要额外的处理。

对错误或丢失的数据没有完善的反馈和处理能力。

全双工通信的优点:

可以同时进行双向的发送和接收,通信效率较高。

具有较好的通信灵活性和灵敏性。

可以提供完善的错误检测和纠正机制。

全双工通信的缺点:

设计相对复杂,成本较高。

需要处理同时发送和接收数据的冲突,可能需要使用更复杂的协议和算法。

需要更多的硬件和软件资源支持。

4 常见通信标准分类

CAN协议:半双工异步串行通信(多主)

LIN协议:半双工异步串行通信(主从)

以太网协议:半双工异步串行通信(多主)

UART串口协议:全双工异步串行通信(点对点)

RS232协议:全双工异步串行通信(点对点)

RS485协议:半双工异步串行通信(主从)

IIC/I2C协议:全双工同步串行通信(点对点)

SPI协议:全双工同步串行通信(主从,点对点)

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/453542.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity API详解——Matrix4x4类

在脚本中通常用Vector3、QUaternion、Transform等类的属性和方法来对物体进行变换,Matrix4x4类通常在一些比较特殊的地方,如对摄像机的非标准投影变换等。本博客主要介绍Matrix4x4类的一些实例和静态方法。 文章目录 一、Matrix4x4类实例方法1、Multply…

机器学习实战教程(九):模型泛化

泛化能力 模型泛化是指机器学习模型对新的、未见过的数据的适应能力。在机器学习中,我们通常会将已有的数据集划分为训练集和测试集,使用训练集训练模型,然后使用测试集来评估模型的性能。模型在训练集上表现得好,并不一定能在测…

Redis源码分析(基于Redis7,对比Redis6)

PS: redis7.0.9版本的 1.Redis 源代码分类 1.1Redis 基本的数据结构 基础 Redis对象object.c字符串t_string.c列表t_list.c字典t_hash.c集合及有序集合t_set.c和z_set.c数据流 t_stream 底层实现结构 listpack.c 和 rax.c 简单动态字符串 sds.c整数集合 intset.c压缩列表 z…

【dp】最长递增子序列

文章目录 方法一:动态规划方法二:贪心 二分查找构造最长递增子序列 方法一:动态规划 dp[i]:末尾元素为arr[i]的最长子序列的长度 从0遍历到i - 1,若遍历到的元素小于当前值arr[i],表示当前值arr[i]可以和…

国考省考行测:词句理解,词的对象指代,就近原则,主语一致法,语意语境分析上下文找出指代含义

国考省考行测:词句理解,词的对象指代,就近原则,主语一致法,语意语境分析上下文找出指代含义 2022找工作是学历、能力和运气的超强结合体! 公务员特招重点就是专业技能,附带行测和申论,而常规国…

3年100亿!苏宁易购与倍科达成重磅战略合作

紧抓消费复苏机遇,家电行业迎来重磅合作。4月20日,苏宁易购与国际知名家电品牌倍科在南京召开战略合作发布会,共同宣布升级战略合作伙伴关系。双方将围绕3年100亿战略合作目标开展独家品牌授权、发起“BIS”计划、打造生态开放平台、升级用户…

5G基站外市电改造建设方案 (ppt可编辑)

本资料来源公开网络,仅供个人学习,请勿商用,如有侵权请联系删除 外市电定义及分类 定义:由供电部门提供的专用高压电源或非专用高压电源或低压电源均称为市电。分类: (1)按电压等级分类 ①提供…

贝叶斯学习(Bayesian Learning)基础篇

Bayesian Learning 前言Motivation and IntroductionThink about Spam Filtering.先验概率后验概率似然度边际概率 Basic assumptionRelevancePractical diculties Bayes TheoremProbability: random eventsBayesian Learning Maximum A Posteriori HypothesisBayes Optimal Cl…

合同管理的6个最佳实践

合同管理不善会使你的合同流程效率低下,并产生负面影响: -收入损失 谈判缓慢、审批延迟和里程碑缺失等低效合同代价高昂。如果没有办法自动跟踪最后期限,并得到通知来执行时间敏感的行动,就会有错过最后期限的风险。 -协作和…

数组【有点难,要注重实战】

目录 1. 一维数组的创建和初始化1.1 数组的创建1.2 数组的初始化1.3 一维数组的使用1.4 一维数组在内存中的存储 2. 二维数组的创建和初始化2.1 二维数组的创建2.2 二维数组的初始化2.3 二维数组的使用2.4 二维数组在内存中的存储 3. 数组越界4. 数组作为函数参数4.1 冒泡排序函…

JavaEE-一文了解IP协议与IP地址

目录 IP协议什么是IP地址IP地址的组成动态分配IPNAT机制(网络地址转换) IP协议 IP协议是不可靠、无连接的 不可靠:表示IP协议不能保证IP数据报能成功的到达目的地。IP仅提供传输服务,任何可靠性的要求都必须由上层来提供(如TCP)。如果传输过…

【C++|排序算法】冒泡、快排、归并、堆排序算法模版

目录 简介冒泡排序快速排序归并排序堆排序结语简介 Hello! 非常感谢您阅读海轰的文章,倘若文中有错误的地方,欢迎您指出~ ଘ(੭ˊᵕˋ)੭ 昵称:海轰 标签:程序猿|C++选手|学生 简介:因C语言结识编程,随后转入计算机专业,获得过国家奖学金,有幸在竞赛中拿过一些国…

字节跳动五面都过了,结果被刷了,问了hr原因竟说是...

摘要 说在前面,面试时最好不要虚报工资。本来字节跳动是很想去的,几轮面试也通过了,最后没offer,自己只想到几个原因:1、虚报工资,比实际高30%;2、有更好的人选,这个可能性不大&…

反垃圾邮件产品技术要求

声明 本文是学习信息安全技术 反垃圾邮件产品技术要求和测试评价方法. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 反垃圾邮件产品技术要求 引言 为指导反垃圾邮件产品的研制、生产、测试和评价工作的开展,本标准依据《信息技术 安全技…

基于Spring注解 + MyBatis + Servlet 实现数据库交换的小小Demo

基于Spring注解 MyBatis Servlet 实现数据库交换的小小Demo 第一步 创建web 项目&#xff0c;这一步省略&#xff0c;有不会的可以参考之前发布的文档 第二步 配置pom.xml文件 <dependencies><!-- Spring常用依赖 --><dependency><groupId>org.spr…

SpringCloud --- Eureka注册中心

一、场景 假如我们的服务提供者user-service部署了多个实例&#xff0c;如图 思考几个问题&#xff1a; order-service在发起远程调用的时候&#xff0c;该如何得知user-service实例的ip地址和端口&#xff1f; 有多个user-service实例地址&#xff0c;order-service调用时该…

【LeetCode】剑指 Offer 67. 把字符串转换成整数 p318 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/ba-zi-fu-chuan-zhuan-huan-cheng-zheng-shu-lcof/ 1. 题目介绍&#xff08;67. 把字符串转换成整数&#xff09; 写一个函数 StrToInt&#xff0c;实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 …

day1 什么是互联网

目录 计算机网络的定义与分类 网络的网络 互联网的组成 互联网的边缘部分 互联网基础结构发展的三个阶段 第一阶段&#xff08;1969 - 1990&#xff09; 第二阶段&#xff08;1985 - 1993&#xff09; 第三阶段&#xff08;1993 - 现在&#xff09; 20世纪90年代&#xff…

项目经验总结——送给测试岗做项目的朋友们

目录 前言 1、项目排期时的时间预估能力欠佳 2、QA写单元测试 3、集成测试方案不够精简 4、排了优先级也很难取舍 5、搭完redis集群却不了解redis运行机制 总结 结语 前言 最近负责的L项目从3月初开始开发到6月底正式上线&#xff0c;这是我在工作快1年时间里第一次独…

机械键盘、口袋打印机,万元奖金等你拿!「万象格新」AI绘画X海报设计大赛即将开启...

号外&#xff01;「万象格新」大赛开启 如果阳光暖到你心里&#xff0c;那一定是一格在想你~ 春夏交替&#xff0c;万物焕发生机&#xff0c;明媚色彩娱情惬意 在这样一个美好的时节 如果你&#xff1a; 心中荡漾着色彩斑斓的 AI 绘画创意 想要 show 出独到的审美与非凡设计能力…