I2C和SPI的时序图

I2C 和 SPI 是两种常见的串行通信协议,它们的时序图反映了数据传输的规则和信号变化。以下是两者的时序图结构和关键特征的文字描述:


一、I2C 时序图

I2C(Inter-Integrated Circuit)是一种两线制、半双工、主从式的同步通信协议,使用 SDA(数据线)SCL(时钟线)
其核心时序特征如下:

1. 起始条件(START)和停止条件(STOP)

起始条件
SCL 为高电平时,SDA 从高电平跳变到低电平(类似“拉低”动作)。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传
停止条件
SCL 为高电平时,SDA 从低电平跳变到高电平(类似“释放”动作)。

2. 数据传输

数据位传输
• SCL 为低电平时,SDA 允许切换电平(准备数据);
• SCL 为高电平时,SDA 必须保持稳定(数据采样)。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

ACK/NACK(确认/非确认)
每传输完 8 位数据后,接收方在第 9 个时钟周期拉低 SDA(ACK),否则保持高电平(NACK)。

3. 完整时序流程
  1. 主设备发送 START 信号;
  2. 发送 7/10 位从设备地址 + 读写位(0 写,1 读);
  3. 从设备回应 ACK
  4. 主从设备交替发送/接收数据 + ACK/NACK
  5. 主设备发送 STOP 信号结束通信。

二、SPI 时序图

SPI(Serial Peripheral Interface)是一种四线制、全双工、主从式的同步通信协议,使用 SCK(时钟)、MOSI(主出从入)、MISO(主入从出)、SS(片选)
其核心时序特征如下:

1. 片选信号(SS)

SS 低电平有效:通信开始时主设备拉低从设备的 SS 线,结束时拉高。

2. 时钟极性(CPOL)和时钟相位(CPHA)

SPI 的时序由 CPOLCPHA 的组合决定,分为四种模式:
CPOL=0:时钟空闲时为低电平;
CPOL=1:时钟空闲时为高电平;
CPHA=0:数据在时钟的第一个边沿(上升沿或下降沿)采样;
CPHA=1:数据在时钟的第二个边沿采样。

3. 数据传输

全双工传输
• 主设备通过 MOSI 发送数据;
• 从设备通过 MISO 返回数据。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

数据对齐
数据在 SCK 的边沿(上升沿或下降沿)被采样,具体由 CPHA 决定。

4. 完整时序流程
  1. 主设备拉低 SS 信号选中从设备;
  2. 主设备生成 SCK 时钟;
  3. 主设备通过 MOSI 发送数据,同时从设备通过 MISO 返回数据;
  4. 主设备拉高 SS 信号结束通信。

三、I2C 和 SPI 时序对比

特性I2CSPI
信号线数量2 线(SDA, SCL)4 线(SCK, MOSI, MISO, SS)
传输模式半双工全双工
速度低速(标准模式 100kbps,高速 3.4Mbps)高速(可达 100Mbps 以上)
硬件复杂度简单(需处理起始/停止条件)简单(但需多根信号线)
多从机支持通过地址寻址(无需额外片选线)每从机需独立 SS 线

四、何时选择 I2C 或 SPI?

选择 I2C
• 设备数量多且引脚资源紧张;
• 速度要求不高(如传感器、EEPROM)。
选择 SPI
• 需要高速传输(如显示屏、Flash 存储器);
• 全双工通信(如同时发送和接收数据)。


通过时序图可以直观理解两种协议的工作流程,建议使用示波器或逻辑分析仪抓取实际信号验证时序。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值