低成本的微处理器系统温度监控器
摘要:ADM1021是美国ADI公司出品的一种数字温度计IC。它具有精度高,价格低,体积小等特点,是便携式设备中不可缺少的器件。文章详细介绍了ADM1021的工作原理、技术性能、设计参数、应用范围以及注意事项。
本文引用地址:https://www.eepw.com.cn/article/255617.htm关键词:串行接口 信号调理 温度监控 ADM1021
1 引言
ADM1021是双通道的数字温度计集成电路,同时可兼做低温/高温报警器,非常适用于需要温度监控的个人计算机及其系统。该器件通过连接的PNP晶体管可以测量微处理器的温度,而PNP晶体管可由奔腾II或类似的处理器芯片,或者由分立的PNP/NPN器件来提供,比如2N3904/2N3906等。ADM1021采用了新颖的测量方法,从而消除了晶体管的基极射极电压绝对值。第二个测量通道可用于测量芯片上温度传感器的输出,以监控器件及周围的环境温度。ADM1021通过一个与系统控制总线(SM总线)相兼容的双线串行接口与外界相加,并可通过串行总线把低温或高温极限值输入到器件中。当芯片或远程温度超过范围时,ALERT引脚就会有信号输出以作为中断或SM总线的警报信号。ADM1021可广泛应用于台式机和笔记本电脑等领域,同时,在通讯系统中也具有广泛的应用前景。
2 主要技术性能
图1是ADM1021的引脚排列图。表1给出了各引脚的功能说明。
表1 引脚功能介绍
引脚序号 | 符 号 | 功 能 介 绍 |
1,16 | TEST | 测试引脚,仅限于工厂使用 |
2 | VDD | 正电源,+3~+5.5V |
3 | D+ | 与远程温度传感器正连接 |
4 | D- | 与远程温度传感器负连接 |
5,9,13 | NC | 不连接 |
6 | ADD1 | 三态逻辑输入,器件地址高位 |
7,8 | GND | 接地 |
10 | ADD0 | 三态逻辑输入,器件地址低位 |
11 | ALERT | 逻辑输出,用于中断或SM总线警报 |
12 | SDATA | 逻辑输入/输出,SM总线串行数据 |
14 | SCLK | 逻辑输入,SM总线串行时钟 |
15 | STBY | 选择正常运行模式或待机模式的逻辑输入 |
ADM1021内含一个双通道的A/D转换器,利用其特殊的输入信号调理功能可对远程或芯片上的温度传感器进行操作。在正常工作时,其A/D转换器一般工作在自由运行模式,因此可用模拟输入多路器来选择芯片上的温度传感器或远程温度传感器以测量本地或远程温度。对这些信号通过ADC进行数字转换,把结果存入8位本地或远程温度寄存器中,然后把测量结果与芯片上的4个寄存器的高低温度极限值进行比较。如果超过极限值,将产生标志字并交其存入状态寄存器,同时将ALERT端的输出变低。
ADM1021中的极限寄存器是可编程的,因而可通过串联的系统控制总线对仪器进行设置和控制。其控制和设置功能包括:器件工作在正常模式或待机模式、屏蔽或使能ALERT的输出以及选择转换率等。
3 工作原理
测量温度的一个简单方法是在恒定电流情况下使用二极的负温度系数或者晶体管的基极一射极电压。但这种技术需要消除Vbe绝对值的影响,而Vbc绝对值是随器件的不同而变经的。ADM1021可通过测量器件在两个不同电流时Vbe的差值来消除其影响。具体公式为:
Δvbe=KT/qln(N)
其中,K是波耳兹曼常数,q是电子电量(1.6×10 -9库公仑),T是绝对温度,单位为开尔文,N是两电流比值。
图2是用于测量外部温度传感器输出值的输入信号调理功能图。若用晶体管作为外部温度传感器在微处理器上进行温度监控时,如果使用的是分立晶体管,则集电极不接地而应与基极相连。如果传感器在噪声环境下工作,则应加入C1以滤去噪声。C1通常可选为2200pF,并不能超过3300pF。
为了测量Δvbe,传感器的工作电流应在I与N×I之间,其输出波形通过65kHz的低通滤波器滤波后送入一个放大器进行放大。放大器的功能是放大和修正波形,以提供Δvbe成比例的直流电压。ADC测量到这个电压后将给出8位温度输出。另外,也可以通过用数字滤波器取测量平均值的方法来消除噪声的影响。其内部温度传感器的信号调理和测量是以相同方式来进行的。表2是ADM1021的温度数据表。
表2 温度数据表
温 度 | 数 字 输 出 |
-128℃ | 1 000 0000 |
-125℃ | 1 000 0011 |
-100℃ | 1 001 1100 |
-75℃ | 1 011 0101 |
-50℃ | 0 011 0101 |
-25℃ | 1 100 1110 |
-1℃ | 1 110 0111 |
0℃ | 1 111 1111 |
+1℃ | 0 000 001 |
+10℃ | 0 000 1001 |
+25℃ | 0 001 1001 |
+50℃ | 0 011 0010 |
+75℃ | 0 100 1011 |
+100℃ | 0 110 0100 |
+125℃ | 0 111 1101 |
+127℃ | 0 111 1111 |
虽然理论上利用ADM1021可以测量-128℃~+127℃的温度,然而实际的最低温度限制为-65℃,这是由器件的最大标称值所决定的。因为本地或远程温度值寄存器的测量结果在存入到本地或远程温度值寄存器中时,要与高低温极限寄存器中的极限值进行比较。
ADM1021利用内部9个寄存器来设置或控制器件,以分别用于存储本地或远程温度测量结果和高低温极限值。表3列出了ADM1021各寄存器的工作情况。需要注意的是:各寄存器是双口的,其读写操作有不同的地址。向读地址中写或从写地址中读都是非法的。0FH以上的寄存器地址是作为将来使用或取来于工厂检测的,因此不能进行写操作。
表3 ADM1021的寄存器列表
读地址(16进制) | 写地址(16进制) | 名 称 | 缺 省 |
不用 | 不用 | 地址指针寄存器 | 未定义 |
00 | 不用 | 本地温度值寄存器 | 0000 0000(00h) |
01 | 不用 | 远程温度值寄存器 | 0000 0000(00h) |
02 | 不用 | 状态寄存器 | 未定义 |
03 | 09 | 设置寄存器 | 0000 0000(00h) |
04 | 0A | 转换率寄存器 | 0000 0010(02h) |
05 | 0B | 本地高温极限值寄存器 | 0111 1111(7Fh)(+127℃) |
06 | 0C | 本地低温极限值寄存器 | 1100 1001(C9h)(-55℃) |
07 | 0D | 远程高温极限值寄存器 | 0111 1111(7Fh)(+127℃) |
08 | 0E | 远程低温极限值寄存器 | 1100 1001 (C9h)(-55℃) |
不用 | 0F | 单稳寄存器 | |
10 | 不用 | 保留 | 未定义 |
11 | 13 | 保留 | 未定义 |
12 | 14 | 保留 | 未定义 |
15 | 16 | 保留 | 1000 0000 |
17 | 18 | 保留 | 未定义 |
19 | 不用 | 保留 | 0000 0000 |
20 | 21 | 保留 | 未定义 |
FE | 不用 | ID生产器件 | 0100 0001(41h) |
FF | 不用 | 修正代码 | 未定义 |
ADM1021的写操作包括1个或2个字节,而读操作只包括1个字节。在向器件数据寄存器中写数据时,第一个字节总是包括一个存在地址指针寄存器中的有效地址。如果数据即将被写入器件,则写操作的第2个字节应写入到由地址指针寄存器选定的寄存器中。其过程进序见图3所示。
在R/W置0后,器件地址将通过总线送入。第一个数据字节是即将被写入的内部数据寄存器的地址,它存在于地址指针寄存器中,而第二个数据字节将被写入内部数据寄存器中。
从寄存器中读取数据时,如果ADM1021的地址指针值未知或不指定值,那笃,在从指定的数据寄存器中读取数据之前需要把它设定为正确值,这可以通过向ADM1021进行写操作来执行。读操作包括时序总线地址、R/W位置1以及从数据寄存器中读取数据字节等。此过程如图4所示。
如果地址指针值寄存器已经指向指定的地址,那么数据即可从相应的数据寄存器中读出而不必先向地址指针寄存器中写地址。需要注意的是:ADM1021的读、写操作地址不同的。
4 设计应用
4.1 远程传感二极管的选择
ADM1021可与微处理器中的吸收晶体管或分立的晶体管一起组成一个温度监控系统,在微处理器中的晶体管一般为PNP型,而分立器件则不受PNP或NPN型限制。使用NPN型晶体管时,把晶体管的集电极和基极连到ADM1021的D+,发射极连到D-。如果使用PNP型管,则应将集电极和其极连至D-,发射极连到D+端。在使用分立的晶体管时,为了提高其测量的准确性,一般应遵循以下选择原则:
(1)当基极-发射极工作在最高温度时,应保证其电流为6μA,并使其电压大于0.25V;
(2)当基极-发射极工作在最低温度时,应保证其电流为100μA,并使其电压小于0.95V;
(3)晶体管的基极电阻应小于100Ω。
按照以上原则,应用时可选用类似于2N3904,2N3906或SOT-23这样的器件。
4.2 温度惯性与自动加热
温度测量的准确性依赖于测量情况下远程温度传感器或内部温度传感器的温度值。理论上,传感器应与系统的待测部分(比如微处理器)有很好的温度接触。但如果实际中并是如此,那么将会导致传感器的温度惯性使其对温度变化的响应产生迟滞。这在远程传感器中问题不大,因为它使用的是微处理器的吸收晶体管或像SOT-23这样的小器件,而且芯片上的传感器离微处理器也很远。因此,温度时间常数大约是10秒。在实际应用中,由自动加热引起温度升高可以忽略。
5 结束语
ADM1021是一种精度比较高的双通道数字测温兼警报器件。与其它同类产品相比,它具有设计新颖,性能稳定,使用方便,价格便宜等特点。在各类计算机、远程或本地温度传感及通讯系统中具有广泛的应用前景
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论