目录
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
优质博文推荐阅读(单击下方链接,即可跳转):
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博客“汽车电子助手”,做您的好助手。