ADM1029
http://onsemi.com
10
In the case of the ADM1029, write operations contain
either one or two bytes, and 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 be written into
that register or read from it. The first byte of a write
operation always contains an 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 18. 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 ADM1029s 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 ADM1029 as
before, but only the data byte containing the
register address is sent, as data is not to be written
to the register. This is shown in Figure 19.
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 20.
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, so
Figure 19 can be omitted.
NOTE:  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.
Alert Response Address
The ADM1029 has an interrupt (INT
) output that is
asserted low when a fault condition occurs. Several INT
outputs can be wire ORd to a common interrupt line. When
the host processor receives an interrupt request, it would
normally need to read the interrupt status register of each
device to identify which device had made the interrupt
request. However, the ADM1029 supports the optional
Alert Response Address function of the SMBus protocol.
When the host processor receives an interrupt request it can
send a general call address (0001100) over the bus. The
device asserting INT
will then send its own slave address
back to the host processor, so the device asserting INT
can
be identified immediately.
If more than one device is asserting INT
, all devices will
try to respond with their slave address, but an arbitration
process ensures that only the lowest address will be received
by the host.
After sending its slave address, the first device will then
clear its INT
output. The host can then check if the INT
is
still low and send the general call again if necessary until all
devices asserting INT
have responded.
The ARA function can be disabled by setting Bit 2 of the
Configuration Register (address 01h).
Temperature Measurement System
Local Temperature Measurement
The ADM1029 contains an on-chip bandgap temperature
sensor, whose output is digitized by the on-chip ADC. The
temperature data is stored in the Local Temp Value Register
(address A0h). As both positive and negative temperatures
can be measured, the temperature data is stored in twos
complement format, as shown in Table 6. Theoretically, the
temperature sensor and ADC can measure temperatures
from 128癈 to +127癈 with a resolution of 1癈, but
temperatures outside the operating temperature range of the
device cannot be measured by the internal sensor.
Remote Temperature Measurement
The ADM1029 can measure the temperature of one or two
remote diode-connected transistors, connected to Pins 13
and 14 and/or 16 and 17. The data from the temperature
measurements is stored in the Remote 1 and Remote 2 Temp
Value Registers (addresses A1h and A2h).
If two remote temperature measurements are not required,
Pins 16 and 17 can be reconfigured as general-purpose logic
I/O pins, as explained later.
The forward voltage of a diode or diode-connected
transistor, operated at a constant current, exhibits a negative
temperature coefficient of about 2 mV/癈. The absolute
value of V
BE
varies from device to device and individual
calibration is required to null this out so, unfortunately, the
technique is unsuitable for mass production.
The technique used in the ADM1029 is to measure the
change in V
BE
when the device is operated at two different
currents.
This is given by:
(eq. 1)
DV
BE
+ KTq ln(N)
where:
K is Boltzmanns constant
q is charge on the carrier
T is absolute temperature in Kelvins
N is ratio of the two currents
Figure 21 shows the input signal conditioning used to
measure the output of a remote temperature sensor. This
figure shows the external sensor as a substrate transistor,