如何简化微控制器和温度传感器之间的接口

描述

温度是一个模拟量,但数字系统通常使用温度来实现测量、控制和保护功能。如果您应用正确的技术和组件,将模拟温度转换为数字信息将不困难。本应用笔记讨论热比较器、PWM输出温度传感器和远端二极管(或热二极管)温度传感器。

温度是一个模拟量,但数字系统通常使用温度来实现测量、控制和保护功能。如果您应用正确的技术和组件,将模拟温度转换为数字信息将不困难。

使用微控制器(μC)读取温度在概念上很简单。μC 读取由热敏电阻分压器、模拟输出温度传感器或其他模拟温度传感器驱动的模数转换器 (ADC) 的输出代码(图 1)。某些控制器内置的ADC可以简化这种设计。ADC需要基准电压,该电压可由外部器件产生。例如,热敏电阻传感器的基准电压通常与施加在电阻-热敏电阻分压器顶部的基准电压相同。但是,这些系统可能会出现以下并发症:

传感器的输出电压范围明显小于ADC的输入电压范围。用于此目的的典型ADC可能具有8位分辨率和2.5V基准电压,通常相当于输入电压范围。如果传感器在目标温度范围内的最大输出仅为1.25V,则有效分辨率降至7位。要实现8位分辨率,可通过外部运算放大器增加增益或降低ADC的基准电压(这可能会降低某些ADC的精度)。

误差预算紧张。将热敏电阻-电阻组合或模拟传感器器件的误差与ADC提供的误差相结合,放大器失调电压、增益设置电阻的容差和基准电压源误差可能超出系统所能承受的误差。

您想要一个线性温度代码传递函数,并且您正在使用热敏电阻。 热敏电阻的传递函数是非常非线性的,但在许多应用所需的窄温度范围内,它可以足够线性。您可以使用查找表来补偿非线性,但此方法需要可能不可用的资源。

ADC输入有限。 如果要测量的温度数量超过可用的ADC输入数量,则可能需要添加多路复用器,这将增加成本和开发时间。

μC I/O 引脚的数量有限。 这对于内部ADC来说不是问题,但外部串行ADC将需要2到4个I/O引脚作为μC的接口。

双比较器

图1.在这个简单的接口中,ADC的基准电压来自电源电压。模拟温度传感器可以取代热敏电阻分压器。在这种情况下,ADC(可以是μC的内部)需要一个相当精确的基准电压源。

如果使用带数字接口的温度传感器,则设计问题会得到简化。同样,当ADC输入和μC I/O引脚供应不足时,具有基于时间或频率的输出的温度传感器可以缓解测量问题(图2)。例如,MAX6576温度传感器产生输出方波,其周期与绝对温度成正比。它采用 6 引脚 SOT23 封装,只需要很少的电路板空间。单个 I/O 引脚将此器件连接至 μC;在其内部计数器测量周期后,μC计算温度。

双比较器

图2.MAX6576产生周期与绝对温度成正比的方波;MAX6577产生与温度成比例的输出频率。由此产生的比例常数由 TS0 和 TS1 引脚设置为四个值之一。无需外部元件。

将接地或正电源电压施加到两个逻辑输入中的每一个,可以选择介于 10μs/°K 和 640μs/°K 之间的四个周期/温度比例常数之一。

相关的温度传感器(MAX6577)产生输出方波,其频率/温度因数可在0.0675Hz/°K和4Hz/°K之间编程。 这两款器件均通过减少所需的 PC 板空间、元件数量和模拟/数字 I/O 资源来简化温度采集。它们通过单个数字I/O引脚将温度数据传输到μC,并且增加了单个光隔离器,使其成为需要在传感器和CPU之间电气隔离的应用的理想选择。

为了测量不同位置的多个温度,选择变得更加复杂。热敏电阻或传统模拟传感器可以放置在适当的位置并连接到ADC输入,前提是ADC有足够的输入可用。作为替代方案,MAX6575将温度数据直接传输到μC;多达6575个MAX6575可连接至单个μC I/O输入。单条I/O走线将μC连接到这3个MAX6575(图6575)。为了测量温度,μC短暂地将I/O线拉低,在短暂的延迟后,第一个MAX<>也将I/O线拉低。该延时与绝对温度成正比,使用MAX<>上的两个引脚设置比例常数。

双比较器

图3.多个MAX6575采用延迟方案对温度信息进行编码,通过单个数字I/O引脚向μC传输多达<>个温度。

