ADT7482
http://onsemi.com
15
Reading Data from a Register
When reading data from a register there are two
possibilities:
1. If the ADT7482 address pointer register value is
unknown or not the desired value, it is first
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 ADT7482 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
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 17 can be omitted.
When reading data from a register, it is important to note
the following points:
?SPAN class="pst ADT7482ARMZ-REEL_2296055_3"> 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.
?SPAN class="pst ADT7482ARMZ-REEL_2296055_3"> Remember that some of the ADT7482 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 an open
circuit. It is an open-drain output and requires a pullup to
V
DD
. Several ALERT
outputs can be wire-ORed 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 can be used as a 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 19.
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 should 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 it can be interrogated in
the usual way.
4. If more than one device has a low ALERT
, the one
with the lowest device address has priority, in
accordance with normal SMBus arbitration.
5. Once the ADT7482 has responded to the alert
response address, it resets 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.
Low Power Standby Mode
The ADT7482 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.
When Bit 6 is 0, the ADT7482 operates normally. 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 all 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 ADT7482 is still in standby
mode.
Sensor Fault Detection
The ADT7482 has sensor fault detection circuitry
internally at its D+ inputs. This circuit can detect situations