LM86是美国国家半导体公司推出的一款11位远程半导体数字温度传感器,具有双线系统管理总线(SMBus)串行接口,能够精确测量自身温度及外部设备的温度。芯片内设一个半导体元件用于感应芯片自身温度(本地温度),远程传感器为分立元件二极管或埋设在被测温的IC内的晶体管连接而成的二极管。只要放置一个专用二极管在目标裸片,就可以使用LM86准确测量任何ASIC的温度。±0.75℃的准确性是厂家针对移动PentiumⅢ热敏二极管的1.008典型非理想因素而设计的。
1 工作原理
1.1功能描述
LM86温度传感器把一个使用本地或远程二极管的基于温度传感器的 VBE变量与一个10位正ADC相结合(LM86的内部结构框图如图1所示)。LM86与串行SMBus版本2.0双线接口相兼容。数字比较器比较被测本地温度(LT)与本地上限(LHS)、本地下限(LLS)和本地T CRIT(LCS)用户编程温度限制寄存器。被测远程温度(RT)以数字量与远程上限(RHS)、远程下限(RLS)和远程T_CRIT(RCS)用户编程温度限制寄存器比较。A-LERT#输出激活指示比较超出T CRIT或上下限寄存器中的预置值。T CRIT A#输出通过内部滞回比较器来响应,滞回功能通过设置滞回寄存器(TH)的值来实现。当温度低于T CRIT设置值时,T CRIT A#有效。当远程温度和本地温度同时读时,滞回寄存器会受影响。
LM86通过设置配置寄存器的位可处于低功耗模式。在这种模式下LM86的SMBus接口中所有不需要的电路都关闭。本地温度和温度上下限数据寄存器为8位。11位远程温度数据是一个16位字。两个偏移寄存器(RTOLB和RTOHB)用来补偿非理想误差。报导的远程温度读数通过对实际温度加减偏移寄存器中的值来调整。
图2 为LM86接线图,对于两种封装MSOP-8或SOIC-8具有同样的管脚排列。管脚功能详细说明见表1。
1.2主要特点
LM86为单电源供电,直流3.0~3.6 V,典型供电电流0.8 mA。本地温度精度为25~125℃±3.0℃。远程二极管温度精度根据本地温度的范围值而有所不同。本地温度为30℃时,远程温度为80℃±0.75℃;本地温度为30~50℃时,远程温度在60~100℃士1.0℃之间;0~85℃的本地温度所对应的远程温度为25~125℃土3.O℃。
LM86的存储温度在一65~150℃之间。除此之外还有以下特点:
(1)精确传感远程IC或二极管连接的裸片温度;
(2)偏移寄存器允许精确传感多种类型的二极管;
(3)本地温度传感;
(4)10位以上信号远程二极管温度数据格式,0.125℃分辨率;
(5)与系统停机有用的T CRIT A#输出;
(6)ALERT#输出支持SMBus 2.0协议;
(7)SMBus 2.0兼容接口,支持TIMEOUT:
(8)8管脚MSOP和SOIC封装。
2 报警输出(ALERRT#)
LM86的ALERT#管脚是一个低电平有效漏极开路报警输出,由超出温度限制寄存器所定义的极限温度转换所触发,报警输出的复位取决于所用的选择方式。LM86的ALERT#输出适用于3种不同的使用方式来最好地服务于系统设计者:作为温度比较器,作为基于中断标志的温度和作为SMBus报警系统的一部分。每个温度读数,本地温度和远程温度(LT和RT)与一个T CRIT温度限制寄存器(LCS,RCS)相关,一个上限温度限制寄存器(LHS和RHS)和一个下限温度限制寄存器(LLS和RLS)。在每个温度读数结束后,数字比较器确定读数是否高于他的上限温度限制寄存器T CRIT设置值或低于他的下限设置值。如果这样,状态寄存器中的相应的位被置位,任何超出极限的温度转换都会触发报警。通常,配置寄存器中的报警屏敝位必须被清除以便来触发所有模式的报警。
2.1 作为温度比较的报警输出
当LM86接在一个不执行中断的系统中时,报警输出能用作温度比较器。在这种使用方式下,一旦触发报警变低的条件不再存在,报警就解除。例如,如果报警输出通过LT>LHS的比较被激活,当这个条件不再是真时,报警将保持高。只要所有的寄存器都在初始化时配置好,这种模式允许不要软件干预而实现操作。为了使报警能用作温度比较器,过滤器(FILTER)和报警配置寄存器(xBF)中的DO位必须设置为高。
2.2 作为中断的报警输出
当LM86用来触发一个中断服务程序时,ALERT#可以作为一个简单的中断信号来完成。在这种系统中,ALERT#用于触发一个中断服务程序。在中断服务程序没有完成之前或正在执行中时,不希望中断标志被重复触发。在状态寄存器读期间,如果状态寄存器中除D7和D2以外的任何位被置位,LM86将把报警屏敝位置位,阻止进一步的报警触发,直到在中断服务程序结束时主机发出复位指令使屏敝解除。
下面的步骤描述了一个使用ALERT#管脚作为中断标志的系统响应:
(1)主机感应到ALERT#为低;
(2)主机读LM86状态寄存器以确定引起报警的原因;
(3)LM86清除状态寄存器,复位报警信号为高,设置报警屏敝位(配置寄存器的D7位);
(4)主机关注引起报警的条件。风扇被启动,温度设置极限调整等;
(5)主机复位报警屏敝。
2.3 报警输出作为一个SMBus报警
当ALERT#被连接到一个或多个其他SMBus兼容器件的报警输出并且连到主机上时,一条SMBus报警线被建立。在这种实现中,LM86的报警将被操作使用ARA(Alert Response Address)协议。用SMBus指标2.O定义的SMBus 2.O ARA协议,是一个用来辅助主机分解哪部分产生一个中断并尽可能不地阻断系统去服务于那个中断的程序。
ARA,000 1100,是一个通用的访问地址。没有器件曾经赋于这个地址。为了使LM86来响应ARA命令,滤波器和报警配置寄存器(xBF)中的位DO(报警配置位)必须设置为低。通过设置配置寄存器的报警屏敝位D7可以解除报警输出。
3 通讯方式
3.1 SMBus接口
LM86作为SMBus上的从站,所以SMBCLK线是输入,SMBData线是双向的。按照SMBus总线规格,LM86有一个7位从站地址。从A6到A0的所有位已被内部编程,不能够通过软件或硬件来改变。这个完整的从站地址是:
3.2 温度数据格式
温度数据只能从本地或远程温度寄存器中被读,温度设置寄存器(T CRIT,L()w,HIGH)可被读或写。
远程温度数据用11位表示,数据格式是一个16位字(无论正负,D5为最低有效位,D0~D4总为0)存放于两个8位远程温度高、低字节寄存器(RTHB和RTLB)中。当只有最低有效位D5为1时,对应最小温度为0.125℃(分辨率)。负温度以下二次补码形式存放有效。如表2所示。
本地温度数据存放在一个8位本地温度寄存器(LT)中,D0为最低有效位,当只有D0为1时,对应的最小温度为1℃。负温度以二次补码形式存放,如+1℃表示为0000 0001(01h),一1℃表示为111l 1111(FFh)。
3.3 与LM86的通讯
LM86中的数据寄存器通过命令寄存器被选择。在上电初,命令寄存器被设为"00",读本地温度寄存器的地址,命令寄存器锁定他要找的最后一个地址。LM86中的每个数据寄存器具有用户可读写的4种状态:只读;只写;读写同样地址;读写不同地址。
对LM86的写总含有地址字节和命令字节。对任何寄存器的写需要一个数据字节。
读LM86可以有两种方法:
(1)如果命令寄存器中的锁存地址是对的(大多时候,期望命令寄存器指向读温度寄存器中的一个,这是从LM86中读数据的最快方式),那么读可以简单的含有一个地址字节,跟着是找回数据字节。
(2)如果命令寄存器需要被置位,那么一个地址字节、命令字节、重复启动和另外一个地址字节将完成一个读命令。
数据字节首先具有最高有效位。在读的最后,LM86能从主机接收到承认或不承认(不承认典型作为主机已经读到从机最后一个字节的一个信号)。LM86测量外部和内部二极管温度需31.25 ms。
4 内部寄存器
4.1命令寄存器
命令寄存器为8位(P0~P7)数据格式,用以选择哪个寄存器被读或被写。这个寄存器的数据将在SMBus写通讯的命令字节期间被传送。命令寄存器对其他主要寄存器数据的读写控制方式见表3。
4.2 状态寄存器
当LM86感测到本地或远程温度超限、远程二极管开路或ADC正在转换时,会自动把相应位置1,用户通过读状态寄存器的相应位来监控或输出报警。
当状态寄存器的各位置1时,对应的报警分别为:
D0:本地温度报警;
D1:远程二极管临界温度报警;
D2:远程二极管断开;
D3:远程二极管低温报警;
D4:远程二极管高温报警;
D5:本地低温报警;
D6:本地高温报警;
D7:ADC正在转换。
4.3配置寄存器
配置寄存器(C)的各位定义如表4所示,D1、D3、D5没定义,其余各位为1时使能。命令寄存器对配置寄存器的读写地址见表3。
5 噪声及错误码抑制
为了抑制由于噪声而引起的不正确的温度读数,LM86有一个用户配置的数字过滤器。这个过滤器在地址为BFh的过滤器寄存器(RDTF)和报警配置寄存器(C)中被访问。过滤级别可以按表5来设置,RDRF中的D3~D7没定义总为0,D0为l时过滤使能。通过噪声过滤之后的温度变化曲线平缓而无毛刺。
为了抑制错误的报警或T CRIT触发,LM86具有一个错误队列。错误队列作用确保远程温度测量不被触发而超出上、下限或T CRIT设置值,直到3个连续的极限输出已经做出。在上电时,错误队列缺省为关,可通过设置配置寄存器(09h)中的D0位为1来激活。
6 在CPU测温中的应用
一般的温度传感器(无论是热敏电阻或IC型温度传感器)都需要很长的时间才能够将热传导到传感器的核心部分。根据实验结果,从CPU把热传导到空气中,再从空气中传导到温度传感器中,这个过程至少需要20 min以上的时间。如果,散热片没装好或风扇没有转了,那么不到二分钟,使用者的CPU就会被烧坏。
LM86等具有特色的远程二极管温度传感器芯片在保护计算机处理器方面独具功效,配合LM87等系统监视芯片,保护系统正常工作。Intel公司在Pentium处理器中集成了一个远程二极管温度传感器,能更直接感测到CPU核心的温度变化,通过一根引线接出,由外部传感器芯片处理,在温度过热时,便自动降低CPU主频,加大风扇功率。见图3,其中2.2 nF电容应尽可能地与LM86的D+和D一管脚靠近。
移动电话,特别是CDMA手机很需要半导体温度传感器,以便对频率漂移、功率放大、电池保持及有彩色屏幕等方面提供保护与修正。中国作为世界上最大的家电生产国,冰箱、空调、电饭锅、微波炉全离不开温度传感器,为提升产品档次,加强技术含量,更需要半导体温度传感器,尤其是像LM86这样能够精确测温的远程半导体数字温度传感器。
7 应用提示
LM86可被焊接到一个印刷电路版上,并且由于最好的导热通路位于两个连件和管脚之间,他的温度将为印刷电路版区域和焊盘的温度,这要假定环境空气温度几乎和印刷电路版的表面温度一样。如果空气温度稍高于或稍低于印刷电路版表面温度,LM86的实际温度将处于一个空气温度和印刷电路版表面温度的平均值上。另外,主要的导热回路通过焊点,所以电路板温度比空气温度对LM86自身温度的影响大得多。
在测LM86的外部温度时,用一个远程二极管。这个二极管能够安装在目标IC上,允许集成芯片温度的测量,而独立于LM86的温度。一个分立的二极管也可用来感应外部物体或环境温度,但分立二极管的温度将受到影响,常受到他的管脚温度的支配。大多数硅二极管在这种应用中效果并不好。推荐使用2N3904晶体管基射结(把集电极和基极连接在一起),在测奔腾Ⅲ处理器时这种连接得到的近似二极管测温效果较好。
欢迎转载,本文来源于电子发烧友网(http://www.elecfans.com)
评论
查看更多