C8051F340/1/2/3/4/5/6/7
Table 17.4. SMBus Status Decoding
| Values Read |
|
|
|
| Values | |||||
|
|
|
|
| Written | ||||||
Mode |
|
|
|
|
|
|
|
| |||
|
|
|
|
|
|
|
|
|
|
| |
Status Vector | ACKRQ | ARBLOST |
| ACK | Current SMbus State | Typical Response Options | STA |
| STo | ACK | |
|
|
|
|
|
|
|
|
|
| ||
|
|
|
|
|
|
|
|
|
|
|
|
| 1110 | 0 | 0 |
| X | A master START was generated. | Load slave address + R/W | 0 |
| 0 | X |
|
|
|
|
|
|
| into SMB0DAT. |
|
|
|
|
|
| 0 | 0 |
| 0 | A master data or address byte | Set STA to restart transfer. | 1 |
| 0 | X |
|
|
| was transmitted; NACK received. |
|
|
|
|
| |||
Transmitter |
|
| Abort transfer. | 0 |
| 1 | X | ||||
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
| Load next data byte into | 0 |
| 0 | X | |
|
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
| SMB0DAT. |
| |||
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| 1100 |
|
|
|
|
| End transfer with STOP. | 0 |
| 1 | X |
Master |
|
|
|
|
|
|
|
|
|
| |
0 | 0 |
| 1 | A master data or address byte | End transfer with STOP and | 1 |
| 1 | X | ||
|
|
| |||||||||
|
| start another transfer. |
| ||||||||
|
| was transmitted; ACK received. |
|
|
|
| |||||
|
|
|
|
| Send repeated START. | 1 |
| 0 | X | ||
|
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Switch to Master Receiver |
|
|
|
|
|
|
|
|
|
|
| Mode (clear SI without writ- | 0 |
| 0 | X |
|
|
|
|
|
|
| ing new data to SMB0DAT). |
|
|
|
|
|
|
|
|
|
|
| Acknowledge received byte; | 0 |
| 0 | 1 |
|
|
|
|
|
|
| Read SMB0DAT. |
| |||
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Send NACK to indicate last | 0 |
| 1 | 0 |
|
|
|
|
|
|
| byte, and send STOP. |
| |||
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Send NACK to indicate last |
|
|
|
|
|
|
|
|
|
|
| byte, and send STOP fol- | 1 |
| 1 | 0 |
|
|
|
|
|
|
| lowed by START. |
|
|
|
|
Receiver | 1000 | 1 | 0 |
| X | ACK requested. |
|
|
|
|
|
| Send ACK followed by | 1 |
| 0 | 1 | ||||||
|
|
|
|
|
|
|
| ||||
|
|
|
|
|
|
| repeated START. |
| |||
|
|
|
|
|
| A master data byte was received; |
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
| Send NACK to indicate last | 1 |
| 0 | 0 | |
Master |
|
|
|
|
|
| byte, and send repeated |
| |||
|
|
|
|
|
| START. |
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| Send ACK and switch to |
|
|
|
|
|
|
|
|
|
|
| Master Transmitter Mode | 0 |
| 0 | 1 |
|
|
|
|
|
|
| (write to SMB0DAT before |
| |||
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
| clearing SI). |
|
|
|
|
|
|
|
|
|
|
| Send NACK and switch to |
|
|
|
|
|
|
|
|
|
|
| Master Transmitter Mode | 0 |
| 0 | 0 |
|
|
|
|
|
|
| (write to SMB0DAT before |
| |||
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
| clearing SI). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Rev. 0.5 | 209 |