数字温度传感器.docx
《数字温度传感器.docx》由会员分享,可在线阅读,更多相关《数字温度传感器.docx(15页珍藏版)》请在冰豆网上搜索。
数字温度传感器
10位低功耗数字温度传感器的应用
武汉力源电子股份有限公司应用推广部(430079)苏亦雄
摘 要 采用10位低功耗数字温度传感器进行温度测控,可大大简化设计方案,系统性能也更加稳定。
重点介绍这种传感器的结构和使用。
关键词 数字温度传感器 OTI输出 故障排队
1概述
AD公司生产的数字温度传感器,内部包括一个带隙温度传感器和一个10位A/D转换器,精度可达0.25℃,是LM75的升级替换产品。
可广泛应用于个人计算机、电子测试设备、办公设备、家用电器、过程控制等场合。
该系列有:
AD7414、AD7415、AD7416、AD7814等四种型号,它们的工作原理相同,主要参数见表1,引脚排列如图1所示,引脚说明见表2。
表1主要参数
型号
AD7414
AD7415
AD7416
AD7814
接口方式
I2C/SMBUS
SPI/DSP
温度测量范围
-55~125℃-40~85℃
-40~85℃
-55~125℃
-55~125℃
超温指示
有
无
有
无
省电工作方式
无
有
最大并联数
3
8
1
工作电压
2.7~5.5V
转换时间
400μs
封装
SOT-23
SOT-23
SO-8/RM-8
SOT-23/uSOIC
图1引脚图
图2AD7416功能框图
2器件主要组成
以AD7416为例,器件功能框图如图2所示。
由带隙温度传感器、10位A/D转换器、温度寄存器、可设点比较器、故障排队计数器等组成。
2.1带隙温度传感器和10位A/D转换器
传感器将温度转换成电压,再由A/D转换器转换成10位数字量送温度值寄存器。
A/D转换器的一次转换时间约400μs。
表2引脚说明
引脚
名称
说明
GND
电源地
AS
逻辑输入,从三个I2C地址中选其一的地址输入
VDD
正电源电压,2.7~5.5V
SCL
串行总线时钟
OTI
超温掉电输出(漏极开路)
2.2温度值寄存器
温度值寄存器是一个16位只读寄存器,它的高10位D15~D6由A/D转换器送来的数字量以补码格式储存,低6位D5~D0未用,如表3所示。
温度数据格式见表4(小数点在D8、D7之间)。
该表中显示了A/D转换器的全部理论范围-128℃至+127℃。
实际应用中,温度的测量范围将取决于器件的正常工作温度范围,表中所列的数据为理论工作范围中的一些典型值。
SDA
数字I/O。
双向数据串行总线,漏极开路输出
A2~A0
串行总线地址可编程的低3位
DIN
串行数据输入
SCLK
串行时钟输入
片选输入
DOUT
串行数据输出
表3温度值寄存器
D15
D14
D13
D12
D11
D10
D9
D8
D7
D6
D5~D0
B9
B8
B7
B6
B5
B4
B3
B2
B1
B0
未用
2.3可设点比较器
它对实际测量温度与预先设定的高(TOTI)和低(THYST)门限(寄存在图2中所示的上、下限寄存器中)进行比较,并在超温指示输出端(OTI)输出一个指示信号。
OTI输出端需一个外部上拉电阻,通常为10kΩ。
图3是一简单的风扇控制器,当温度超过80℃时它将接通冷却风扇,而在温度降到75℃时关断风扇。
2.4故障排队计数器
为了避免在噪声环境下的误触发,器件提供了一个故障排队计数器。
例如,如果故障排队设置为4,则必须连续4次的测量温度大于TOTI(或小于THYST),OTI才输出有效。
任何打断了这种持续的读操作将复位故障排队计数器,所以如果有三次读数大于TOTI,接着有一次读数小于TOTI,则故障排队计数器将被复位而不会触发OTI。
3使用方法
3.1数字温度传感器的安装
数字温度传感器可用于表面或空气温度检测。
如用热传导的粘合剂将器件粘附在一个表面上,则管芯温度与表面温度之差大约在
表4温度值寄存器
温度
数字量输出
-128℃
1000000000
-125℃
1000001100
-100℃
1001110000
-75℃
1011010100
-50℃
1100111000
-25℃
1110011100
-0.25℃
1111111111
0℃
0000000000
+0.25℃
0000000001
+10℃
0000101000
+25℃
0001100100
+50℃
0011001000
+75℃
0100101100
+100℃
0110010000
+125℃
0111110100
+127℃
0111111100
0.2℃之内。
当环境空气温度与被测量的表面温度不同时,应将器件的背面和引线与空气隔离。
接地引脚是通向管芯的最主要的热量路径,必须保证接地引脚也与被测温的表面有良好的热接触。
数字温度传感器封装的小型化使其可以被安装在密封的金属探头中进行温度测量。
3.2器件地址
AD7814的地址由其片选信号
决定;
AD7416的地址由A0、A1、A2决定,地址格式为:
1001A2A1A0R/W;
AD7414和AD7415的地址见表5。
3.3多个数字温度传感器的系统
D7416串行地址的低3位可以由用户设置,允许从1001000至1001111共8个地址中选择。
图4示出了有8个AD7416接到一个串行总线的系统,它们的OTI输出“线与”,形成一个公共的中断请求线。
图3风扇控制器
表5AD7414/AD7415的地址
器件型号
AS引脚连接方式
器件地址
AD7414.0
Floal
1001000
AD7414.0
GND
1001001
AD7414.0
VDD
1001010
AD7414.1
Floal
1001100
AD7414.1
GND
1001101
AD7414.1
VDD
1001110
图4 8个AD7416并联
图5评估电路
4应用实例
硬件原理图见图5。
这是一个评估电路,可同时安装三片数字温度传感器:
AD7414、AD7416、AD7814,软件轮流显示各器件所测得的环境温度,并模拟OTI输出,用LED指示。
现作如下几点说明:
(1)各器件的地址不同,而SDA、DOUT引线可直接相连;AD7414、AD7416的OTI输出线与(低电平有效),现作超限报警指示。
(2)因温度的惯性系数较大,可采用简便有效的移动平均法、中值法、低通滤波法等进行软件滤波。
在实际应用中,可边采样,边计算其平均值,以其平均值作为温度采样值。
采样次数为8~16次即可。
(3)本系统采用LCM103液晶模块作温度显示,X25045作上电复位及看门狗用。
(4)AD7414、AD7416、AD7814的温度数据采样参考程序如下:
;伪定义
ADCH
EQU
32H
;采样值高字节
ADCL
EQU
31H
;采样值低字节
ADCNUM
EQU
30H
;采样次数
ADCS
BIT
P1.5
;AD7814片选
ADSCLK
BIT
P1.1
;AD7814时钟
ADDOUT
BIT
P1.7
;AD7814数据输出
ADSCL
BIT
P1.1
;AD7416时钟
ADSDA
BIT
P1.7
;AD7416数据I/O
······
;程序初始化
······
;AD7814的采样参考程序
SAMPLE78:
MOV
ADCNUM,#8;采样8次
SE078:
CLR
ADCS;选中AD7814
MOV
R7,#16;产生16个取数脉冲
MOV
ADCH,#0;A/D值高字节
MOV
ADCL,#0;A/D值低字节
SE178:
CLR
ADSCLK
NOP
NOP
JB
ADDOUT,SE178
SE378:
CLR
ADSCLK
NOP
NOP
MOV
C,ADDOUT
MOV
A,ADCL
RLC
A
MOV
ADCL,A
MOV
A,ADCH
RLC
A
MOV
ADCH,A
SETB
ADSCLK
NOP
NOP
DJNZ
R7,SE378
SETB
ADCS
······
;进行数据处理
DJNZ
ADCNUM,SE078
RET
;AD7416的采样参考程序;AD7414、AD7415与AD7416相似,但地址不同。
SAMPLE74:
MOV
ADCNUM,#8;连续采样8次
SE074:
MOV
R6,#9EH;片选AD7416的地址写操作
MOV
R5,#1;选中配置寄存器
MOV
R4,#18H;给配置寄存器赋值
LCALL
WRCOM;三字节的写操作
MOV
R6,#10011110B
MOV
R5,#3;选中温度上限寄存器
MOV
R4,#40H;上限温度=64
LCALL
WRCOM
MOV
R6,#10011110B
MOV
R5,#2;选中温度下限寄存器
MOV
R4,#20H;上限温度=32
LCALL
WRCOM
MOV
R6,#10011110B
MOV
R5,#0;选中温度寄存器
MOV
WREXE;两字节的写操作
MOV
DATA1,#10011111B;片选AD7416,读操作
LCALL
RDCOM
······
;数据处理
DJNZ
ADCNUM,SE074;采样未完,返回
WRCOM:
LCALL
BEGIN;三字节的写操作
MOV
DATA1,R6
LCALL
OUTBYTE;输出字节
MOV
DATA1,R5
LCALL
OUTBYTE
MOV
DATA1,R4
LCALL
OUTBYTE
LCALL
STOP
RET
WREXE:
LCALL
BEGIN;两字节的写操作
MOV
DATA1,R6
LCALL
OUTBYTE
MOV
DATA1,R5
LCALL
OUTBYTE
LCALL
STOP
RET
RDCOM:
LCALL
BEGIN;读操作
LCALL
OUTBYTE
LCALL
INBYTE;输入字节
MOV
ADCH,DATA1
LCALL
NACK;MCU使ADSDA数据线变为低电平
LCALL
INBYTE
MOV
ADCL,DATA1
LCALL
ACK;MCU使ADSDA数据线变为高电平
LCALL
STOP
RET
OUTBYTE:
MOV
R7,#8;输出字节
OE1:
MOV
A,DATA1
RLCA
MOV
ADSDA,C
MOV
DATA1,A
LCALL
CLOCK
DJNZ
R7,OE1
LCALL
ACK;AD7416产生应答
RET
INBYTE:
SETB
ADSDA;输入字节
MOV
R7,#8
INE1:
LCALL
CLOCK
MOV
A,DATA1
RLCA
MOV
DATA1,A
DJNZ
R7,INE1
RET
NACK:
CLR
ADSDA;AD7416无应答
LCALL
CLOCK;ADSDA数据线为0,一个时钟脉冲之后,ADSDA为1
RET
ACK:
SETB
ADSDA;AD7416有应答
LCALL
CLOCK;ADSDA为1,一个时钟脉冲之后,ADSDA为0
RET
STOP:
CLR
ADSDA;产生停止信号
SETB
ADSCL
NOP
NOP
NOP
NOP
SETB
ADSDA
RET
BEGIN:
SETB
ADSDA;产生开始信号
SETB
ADSCL
NOP
NOP
NOP
NOP
NOP
CLR
ADSDA
NOP
NOP
NOP
NOP
CLR
ADSCL
RET
CLOCK:
NOP
;产生时钟脉冲
SETB
ADSCL
NOP
NOP
NOP
NOP
MOV
C,ADSDA
CLR
ADSCL
RET
总之,采用数字温度传感器,可使设计者完全打破传统的设计模式:
传感器-运放-A/D转换,从而大大简化了设计方案,提高了电路的可靠性,轻松地实现标度变换过程。
(注:
可编辑下载,若有不当之处,请指正,谢谢!
)