ADT7481
http://onsemi.com
15
When reading data from a register there are two possible
scenarios:
1. 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).
2. 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 ALERTs 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 ALERTs due to Remote 2 temperature, set Bit 0 of
the Configuration 1 register to 1. Default = 0.
To mask ALERTs due to any channel, set Bit 7 of the
Configuration 1 register to 1. Default = 0.
Low Power Standby Mode
The ADT7481 can be put into low power standby mode
by setting Bit 6 (Mon/STBY bit) of the Configuration 1
register (Read Address 0x03, Write Address 0x09) to 1.
The ADT7481 operates normally when Bit 6 is 0. When
Bit 6 is 1, 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 in low power standby mode.
Power consumption in this standby mode is reduced to a
typical of 5 mA if there is no SMBus activity, or up to 30 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
will return to standby. It does not matter what is written to
the one-shot register, all data written to it is ignored. It is also
possible to write new values to the limit register while in