ZHCSUA5 December 2023 MCF8315C
PRODMIX
表 6-8 展示了 I2C 数据字格式。
TARGET_ID | R/W | CONTROL WORD | DATA | CRC-8 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A6 - A0 | W0 | CW23 - CW0 | D15/D31/D63 - D0 | C7 - C0 |
目标 ID 和 R/W 位:第一个字节包含 7 位 I2C 目标 ID,后跟读取/写入命令位。对于 MCF8315C 中的每个数据包,通信协议都以写入 24 位控制字开始,因此 R/W 位始终为 0。
24 位控制字:目标地址后跟一个 24 位控制位。表 6-9 展示了控制字格式。
OP_R/W | CRC_EN | DLEN | MEM_SEC | MEM_PAGE | MEM_ADDR | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CW23 | CW22 | CW21 - CW20 | CW19 - CW16 | CW15 - CW12 | CW11 - CW0 |
下面详细说明了控制字中的每个字段。
OP_R/W – 读取/写入:R/W 位提供有关这是读取 (1b) 操作还是写入 (0b) 操作的信息。对于写入操作,MCF8315C 将预计在 24 位控制字之后发送数据字节。对于读取操作,MCF8315C 将预计在 24 位控制字之后具有包含重复启动或正常启动的 I2C 读取请求。
CRC_EN – 启用循环冗余校验 (CRC):MCF8315C 支持通过 CRC 来验证数据完整性。该位控制是否启用 CRC 功能。
DLEN – 数据长度:DLEN 字段决定外部 MCU 将发送至 MCF8315C 的数据的长度。MCF8315C 协议支持三种数据长度:16 位、32 位和 64 位。
DLEN 值 | 数据长度 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
00b | 16 位 | |||||||||||
01b | 32 位 | |||||||||||
10b | 64 位 | |||||||||||
11b | 保留 |
MEM_SEC – 存储器段:MCF8315C 中的每个存储器位置都使用控制字中的三个独立实体进行寻址 – 存储器段、存储器页、存储器地址。存储器段是一个 4 位字段,表示存储器位置所属的存储器段,例如 RAM、ROM 等。
MEM_PAGE – 存储器页:存储器页是一个 4 位的字段,表示该存储器位置所属的存储器页。
MEM_ADDR – 存储器地址:存储器地址是地址的最后 12 位。完整的 22 位地址由 MCF8315C 使用全部三个字段(存储器段、存储器页、存储器地址)在内部构造。对于存储器位置 0x000000-0x000800,存储器部段为 0x0,存储器页为 0x0,存储器地址为最低 12 位(0x000 代表 0x000000,0x080 代表 0x000080,0x800 代表 0x000800)。所有相关存储器位置(EEPROM 和 RAM 变量)都有 MEM_SEC 和 MEM_PAGE 值,均对应于 0x0。所有其他 MEM_SEC、MEM_PAGE 值均保留,不供外部使用。
数据字节:对于 MCF8315C 的写操作,24 位控制字后跟数据字节。控制字中的 DLEN 字段应与该段中发送的字节数相对应。如果数据字节数与 DLEN 不匹配,则写入操作将被丢弃。
CRC 字节:如果在控制字中启用了 CRC 功能,则必须在写入事务结束时发送 CRC 字节。有关 CRC 字节计算的详细信息,请参阅节 6.6.2.6。