ADM1023
Rev. 8 | Page 14 of 18 | www.onsemi.com
Any number of bytes of data may be transferred over the serial
bus in one operation, but it is not possible to mix read and write
in one operation because the type of operation is determined
at the beginning and cannot subsequently be changed without
starting a new operation.
For the ADM1023, write operations contain either one or two
bytes, while read operations contain one byte and perform the
following functions:
To write data to one of the device data registers or read data
from it, the address pointer register must be set so that the
correct data register is addressed. Data can then be written into
that register or read from it. The first byte of a write operation
always contains a valid address that is stored in the address
pointer register. If data is to be written to the device, the write
operation contains a second data byte that is written to the
register selected by the address pointer register.
This is illustrated in Figure 16. The device address is sent over
the bus followed by R/
W
set to 0. This is followed by two data
bytes. The first data byte is the address of the internal data
register to be written to, which is stored in the address pointer
register. The second data byte is the data to be written to the
internal data register.
When reading data from a register, there are two possibilities:
1. If the ADM1023’s address pointer register value is unknown
or not the desired value, it is necessary to set it to the correct
value before data can be read from the desired data register.
This is done by performing a write to the ADM1023 as
before, but only the data byte containing the register read
address is sent, as data is not to be written to the register.
This is shown in Figure 17.
A read operation is then performed consisting of the serial
bus address, R/
W
bit set to 1, followed by the data byte read
from the data register. This is shown in Figure 18.
2. If the address pointer register is known to be at the desired
address already, data can be read from the corresponding
data register without first writing to the address pointer
register.
NOTES
• It is possible to read a data byte from a data register with-
out first writing to the address pointer register. However,
it is not possible to write data to a register without writing
to the address pointer register even if the address pointer
register is already at the correct value. This is because the
first data byte of a write is always written to the address
pointer register.
• Do not forget that ADM1023 registers have different
addresses for read and write operations. The write address
of a register must be written to the address pointer if data
is to be written to that register, but it is not possible to read
data from that address. The read address of a register must
be written to the address pointer before data can be read
from that register.
ALERT
OUTPUT
The
ALERT
output goes low whenever an out-of-limit measure-
ment is detected or if the remote temperature sensor is open-
circuit. It is an open drain and requires a 10 kΩ pull-up to V
DD
.
Several
ALERT
outputs can be wire-AND’ed together, so that
the common line goes low if one or more of the
ALERT
outputs
goes low.
The
ALERT
output can be used as an interrupt signal to a
processor, or it may be used as an
SMBALERT
. Slave devices
on the SMBus normally cannot signal to the master that they
want to talk, but the
SMBALERT
function allows them to do so.
One or more
ALERT
outputs are connected to a common
SMBALERT
line connected to the master. When the
SMBALERT
line is pulled low by one of the devices, the
procedure shown in Figure 19 occurs.
00058-019
MASTER
RECEIVES
SMBALERT
MASTER SENDS
ARA AND READ
COMMAND
DEVICE SENDS
ITS ADDRESS
NO
ACK
START
ALERT RESPONSE
ADDRESS
RD ACK
DEVICE
ADDRESS
STOP
Figure 19. Use of SMBALERT