温度传感器DS75LX与PIC单片机的接口设计

发布者:幸福如愿最新更新时间:2012-02-01 来源: dzsc关键字:温度传感器  DS75LX  PIC单片机 手机看文章 扫描二维码
随时随地手机看文章

1 概述

DS75LX是一款高精度的串行数字输出型温度传感器,测量的温度数据可通过两线串行总线(与I2C总线兼容)输出。DS75LX工作电压为1.7 V到3.7 V。除了基本的测温功能外,DS75LX还具有温度报警功能,允许用户通过软件设置报警温度的门限值。DS75LX测温范围为-55℃~+125℃,当测温范围为-25℃~+100℃时,测量精度为±2℃。DS75LX同时具有可编程的9至12位的温度数据输出格式。输出的温度数据为12位时,其分辨率可达0.0625℃。该传感器具有三个地址引脚,可设置为三种状态中的任意一种:接GND、VDD,或悬空,可设置27种地址组合。例如A2、A1和A0分别为接电源、接地和悬空时,DS75LX的器件地址为0101110。图1是DS75LX的引脚排列,各功能描述如表1所示。

2 DS75LX的工作原理

DS75LX通过一个能隙带温度感知体系结构来实现温度测量。片上△-∑模数转换器将所测的环境温度直接转换成数字量并存储在温度寄存器中。DS75LX一上电就开始测量温度,用户可通过软件设置配置寄存器的内容以满足自身的测量要求。DS75LX除了基本的温度测量外还具有温度报警模块。与温度报警模块相关的两个寄存器分别为报警门限寄存器Tos和温度迟滞寄存器Thyst。该模块可配置为两种工作模式:比较器模式和中断模式。在比较器模式时只要被测温度在连续1、2、4或6次测量的结果均高于Tos中的值,O.S.引脚触发并按照配置寄存器中的POL位的值输出特定电平,此时与Thyst中的设定值无关;而在中断模式时只要被测的温度在连续1、2、4或6次温度测量的结果均高于Tos中的值或低于Thyst中的值时触发O.S.引脚,输出特定电平。

3 DS75LX的内部结构

DS75LX的内部结构主要是由地址、I/O口控制单元、精确参考源、采样调节器和可访问寄存器等组成。对于用户来说,只需了解DS75LX的地址、I/O口控制单元和可访问寄存器即可,因为DS75LX的所有操作均是通过串行I/O口读写可访问寄存器来实现的。

3.1 DS75LX的配置寄存器

DS75LX的配置寄存器如表2所示,该寄存器可读/写,允许用户选择不同功能。这些功能包括报警输出类型、温度测量分辨率等。

该寄存器各位的含义说明:最高位为保留位,该位读出值为0;R1和R0位的取值决定了DS75LX输出的温度数据的位数。当R1和R0分别为00、01、10、或11时,DS75LX输出温度有效数据分别为9、10、11或12位;F1和F0位的值决定了触发O.S.引脚所需要进行的连续温度测量次数。当F1和F0分别为00、01、10、11时对应的连续温度测量次数为1、2、4和6次;POL位的值决定了O.S.引脚触发时为高电平还是低电平。当POL=0时O.S.引脚触发时输出低电平,POL值为1时0.S.引脚触发时输出高电平;TM=0时温度报警模块工作在比较器模式,TM=1时温度报警模块工作在中断模式;SD=1时DS75LX处于关断模式,此时DS75LX不进行温度采集,SD=0时,DS75LX处于正常工作状态。该配置寄存器的各位上电时均为0。

3.2 DS75LX的可访问寄存器

DS75LX有4个用户可访问寄存器,分别为温度寄存器、配置寄存器、温度迟滞寄存器和报警门限寄存器。其中温度寄存器为只读寄存器,用于存取测量的环境温度数据,报警门限寄存器和温度迟滞寄存器均为可渎/写寄存器,用于提供用户可编程的报警温度值。如果环境温度漂移超出编程设定值则温度报警引脚输出报警信号。

3.3 寄存器指针

寄存器指针是向用户提供所要访问寄存器地址,寄存器指针的内容即为可访问寄存器地址。由于DS75LX内部只含有4个可访问寄存器,因此寄存器指针的内容只有低两位(P1、P0)有效,当访问某个寄存器时,必须确保寄存器指针已指向该寄存器。P1和P0的值与可访问寄存器对应关系如表3所示。

3.4 输出的温度数据格式

