C8051F340/1/2/3/4/5/6/7
The direction bit (R/W) occupies the
All transactions are initiated by a master, with one or more addressed slave devices as the target. The master generates the START condition and then transmits the slave address and direction bit. If the trans- action is a WRITE operation from the master to the slave, the master transmits the data a byte at a time waiting for an ACK from the slave at the end of each byte. For READ operations, the slave transmits the data waiting for an ACK from the master at the end of each byte. At the end of the data transfer, the master generates a STOP condition to terminate the transaction and free the bus. Figure 17.3 illustrates a typical SMBus transaction.
SCL
SDA
SLA6 | R/W | D7 |
|
| ||
START | Slave Address + R/W |
| ACK | Data Byte | NACK | STOP |
Figure 17.3. SMBus Transaction
17.3.1. Arbitration
A master may start a transfer only if the bus is free. The bus is free after a STOP condition or after the SCL and SDA lines remain high for a specified time (see Section “17.3.4. SCL High (SMBus Free) Timeout” on page 196). In the event that two or more devices attempt to begin a transfer at the same time, an arbi- tration scheme is employed to force one master to give up the bus. The master devices continue transmit- ting until one attempts a HIGH while the other transmits a LOW. Since the bus is
Rev. 0.5 | 195 |