SLLSFP6A December 2022 – April 2023 MCF8315A
PRODUCTION DATA
The I2C data word format is shown in Table 7-7.
TARGET_ID | R/W | CONTROL WORD | DATA | CRC-8 | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
A6 - A0 | W0 | CW23 - CW0 | D15 / D31/ D63 - D0 | C7 - C0 |
Target ID and R/W Bit: The first byte includes the 7-bit I2C target ID (default 0x01, but can be modified by setting I2C_SLAVE_ADDR), followed by the read/write command bit. Every packet in MCF8315A the communication protocol starts with writing a 24-bit control word and hence the R/W bit is always 0.
24-bit Control Word: The Target Address is followed by a 24-bit control bit. The control word format is shown in Table 7-8.
OP_R/W | CRC_EN | DLEN | MEM_SEC | MEM_PAGE | MEM_ADDR | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
CW23 | CW22 | CW21- CW20 | CW19 - CW16 | CW15 - CW12 | CW11 - CW0 |
Each field in the control word is explained in detail below.
OP_R/W – Read/Write: R/W bit gives information on whether this is a read (1b) operation or write (0b) operation. For write operation, MCF8315A will expect data bytes to be sent after the 24-bit control word. For read operation, MCF8315A will expect an I2C read request with repeated start or normal start after the 24-bit control word.
CRC_EN – Cyclic Redundancy Check(CRC) Enable: MCF8315A supports CRC to verify the data integrity. This bit controls whether the CRC feature is enabled or not.
DLEN – Data Length: DLEN field determines the length of the data that will be sent by external MCU to MCF8315A. MCF8315A protocol supports three data lengths: 16-bit, 32-bit and 64-bit.
DLEN Value | Data Length | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
00b | 16-bit | |||||||||||
01b | 32-bit | |||||||||||
10b | 64-bit | |||||||||||
11b | Reserved |
MEM_SEC – Memory Section: Each memory location in MCF8315A is addressed using three separate entities in the control word – Memory Section, Memory Page, Memory Address. Memory Section is a 4-bit field which denotes the memory section to which the memory location belongs like RAM, ROM etc.
MEM_PAGE – Memory Page: Memory page is a 4-bit field which denotes the memory page to which the memory location belongs.
MEM_ADDR – Memory Address: Memory address is the last 12-bits of the address. The complete 22-bit address is constructed internally by MCF8315A using all three fields – Memory Section, Memory Page, Memory Address. For memory locations 0x000000-0x000800, memory section is 0x0, memory page is 0x0 and memory address is the lowest 12 bits(0x000 for 0x000000, 0x080 for 0x000080 and 0x800 for 0x000800). All relevant memory locations (EEPROM and RAM variables) have MEM_SEC and MEM_PAGE values both corresponding to 0x0. All other MEM_SEC, MEM_PAGE values are reserved and not for external use.
Data Bytes: For a write operation to MCF8315A, the 24-bit control word is followed by data bytes. The DLEN field in the control word should correspond with the number of bytes sent in this section. In case of mismatch between number of data bytes and DLEN, the write operation is discarded.
CRC Byte: If the CRC feature is enabled in the control word, CRC byte has to be sent at the end of a write transaction. Refer to Section 7.6.2.6 for detailed information on CRC byte calculation.