摘 要:MAX6625是美国Maxim公司生产的一种新型智能温度传感器。它在风扇控制、温度告警、系统温度测量及工业设备中得到了广泛应用。介绍MAX6625的功能和结构,分析MAX6625的工作原理。给出采用MAX6625进行温度测控的电路及编程。
关键词:MAX6625;智能数字温度传感器:12C总线:分布式控制
1 引言
在系统温度测量和控制中,温度传感器的选用正从模拟式向数字式、从集成化向智能化的方向飞速发展。MAX6625是美国Maxim公司生产的一种新型智能温度传感器,它在风扇控制、温度告警、系统温度测量及工业设备中得到广泛应用。MAX6625将温度传感器、9位A/D转换器、可编程温度界限报警和I2C总线串行接口集成在同一个芯片中。MAX6625内含9位A/D转换器.可代替LM75。内置的VPN引擎来实现。
2 结构和引脚功能
MAX6625型智能数字温度传感器主要包括带隙基准电压源及温度传感器、A/D转换器、5个控制寄存器(地址指针寄存器、温度数据寄存器、上限温度寄存器、下限温度寄存器和配置寄存器)、设置温度点比较器、故障排队计数器和I2C串行总线接口电路等。其结构框图如图1所示。
MAX6625采用SOT23—6小型化封装.如图2所示。
其引脚功能如下:SDA是12C兼容的串行双向数据线;SCL是12C兼容的串行时钟线;ADD是:I2C兼容的地址设置端;0T是温度告警输出端;Vs是电源;GND是电源地。
3 MAX6225的工作原理
MAX6625通过FC总线接口由主控制器进行编程.设置OT端的告警模式和极性、温度告警点和读出测量温度数据。MAX6625为从器件,支持I2C总线的字节和字读,写操作命令。一条12C总线可接4个MAX6625.可实现一点和多点温度测量与控制。
3.1 地址选择
MAX6625用ADD引脚设置地址。当ADD端连接到GND、Vs、SDA、SCL中的任意一个引脚时表示一个独立的地址,分别是1001000B、1001001B、1001010B、100101lB。当主控制器访问MAX6625时,首先将地址送到12C总线。
3.2 MAX6625的初始设置
在进行正常工作之前应首先设置好MAX6625OT告警端的工作模式和极性、告警的高温点和低温点。这些功能的实现是由主控制器通过12C总线向MAX6625内部的相关寄存器写特定的数据完成的。下面介绍MAX6625内部的5个寄存器、OT告警工作模式和极性确定及寄存器数据的写入过程。
3.2.1 MAX6625的控制寄存器
(1)地址指针寄存器
主控制器通过.I2C总线向地址指针寄存器写人数据.确定其他4个寄存器之一被选择。地址指针寄存器的数据格式和其他寄存器的选择如表1所示。当Dl、D0=00时,选择温度寄存器;当D1、D0=01时.选择配置寄存器;当D1、DO=10时,选择低温寄存器;当Dl、DO=11时,选择高温寄存器。
(2)温度寄存器
MAX6625温度寄存器的长度是16位。存放最新的温度转换数据,D15为符号位。D14~D7为有效数据.D6~DO位为0。温度寄存器中的数据是摄氏温度的补码。1LSB表示O.5℃。
(3)高温,低温寄存器
MAX6625高温,低温寄存器的长度是16位,其中9位有效数据。不用的位填0。数据格式与温度寄存器相同。
(4)配置寄存器
配置寄存器是8位的读/写寄存器,其数据格式和作用如表2所示。其中D7、D6、D5位为000。D4、D3位为故障排队深度设置位,当D4、D3=00时,故障排队深度为l:当D4、D3=01时,故障排队深度为2:当D4、D3=10时。故障排队深度为4;当D4、D3=ll时。故障排队深度为6。D2为OT告警极性选择位。当D2=0时,低电平有效;当D2=1时,高电平有效。D1为比较和中断模式选择位,当D1=0时为比较模式:当DI=I时中断模式。DO为掉电模式控制位。当D0=0时为正常工作;当D0=I时为掉电模式。
3.2.2 OT告警模式与极性
配置寄存器中的D1数据位用来设置OT端的告警模式。当Dl=0时为比较模式;当D1=1时为中断模式。在比较模式下,当连续转换超出高温寄存器中的值(THIGH)的数目等于故障排队深度时.OT告警。当连续转换低于低温寄存器中的值(TLOW)的数目等于故障排队值时,OT告警清除。例如:THIGH设置为+100℃,其TLOW的设置为+80℃,故障排队深度设置为4,直到4个连续转换超出+100℃时,OT才告警。当4个连续转换都低于+80℃时,OT将退出告警。在中断模式中,MAX6625的高温点或低温点告警是基于前一个温度告警。OT端有低温告警也有高温告警,确定0T端告警依赖于某一条件。假设上电后故障告警被清除,MAX6625出现一个高温点告警。在高温点告警之后,MAX6625又出现一个低温点告警。在低温点告警之后,MAX6625出现一个高温点告警.高温点或低温点告警按一定的节拍交替。一旦任意一个故障发生,它激活的告警是不确定的,直到读温度寄存器的操作之后才可断定。然后对应每一个故障告警。同样,任何一个告警的激活以故障排队深度为条件。图3表示OT端在告警极性为低电平时的二种告警模式示意图。在OT告警时,为防止干扰引起的错误告警.MAX6625内部设有故障排队深度计数器,在高温或低温告警出现连续次数等于编程设置的故障排队深度数时才触发告警。图3中的故障深度为4。
3.2.3 写配置寄存器、高温寄存器和低温寄存器
主控制器向MAX6625配置寄存器写数据的过程是先写MAX6625地址,再写配置寄存器地址到指针寄存器.然后写配置寄存器数据,其时序如图4所示。高,低温寄存器的写时序与配置寄存器的写时序基本相同.但注意高,低温寄存器是16位数据格式。
3.3 读温度寄存器
在简单的温度控制中,只需进行初始设置即可。在温度测量与显示应用中则需要读出MAX6625温度寄存器的当前值。其读取过程是首先选择要读的MAX6625,然后选择读取的寄存器,在读寄存器数据时,重写MAX6625的地址,但R/W位应为1。
4 MAX6625的应用与编程
MAX6625可应用在风扇控制、温度告警、系统温度控制和工业设备中。这里列举分布式温度监控与显示的应用实例.仅给出单片机与4个MAX6625的连接电路。如图5所示。在应用编程时,应根据系统要求首先用单片机设置MAX6625,其次是读MAX6625中温度寄存器的值。
4.1 MAX6625的设置程序
在分布式多点温度测量或监控应用中,MAX6625的初始设置包括MAX6625的选择、配置寄存器的数据写入及高、低温寄存器的写操作。下面以器件1为例进行编程。由于AT89C51无专用的12C总线接口.因而这里以模拟12C接口进行编程。
(1)配置寄存器的写入程序
WRITE:LCALL START :产生起始位
MOV A.#10010000B;MAX6625器件1
地址.R/W=O
LCALL WRBYT :写器件地址
LCALL CACK :查询MAX6625应答
JB FO,WRITE ;无应答重新开始
MOV A,#00000001B;有应答
LcALL WRBYT :写入配置寄存器地址
LCALL CACK
JB F0,WRITE
MOV A,#00010000B:写配置寄存器数据
LCALL WRBYT
LCALL CACK
JB FO,WRITE
LCALL STOP ;产生停止位
RET
(2)高,低温寄存器的写入程序
WRWEl:LCALL STAlit ;产生起始位
MOV A.#10010000B;MAX6625器件l
的地址写,R/W=O
LCALL WRBYT :写器件地址
LCALL CACK :查询MAX6625应答
JB F0,WRITEl ;无应答重新开始
MOV A.#00000011B;有应答
LCALL WRBYT :写入高温寄存器地址
LCALL CACK
JB F0,WRITEl
MOV A,#01010000B;写高温寄存器高
8位
LCALL WRBYT
ICALL CACK
JB FO,WRITEl
MOV A,#00OO000B:写高温寄存器低8位
LCALL WRBYT
LCALL CACK
JB F0,WRITEl
LCALL STOP
RET
低温寄存器的编程设置只要改变地址和数据即可。
4.2 MAX6625的寄存器读程序
MAX6625的寄存器读程序包括温度寄存器的读、高,低温寄存器的读和配置寄存器的读。温度寄存器的读程序如下:
READ:LCALL sTART
MOV A.#10010000B
IJCALL WRBYT:写读MAX6625的地址
LCALL CACK
JB F0,READ
MOV A.#0000000B
LCALL WRBYT :写温度寄存器的地址
LCALL CACK
JB F0,READ
LCALL START
MOV A,#10010001B;R,W=1
LCALL WRBYT :写读MAX6625的地址
LCALL CACK
JB F0,READ
LCALL RDBYT :读温度寄存器高8住
LcALL MACK :主控制器回答
LCALL RDBYT :读温度寄存器低8位
LCALL MNACK :主控制器不回答
LCALL STOP
RET
因篇幅所限.相关子程序省略。MAX6625智能数字温度传感器可配合各种徽控制器构成智能化温控系统。它还可以脱离微控制器单独工作.构成一个温控仪。