Arbitration; Clock Low Extension; Scl Low Timeout; Scl High (Smbus Free) Timeout - Silicon Laboratories C8051F120 Manual

Hide thumbs Also See for C8051F120:
Table of Contents

Advertisement

C8051F120/1/2/3/4/5/6/7
tion 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 20.3 illustrates a typical SMBus transaction.

Figure 20.3. SMBus Transaction

SCL
SDA
SLA6
SLA5-0
R/W
D7
D6-0
START
Slave Address + R/W
ACK
Data Byte
NACK
STOP

20.2.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
20.2.4). In the event that two or more devices attempt to begin a
transfer at the same time, an arbitration scheme is employed to force one master to give up the bus. The master
devices continue transmitting until one attempts a HIGH while the other transmits a LOW. Since the bus is open-
drain, the bus will be pulled LOW. The master attempting the HIGH will detect a LOW SDA and give up the bus. The
winning master continues its transmission without interruption; the losing master becomes a slave and receives the
rest of the transfer. This arbitration scheme is non-destructive: one device always wins, and no data is lost.

20.2.2. Clock Low Extension

2
SMBus provides a clock synchronization mechanism, similar to I
C, which allows devices with different speed capa-
bilities to coexist on the bus. A clock-low extension is used during a transfer in order to allow slower slave devices to
communicate with faster masters. The slave may temporarily hold the SCL line LOW to extend the clock low period,
effectively decreasing the serial clock frequency.

20.2.3. SCL Low Timeout

If the SCL line is held low by a slave device on the bus, no further communication is possible. Furthermore, the mas-
ter cannot force the SCL line high to correct the error condition. To solve this problem, the SMBus protocol specifies
that devices participating in a transfer must detect any clock cycle held low longer than 25 ms as a "timeout" condi-
tion. Devices that have detected the timeout condition must reset the communication no later than 10 ms after detect-
ing the timeout condition.

20.2.4. SCL High (SMBus Free) Timeout

The SMBus specification stipulates that if the SCL and SDA lines remain high for more that 50 µs, the bus is desig-
nated as free. If an SMBus device is waiting to generate a Master START, the START will be generated following the
bus free timeout.
Rev. 1.2
239

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the C8051F120 and is the answer not in the manual?

Table of Contents