1. Overview
2. Operation Mode
首先介绍模块工作模式,包好多个工作流程
2.1. Initial Configuration
将apb_i2c模块初始化为slave或master,过程如下
- 向域IC_ENABLE.ENABLE写入1’b0,关闭apb_i2c运行
- 对IC_CON寄存器进行配置,包括MASTER_MODE_ENABLE、SLAVE_MODE_ENABLE、SPEED等
MASTER_MODE_ENABLE和SLAVE_MODE_ENABLE不可同时为1和0
- 如果配置成SLAVE,则向IC_SAR.IC_SAR写入该apb_i2c_slave的地址。
如果配置成MASTER,则向IC_TAR.IC_TAR写入目标SLAVE的地址 - 向域IC_ENABLE.ENABLE写入1’b1,启动apb_i2c运行
- 如果配置成MASTER,向IC_DATA_CMD写入待发送的数据和方向
2.2. Slave Operation
I2C总线中slave如何响应总线请求
Slave Transmitter Operation
设备作为i2c slave transmitter时的响应过程如下
- 检测到START标志,之后7b