NB3N1200K, NB3W1200L
www.onsemi.com
19
Byte Read/Write
Reading or writing a register in a SMBus slave device in
byte mode always involves specifying the register number.
Read. The standard byte read is as shown in the following
figure. It is an extension of the byte write. The write start
condition is repeated then the slave device starts sending
data and the master acknowledges it until the last byte is sent.
The master terminates the transfer with a NAK, then a stop
condition. For byte operation, the 2*7
th
bit of the command
byte must be set. For block operations, the 2*7
th
bit must be
reset. If the bit is not set, the next byte must be the byte
transfer count.
Figure 13. Byte Read Protocol
T Slave Wr A Command A r Slave Rd A Data Byte 0
Byte Read Protocol
N P
17118 117 811 11
starT
Condition
Command
stoP
Condition
Acknowledge
Not ackRepeat starT
Register # to read
2*7 bit = 1
Write. The following figure illustrates a simple typical byte
write. For byte operation
the 2*7th bit of the command byte
must be set
. For block operations, the 2*7th bit must be reset.
If the bit is not set, the next byte must be the byte transfer
count. The count can be between 1 and 32. It is not allowed
to be zero or exceed 32.
Figure 14. Byte Write Protocol
T Slave Wr A Command A Data Byte 0
Byte Write Protocol
A P
17118 1 811
starT
Condition Command
stoP
Condition
Acknowledge
Register # to write
2*7 bit = 1
M to
S to
Master to
Slave to
Block Read/Write
Read. After the slave address is sent with the r/w condition
bit set, the command byte is sent with the MSB = 0. The slave
Ack’s the register index in the command byte. The master
sends a repeat start function. After the slave Ack’s this, the
slave sends the number of bytes it wants to transfer (>0 and
<33). The master Ack’s each byte except the last and sends
a stop function.
Figure 15. Block Read Protocol
T Slave Wr A Command Code A
Block Read Protocol
17118 1
starT
Condition Command
Acknowledge
Register # to write
2*7 bit = 0
Data Byte A A Data Byte 1 N P
81 8 1 8 11
stoP
Condition
Data Byte 0
Not acknowledge
r Slave Rd A
1711
repeat starT Condition