> 文章列表 > 什么是异步,同步,并行,串行,单工,半双工,全双工通信

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

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

目录

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博客“汽车电子助手”,做您的好助手。