duduru

通信协议+知识点总结

UART

基本特点

异步,全双工

硬件组成

RX与TX相连,无需外接任何器件(空闲时为高电平)

通信过程

在这里插入图片描述

串口数据的发送与接收是基于帧结构的,即一帧一帧的发送与接收数据。每一帧除了中间包含 8bit 有效数据外,还在每一帧的开头都必须有一个起始位,且固定为 0;在每一帧的结束时也必须有一个停止位,且固定为 1,即最基本的帧结构(不包括校验等)有10bit。在不发送或者不接收数据的情况下,rx 和 tx 处于空闲状态,此时 rx 和 tx 线都保持高电平,如果有数据帧传输时,首先会有一个起始位,然后是 8bit 的数据位,接着有 1bit的停止位,然后 rx 和 tx 继续进入空闲状态,然后等待下一次的数据传输。。

RS232

除了逻辑电平不一样,其他和UART都一样

  • 逻辑0:+5V – +15V
  • 逻辑1:-15V – -5V

RS485

差分信号,半双工,适用于长距离传输

  • 逻辑0:+2V – +6V
  • 逻辑1:-6V – -2V

这里的电平指AB两线间的电压差

IIC

基本特点

同步,半双工
标准100KHz,最高400KHz(IIC主要应用于低速设备)

硬件组成

需外接上拉电阻

通信过程

空闲状态

SDA和SCL都处于高电平

开始信号S和终止信号P

请添加图片描述

在数据传输过程中,当SCL=0时,SDA才可以跳变;当SCL=1时,SDA必须保持稳定,一旦有电平跳变就代表是起始信号或终止信号。

  • 起始信号S:SCL=1时,SDA由1->0
  • 终止信号P:SCL=1时,SDA由0->1
数据有效性

在这里插入图片描述

在数据传输过程中,当SCL=0时,SDA才可以跳变;当SCL=1时,SDA必须保持稳定,一旦有电平跳变就代表是起始信号或终止信号。

在SCL=1时,SDA数据线稳定,数据有效。

应答信号

每当主机向从机发送完一个字节的数据,主机总是需要等待从机给出一个应答信号,以确认从机是否成功接收到了数据

主机将SCL拉高,读取SDA电平:

  • SDA=0,表示有效应答位(ACK),表示从机已成功接收该字节
  • SDA=1,表示非应答位(NACK),表示从机接收该字节失败

每次传输时,接收方都要返回一个ACK给发送方,才能继续数据通信

IIC写数据

请添加图片描述

1.主机发送设备地址(前7位为设备地址,第8位代表W);
2.各从机比对自己的地址,匹配则发送ACK;
3.主机收到ACK,继续发送要访问的寄存器地址;
4.从机成功接收,发送ACK;
5.主机发送DATA。

写AT24C02时序:
在这里插入图片描述

IIC读数据

请添加图片描述

1.主机发送设备地址(前7位为设备地址,第8位代表W);
2.各从机比对自己的地址,匹配则发送ACK;
3.主机收到ACK,继续发送要访问的寄存器地址;
4.从机成功接收,发送ACK;
5.主机重新发送一个S信号,发送设备地址(第8位为R)
6.从机成功接收,发送ACK;
7.从机紧接着返回对应地址寄存器数据,直到主机不在返回ACK。

读AT24C02时序:
在这里插入图片描述

SPI

基本特点

posted on 2024-06-27 21:16  duduru  阅读(0)  评论(0)    收藏  举报  来源

导航