MAX16031/MAX16032系统监控中的外部温度传感器校准

Abstract

MAX16031/MAX16032系统监控器能够利用外部连接成二极管的晶体管检测远端温度。连接成二极管的晶体管特性与温度有关,可以通过简单方式测量温度。这一特性会隐晶体管类型的不同而略有差异,因此,MAX16031/MAX16032在提供准确的温度之前需要首先进行校准。

MAX16031/MAX16032 EEPROM可配置系统监测器用于监测复杂系统中的电压、温度和电流。这些EEPROM可配置器件允许用户更加灵活地选择工作范围,温度、电压和电流的上限和下限,缺省输出配置以及工作模式,并且能够在器件中存储这些数据。

MAX16031可以监控8路电压、3路温度(1路内部温度/2路远端二极管的检测温度)和1路电流。MAX16032可以监控6路电压、2路温度(1路内部温度/1路远端二极管的检测温度)。监测变量中的任何一个可以复用到ADC输入,转换结果被写入各自的寄存器,通过SMBus™总线或JTAG接口可以读取这些数据。

因为校准参数与具体应用电路中使用的二极管类型有关,需要用户将校准参数装载到EEPROM中,用于外部温度传感器的校准。本应用笔记提供了外部温度传感器校准的步骤,这里主要介绍了常用的双电流温度测量法,并介绍了MAX16031/16032使用的特定的双电流测量法。本文以连接成二极管的2N3904晶体管为例介绍具体的校准步骤。

温度测量

所有半导体器件的特性都与温敏有关,我们感兴趣的是正向偏置的PN结的IV曲线随温度的变化非常明显,以下二极管方程给出了这一特性:

公式1

式中,T是测量得到的绝对温度(单位为开尔文),n为二极管理想系数,k为玻尔兹曼常数(1.38e-23),q为一个电子的电量(1.6e-19),VBE为正向导通电压,IS为反向饱和电流,I为二极管的正向电流。

一种简单、准确的温度测量方式是检测两个不同的流过二极管的电流,该电流通过在二极管上施加不同的正向偏置电压(基极-发射极之间的电压)获得,由此可以抵消二极管的IS,使二极管正向电压(基极-射极之间的电压)之差与温度呈线性关系。下式给出了利用两个电流IH、IL计算温度的关系式:

公式2

式中,ΔVBE是测量两个电流时的基极-射极电压之差,IH是较高的正向电流,IL是较低的正向电流,其它参数如上所述。如果把T转换成摄氏度,公式如下:

公式3

从该式可以看出:温度与ΔVBE成线性比例关系,比例系数由物理常数、二极管理想系数、两个正向电流之比决定。

MAX16031/MAX16032温度测量

MAX16031/MAX16032按照上述方式利用外部二极管的两个电流测量值检测温度。确定比例并将ΔVBE转换成数字量后,器件减去一个固定温度偏差-273.15,即可获得摄氏温度,分辨率为0.5°。

需要对温度检测电路进行校准,以补偿不同二极管的理想系数,MAX16031/MAX16032的外部温度传感器需要两个校准数据:增益和失调。

增益存储在寄存器r19h[7:2] (传感器1)和r4Fh[5:0] (传感器2)中,用于控制IH电流(IL电流固定为6µA)。表1列出了增益寄存器中每一位的权值,例如,110000b表示IH为84µA。

表1. 增益寄存器位的权值

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

失调存储在寄存器r1Bh[7:5] (传感器1)和r4Dh[6:4] (传感器2),与温度转换结果相加用于补偿失调误差。表2列出了可能的失调值。

表2. 失调寄存器数值

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

使用MAX16031评估板(EV kit)时,评估软件可以方便地通过图1中的Temperature Settings对话框设置校准寄存器,在Current and Temperature标签中(图2),点击蓝色链接External Temperature 1External Temperature 2进入每个温度监测通道的配置对话框。

图1. 温度设置对话框
图1. 温度设置对话框

图2. 电流和温度配置标签
图2. 电流和温度配置标签

在校准过程以及正常操作中,启用内部数字温度检测滤波器很有帮助。在评估软件中,从Miscellaneous下拉菜单中的Temp sense filter time constant标签选择中心频率。寄存器r5Bh[6:4]的对应值请参考表3

表3. 温度检测的数字滤波器

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

校准过程

为了校准MAX16031/MAX16032的温度检测电路,需要在两个不同温度下测量数据。温度相差越大,测量结果越准确。为了简单起见,第一个温度值可以设置在+25°C;为了获得较高精度,第二个温度最好高于室温,而不是低于室温,+85°C是比较好的选择。为了达到最高精度,应该在-40°C和+85°C测量数据。在下面的MAX16031例子中,校准数据取自+25°C和+85°C,选择Fairchild的2N3904晶体管,集电极和基极连接在一起构成二极管形式。

为了获得最佳结果,需要校准的传感器应该放置在温度可控的绝缘液体恒温槽内。我们使用的是Fluorinert™ FC-77液体,也可以选择矿物油等液体。如果没有恒温槽,可以把传感器放置在具有较大散热器的金属物体上(以保持校准过程中的温度稳定性),然后置于商用烤箱内。

按照以下步骤获得校准数据:

  1. 确认失调寄存器清零。
  2. 将温度设置在低温值(本例采用+25°C),确保足够的稳定时间。
  3. 将增益寄存器设置到80µA。
  4. 记录MAX16031的返回数据。
  5. 在不同的增益下重复第4步。
  6. 将温度设置在高温值(本例采用+85°C),确保足够的稳定时间。
  7. 重复步骤3、4和5。
获得数据后,需要进行一些简单计算。对于从MAX16031获得的每个温度数据,计算误差:

TERR = TMAX16031 - TMEASURED 公式4

然后计算不同温度下的误差之差:

Δ = TERR_85 - TERR_25 公式5

表4给出了一组校准数据示例,Gain Reg CodeGain Value (µA)栏中列出了增益寄存器的设置数据和等效的电流值。TMAX16031 (°C)栏给出了不同增益设置下,在低温(+25°C)和高温(+85°C)时MAX16031的温度转换结果。TERR (°C)栏为MAX16031的温度转换记录与实际测量温度的差值。Δ (°C)栏则列出了高温和低温下的误差之差。

表4. 校准数据示例

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

下一步是查找增益和失调校准参数,检查Δ (°C)栏并找到最接近零的数值。本例中,87和87.25两行增益设置都包含零值,说明可以忽略增益误差。然后检查TERR (°C)栏的数值,查找误差值可以由失调寄存器数值消除的对应行。这里选择了失调误差为2的那一行,因为失调寄存器的数值‘001’可以消除这一误差。

现在,可以将得到的失调寄存器和增益寄存器值装载到MAX16031监测器应用电路的EEPROM配置寄存器中,每次测量可以使用相同数值,达到合理的精确度。

为了提高精度,可以在每次测量时对每个单元的增益参数进行在线编程。靠近器件放置一个高精度热电偶并对温度进行测量,调整增益寄存器直到MAX16031的测量温度和热电偶的测量温度相同。

作者

Generic_Author_image

Eric Schlaepfer