温度传感器MAX6662的运用研究
1 温度传感器MAX6662
MAX6662是一款12位+符号位温度传感器.在单片封装中还集成了可编程过温报警和三线(SPI兼容)串行接口。它运用内部A/D转化器将其管芯温度转化为数字量。温度数据以13位字的方式存储在温度寄存器中,分辨率为O.062 5℃,温度数据可在恣意时间通过串口读取。作业电压规模为+3~+5.5 V,温度规模为一55~+150℃。
1.1 MA×6662的引脚界说
如图l所示,MAX6662选用8引脚SO封装。其接口信号描绘如下:SCLK为串行时钟输入;CS为片选信号,低电平时使能串行数据的输入、输出;SIO为串行数据输入输出,双向口;ALERT为过温报警,温度过高或过低时默许输出低电平,可编程设置为高;OT为高温报警,温度过高时默许输出低电平,可编程设置为高。其间,ALERT和OT均为漏极开路,运用时需求加上拉电阻。
1.2 MAX6662作业寄存器
MAX6662有6个作业寄存器:温度寄存器、装备寄存器、THYST寄存器、TMAX寄存器、TL0W寄存器和THIGH寄存器。
(1)温度寄存器
温度寄存器为只读寄存器,MSB位为符号位(bitl5);接下来的12位是温度数据位,最新转化的温度数据以℃为单位存储于温度寄存器,其间高8位表明温度整数位,低4位为小数位;3位最低有用位为温度标志位,显现报警信息,别离为Tover标志、Thigh标志、Tlow标志。
(2)装备寄存器
装备寄存器只运用了第8~12位,用于装备MAX6662的作业形式,如表1所列。
(3)温度边界寄存器
TLOW寄存器、THIGH寄存器和THYST寄存器用于设置温度边界来触发ALERT;TMAX寄存器、THYST寄存器用于设置0T的温度极限。这些温度边界寄存器运用9位高位(符号位和8位数据位),双精度格局,1位最小单位,剩下7位保存。
1.3 MAX6662指令字
指令字第l位为高电平,代表传输开端;第2位是读/写位,高电平时读。总共有11个有用指令,温度转化继续进行而且可通过串行口异步读取。一旦读取温度寄存器,正在进行的转化失利而且把之前的转化成果输出。指令字界说如表2所列。
1.4 MAX6662的作业形式
(1)比较形式
此形式下,关于ALERT,当温度超越TMAX寄存器的值或低于TLOW寄存器的值时,ALERT输出低电平;温度低于THIGH—THYST,或高于TLOW+THYST时,ALERT输出高电平。
关于OT,当温度超越TMAX的值时树立OT(即变低);温度低于TMAX–THYST时,OT输出高电平。读操作均不能复位OT、ALERT,默许条件下,OT、ALERT均为低有用的输出信号,但能够在装备寄存器中装备为高。
(2)关断形式
MAX6662的一个特征是可编程的关断形式。将装备寄存器的关断方位1,即可进入关断形式。关断形式下,除了POR电源复位和串口外,其他作业均被制止;一切寄存器的值都被保存,温度寄存器保存最终的温度转化值。
1.5 MAX6662的通讯协议与数据格局
串行接口包含3条信号线:片选CS(低有用)、双向数据线SIO和串行时钟SCLK。其间,CS和SCLK只受主机操控,主机和MAX6662一起操控SIO。当主机发送数据时,数据在上升沿被送入MAX6662。读数据时,数据在下降沿被读出。指令字节和数据字的MSB位首要写入或读出。前8个时钟周期用于传送指令字,指令字由SIO输入MAX6662。该指令字决议接下来16个周期的数据由主机仍是MAX6662来操控。假如由MAX6662来操控SIO,则开端于第8个时钟周期的下降沿。通讯时序如图2所示。
温度寄存器存储12位的转化数据和1位温度符号位,能确认的温度规模为一55~+155℃,数据传送格局如表3所列。
2 运用电路设计
2.1 硬件电路设计
MAX6662传感器与MCS一51系列单片机AT89S52的硬件接口电路如图3所示。
MAX6662的S10、SCLK、CS脚别离与AT89S52的P1.0、P1.1、P1.2脚衔接,用于模仿三线SPI总线,以完结传感器串行数据的传输。报警端口OT和ALERT均为漏极开路端,运用时需求接上拉电阻,因而均通过10 kΩ的电阻接地;一起别离衔接AT89S52的P3.3和P3.2脚,用于触发外部中止,完结报警操作。MAX6662的VCC脚经0.1μF的电容接地,用于滤除搅扰。
2.2 传感器数据的读取
每次有用的数据传输只能运用24个时钟周期,数据的读取分为2步(读取前应首要置CS为低):
①前8个周期,单片机向传感器发送读取寄存器指令,能够读取传感器一切寄存器的值。此刻为单片机向传感器串行发送数据,数据在时钟的上升沿送入传感器。
②后16个周期,传感器将寄存器的值串行送入数据线SIO,由单片机接纳。此刻为单片机接纳传感器的串行数据,数据在时钟的下降沿送入单片机。即由MAX6662来操控SIO,数据的传输开端于第8个时钟周期的下降沿。
数据读取程序如下:
程序运转完毕后,传感器送到单片机中的值就会存入变量dat中,以便后边的数据处理运用。
2.3 传感器数据的写入
向MAX6662传感器中写数据的功用主要是用于装备传感器或是规则报警温度值,每次写入也有必要是24个时钟周期。数据的写入也分为2步:
①前8个周期完结的操作与数据的读取相同,指令字各位在时钟的上升沿送入传感器。
②后16个周期,主机操控SIO数据线即将写入的数据一位一位地送入数据线SIO。与读取数据不同的是,数据的写入开端于第9个时钟周期的上升沿,因为主机发送数据时,数据在上升沿时送入传感器。
写指令的函数与数据读取相同,数据写入程序如下:
初始化时,应首要把数据赋值给wdata,再调用此函数。
结 语
本文提出了用单片机3根I/O口线模仿温度传感器MAX6662的SPI总线的办法。经试验验证,彻底可行,而且因为MAX6662用于温度丈量时具有高精度和附加报警功用,因而在需求准确温度操控和温度丈量等方面也会有广泛的运用。