NCT7491
http://onsemi.com
13
Read Operations
The NCT7491 uses the following SMBus read protocols.
Receive Byte
This operation is useful when repeatedly reading a single
register. The register address must be previously set up. In
this operation, the master device receives a single byte from
a slave device, as follows:
1. The master device asserts a start condition on SDA.
2. The master sends the 7bit slave address followed
by the read bit (high).
3. The addressed slave device asserts ACK on SDA.
4. The master receives a data byte.
5. The master asserts NO ACK on SDA.
6. The master asserts a stop condition on SDA, and
the transaction ends.
In the NCT7491, the receive byte protocol is used to read
a single byte of data from a register whose address has
previously been set by a send byte or write byte operation.
This operation is illustrated in Figure 9.
SLAVE
ADDRESS
DATA
A
R
S
P
2
4
3
1
5   6
Figure 9. SingleByte Read from a Register
A
Alert Response Address
Alert response address (ARA) is a feature of SMBus
devices that allows an interrupting device to identify itself
to the host when multiple devices exist on the same bus.
The SMBALERT output can be used as either an interrupt
output or an SMBALERT. One or more outputs can be
connected to a common SMBALERT line connected to the
master. If a devices SMBALERT line goes low, the
following events occur:
1. SMBALERT is pulled low.
2. The 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 SMBALERT output is low
responds to the alert response address, and the
master reads its device address. The address of the
device is now known and can be interrogated in
the usual way.
4. If more than one devices SMBALERT output is low,
the one with the lowest device address has priority
in accordance with normal SMBus arbitration.
5. Once the NCT7491 has responded to the alert
response address, the master must read the status
registers, and the SMBALERT is cleared only if
the error condition is gone.
SMBus Timeout
The NCT7491 includes an SMBus timeout feature. If
there is no SMBus activity for 25 ms, the NCT7491 assumes
the bus is locked and releases the bus. This prevents the
device from locking or holding the SMBus expecting data.
Some SMBus controllers cannot work with the SMBus
timeout feature, so it can be disabled.
Register 0x11 <4> TODIS = 0, SMBus timeout enabled
(default). <4> TODIS = 1, SMBus timeout disabled.
Register Map Paging
The NCT7491 register map is organized into two pages:
" Page 1 contains register addresses 0x00 to 0xFF
" Page 2 contains register addresses 0x100 to 0x1FF
The default page on power up is page 1, so any SMBus
read/writes to the NCT7491 will be to addresses in the range
0x000xFF.
To access page 2 of the register map, bit 0 (RGMP) of
register 0xFF must be set to 1. Any subsequent read/writes
after that bit is set will be to addresses in the range 0x100 to
0x1FF, e.g. reading from address 0x22 when RGMP is set
will read from register 0x122. Bit 0 of register 0xFF is, in
effect, the MSb of the address pointer. To return to page 1,
bit 0 (RGMPCL) of register 0x1FF must be cleared to 0.
All register read/writes referenced in this document refer
to registers on SMBus Page 1 unless stated otherwise.
Analog Temperature Measurement
A simple method of measuring temperature is to exploit
the negative temperature coefficient of a diode connected
transistor, measuring the base emitter voltage (V
BE
) of a
transistor operated at constant current. However, this
technique requires calibration to null the effect of the
absolute value of V
BE
, which varies from device to device.
The technique used in the NCT7491 measures the change
in V
BE
when the device operates at four different currents.
Figure 10 shows the input signal conditioning used to
measure the output of an external temperature sensor. This
figure shows the external sensor as a substrate transistor, but
it can equally be a discrete transistor. If a discrete transistor
is used, the collector is not grounded but is linked to the base.
To   prevent   ground   noise   interfering   with   the
measurement, the more negative terminal of the sensor is not
referenced to ground, but is biased above ground by an
internal diode at the D input. C1 may be added as a noise
filter (a recommended maximum value of 1000 pF).
However, a better option in noisy environments is to add a
filter, as described in the Noise Filtering section.
To measure DV
BE
, the operating current through the
sensor is switched among 4 currents, 2 x 2 related currents.
As shown in Figure 10, N1 x I
1
is a multiple of I
1
and N2 x
I
2
is a multiple of I
2
. The currents through the temperature
diode are switched between I and N1 x I, giving DV
BE1
; and
then between I and N2 x I, giving DV
BE2
. The temperature
is then calculated using the two DV
BE
measurements. This
method cancels the effect of any series resistance on the
temperature measurement.