Datasheet
Multi-Master IIC Interface (MMIIC)
MC68HC908AP Family Data Sheet, Rev. 4
246 Freescale Semiconductor
14.9 SMBus Protocol Implementation
Figure 14-20. SMBus Protocol Implementation
START
Address ACK
Command
ACK0
START
ACK
STOP
RX Data1
ACK NAK
RX DataN
Address 1 ACK
Prepare for Master mode
ACTION:
1. Load slave address to MMADR
2. Clear MMRW
3. Load command to MMDTR
4. Set MMAST
OPERATION:
Prepare for repeated START
FLAGS:
MMTXIF set
MMRXAK clear
OPERATION:
ACTION:
1. Set MMRW
2. Set REPSEN
3. Clear MMTXAK
4. Load dummy ($FF) to MMDTR
Get ready to receive data
FLAGS:
MMTXIF set
MMRXAK clear
OPERATION:
ACTION:
Load dummy ($FF) to MMDTR
Generate STOP
FLAGS:
MMRXIF set
OPERATION:
ACTION:
Read DataN from MMDRR
Read received data and prepare for STOP
FLAGS:
MMRXIF set
OPERATION:
ACTION:
1. Set MMTXAK
2. Read Data(N-1) from MMDRR
3. Clear MMAST
Read received data
FLAGS:
MMRXIF set
OPERATION:
ACTION:
Read Data1 from MMDRR
MASTER MODE
START
Address ACK
Command
ACK0
START
ACK
STOP
TX Data1
ACK NAK
TX DataN
Address 1 ACK
Slave address match and
FLAGS:
MMRXIF set
MMATCH set
OPERATION:
ACTION:
1. Check MMSRW
2. Read Slave address
Read and decode received command
FLAGS:
MMRXIF set
MMATCH clear
OPERATION:
ACTION:
Load Data1 to MMDTR
Last data sent
FLAGS:
MMTXIF set
MMRXAK set
OPERATION:
ACTION:
Load dummy ($FF) to MMDTR
Last data is going to be sent
FLAGS:
MMTXIF set
OPERATION:
ACTION:
Load dummy ($FF) to MMDTR
Transmit data
FLAGS:
MMTXIF set
OPERATION:
ACTION:
Load Data3 to MMDTR
Prepare for Slave mode
ACTION:
1. Load slave address to MMADR
2. Clear MMTXAK
3. Clear MMAST
OPERATION:
MMSRW depends on 8th
Slave address match and
FLAGS:
MMRXIF set
MMATCH set
OPERATION:
ACTION:
Check MMSRW
MMSRW depends on 8th
MMRXAK clear
MMRXAK clear
Transmit data
FLAGS:
MMTXIF set
OPERATION:
ACTION:
Load Data2 to MMDTR
check for data direction
bit of calling address byte
get ready to transmit data
bit of calling address byte
SLAVE MODE
Shaded data packets indicate transmissions by the MCU