本应用笔记向用户介绍DS5000(兼容8051)微控制器与DS1620数字温度传感器的接口软件。DS1620通过3线串行数字接口进行通信。提供的软件代码用于读取DS1620温度寄存器,并根据计数器和斜率累加器寄存器的数据计算高分辨率结果。
介绍
DS1620数字温度计和恒温器提供9位温度读数。它具有三个报警输出,因此该设备也可以充当恒温器。DS1620集成了3线接口,可使用兼容8051的DS5000安全微控制器进行控制。DS1620直接连接到DS5000微控制器的I/O端口,3线握手和温度读数由低级软件驱动程序处理,如本文档所示。
DS1620的温度控制
DS1620的恒温输出允许它直接控制加热和冷却设备。T高如果器件超过TH寄存器中设置的预定义限值,则驱动为高电平。输出 T高可用于指示已达到或超过高温容限边界,也可以用作闭环系统的一部分,以激活冷却系统并在系统温度恢复到容差时将其停用。T低当器件温度低于TL寄存器中设置的限值时,被驱动为高电平。T低保持工作状态,直到DS1620的温度大于低温寄存器TL中存储的值。T.COM当温度超过TH寄存器中设置的限值时,被驱动为高电平,并保持高电平,直到器件温度降至TL寄存器中设置的温度以下。通过这种方式,可以获得任意数量的用户定义的温度滞后。
对于典型的恒温器工作,DS1620将工作在连续模式。但是,对于在特定时间只需要一个读数或为了节省功率的应用,可以使用单次模式。请注意,恒温器输出(T高, T低, T.COM) 在单次模式下运行时,将保持上一个有效温度转换周期后的状态。
硬件配置
3线总线由三个信号组成。这些信号是/RST(复位)信号、CLK(时钟)信号和DQ(数据)信号。所有数据传输均通过驱动/RST输入高电平来启动。将/RST输入驱动为低电平将终止通信。时钟周期是下降沿后跟上升沿的序列。对于数据输入,数据必须在时钟周期的上升沿有效。数据位在时钟的下降沿输出,并通过上升沿保持有效。当从DS1620读取数据时,DQ引脚在时钟为高电平时进入高阻态。在一个通信周期内将/RST设为低电平将导致DQ进入高阻抗状态,从而结束通信。通过3线接口的数据首先发送LSB。图1显示了器件与微控制器可编程输入/输出端口的连接。
图1.硬件框图。
用于模拟微控制器环境的实际硬件在附录B中提供,注意DS5000T的工作频率为11.05949MHz。DS232A用于处理PC到微接口。如附录B所示,3线连接通过I/O端口P2进行。端口 I/O P1 可用于报告状态或为外设报告设备(如 LCD)供电。