external temperature sensor calibration for the max16031/max16032 system monitors
eric schlaepfer
abstract: the max16031/max16032 system monitors support external diode-connected transistors to sense remote temperatures. diode-connected transistors exhibit temperature-dependent characteristics, which can be measured using a simple process. these characteristics are slightly different depending on the type of transistor; therefore, a calibration process needs to be performed before the max16031/max16032 can produce accurate temperature readings.
the max16031/max16032 eeprom-configurable system monitors are designed to monitor voltages, temperatures, and current in complex systems. these eeprom-configurable devices allow enormous flexibility in selecting operating ranges; upper and lower limits for temperature, voltage, and current; fault output configuration; and operating modes with the capability of storing these values within the device.
the max16031 monitors up to eight voltages, three temperatures (one internal/two external remote temperature diodes), and a single current. the max16032 monitors up to six voltages and two temperatures (one internal/one remote temperature diode). each of these monitored parameters is multiplexed into the adc and written to its respective register that can be read back through the smbus™ and jtag interfaces.
calibration parameters located in the eeprom for the external temperature sensors must be set by the customer, as they are dependant upon the type of diode used in the application circuit. this application note provides a procedure for calibrating the external temperature sensors. a general, two-current method for measuring temperature is presented briefly, followed by the specific two-current implementation used by the max16031/max16032. also provided is a specific calibration procedure that uses a diode-connected 2n3904 transistor as an example.
temperature sensing reviewall semiconductor devices exhibit temperature dependencies. of special interest is the iv curve of a forward-biased pn junction, which depends heavily on temperature. the following diode equation models this behavior:
where t is the temperature measured in kelvins, n is the diode ideality factor, k is boltzmann's constant (1.38e-23), q is the charge of an electron (1.6e-19), vbe is the base-emitter voltage, is is the reverse saturation current, and i is the diode current.
a simple, yet accurate way to sense the temperature is to force two different currents through a diode and take the voltage difference between the base emitter voltages for each current. this cancels out the dependency on is and makes the relationship between the base-emitter voltage difference and temperature quite linear. the following equation shows how this works for two currents, ih and il.
where δvbe is the difference in base-emitter voltages at both currents, ih is the higher forcing current, and il is the lower forcing current. the other parameters remain the same from before. solving for t and converting to degrees celsius yields the following:
this equation shows that the temperature is directly proportional to δvbe with a ratio determined by physical constants, the diode ideality factor, and the ratio of the two sensing currents.
max16031/max16032 temperature sensingthe max16031/max16032 measure the temperature of the external temperature diodes using the two-current technique discussed in the last section. after scaling and converting δvbe to a digital code, the device subtracts a fixed code representing the -273.15 degree offset. the resulting number is the temperature in degrees celsius with a resolution of 0.5°.
the temperature-sensing circuitry requires calibration to compensate for different diode ideality factors. there are two calibration values required for each external temperature sensor in the max16031/max16032: a gain and an offset.
a gain value, stored in r19h[7:2] (sensor 1) and r4fh[5:0] (sensor 2) controls the ih current (the il current is fixed at 6µa). table 1 shows the bit weights for each gain register bit. for example, the value 110000b corresponds with an ih of 84µa.
table 1. gain register bit weights
r19h[7:2], r4fh[5:0] bit
ih value added to 80µa (µa)
logic '1'
logic '0'
0
+0.25
0.0
1
+0.25
0.0
2
+0.5
0.0
3
+1.0
0.0
4
0.0
+2.0
5
+4.0
0.0
the offset value, located in r1bh[7:5] (sensor 1) and r4dh[6:4] (sensor 2), gets added to temperature conversion result to compensate for offset errors. table 2 shows the possible offset values.
table 2. offset register values
r1bh[7:5], r4dh[6:4] value
offset (°c)
100
+8
101
+6
110
+4
111
+2
000
0
001
-2
010
-4
011
-6
when using the max16031 evaluation kit (ev kit), the software provides convenient access to each calibration register through the temperature settings dialog shown in figure 1. from the current and temperature tab (seen in figure 2), click the blue external temperature 1 or external temperature 2 link to access the settings dialog for each temperature-monitoring channel.
figure 1. temperature settings dialog.
figure 2. current and temperature tab.
during the calibration procedure, as well as during normal operation, it is very helpful to enable the built-in digital temperature sensor filter. in the ev kit software, choose a center frequency from the temp sense filter time constant dropdown list located in the miscellaneous tab. this corresponds with register r5bh[6:4], which is described in table 3.
table 3. temperature sensor digital filter
r5bh[6:4] value
cutoff frequency (hz)
000
filter disabled
001
2.53
010
5.06
011
10.1
100
20.2
101
40.5
110
81
111
162
calibration procedureto calibrate the temperature-sensor circuit of the max16031/max16032, data needs to be taken at two different temperatures. the temperatures should be widely separated for best results. for simplicity, the first temperature may be +25°c. for better accuracy, the second temperature should be higher than room temperature rather than lower; a good value is +85°c. for the best accuracy, data should be taken at -40°c and +85°c. the following max16031 example takes calibration data at +25°c and +85°c, and uses a fairchild 2n3904 transistor in the diode-connected configuration—the collector and base shorted together.
for best results, the sensor being calibrated should be immersed in a nonconductive fluid in a temperature-controlled bath. the example uses fluorinert™ fc-77, although other fluids such as mineral oil may also work. if such equipment is not available, a commercially-available toaster oven may suffice if the sensor is attached to a metal object with a large thermal mass—this increases temperature stability during calibration. use an accurate thermocouple with good thermal coupling to the sensor in order to measure the temperature.
use the following procedure to gather the calibration data:
make sure the offset register is set to zero.
set the temperature to the low value (in this example, +25°c), allowing enough time for stabilization.
set the gain register to 80µa.
record the digital value returned by the max16031.
repeat step 4 for every possible gain register value.
set the temperature to the high value (in this example, +85°c), allowing enough time for stabilization.
repeat steps 3, 4, and 5. several simple calculations should be performed once the data is collected. for each temperature collected from the max16031, calculate the error value:
terr = tmax16031 - tmeasured
eq. 4
then, calculate the difference between each error value for a single gain value:
δ = terr_85 - terr_25
eq. 5
table 4 shows the example calibration data. the columns gain reg code and gain value (µa) show the gain register setting as both a hex code and as the equivalent current source value. the tmax16031 (°c) column shows the readings obtained from the max16031 temperature-conversion-result registers for each gain setting at both the low temperature (+25°c) and the high temperature (+85°c). the terr (°c) column lists the error (difference) between the temperatures recorded by the max16031 and the actual, measured temperatures. the δ (°c) column lists the differences between the error values recorded at the high temperature and the low temperature.
table 4. example calibration data
gain reg code
gain value (µa)
tmax16031 (°c)
terr (°c)
δ (°c)
+25
+85
+25
+85
0x10
80
17.5
75
-7.5
-10
-2.5
0x12
80.25
17.5
75.5
-7.5
-9.5
-2
0x14
80.5
17.5
76
-7.5
-9
-1.5
0x16
80.75
18
76.5
-7
-8.5
-1.5
0x18
81
18.5
76.5
-6.5
-8.5
-2
0x1a
81.25
18.5
77
-6.5
-8
-1.5
0x1c
81.5
19
77.5
-6
-7.5
-1.5
0x1e
81.75
19.5
78
-5.5
-7
-1.5
0x0
82
20
78.5
-5
-6.5
-1.5
0x2
82.25
20
79
-5
-6
-1
0x4
82.5
20.5
79
-4.5
-6
-1.5
0x6
82.75
21
79.5
-4
-5.5
-1.5
0x8
83
21
80
-4
-5
-1
0xa
83.25
21.5
80.5
-3.5
-4.5
-1
0xc
83.5
22
81
-3
-4
-1
0xe
83.75
22.5
81.5
-2.5
-3.5
-1
0x30
84
22.5
82
-2.5
-3
-0.5
0x32
84.25
23
82
-2
-3
-1
0x34
84.5
23
82.5
-2
-2.5
-0.5
0x36
84.75
23.5
83
-1.5
-2
-0.5
0x38
85
24
83.5
-1
-1.5
-0.5
0x3a
85.25
24.5
83.5
-0.5
-1.5
-1
0x3c
85.5
24.5
84
-0.5
-1
-0.5
0x3e
85.75
25
84.5
0
-0.5
-0.5
0x20
86
25.5
85
0.5
0
-0.5
0x22
86.25
25.5
85
0.5
0
-0.5
0x24
86.5
26
85.5
1
0.5
-0.5
0x26
86.75
26.5
86
1.5
1
-0.5
0x28
87
26.5
86.5
1.5
1.5
0
0x2a
87.25
27
87
2
2
0
0x2c
87.5
27.5
87
2.5
2
-0.5
0x2e
87.75
28
87.5
3
2.5
-0.5
the next task is to find the gain and offset calibration parameters. examine the δ (°c) column and find the cells with the values closest to zero. in this case, two rows for gain settings of 87 and 87.25 contain zero. this corresponds to a slope of zero, meaning there is negligible gain error. next, examine the terr (°c) values for these rows and choose the row containing error values that can be subtracted out using the offset register. in the example, the row with an offset error of 2 is chosen so that the offset register value of '001' can cancel it out.
the values obtained for the offset and gain registers may now be loaded into the eeprom configuration registers of the max16031 monitor used in the application circuit. the same values can be used every time, resulting in reasonable accuracy.
to increase the accuracy, the gain parameter can be programmed in circuit for each unit at board test time. place an accurate thermocouple near the device and measure the temperature. adjust the gain register contents until the max16031 temperature matches the measured temperature.
fluorinert is a trademark of the 3m company.
smbus is a trademark of intel corp.
uCGUI如何移植到S3C44B0X
苹果存储外设厂商发布四块M.2 SSD的合体设备
如何解决DCS的数据波动来了解一下DCS的接地吧
三星创新科技已强势回归中国市场
蓄电池放电容量与环境温度的关系
External Temperature Sensor Ca
为什么去中心化的菠菜DApp没有打败中心化的Du Chang
计讯物联小型水库水雨情和大坝安全监测解决方案:以数字之力,促水利建设智慧化
医疗设备供电的三类应用部件及风险等级
小米6与荣耀9谁更值得买?小米6与荣耀9外观、配置、售价区别对比评测
存算一体芯片面临的挑战和困难有哪些
STM32WB的双核架构及其优缺点解析
无人机航空电子设备开发商Sagetech演示NATO Mode 5
明略数据携手公安大学 共建大数据分析实验室
RFID使用的频段是多少
数字锁相环ADF4351原理详解与合成频率源的设计
力维智能锁业SW-2000(B)-MF1插卡开关介绍
电感线圈的用途及种类
低信噪比运动红外点目标的检测
国际通用、便民利民!闪付是未来趋势