beautypg.com

Atmega128rfa1 – Rainbow Electronics ATmega128RFA1 User Manual

Page 380

background image

380



8266A-MCU Wireless-12/09

ATmega128RFA1

pulling the SDA line low during the ninth SCL cycle. If the Receiver leaves the SDA line
high, a NACK is signaled. When the Receiver has received the last byte, or for some
reason cannot receive any more bytes, it should inform the Transmitter by sending a
NACK after the final byte. The MSB of the data byte is transmitted first.

Figure 25-5. Data Packet Format

1

2

7

8

9

Data MSB

Data LSB

ACK

Aggregate

SDA

SDA from

Transmitter

SDA from

Receiver

SCL from

Master

SLA+R/W

Data Byte

STOP, REPEATED

START or Next

Data Byte

25.3.5 Combining Address and Data Packets into a Transmission

A transmission basically consists of a START condition, a SLA+R/W, one or more data
packets and a STOP condition. An empty message, consisting of a START followed by
a STOP condition, is illegal. Note that the Wired-ANDing of the SCL line can be used to
implement handshaking between the Master and the Slave. The Slave can extend the
SCL low period by pulling the SCL line low. This is useful if the clock speed set up by
the Master is too fast for the Slave, or the Slave needs extra time for processing
between the data transmissions. The Slave extending the SCL low period will not affect
the SCL high period, which is determined by the Master. As a consequence, the Slave
can reduce the TWI data transfer speed by prolonging the SCL duty cycle.

Figure 25-6 below

shows a typical data transmission. Note that several data bytes can

be transmitted between the SLA+R/W and the STOP condition, depending on the
software protocol implemented by the application software.

Figure 25-6. Typical Data Transmission

1

2

7

8

9

Data Byte

Data MSB

Data LSB

ACK

SDA

SCL

START

1

2

7

8

9

Addr MSB

Addr LSB

R/W

ACK

SLA+R/W

STOP

25.4 Multi-master Bus Systems, Arbitration and Synchronization

The TWI protocol allows bus systems with several masters. Special concerns have
been taken in order to ensure that transmissions will proceed as normal, even if two or
more masters initiate a transmission at the same time. Two problems arise in multi-
master systems: