OKAKAKO 发表于 2025-5-26 21:00

SPI、I2C、UART三种串行总线的区别于对比



1)概念定义

SPI(Serial Peripheral Interface:串行外设接口);         
I2C(INTER IC BUS:意为IC之间总线)         
UART(Universal Asynchronous Receiver Transmitter:通用异步收发器)

2)通信方式

SPI和UART可以实现全双工,但I2C不行;

3)其他差异

A.I2C线更少,我觉得比UART、SPI更为强大,但是技术上也更加麻烦些,因为I2C需要有双向IO的支持,而且使用上拉电阻,我觉得抗干扰能力较弱,一般用于同一板卡上芯片之间的通信,较少用于远距离通信。SPI实现要简单一些,UART需要固定的波特率,就是说两位数据的间隔要相等,而SPI则无所谓,因为它是有时钟的协议。

B.I2C的速度比SPI慢一点,协议比SPI复杂一点,但是连线也比标准的SPI要少。



xiaoqizi 发表于 2025-6-5 09:10

spi通过片选信号选择从设备,每个从设备需独立片选线

木木guainv 发表于 2025-6-5 11:21

spi通讯的时候无需上拉/下拉电阻等终端电阻

Jiangxiaopi 发表于 2025-6-5 13:43

I²C的通讯只需要两根线就可以实现

荣陶陶 发表于 2025-6-5 16:11

UART通讯方式为全双工通讯,具有独立的发送和接收端

Zhiniaocun 发表于 2025-6-5 18:31

spi全双工,数据按位传输,支持暂停和恢复

Zuocidian 发表于 2025-6-5 20:50

IIC通讯方式多主多从,总线具有仲裁机制

Puchou 发表于 2025-6-5 23:07

SPI通讯方式适合高速、短距离、多从设备场景

Xiashiqi 发表于 2025-6-6 09:22

spi和iic都需要主设备来提供时钟信号

小海师 发表于 2025-6-6 11:41

个人认为,如果不必要的话 最好就别用iic感觉稳定性低

Haizangwang 发表于 2025-6-6 13:56

I²C通讯适合多设备共享总线、低速板内通信

耶Saktama 发表于 2025-6-7 12:13

SPI四线制(或三线制):CK(时钟线):由主设备提供时钟信号。MOSI(主出从入):主设备发送数据,从设备接收数据。MISO(主入从出):从设备发送数据,主设备接收数据。CS/SS(片选线):主设备选择从设备(多从设备时需要)

Carina卡 发表于 2025-6-7 12:18

一般来说,I2C的硬件连接非常简洁,仅需两根线,支持多主多从设备。

Betty996 发表于 2025-6-7 13:20

SPI其实其硬件连接简单,但需要较多引脚(尤其是多从设备时)。

Betty996 发表于 2025-6-7 13:20

SPI其实其硬件连接简单,但需要较多引脚(尤其是多从设备时)。

Estelle1999 发表于 2025-6-7 15:00

I2C是SCL(时钟线):由主设备提供时钟信号。SDA(数据线):双向数据线,用于主从设备间的数据传输。

ranmuy 发表于 2025-6-7 17:18

UART两线制(或四线制,带电源和地):TX(发送线):发送数据。RX(接收线):接收数据

Charlotte夏 发表于 2025-6-7 18:26

我比较喜欢用串口UART,硬件连接简单,但需要双方约定波特率等参数。

Euphoriaxixi 发表于 2025-6-8 07:23

SPI同步通信:依赖时钟信号(SCK)进行数据同步。全双工:主设备和从设备可以同时发送和接收数据。主从模式:必须有一个主设备,从设备由主设备控制。

Emily999 发表于 2025-6-8 09:18

I2C同步通信:依赖时钟信号(SCL)进行数据同步。半双工:数据在SDA线上双向传输,但同一时间只能单向传输。多主多从模式:支持多个主设备和从设备,通过地址寻址。
页: [1]
查看完整版本: SPI、I2C、UART三种串行总线的区别于对比