详解UART、USART、SPI、IIC、CAN,以太网等通信协议

发布时间 2023-08-10 13:49:35作者: 我好想睡觉啊

详解UART、USART、SPI、IIC、CAN,以太网等通信协议

基本通信知识

通信协议分类

串行和并行

串行通信是指利用一条传输线将数据一位位地顺序传送。

并行通信是指利用多条传输线将一个数据的各位同时传送。

同步和异步

对单方面来说,指两种不同的数据传输方式)

在同步传输中,数据传输是按照定时信号进行的。发送方和接收方都需要遵守同样的时序规则,以确保数据能够正确地传输。发送方按照固定的时间间隔发送数据,接收方则按照相同的时间间隔接收数据。由于同步传输需要一定的时序同步,因此在高速传输和长距离传输时,同步传输具有较好的抗干扰能力和可靠性。(同步就是通信双方按照一定时序规则收发数据,常用于高速、长距离通信

在异步传输中,数据传输没有固定的时间间隔。发送方和接收方可以按照自己的节奏进行数据传输,发送方发送数据时不需要等待接收方的响应。因此,异步传输的速度相对较慢,但可以在低速传输和短距离传输时使用,例如串口通信。(异步就是通信双方想发送就发送,常用于低速短距离通信,如串口通信

全双工和半双工

对双方来说,指通信双方在数据传输时的传输模式)

在全双工通信模式下,通信双方可以同时进行发送和接收数据,彼此之间不会产生干扰。也就是说,通信双方可以同时发送和接收数据,就像两个人同时打电话交流一样,可以在通信中同时传输数据。(全双工就是通信双方都可以发送或接收数据、适用于需要高速、可靠的数据传输场合,如打电话)

在半双工通信模式下,通信双方只能单向地发送和接收数据,不能同时进行。例如,当一方发送数据时,另一方必须等待接收完成后才能发送数据。这种通信方式就像人们交替交谈,每次只有一个人能够说话,而另一个人必须等待。(半双工就是通信双方只能单向发送或接收数据,适用于一些数据传输量较小,对实时性要求不高的场合,如对讲机)。

另外还有单工,单工即数据传输只在一个方向上传输,方向是固定的,不能实现双向通信。比如收音机和广播。

波特率

波特率BR是单位时间传输的数据位数
单位:bps 1bps = 1bit/s。

采用异步串行,互相通信甲乙双方必须具有相同的波特率,否则无法成功地完成数据通信,

而在同步串行中,发送和接收数据是由同步时钟触发发送器和接收器而实现的。

注:同步通信中数据传输的同步时钟频率就是波特率;而在异步通信中,时钟频率可为波特率的整数倍。

注意:关于通信协议,我们通常需要考虑四个点:
1.有无clock
2.一次传多少数据位
3.是否支持同时收发
4.是否需要回复ack

主要的片上通信协议:UART(同步串行)、USART(异步串行)、IIC、SPI、PCI和PCIE等。

还有:CAN、以太网等。

UART

常用于调试、主控或外设

一般是9针插口和USB接口
rx和tx两个信号线

帧格式:
image

USART

USART,即通用同步/异步收发传输器(Universal Synchronous/Asynchronous Receiver/Transmitter),简称串行通信。

它是一种串行通信协议,可以在同步和异步模式下进行数据传输,用于将数据从一个设备传输到另一个设备。它支持全双工和半双工通信模式,并且可以通过中断方式或DMA方式进行数据传输

** 每一帧包含起始信号、数据信息、停止信息、校验信息。**

SPI

IIC

CAN

以太网