ZHCSQ51 November 2023 MCF8329A
PRODUCTION DATA
表 7-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 (0x01),后跟读取/写入命令位。对于 MCF8329A 中的每个数据包,通信协议都以写入 24 位控制字开始,因此 R/W 位始终为 0。
24 位控制字:目标地址后跟一个 24 位控制位。表 7-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 位提供有关这是读取操作还是写入操作的信息。位值 0 表示这是一个写入操作。位值 1 表示这是一个读取操作。对于写入操作,MCF8329A 将预计在 24 位控制字之后发送数据字节。对于读取操作,MCF8329A 将预计在 24 位控制字之后具有包含重复启动或正常启动的 I2C 读取请求。
CRC_EN – 启用循环冗余校验 (CRC):MCF8329A 支持通过 CRC 来验证数据完整性。该位控制是否启用 CRC 功能。
DLEN – 数据长度:DLEN 字段决定外部 MCU 将发送至 MCF8329A 的数据的长度。MCF8329A 协议支持三种数据长度:16 位、32 位和 64 位。
DLEN 值 | 数据长度 | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
00b | 16 位 | |||||||||||
01b | 32 位 | |||||||||||
10b | 64 位 | |||||||||||
11b | 保留 |
MEM_SEC – 存储器段:MCF8329A 中的每个存储器位置都使用控制字中的三个独立实体进行寻址 – 存储器段、存储器页、存储器地址。存储器段是一个 4 位字段,表示存储器位置所属的存储器段,例如 RAM、ROM 等。
MEM_PAGE – 存储器页:存储器页是一个 4 位的字段,表示该存储器位置所属的存储器页。
MEM_ADDR – 存储器地址:存储器地址是地址的最后 12 位。完整的 22 位地址由 MCF8329A 使用全部三个字段(存储器段、存储器页、存储器地址)在内部构建。对于存储器位置 0x000000-0x000800,存储器部段为 0x0,存储器页为 0x0,存储器地址为最低 12 位(0x000 代表 0x000000,0x080 代表 0x000080,0x800 代表 0x000800)
数据字节:对于 MCF8329A 的写操作,24 位控制字后跟数据字节。控制字中的 DLEN 字段应与该段中发送的字节数相对应。
CRC 字节:如果在控制字中启用了 CRC 功能,则必须在写入事务结束时发送 CRC 字节。下面的 CRC 字节计算中说明了计算 CRC 的过程。