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插卡开关介绍
         	 	
    	电感线圈的用途及种类
         	 	
    	低信噪比运动红外点目标的检测
         	 	
    	国际通用、便民利民!闪付是未来趋势