Skip to content

UART、I²C 与 SPI 怎样传输数据 ​

UART:双方约定时间,没有共享时钟线 ​

空闲通常为高,发送端先给起始位,再按约定波特率发送数据位,最后给停止位。双方若波特率、数据位、校验或停止位不一致,字节会错帧。

I²C:共享时钟与数据线,用地址选择设备 ​

SCL、SDA 通常为开漏并依靠上拉。SCL 为高时 SDA 的下降沿表示 START,上升沿表示 STOP;每 8 位数据后由接收方在第 9 个时钟给 ACK/NACK。地址不是“传感器寄存器地址”,设备地址与设备内部寄存器地址属于不同层。

SPI:控制器提供时钟和片选 ​

常见四线为 SCLK、CS、MOSI、MISO。每个时钟边沿同时移出一位、采入一位;CPOL/CPHA 决定空闲电平与采样边沿。SPI 没有统一的帧、地址和错误处理语义,必须以器件协议定义为准。

选择不是速度排行榜 ​

维度UARTI²CSPI
时钟双方约定共享 SCL控制器 SCLK
典型线数TX/RXSDA/SCLSCLK/CS/MOSI/MISO
多设备额外拓扑总线地址多片选或级联
电气层常为推挽逻辑电平开漏 + 上拉常为推挽
标准错误信号帧/奇偶错误ACK/NACK、仲裁通常由上层协议定义

接口名称不等于完整兼容性。还要核对电压域、逻辑阈值、线长、上拉、负载、电磁环境、帧格式和器件时序。

下一步:外设与协议波形实验。

最近更新