1.2. I2C 接口
Altera 器件充当 I2C 总线的主器件。
由于设计旨在提供 SPI 主器件与 I2C 器件之间的接口,因此,I2C 总线不支持多个主器件。
信号 | 方向 | 功能 |
---|---|---|
SCLK | 输出 | I2C 串行时钟 |
SDA | 双向 | I2C 数据总线 |
根据从 SPI 一侧接收到的命令寄存器值来执行 I2C 功能。
命令寄存器 | 数据输入寄存器 | 在 I2C 线上的功能 |
---|---|---|
10000000 | 从器件地址 + 读/写 | 启动/重新启动 |
01000000 | 要写入的数据 | 写入一个字节 |
00100000 | 不重要 | 读取一个字节 |
00010000 | 不重要 | 停止 |
00000000 | 不重要 | 空,等待状态 |
在某个特定 I2C 事务中读取的数据存储在数据输出寄存器中,由 SPI 主器件在其下一个 SPI 事务中读取。 SPI 主器件需要最后一个命令字 00000000 (b) 来读取状态寄存器和数据输出寄存器的值,而无需在 I2C 总线执行任何操作。
图 3. I2C 命令格式