第一个传感器将线路保持低电平一段时间(5μs/°K),然后将其释放。在第二次延时后,通过将编程引脚设置为更大的比例常数来选择,第二个MAX6575将I/O拉低并保持在5μs/°K定义的间隔内。 这样,四个MAX6575可以连接到I/O线。另外四个MAX6575的长延时版本可以添加到同一I/O线路中。MAX6575L的延迟倍增器范围为5μs/°K至80μs/°K,MAX6575H的延迟倍增器范围为160μs/°K至640μs/°K。 因此,多达6575个MAX<>可以分布在系统的不同位置,通过一条I/O线连接到μC。

对于某些系统,所需的信息不是确切的温度,而是温度是高于还是低于特定值。此信息可以触发冷却风扇、空调、加热器或其他环境控制元素。在系统保护应用中,“过热位”可以触发有序的系统关断,以避免在系统电源切断时丢失数据。如上例所示,可以通过测量温度来获得这一单一信息,但这种方法需要的软件和硬件比功能所需的更多。

用电压比较器代替图 1 中的 ADC,可产生一个简单的 1 位输出,可以驱动 μC 上的单个 I/O 引脚(图 4)。同样,所示的热敏电阻可以用模拟电压输出温度传感器代替。大多数此类器件的温度和输出电压之间的关系不受电源电压的影响。为了保持不受电源电压变化的影响,将比较器的电阻分压器的顶部连接到基准电压源,而不是电源电压。

双比较器

图4.将传感器与比较器组合产生1位数字输出,可以警告μC温度偏移超过预定阈值或跳变点。

用热敏开关(如MAX6501)代替传感器-比较器组合,可以简化系统。这款单芯片器件集传感器、比较器、基准电压源和外部电阻器的功能于一身。当温度超过预设跳闸电平时,漏极开路输出变为低电平。该系列中的一些器件具有漏极开路输出,当温度低于跳变点时变为低电平(MAX6503),其他器件具有推/挽输出,当温度高于或低于跳变点时变为高电平(MAX6502、图5或MAX6504)。此外,通过将封装引脚连接到V+或地,可将迟滞设置为2°C或10°C。可用的跳闸温度范围为 -45°C 至 +115°C,增量为 10°C。

双比较器

图5.MAX6502在温度超过预设门限时产生逻辑高电平输出。

与MAX6575一样,将多个MAX6501或MAX6503连接到一条I/O走线,当一个或多个位置的温度超过门限时,μC可以得到通知。如果系统必须知道哪个位置已超过阈值,则每个开关输出必须连接到单独的I/O引脚。

这些传感器测量自己的芯片温度,并且由于芯片温度密切跟踪引线温度,因此每个传感器的放置应使其引线假定被监控元件的温度。但是,在某些情况下,您必须测量与传感器不紧密耦合的温度,例如功率ASIC的温度,其芯片可能比周围的电路板热得多。内部温度传感器可以使ASIC在响应温度故障时自行关闭,但仅凭这种能力缺乏准确性,并且很少警告系统即将发生的热过载。

通过在ASIC芯片上添加一个外部可访问的p-n结,您可以直接测量管芯温度,方法是强制两个或多个不同的正向电流通过检测结并测量产生的电压。两个电压之间的差异与绝对管芯温度成正比:

双比较器

我在哪里1和我2是强制通过p-n结的两个电流水平,V1和V2是结上产生的正向电压,k是玻尔兹曼常数,T是以开尔文度为单位的结的绝对温度,q是电子电荷。

当然,这种测量需要精密电路来产生精确的电流比并测量非常小的电压差,同时抑制功率ASIC芯片上大瞬变产生的噪声。幸运的是,Maxim的远端结温传感器将这些精密模拟功能与简单、通用的数字接口集成在一起。

例如,MAX6654以8位(1°C)分辨率测量远端结温,并通过SMBus将结果传送至μC(图6)。该设备最初设计用于监控PC中的CPU温度,具有其他功能,可消除控制器的一些开销。例如,MAX6654使用窗口比较器监测远端结温,当温度高于或低于μC先前下载到寄存器的限值门限时中断μC。 μC可以在启动时设置温度门限,然后忽略MAX6654,直到需要注意热问题为止,而不是连续轮询MAX6654。

双比较器

图6.MAX6654通过强制电流通过P-N结并测量产生的正向电压来测量外部P-N结(分立晶体管、ASIC或CPU的一部分)的温度。

MAX10采用6654引脚μMAX®封装,可靠近被测结点放置。反过来,检测结和MAX6654之间的短走线长度有助于避免噪声拾取。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分