Datasheet
25
Atmel MSL2010 [DATASHEET]
42072A–AVR–05/2013
followed by a stop condition. This technique is recommended for buses with multiple masters, because the read
sequence is performed in one uninterruptible transaction.
Figure 15-10. I
2
C Reading Register Data Using a Repeated START
15.8 I
2
C Message Format for Broadcast Writing to Multiple devices
With a broadcast write to MSL2010, a master broadcasts the same register data to all MSL2010s on the bus. First send
the broadcast write slave address of 0x00, followed by the MSL2010 broadcast device ID of 0x42. These two bytes are
followed by the register address in the MSL2010’s that the following data are to be written into, and finally the data
byte(s) to be written into all devices.
A broadcast write example is shown in Figure 15-11. Here, the same register address in every MSL2010 is written to with
identical data. If further data bytes are transmitted before the STOP condition, they are stored in subsequent internal
registers of each MSL2010.
Figure 15-11. I
2
C Broadcast Writing a Data Byte
There is no broadcast read. However, a broadcast write may be used to set up the internal register pointers of all the
MSL2010s in a system to speed up the subsequent individual reading of, for example, all the status registers. Figure 15-
12 illustrates a broadcast write that sets all the register pointers, and issues a STOP.
Figure 15-12. I
2
C Broadcast Writing a Register Pointer
SDA
0 1 0 00000 A
REPEATED
START
D0 A 1 1 00001 A D0 A
ACKNOWLEDGE
FROM MSL2010
0
START STOP
SLAVE ADDRESS
WRITE ACCESS
SLAVE ADDRESS
READ ACCESS
READ REGISTERS
D7
ACKNOWLEDGE
FROM MSL2010
ACKNOWLEDGE
FROM MSL2010
NOT ACKNOWLEDGE
FROM MASTER
......
D7
......
SET REGISTER
POINTER
SDA
00000000 A 00A D0 A
ACKNOWLEDGE
FROM MSL2010
START STOP
BROADCAST WRITE
SLAVE ADDRESS
MSL2010 BROADCAST ID
SETS ALL REGISTER
POINTERS TO X
DATA WRITES TO ALL
REGISTER Xs
D7100001
ALL REGISTER POINTERS NOW POINT TO X + 1; THE FIRST SUBSEQUENT READ
ACCESS OF EACH MSL2010 READS FROM REGISTER ADDRESS X + 1
ACKNOWLEDGE
FROM MSL2010
......
D0 AD7
......
ACKNOWLEDGE
FROM MSL2010
ACKNOWLEDGE
FROM MSL2010
SDA
00000000 A 00A D0 A
ACKNOWLEDGE
FROM MSL2010
START STOP
BROADCAST WRITE
SLAVE ADDRESS
MSL2010 BROADCAST ID
SETS ALL REGISTER
POINTERS TO X
D7100001
ALL REGISTER POINTERS NOW POINT TO X; THE FIRST SUBSEQUENT READ ACCESS
OF EACH MSL2010 BEGINS READING FROM REGISTER ADDRESS X
......
ACKNOWLEDGE
FROM MSL2010
ACKNOWLEDGE
FROM MSL2010