Atmega32(l) – Rainbow Electronics ATmega32L User Manual

Page 195

Advertising
background image

195

ATmega32(L)

2503C–AVR–10/02

Several different scenarios may arise during arbitration, as described below:

Two or more masters are performing identical communication with the same slave.
In this case, neither the slave nor any of the masters will know about the bus
contention.

Two or more masters are accessing the same slave with different data or direction
bit. In this case, arbitration will occur, either in the READ/WRITE bit or in the data
bits. The masters trying to output a one on SDA while another master outputs a zero
will lose the arbitration. Losing masters will switch to not addressed slave mode or
wait until the bus is free and transmit a new START condition, depending on
application software action.

Two or more masters are accessing different slaves. In this case, arbitration will
occur in the SLA bits. Masters trying to output a one on SDA while another master
outputs a zero will lose the arbitration. Masters losing arbitration in SLA will switch to
slave mode to check if they are being addressed by the winning master. If
addressed, they will switch to SR or ST mode, depending on the value of the
READ/WRITE bit. If they are not being addressed, they will switch to not addressed
slave mode or wait until the bus is free and transmit a new START condition,
depending on application software action.

This is summarized in Figure 96. Possible status values are given in circles.

Figure 96. Possible Status Codes Caused by Arbitration

Own

Address / General Call

received

Arbitration lost in SLA

TWI bus will be released and not addressed slave mode will be entered
A START condition will be transmitted when the bus becomes free

No

Arbitration lost in Data

Direction

Yes

Write

Data byte will be received and NOT ACK will be returned
Data byte will be received and ACK will be returned

Last data byte will be transmitted and NOT ACK should be received
Data byte will be transmitted and ACK should be received

Read

B0

68/78

38

SLA

START

Data

STOP

Advertising