ADT7481
http://onsemi.com
15
When reading data from a register there are two possible
scenarios:
• If the address pointer register value of the ADT7481 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 ADT7481 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 16.
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 (shown in Figure 17).
• If the address pointer register is already 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 16 can
be omitted.
NOTES: It is possible to read a data byte from a data register
without first writing to the address pointer register.
However, 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. This is
because the first data byte of a write is always written to the
address pointer register.
Remember that some of the ADT7481 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
Pin 8 can be 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. Several
ALERT
outputs can be wire−OR’ed together, so that the
common line will go 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 connected to the master. When
the SMBALERT
line is pulled low by one of the devices, the
following procedure occurs as illustrated in Figure 18.
Figure 18. Use of SMBALERT
ALERT RESPONSE
ADDRESS
MASTER SENDS
ARA AND READ
COMMAND
DEVICE SENDS
ITS ADDRESS
RDSTART 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 with a low ALERT
output responds to
the alert response address, and the master reads the
address from the responding device. An LSB of 1
is added because the device address is comprised
of seven bits. The address of the device is now
known and it can be interrogated in the usual way.
4. If more than one device has a low ALERT
output,
the one with the lowest device address will have
priority, in accordance with normal SMBus
arbitration.
5. Once the ADT7481 has responded to the alert
response address, it will reset its ALERT
output,
provided that the error condition that caused the
ALERT
no longer exists. If the SMBALERT line
remains low, the master sends the ARA again, and
so on until all devices with low ALERT
outputs
respond.
Masking the ALERT Output
The ALERT output can be masked for local, Remote 1,
Remote 2 or all three channels. This is done by setting the
appropriate mask bits in either the Configuration 1 register
(read address = 0x03, write address = 0x09) or in the
consecutive ALERT
register (address = 0x22)
To mask ALERT
s due to local temperature, set Bit 5 of the
consecutive ALERT
register to 1. Default = 0.
To mask ALERTs due to Remote 1 temperature, set Bit 1 of
the Configuration 1 register to 1. Default = 0.
To mask ALERT
s due to Remote 2 temperature, set Bit 0 of
the Configuration 1 register to 1. Default = 0.
To mask ALERT
s due to any channel, set Bit 7 of the
Configuration 1 register to 1. Default = 0.