USER GUIDE / PERIPHERALS / I2C / OVERVIEW

概述

I2C 总线是一个两线串行接口,由串行数据线(SDA)和串行时钟线(SCL)组成。这些线在连接到总线的设备之间传输信息。每个设备都有唯一的地址来识别,并且可以作为“发送器”或“接收器”来运行,具体取决于设备的功能。在执行数据传输时,设备可以被视为主机或从机。主机是在总线上启动或终止数据传输并生成时钟信号以允许传输的设备,此期间,任何被寻址的设备都被视为从机。I2C 控制器必须只被编程为只在主机模式或从机模式下运行,不支持同时作为主机和从机运行。

特点

  • 两线 I2C 串行接口-由一个串行数据线(SDA)和一个串行时钟线(SCL)组成
  • 三种速度
    • 标准模式(100 Kb/s)
    • 快速模式(400 Kb/s)和快速+模式(1Mb/s)
    • 高速模式(3.4Mb/s)
  • 设备时钟与 pclk(APB 时钟)相同
  • 可编程 SCL 发生器
  • 主机或从机 I2C 操作
  • 7 位寻址或 10 位寻址
  • 发送广播呼叫或起始字节
  • 64 深度的发送和接收 FIFO
  • 中断操作
  • 连接到同一总线的设备数量仅受最大总线电容 400pF 的限制
  • APB 接口
  • 3 个独立的 I2C 通道(I2C0, I2C1, I2C2)

框图

DW_apb_i2c 由 APB 接口、I2C 接口和 FIFO 逻辑组成,以保持两个接口之间的一致性。该模块的简化框图如图 1 所示。

DW_apb_i2c 框图
图 1 DW_apb_i2c 框图
  1. 本文所描述的 I2C 控制器即为 DW_apb_i2c 模块。