【嵌入式通信协议】 I²C 详细介绍

1. I²C 概述

I²C(Inter-Integrated Circuit)是一种同步、半双工、串行通信协议,由飞利浦公司(现恩智浦 NXP)于 1982 年开发。它通过两条信号线实现多设备间的通信,广泛用于传感器、EEPROM、显示屏等低速外设的互联。

2. 物理层结构

I²C 仅需两条总线:

  • SCL(Serial Clock):时钟信号,由主设备控制。

  • SDA(Serial Data):双向数据线,传输数据或地址。

所有设备均并联到总线,通过上拉电阻确保默认高电平(空闲状态)。

复制

+---------------+       +---------------+
|   Master      |       |   Slave 1     |
|               |       |               |
| SDA    SCL    |       | SDA    SCL    |
+---|-----|-----+       +---|-----|-----+
    |     |                 |     |
    |     +-----------------+-----+------> SCL
    |                           |
    +---------------------------+--------> SDA
           (所有设备共享 SDA 和 SCL)

3. 协议核心机制

3.1 设备角色
  • 主设备(Master):发起通信、控制时钟。

  • 从设备(Slave):响应主设备指令,每个从设备有唯一地址。

3.2 I²C 工作流程详解

I²C 的工作流程可以分解为初始化、地址传输、数据传输、终止通信四个核心阶段,并支持多主设备仲裁和时钟同步等高级机制。以下是每个步骤的深入解析:

3.3 总线初始化与空闲状态
  • 空闲状态:SCL 和 SDA 均被上拉电阻拉高(高电平)。

  • 上拉电阻值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值