热敏电阻、热电偶、模拟硅温度传感器和镍/铂电阻式温度检测器(RTD),需要进行校准以达到所需温度精度。作为混合信号器件数字温度传感器则不需要进行校准,它们具有集成数字逻辑,工作温度范围为-55℃到50℃,采用绝对温度比例(PTAT)电路,检测二极管基极-发射极电压(VBE)变化来测量本/远程温度。它具有简单集成硬件来保存温度值并对温度设定点、器件工作模式、睡眠模式以及快/慢转换速率进行编程设定。数据IC间总线(I2C总线)、系统管理总线(SMBus)或串行外围接口(SPI)来通信。实际上,每个器件生产时均会进行调整,温度检测精度达到±0.5℃以内更高,性价比和可靠性均很高。这些优点使数字温度传感器几乎任何可以想象到应用中都受到欢迎,包括PC、通信设备、手持设备和工业控制设备等。
具体来说,数字温度传感器主要构成包括一个双电流源、一个Δ-Σ
A/D转换器、数字逻辑和一个通向数字器件(如与一个微处理器或微控制器连接)串行接口(如I2C总线、SMBus或SPI)。数字温度传感器有两种:本或远程温度传感器,它们均采用某种方法强制两个成比例电流一个连接成二极管形式NPN或PNP晶体管,均用于测量所导致VBE变化,使用Δ-ΣA/D转换器对电压采样并将数值转换成数字格式。强制电流一般采用约10:1比例。强制施加比例电流和测量两个VBE差值,可消除二极管上IS这一与工艺相关参数一阶效应。
每个温度传感器生产过程中均会进行调整,与要使用二极管理想参数匹配。远程二极管特性取自2N3904/6。本温度传感器硅衬底上一个简单NPN或PNP结构,远程温度传感器几乎总是集成一个本温度传感器。,远程传感器作用几乎总是像两个传感器一样。本温度传感器同一封装集成了一个热二极管。本传感器,封装和位于IC衬底上本二极管,热时间常数(即达到最终温度63.2%所需时间)为几分钟。总线负载过重或转换过快会造成器件自加热并影响温度精度。
温度数据变为可用所需时间称为转换速率。该速率由器件内部振荡器和A/D分辨率决定,一般低于100Hz或长于10ms。转换速率越快,温度数据可检索速度就越快,同时温度传感器消耗功率也就越大。存自加热效应,转换速率通常较低。图1显示了一个远程温度传感器和/或本温度传感器简化框图。
图1:数字温度传感器简化框图
I2C总线或SMBus温度传感器优点
最流行数字温度传感器是那些带有串行总线接口传感器。温度传感器总线选择很大程度上取决于所选微处理器或控制器上有哪些可用接口。控制器选择取决于工程师对其拥有经验多少。需要经常进行数据流传输系统数据,SPI是首选,它拥有较快时钟速率,速率可从几兆赫兹到几十兆赫兹。,系统管理活动,如读取温度传感器读数和查询多个从器件状态,需要多个主器件共存于同一系统总线上(系统冗余常会要求这一点),面向低功耗应用,这时I2C
或 SMBus将是首选接口。下面几部分将介绍每种串行总线及其优缺点。
1. SPI
SPI
是一种四线制串行总线接口,为主/从结构,四条导线分别为串行时钟(SCLK)、主出从入(MOSI)、主入从出(MISO)和从选(SS)信号。主器件为时钟提供者,可发起读从器件或写从器件操作。这时主器件将与一个从器件进行对话。当总线上存多个从器件时,要发起一次传输,主器件将把该从器件选择线拉低,然后分别
MOSI 和 MISO 线启动数据发送或接收。
SPI
时钟速度很快,范围可从几兆赫兹到几十兆赫兹,且没有系统开销。SPI
系统管理方面缺点是缺乏流控机制,主器件从器件均不对消息进行确认,主器件无法知道从器件是否繁忙。,必须设计聪明软件机制来处理确认问题。同时,SPI
也没有多主器件协议,必须采用很复杂软件和外部逻辑来实现多主器件架构。每个从器件需要一个单独从选择信号。总信号数最终为
n+3 个,其中 n
是总线上从器件数量。,导线数量将随增加从器件数量按比例增长。同样, SPI
总线上添加新从器件方便。额外添加每个从器件,都需要一条新从器件选择线或解码逻辑。图
2 显示了典型 SPI 读/写周期。址或命令字节后面跟有一个读/写位。数据
MOSI 信号写入从器件, MISO 信号自从器件中读出。图 3显示了
I2C总线/SMBus以及SPI系统框图。
图2:SPI 典型读/写周期
图3:(a)I2C总线/SMBus系统接口;(b)SPI 系统接口
2. I2C总线
I2C
是一种二线制串行总线接口,工作主/从模式。二线通信信号分别为开漏 SCL 和
SDA
串行时钟和串行数据。主器件为时钟源。数据传输是双向,其方向取决于读/写位状态。每个从器件拥有一个唯一
7 或 10
位址。主器件一个起始位发起一次传输,一个停止位终止一次传输。起始位之后为唯一从器件址,再后为读/写位。
I2C总线速度为从0Hz到3.4MHz。它没有SPI
那样快,但系统管理器件如温度传感器来说则非常理想。I2C
存系统开销,这些开销包括起始位/停止位、确认位和从址位,但它拥有流控机制。主器件完成接收来自从器件数据时总是发送一个确认位,其准备终止传输。从器件其接收到来自主器件命令或数据时总是发送一个确认位。当从器件未准备好时,它可以保持或延展时钟,直到其再次准备好响应。
I2C允许多个主器件工作同一总线上。多个主器件可以轻松同步其时钟,所有主器件均采用同一时钟进行传输。多个主器件可以数据仲裁检测哪一个主器件正使用总线,避免数据破坏。
I2C总线两条导线,新从器件只需接入总线即可,而无需附加逻辑。图4 显示了典型
I2C总线读/写操作。
图4:I2C总线/SMBus典型读/写操作
3. SMBus
SMBus是一种二线制串行总线,1996年第一版规范开始商用。它大部分基于I2C总线规范。和
I2C一样,SMBus不需增加额外引脚,创建该总线主增加新功能特性,但只工作100kHz且专门面向智能电池管理应用。它工作主/从模式:主器件提供时钟,其发起一次传输时提供一个起始位,其终止一次传输时提供一个停止位;从器件拥有一个唯一7或10位从器件址。
SMBus与I2C总线之间时序特性上存一些差别。首先,SMBus需要一定数据保持时间,而
I2C总线则是从内部延长数据保持时间。SMBus具有超时功能,当SCL太低而超过35
ms时,从器件将复位正进行通信。相反,I2C采用硬件复位。SMBus具有一种警报响应址(ARA),当从器件产生一个中断时,它不会马上清除中断,一直保持到其收到一个由主器件发送含有其址ARA为止。SMBus只工作从10kHz到最高100kHz。最低工作频率10kHz是由SMBus超时功能决定。