DS75LX将测量的温度转换为16位二进制补码形式并存储在两个字节的温度寄存器中。最高位是符号位,为0时表示测量的温度在0℃以上,反之,所测的温度在0℃以下。而低字节的低4位无用,其值为0。当DS75LX输出的温度数据为12位即DS75LX具有12位分辨率时,温度寄存器的位15至位4为有效的温度数据。同理,当分辨率分别为11、10、和9位时,对应的有效温度数据分别是温度寄存器的位15至位5、位15至位6和位15至位7。

3.5 两线串行总线

DX75LX的读写操作是通过两线串行总线接口实现的,该串行总线与I2C总线兼容。图2所示为读温度及温度门限寄存器的时序图。此时假定寄存器指针已指向温度寄存器,否则需要对指针进行设置。设置方法如下:主器件产生起始位、发送包含DS75LX地址的写命令、收到应答、发送寄存器指针字节。注意只有指针字节的低两位(P1、P0位)有效。

4 DS75LX与PIC单片机接口电路

DS75LX与PIC单片机的硬件接口电路很简单,如图3所示。由于PIC16F737具有I2C总线接口,只需将两者的时钟和数据引脚对应相连,无论时钟还是数据线都必须通过上拉电阻与电源相连。本文假定DS75LX的三个地址输入引脚都接地,此时DS75LX的地址为1001000。

5 软件设计

软件设计部分包括DS75LX与PIC单片机的初始化程序,读温度数据子程序等,限于篇幅以下给出PIC单片机读取DS75LX输出的温度数据的子程序。该子程序对应的时序见图2。采用C语言编程,编译器为PICC编程环境MPLAB IDE。该程序既可用查询方式也可用中断方式实现,本文利用查询中断标志SSPIF实现,具体程序代码如下:

6 结束语

本文主要介绍数字温度传感器DS75LX的工作原理以及与单片机的接口设计。DS75LX具有测量精度高、分辨率可调等特点。DS75LX的片选引脚具有三态输入,在同样数量的地址引脚情况下,与其他同类器件相比,DS75LX具有更多的地址组合可用,因此非常适用于多点温度测量系统。同时DS75LX的两线串行接口简化了与单片机的硬件接口设计。DS75LX体积小巧,可广泛应用在小型基站、路由器、服务器及便携式温度计。

关键字:温度传感器  DS75LX  PIC单片机 引用地址:温度传感器DS75LX与PIC单片机的接口设计

上一篇:基于PIC16F84单片机的IC卡智能水表设计
下一篇:PIC16F877单片机在智能站用电源系统中的应用

推荐阅读最新更新时间:2024-03-16 12:51

平衡流量计分析温度传感器该如何保证最佳测量效果
平衡流量计温度传感器如何保证最佳测量效果   温度传感器在安装和使用时,应当注意以下事项方可保证最佳测量效果:   1、安装不当引入的误差   如热电偶安装的位置及插入深度不能反映炉膛的真实温度等,换句话说,热电偶不应装在太靠近门和加热的地方,插入的深度至少应为保护管直径的8~10倍;热电偶的保护套管与壁间的间隔未填绝热物质致使炉内热溢出或冷空气侵入,因此热电偶保护管和炉壁孔之间的空隙应用耐火泥或石棉绳等绝热物质堵塞以免冷热空气对流而影响测温的准确性;热电偶冷端太靠近炉体使温度超过100℃;热电偶的安装应尽可能避开强磁场和强电场,所以不应把热电偶和动力电缆线装在同一根导管内以免引入干扰造成误差;热电偶不能安装在被测介质很
[测试测量]
PIC单片机软件异步串行口实现技巧
  在用单片机开发各种嵌入式应用系统时,异步串行通信是经常要用到的一种通信模式,很多应用中还要求实现多路异步串行通信。大家平时熟悉的各种厂家的单片机,绝大部分片上只提供一个硬件UART模块,利用它可以方便实现一路串行通讯。PIC系列单片机也不例外,在其丰富的产品家族成员中,除高端系列(PIC17/18)一些型号片上带有两路硬件UART模块外,其它大部分型号片上只有一路UART,一些低端廉价的PIC单片机甚至还不带硬件 UART。为了提高系统的性能价格比,就要求设计工程师用软件增加实现一路或多路异步串行通信。很多工程师对用软件实现的UART在可靠性和效率方面持怀疑态度,其实关键问题是看软件采用何种方式来实现可靠的UART功能。   在
