ZHCSQH8A September 2025 – October 2025 TCAN5102-Q1
ADVANCE INFORMATION
发送 FIFO 为只写模式,当向其地址发送写入命令时,数据会被写入其中。当整个帧写入缓冲区后,传输将开始。在帧结束后(由初始报头指定)写入的所有数据字节都将被忽略,直到开始新的发送 FIFO 写入。对发送 FIFO 的所有写入都应仅指向指定的 I2C 发送 FIFO 地址,因为每个写入的字节都会自动移入 FIFO。例如,当写入的 I2C 帧大于单个 CAN 消息所能传输的大小时,会通过对同一地址的多次 CAN 写入来完成,因为 SPI 报头字节会告知设备预期的数据字节数。
TX 缓冲区中每个帧的大小由所需的 I2C 帧长度决定。每个 I2C FIFO 元素的开头都需要一个 2 字节的报头。TX FIFO 中帧的总长度为以下各项之和
| 字节 | 位 | 字段 | 类型 | 复位 | 说明 |
|---|---|---|---|---|---|
| 0 | 7:1 | 地址 | W | 0x0 | I2C 目标器件地址 |
| 0 | R/W | W | 0 | I2C 消息是 I2C 读取还是 I2C 写入 0 = I2C 写入 1 = I2C 读取 |
|
| 1 | 7 | S(I2C 读取) SS(I2C 写入) |
W | 0 | 存储(I2C 读取)或存储状态(I2C 写入) 对于 I2C 读取,将接收到的数据存储到接收 FIFO 中。对于 I2C 写入,由于不会从目标器件接收数据,用户可以选择是否存储 I2C 写入的状态帧,或者假设写入成功(不在接收 FIFO 中存储任何状态) 0 = 不将此事务的任何数据/状态存储到接收 FIFO 1 = 将数据或写入状态存储到接收 FIFO |
| 6:0 | NUM_BYTES_TO_WRITE/READ | W | 0x0 | I2C 写入 (B0.R/W = 0):地址之后的 I2C 帧中的字节数(不包括上述报头字节) 有效值 0-127。0 将不发送任何数据,仅传输器件地址(对于检查 ACK 很有用) I2C 读取 (B0.R/W = 1):地址字节之后待读取的字节数(不包括上述报头字节) |