概述:DS1629是Dallas公司研制的2 Wire数字温度计和实时时钟芯片。DS1629由6个部分组成:数字温度传感器、实时时钟/日历、二线串行接口、数据寄存器、温度和时钟报警比较器以及时钟分频器和缓冲器。

一、DS1629引脚图

引脚功能解释

三、DS1629内部方框图

四、DS1629极限参数

五、DS1629操作和使用
  由厂商校准的温度传感器无需任可外部器件。DS1629出厂时设定为一上电即开始连续测量温度,这一操作类以后台工作,主控CPU可定时读取温复寄存器。而不会影响温度的测量与转换。用户也可以禁止DS1629上电自动测温,以降低功耗。
    用户可设置DS1629为单次转换,即完成一次转换,写数据到温度寄存器(见表2)中,然后回到待机状态。也可设为连续转换。转换时间典型值为400ms,最大值为1000ms,测量精度为±2.0℃,以0.5℃为刻度输出一个9bit的温度测量值,以指示器件所在的环境温度。其测温范围为-55~+125℃。
无论何种模式,用户都可用读温度命令(AAh)得到温度寄存器中的数据。温度寄存器中低字节的最高位置1或清0,可得到0.5℃的分辨率。温度数据用二进制补码表示,格式如表3所列。

实时时钟/日历以BCD码形式提供,备有2100年以内的闰年补偿,提供12/24小时制两种模式。实时时钟/日历寄存器格式如图4所示(填0位为只读位,且读出值恒为O),其访问命令为COh。   

    CH:时钟暂停位。CH=0,允许分频器工作:CH=1,禁止分频器工作。上电缺省为0时,一上电分频器就有信号输出。

    1 2/24:字节2的D 6计时模式选择位。0为24小时制,1为12小时制。字节2的D5在24小时制时与D4一起构成小时的高位(O、1、2),在12小时制时,D5为O,表示AM;D5为1,表示PM。
   
    IDS1629支持二线制串行数据传输协议。在总线上DSl629作为从器件,与主控CPU通过SDA和SCL.端连接。由生控CPU产生串行时钟,对总线进行访问。

    总线协议定义如下:

 ●在总线空闲状态下,即数据线与时钟线均保持高电平时才可以开始数据传输。 

 START位(数据传输起始位):时钟线为高电平时,数据线由高变低,定义为一个START位,表示开始传输一帧数据。

 STOP位(数据传输停止位):时钟线为高电平时,数据线由低变高,定义为一个STOP位,表示一帧数据传送的结束。 

 ●有效数据位:在一个START位后,在时钟的高电平期间,数据线上的固定电平被认为是一位有效数据。在时钟的低电平期间,可以改变数据线的状态。一个数据位对应一个时钟脉冲。在传输数据的过程中,当时钟线为高电平时,数据线必须保持固定的电平,如果在这时改变数据线的状态,将会被当作是START位或sTOP位而造成数据中断。

 ●每传输一帧数据都要以START开始,以sTOP结束,也可以再用一个sTART位来开始新一帧数据传输。一帧数据的字节数没有限制。完全由主控CPU决定。每传送一个字节,DS1629回送一个ACK信号,表示接收。

 ●DS1629的最大时钟频率为400kHz。 、

 ●主控CPU在访问串行总线上的器件时,首先发送START位,然后需要发送一个控制字节。这个控制字的定义如下:

 D7、D6、D5、D4:控制码,DS1629为1001。

 D3、D2、D1:地址码,DS1629的地址码由硬件固定为111,因此在总线上只能挂1片DS1629,否则会发生地址冲突。但总线上最多可以挂7片其它串行器件。只要它的控制码是1001、且地址码不是111。

 DO(R/W):读写位,DO为1时,表示读操作,DO位为O时。表示写操作。在S1ART位之后,DS1629将在数据线上检测控制字,在收到控制字后回送一个ACK信号,根据其中的读写位将工作模式设为接收或发送。
 
 访问配置/状态寄存器的命令为ACh。读写操作高字节在先。状态寄存器的格式如表5所示。

 1SH:温度转换模式选择。1SH=1时,为单次转换模式,DS1629在收到启动温度转换命令后进行一次温度转换;1SH=0时,为连续转换模式,此时DS1629将连续进行温度转换。并将最近一次的结果保存在温度寄存器中。出厂缺省设置为0。

 POL:中断输出状态选择。POL=O,中断输出低电平有效;POL=1,中断输出高电平有效。出厂缺省设置为O。
 
 CNV:上电工作状态选择。CNV=0(出厂缺省设置)时,一上电DS1629便开始温度转换。CNV=1,上电后DS1629则处于待机状态。用户可根据对系统功耗的要求,选择1SH和CNV两个标志位的状态

 A0、A1:中断输出选择(见表6)。

OS0、OS1:分频输出选择(见表7)。

 CAF:时间中断标志,只读。当实时时间与所设置的中断时间一致时,CAF位被置1,直到主控制器对时间或时间中断寄存器进行读写操作后自动清O。CAF为O表示实时时间不符合中断条件。上电时自动被清0。

 TAF:温度中断标志,只读。当所测温度达到或超过TH寄存器中的温度值时,TAF位被置1,直到所测温度降至TL寄存器中温度值以下时才被清0。TAF为O表示所测温度不符合中断条件。上电时自动被清0。

 CAL:时间中断锁存位,只读。当发生时间中断时被置1。一旦被置1,将保持1状态直到DS1629重新上电复位。CAL为0表示在DS1629上电工作期间从未发生时间中断。上电时自动清O。

 TAL:温度中断锁存位。只读位。当发生温度中断时被置1,将保持1状态直到DS1629重新上电复位。TAL为0表示DS1629在上电工作期间所测得的温度从未超出TH寄存器中所设置的温度值。上电时自动清0。