[单片机]
<font color='red'>PIC单片机</font>软件异步串行口实现技巧
基于LM57的可编程温度开关型模拟温度传感器的研究
LM57是一款高精度、双路输出、集成的、模拟温度传感器温度开关。通过使用两个外部1%电阻,其跳闸温度(TTRIP)是可编程的,并可为任意的256跳闸温度,并占用很小的电路板空间。 TI的LM57是一款高精度、双路输出、集成的、模拟温度传感器温度开关。通过使用两个外部1%电阻,其跳闸温度(TTRIP)是可编程的。LM57采用极小封装的电阻(0.5mm×1mm),可以编程为任意的256跳闸温度,并占用很小的电路板空间。VTEMP输出可以提供一个模拟输出电压,该输出电压具有负温度系数(NTC),与测量的温度成正比。 LM57器件内置温度迟滞(THYST)可以保持输出稳定(在热振荡的环境中)。当裸片温度超过TTRIP时,数字温度开
[电源管理]
基于LM57的可编程温度开关型模拟<font color='red'>温度传感器</font>的研究
PIC单片机之关于超大数组问题
关于超大数组问题: 本实验用的编译器是xc16-gcc.exe,集成开发环境是MPLAB IDE v8.92,当前的编译器配置如下: -g -Wall -mlarge-code -mlarge-data -Os -fno-ivopts 如下图: 其中这里有一个超大的数组: 这时候编译会有这样的一个错误: 从提示可以知道,这是一个数据超出的错误,但是这里是超出了数据段,而不是说超出了芯片的flash,我们可以这样查看是否超过了flash,去掉这个数组编译看看占用了多少flash,如下: 也就是说占用的flash空间是:81459+7674=89133,但是单片机的flash却是这样的: 所以即是加上
[单片机]
<font color='red'>PIC单片机</font>之关于超大数组问题
如何使用温度传感器保护汽车变速器?
随着汽车制造商不断寻求为消费者提供具有更高便利性、舒适性以及兼具更强性能和更省燃料的车型,汽车行业正在快速推出各项新技术。最明显的技术创新往往体现在汽车驾驶室中以及车载信息娱乐系统,而汽车传动系统也有了不起的改进,大大提升了车辆的操纵性、性能和燃料经济性。 如今,消费者需要做出的关于传动系统的最常见的选择之一就是选择手动或自动变速器。驾驶爱好者更可能选择手动变速器,但是自动变速器因其便利性而日益流行。自动变速器是一个大型的复杂系统,需要具有车载处理功能,并且需要在各种驾驶条件下保持正常运转。 自动变速器汲取汽车发动机产生的功率,然后通过符合各种驾驶需求的不同的齿轮传动比传导这些功率。齿轮传动比之所以不同,是为了确保发动机转速(RP
[汽车电子]
如何使用<font color='red'>温度传感器</font>保护汽车变速器?
纤巧24 位I2C四通道增量累加ADC含有高准确度温度传感器
2007 年 4 月 24 日 - 北京 - 凌力尔特公司( Linear Technology Corporation )推出一款四通道增量累加( ΔΣ )模数转换器( ADC ) LTC2493 ,该器件具有一个可提供 1/30°C 分辨率和 2°C 绝对准确度的内部温度传感器。这个准确的集成温度传感器实现了对外部传感器的温度补偿。 LTC2493 通过两线 I 2 C 兼容串行接口通信,测量 4 个单端或两个差分模拟输入,采用纤巧 4mm x 3mm DFN 封装,仅消耗 300uA (最大值)电流。 LTC2493
[新品]
0802LCD 4位显示程序 PIC单片机C语言程序
#include xc.h #include pic.h //#include head.h #define uchar unsigned char #define uint unsigned int #pragma config FOSC = XT // Oscillator Selection bits (XT oscillator) #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled) #pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT ena
[单片机]
PIC单片机的浮点数及其与十进制数之间的相互转换
摘 要重点说明浮点数的格式,十进制数与浮点之间的相互转换以及程序设计。 在我们设计的仪表中采用PIC系列单片机,碰到了浮点数的运算问题,查阅其有关资料发现,其浮点数的格式及其与十进制数之间的转换,与我们常用的MCS-51单片机所提供的三字节、四字节浮点数完全不同,本文将说明其浮点数的格式及其与十进制数之间的转换和程序设计步骤。 1 浮点数的格式 Microchip公司单片机所采用的浮点数格式是IEEE-754标准的变异型。32位浮点数格式为: 其中:×表示一位二进制数0或1;eb 为指数的偏差;S为浮点数的符号位,S=0为正数,S=1为负数;小数点“·”在符号位S的右边;BY0 BY1 BY2为尾数的小数部分。 应特别注意: ⑴
[单片机]
<font color='red'>PIC单片机</font>的浮点数及其与十进制数之间的相互转换
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved