新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 简化微控制器与温度传感器之间的接口

简化微控制器与温度传感器之间的接口

作者:时间:2012-03-28来源:网络收藏

摘要:数字系统常常需要测量、控制和保持,而是一个模拟量。如果采用适当的技术和元件,将模拟的量转化为数字量并不困难。本文介绍了几种简单的微处理器与电路。

本文引用地址:http://www.eepw.com.cn/article/149330.htm

关键词:温度、温度控制

原理上,微处理器对温度值的读取很简单。将热敏电阻或其它模拟温度的输出送入模数转换器(ADC),微处理器只需读取模数转换器输出的数字量即可。有些微处理器内部带ADC,在某种程度上了设计。ADC需要一个基准电压,可由外部器件产生。热敏电阻的基准电压通常与其电阻分压网络高端上的电压相同。这类温度测量系统存在的问题是:

· 输出电压范围远小于ADC的输入范围:用于温度测量的ADC一般是8位精度,采用2.5V基准电压,通常这也就是输入电压范围。如果在温度测量范围内传感器对应的最大输出仅为1.25V,则有效分辨率就下降为7位。为达到8位精度,必须利用外部运算放大器增加信号增益,或者降低ADC的基准电压(对有些ADC而言,这样会降低转换精度)。

· 误差裕量小:热敏电阻网络或其它模拟温度传感器误差、ADC的转换误差、运算放大器失调、增益设置电阻的公差、以及电压基准误差的总和可能已超出系统的容差。

· 非线性:热敏电阻的传递函数具有严重的非线性,许多应用场合,在测量的很小温度范围之内它近似于线性。还可以通过查表法来补偿非线性,但这种方法所需要的资源可能难以获得。

· ADC的输入端口有限:如果需要测量的温度点比ADC的输入端口多,就需要增加多路切换器,这会增加成本和开发时间。

· 微处理器的I/O引脚有限:对于内置ADC的微处理器这不成为问题,但是外部串行ADC就需要2到4个I/O线与微处理器进行通讯。

如果采用数字输出的温度传感器,上述设计问题就大为。当ADC输入端口和微处理器I/O引脚不够用时,时间或频率输出的温度传感器都可以解决问题。MAX6576温度传感器输出方波的周期与绝对温度成正比。它采用6引脚SOT-23封装,只占很小的电路板面积。与微处理器只通过一条I/O线进行通讯。微处理器的内部计数器测出周期后,可直接计算出温度值。两个逻辑输入端分别连接到地或电源正端,可设置4种从10μs/°k到64μs/°k周期/温度比例系数。

芯片MAX6577输出方波的频率与温度成正比,比例系数在0.06Hz/μk到4 Hz/μk可调。这两种器件仅需一条I/O口线即可将温度测量数据送至MPU,在需要将温度传感器与MPU进行隔离的场合,只需增加一个简单的光耦即可,了温度测量电路,节省了电路板面积、元件数量、以及模拟/数字I/O口的资源。

对于需要测量多点温度的应用,方案选择比较复杂。假设ADC有足够多的输入通道,可将热敏电阻或传统的模拟传感器放置在合适的位置上,并连接到ADC。另一个方案是采用MAX6575,它可将温度测量数据直接送到MPU,一条I/O线最多可挂8片MAX6575(图1)。MPU只需短暂拉低I/O口线电平,即可启动测量。经过一定延时,第一片MAX6575拉低I/O口线,此时延长度与绝对温度成正比,比例系数通过MAX6575的两个引脚设置。

图1中,第一片MAX6575按与绝对温度成正比的时延(5μs/°k)拉低I/O线电平后释放I/O线,第二片MAX6575通过设置端设一个更长的时延常数,经过这个时延,拉低I/O线电平并按5μs/°k的比例系数保持一定时间。4片MAX6575可按这种方式联在一条I/O线上。另外4片更长时延设置的MAX6575也可联在同一I/O线上。

MAX6575L的时延常数在55μs/°k到505μs/°k ,MAX6575H在1605μs/°k 到6405μs/°k之间。这样,最多可有8个MAX6575放置在测量系统的不同位置,通过一条I/O线与MPU相连。
有些系统,不需要测量精确的温度值,只需判断温度是否高于或低于某个温度点。这个信号可用于风扇、空调、加热器或其它环境控制设备。在系统保护应用中,过热信号可触发有序的系统关断状态以避免系统电源切断时丢失数据。这个过热信号可用前面提到的测量方法获得,但对于这种简单应用来说,占用了过多硬件和软件资源。

MAX6501/MAX6502开关型温度传感器可替代温度传感器和比较器,使系统简化(图2)。这种单芯片集成了温度传感器、电压比较器和电压基准。当温度超过了预设的阈值时,漏极开路输出给出一个低电平信号。同MAX6575一样,多个MAX6501可连在同一条I/O线上,MPU可监测一个或多个位置是否有温度报警,如果系统需要监测具体在哪个位置上有温度告警发生,则每个开关输出必须连到不同的MPU I/O线上。

上述芯片监测的是它们自身的管芯温度,因为管芯温度非常接近管脚温度,所以这些芯片应放置在合适的位置,使它们的管脚温度与被监测器件的温度近似相同。

有些情况需要监测的温度点无法与传感器芯片建立热耦合关系----例如功率ASIC,它们内部的管芯温度远远高于外部电路板的温度。一个内置的温度传感器可以在温度过高时关断功率ASIC自身。但这种方式的精确度不够,很难在出现过热故障之前向系统发出警告。

如果在ASIC的管芯上增加一个可外部连接的P-N结,就可直接测量管芯温度。方法是使用2个或多个正向电流来驱动这个P-N结,测量结电压。两次电压的差值与管芯的绝对温度成正比:V2-V1=KT/q(LnI2/I1)。I1和I2是两次不同的驱动电流,V1和V2是测得的P-N结电压,K是波尔兹曼常数,T是P-N结的绝对温度,单位是开尔文度,°k,q是电荷量。

这种测量方法需要产生精确的驱动电流比,测量出微小的电压差信号,同时又要尽量抑制功率ASIC的瞬变过程带来的噪声信号。Maxim的远端结温传感器可将这些精密的模拟电路功能及一个简单灵活的数字集成在一起。

MAX1618,可以8位(1℃)的精度,测量远端结温,并通过SMBus总线将结果送入MPU(图3)。该芯片用于监测PC机的CPU温度,还可减轻MPU的一些负担。MAX1618通过一个窗口比较器检测管芯结温度,当温度高于或低于MPU控制寄存器内的设定温度时,便中断MPU的工作。



评论


相关推荐

技术专区

关闭