出的温度传感器
AD公司的TMP03/04是常用的时间输出的数字温度传感器。它们输出经过调制后的矩形波,应用中只需测得其输出方波占空比T1/T2中T1和T2的实际时间宽度,即可计算出被测对象的温度。与微处理器连接时只需将芯片输出与微处理器的定时器/计数器相连,就可很容易地测出T1、T2的时间宽度,并计算出相应的温度值。TMP03为集电极开路输出,需上人拉电阻, TMP04为开漏输出,可直接驱动逻辑电路。MACIM公司的MAX6576也是一种输出时间的温度传感器。它输出的方波信号周期正比于绝对温度。其接口方式如图5所示。
MAXIM公司的MAX6575L/H芯片是另一种非常方便实用的时间输出的温度传感器。它的特点是在一根I/O线上最多可以同时接8只芯片,同时测8个点位的温度而不相互干扰。通过对管脚 TS0、TS1的不同连接及选择"L"、"H"不同型号,可以设置芯片不同延时系数。测量温度时,微处理器启动转换,经正比于绝对温度值的延时tDx后, MAX6575拉低I/O线。通过测量这个延时时间tDx,再利用所设置的该芯片的延时系数,可以计算出该芯片所测的温度值。由于各芯片延时系数不同,其延时时间并不会相互重叠,使用微处理器的定时器/计数器可以分别测出各个芯片的延时时间,再计算出各个芯片所测出的温度。
2.1.2 频率输出的单线温度传感器
MAX6577是输出频率信号的数字温度传感器。它输出占空比为1/2的方波,其频率正比于绝对温度。它的内部结构及使用方式 与MAX6576非常相拟。通过引脚TS0、TS1选择适录的频率/温度比例常数,再由微处理器的内部计数器测出频率后,计算出后测温度。其与微处理器的接口方式见图5。
2.1.3 数值输出的单线温度传感器
数值输出的单线温度传感器直接以串行方式输出芯片测出的具体温度数值,怕以其时序非常重要。DALLAS公司的DS1820就是这样一种独特的温度传感器。它只需一个接口引脚即可通信,可用数据线供电,并具备多点测温能力。其硬件连接及时序图如图6所示。其读写时序主要有复位、读时间片和写时间片三种时序操作。芯片本身带有命令集和存储器,微处理器通过发出控制命令,对芯片存储器进行读写,完成温度测量。芯片电源也可由微处理的I/O口提供。微处理器在读写 DS1820前先使其复位,检测到其应答信号后,微处理器发ROM操作命令,然后再发控制命令。多点温度测量时,只需并联多只DS1820并放在各测温点上,在使用前对各个芯片进行ROM搜索并将各个芯片的序列号保存起来。以后对每个DS1820寻址时,只要发相应的序列号,然后再对其进行其它操作即可。与DS1820类似的芯片还有DS1822。
2.2 基于总线协议输出的数据温度传感器
为了提高可靠性,方便使用,人们又设计了许多基于某种总线协议输出的数字温度传感器。这种温度传感器一般有多根线输出。输出格式和时序严格遵守某种协议,适用于各种场合,尤其是远端测量。常见的协议格式有SMBus协议、I2C协议等。
2.2.1 基于SMBus总线的温度传感器
MAXIM 公司的MAX1617~1619系列都是采用SMBus串行接口的远端温度传感器。MAX1619用来监测PC机内CPU的温度。它通过施加电流并测量正向结压测量外部PN结(分立晶体管、ASIC或CPU内)的结温,并通过SMBus二线串行接口将结果(8位精度)传给微处理器。SMBus接口的两根线分别是时钟线和数据线,如图7所示。在使用中,软件的编写必须严格遵守SMBus协议的规范。MAX1619可同时本地测量自身封装温度,且具有风扇控制输出;还可事先设定温度门限,当温度高于或低于该门限值时中断微处理器。通过管脚编程,改变ADD0、ADD1的连接方式,可以选择最多9个不同的 SMBus地址,连接可允许多个MAX1619连接在同一总线上而不致地址冲突。
2.2.2 基于I2C总线的温度传感器
AD公司的AD7416是具有I2C二线串行接口的低功耗数字温度传感器。它通过一个片仙温度传感器精确测环境温度,然后经过10位A/D转换串行输出。它也具有预设温度门限和中断输出功能。AD7416串行总线地址的最低3位是通过管脚编程选择的,因此可以在一条总线上连接多达8个芯片。I2C的两条线分别是时钟线和双向数据线。在使用中软件的编写要严格遵守I2C协议的格式和时序。
由于SMBus接口和I2C接口的相似性,AD公司的AD7414、AD7415的输出同时兼容了这两种接口,更大地方便了使用。
2.2.3 基于SPI接口的温度传感器
AD 公司的AD7814是具有SPI串行接口的温度
|