温度传感器及其与微处理器接口
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串行接口的温度传感器。它可以与大多数微处理器及DSP配合使用。AD7814与8051系列微处理器的接口方式十分简单,8051工作在串行接口方式0下,AD7814的管脚DOUT和SCLK分别接在8051的串行口P3.0与P3.1,DIN接地,CS由某一数据I/O口控制,如P1.0。要向AD7814写入数据以完成某种特殊功能时,需使用DIN管脚,则可用8051的其它数据端口进行控制。
随着信息产业化的到来,温度传感器尤其是半导体温度传感器也会因此得到进一步的发展。数字半导体温度传感器由于其廉价、精确、线性、低功耗、小型化等特点必将得到更大的发展。
模拟信号相关文章:什么是模拟信号
dc相关文章:dc是什么
传感器相关文章:传感器工作原理
热电偶相关文章:热电偶原理
评论