I2C 目标接口支持系统应用处理器访问内部寄存器。该接口的主要功能是启用配置各种 PHY 参数、控制 GPIO 引脚以及启用 USB-BC 功能。TUSB2E221 中继器功能在加电后工作,无需进行 I2C 配置。
TUSB2E221 具有 I2C 7 位目标地址 0x4F。写入的 8 位地址:0x9E 和读取:0x9F。
可以在工厂通过一次性编程更改 I2C 默认目标地址。
I2C 驱动强度可通过 I2C 更改。
表 8-5 针对 I2C 总线速度、总线上拉电阻和总线电容的建议 I2C 驱动强度I2C FM+(1MHz 最大值) | I2C 驱动强度 (IOL) 选择 |
---|
| I2C 总线上拉 RPU |
---|
C(bus) pF | 1kΩ | 2.2kΩ | 4kΩ | 7kΩ |
---|
10-50 | ≅8mA | ≅4mA | 不适用 | 不适用 |
10-90 | ≅8mA | 不适用 | 不适用 | 不适用 |
10-150 | 不适用 | 不适用 | 不适用 | 不适用 |
10-200 | 不适用 | 不适用 | 不适用 | 不适用 |
I2C FM(400kHz 最大值) | I2C 驱动强度 (IOL) 选择 |
---|
| I2C 总线上拉 RPU |
---|
C(bus) pF | 1kΩ | 2.2kΩ | 4kΩ | 7kΩ |
---|
10-50 | ≅8mA | ≅4mA | ≅2mA | 不适用 |
10-90 | ≅8mA | ≅4mA | 不适用 | 不适用 |
10-150 | ≅8mA | ≅8mA | 不适用 | 不适用 |
10-200 | ≅8mA | 不适用 | 不适用 | 不适用 |
I2C STD(100kHz 最大) | I2C 驱动强度 (IOL) 选择 |
---|
| I2C 总线上拉 RPU |
---|
C(bus) pF | 1kΩ | 2.2kΩ | 4kΩ | 7kΩ |
10-50 | ≅8mA | ≅4mA | ≅2mA | ≅1mA |
10-90 | ≅8mA | ≅4mA | ≅2mA | ≅1mA |
10-150 | ≅8mA | ≅4mA | ≅2mA | ≅2mA |
10-200 | ≅8mA | ≅4mA | ≅2mA | ≅2mA |
按照以下程序将数据写入 TUSB2E221 I2C 寄存器(请参阅图 8-5):
- 控制器通过生成启动条件 (S) 以及 TUSB2E221 7 位地址和一个用以指示写入周期的零值“W/R”位来启动写入操作。
- TUSB2E221 确认地址周期。
- 主机提供要写入的 TUSB2E221 中的寄存器偏移,其中包含一个字节的数据,MSB 优先。
- TUSB2E221 确认子地址周期。
- 主机提供要写入 I2C 寄存器的数据的第一个字节。
- TUSB2E221 确认字节传输。
- 主机可以继续提供要写入的额外字节的数据,每个字节传输都在 TUSB2E221 发出确认后完成。
- 主机通过生成停止条件 (P) 来终止写入操作。
按照以下程序在不重复启动的情况下读取 TUSB2E221 I2C 寄存器(请参阅图 8-6)。
- 主机通过生成启动条件 (S) 以及 TUSB2E221 7 位地址和一个用以指示读取周期的零值“W/R”位来启动读取操作。
- TUSB2E221 确认 7 位地址周期。
- 在确认之后,主机继续发送时钟。
- TUSB2E221 从寄存器 00h 或上次读取的寄存器偏移 +1 处开始传输存储器寄存器的内容,MSB 优先。如果写入 I2C 寄存器发生在读取之前,则 TUSB2E221 应从写入中指定的寄存器偏移处开始。
- 在每次字节传输后,TUSB2E221 会等待控制器发出确认 (ACK) 或不确认 (NACK);I2C 控制器确认接收到传输的每个数据字节。
- 如果接收到 ACK,则只要控制器提供时钟,TUSB2E221 就会传输下一个数据字节。如果接收到 NAK,则 TUSB2E221 停止提供数据并等待停止条件 (P)。
- 主机通过生成停止条件 (P) 来终止写入操作。
按照以下程序通过重复启动来读取 TUSB2E221 I2C 寄存器(请参阅 图 8-7)。
- 控制器通过生成启动条件 (S) 以及 TUSB2E221 7 位地址和一个用以指示写入周期的零值“W/R”位来启动读取操作。
- TUSB2E221 确认 7 位地址周期。
- 主机提供要写入的 TUSB2E221 中的寄存器偏移,其中包含一个字节的数据,MSB 优先。
- TUSB2E221 确认寄存器偏移周期。
- 主机提供重复启动条件 (Sr)。
- 主机通过生成启动条件 (S) 以及 TUSB2E221 7 位地址和一个用以指示读取周期的 1 值“W/R”位来启动读取操作。
- TUSB2E221 确认 7 位地址周期。
- TUSB2E221 从寄存器偏移处开始传输存储器寄存器的内容,MSB 优先。
- 在每次字节传输后,TUSB2E221 应等待控制器发出确认 (ACK) 或不确认 (NACK);I2C 控制器确认接收到传输的每个数据字节。
- 如果接收到 ACK,则只要控制器提供时钟,TUSB2E221 就会传输下一个数据字节。如果接收到 NAK,则 TUSB2E221 停止提供数据并等待停止条件 (P)。
- 主机通过生成停止条件 (P) 来终止读取操作。
按照以下程序为 I2C 读取设置起始子地址(请参阅 图 8-8)。
- 控制器通过生成启动条件 (S) 以及 TUSB2E221 7 位地址和一个用以指示写入周期的零值“W/R”位来启动写入操作。
- TUSB2E221 确认地址周期。
- 主机提供要写入的 TUSB2E221 中的寄存器偏移,其中包含一个字节的数据,MSB 优先。
- TUSB2E221 确认寄存器偏移周期。
- 主机通过生成停止条件 (P) 来终止写入操作。
注: 初始上电之后,如果读取过程不包含寄存器偏移(请参阅
图 8-6),则读取从寄存器偏移 00h 开始并通过寄存器逐字节继续,直到 I
2C 主机终止读取操作为止。在读取操作期间,无论是否接收到来自 I
2C 控制器的 ACK,
TUSB2E221 都会自动递增最后一个传输字节的 I
2C 内部寄存器地址。