ADT7461
http://onsemi.com
14
When reading data from a register there are two
possibilities.
1. If the ADT7461s 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
writing to the ADT7461 as before, but only the
data byte containing the register read address is
sent, since 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, data can be read from the
corresponding data register without first writing to
the address pointer register and the bus transaction
shown in Figure 17 can be omitted.
Although it is possible to read a data byte from a data
register without first writing to the address pointer register,
if the address pointer register is already at the correct value,
it is not possible to write data to a register without writing to
the address pointer register because the first data byte of a
write is always written to the address pointer register.
Also, some of the 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 may not be 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
This is applicable when Pin 6 is configured as an ALERT
output. The ALERT
output goes low whenever an
out-of-limit measurement is detected, or if the remote
temperature sensor is open circuit. It is an open-drain output
and requires a pullup to V
DD
. Several ALERT
outputs can
be wire-ORed together, so 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 cannot normally signal to the bus
master that they want to talk, but the SMBALERT
function
allows them to do so.
One or more ALERT
outputs can be connected to a
common SMBALERT
line that is connected to the master.
When the SMBALERT
line is pulled low by one of the
devices, the procedure shown in Figure 19 occurs.
Figure 19. Use of SMBALERT
ALERT RESPONSE
ADDRESS
MASTER SENDS
ARA AND READ
COMMAND
DEVICE SENDS
ITS ADDRESS
RD
START
ACK
DEVICE
ADDRESS
NO
ACK
STOP
MASTER
RECEIVES
SMBALERT
1. SMBALERT
is pulled low.
2. Master initiates a read operation and sends the
alert response address (ARA = 0001 100). This is
a general call address that must not be used as a
specific device address.
3. The device whose ALERT
output is low responds
to the alert response address and the master reads
its device address. As the device address is seven
bits, an LSB of 1 is added. The address of the
device is now known and can be interrogated in
the usual way.
4. If the ALERT
output is low on more than one
device, the one with the lowest device address has
priority, in accordance with normal SMBus
arbitration.
5. Once the ADT7461 has responded to the alert
response address, it resets its ALERT
output,
provided the error condition that caused the
ALERT
no longer exists. If the SMBALERT
line
remains low, the master sends the ARA again; this
sequence continues until all devices whose
ALERT
out-puts were low have responded.
Low Power Standby Mode
The ADT7461 can be put into low power standby mode
by set-ting Bit 6 of the configuration register. When Bit 6 is
low, the ADT7461 operates normally. When Bit 6 is high,
the ADC is inhibited, and any conversion in progress is
terminated without writing the result to the corresponding
value register.
The SMBus is still enabled. Power consumption in the
standby mode is reduced to less than 10 mA if there is no
SMBus activity or 100 mA if there are clock and data signals
on the bus.
When the device is in standby mode, it is still possible to
initiate a one-shot conversion of both channels by writing to
the one-shot register (Address 0x0F), after which the device
returns to standby. It does not matter what is written to the
one-shot register, as all data written to it is ignored. It is also
possible to write new values to the limit register while in
standby mode. If the values stored in the temperature value
registers are now outside the new limits, an ALERT
is
generated even though the ADT7461 is still in standby.