




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字温度传感器DS1631的特性与应用1. 引言DS1631是DALLAS公司生产的数字温度传感器,它结构简单,不需外接元件即可测温。DS1631采用了SOP封装,所占用的面积只有150mil 8-SO封装的一半。DS1631的最大特点是采用了I2C总线方式,并且能独立输出报警信号,应用时只要对DS1631写完控制字,设置完上下限,DS1631就能独立工作,所以DS1631特别适合把温度测量作为附加功能的系统,例如,家用电器,办公设备,网络路由器等的温度保护或高温报警装置。2. DS1631的性能特点 在070范围内,DS1631具有±0.5的精度。 分辨率为912位(包括一位符号位
2、),并可由编程决定具体位数,设置分辨率不同时,转换时间相应不同。 电源电压范围为+2.7V5.5V。 I2C兼容串行接口、可选的串行总线地址,每个I2C总线上最多可挂接8个DS1631芯片,构成多点温度检测系统。 内含TH、TL和温度寄存器,TH、TL寄存器均由两字节的EEPROM组成,用户对TH和TL寄存器进行写操作,即可完成温度报警上下限的设置。温度寄存器(只读)由两字节的SRAM构成,对其进行读操作,即可得到温度测量结果。3. DS1631的工作原理DS1631采用8脚SOP封装,其引脚排列图见图一。其中SDA和SCL与单片机的I2C总线相连,SDA为串行数据输入/输出端(开漏极式,需接
3、4.7K下拉电阻);SCL为时钟信号输入端;TOUT与单片机I/O口相连,为临界温度报警输出端(推挽式);GND为接地端; VDD为电源端;A0,A1,A2为串行总线地址输入端。 图一 DS1631的引脚排列DS1631的内部功能框图如图二所示,其片内的模数转换器可按预先设置的工作方式对被测温度进行实时测量,并将结果量化为数字量存入温度值寄存器,被测温度与输出数据的关系如表一所示。图二 DS1631的功能图示表一 12位分辨率下被测温度与输出数据的关系温度值()输出数据(二进制)输出数据(十六进制)1250111 1101 0000 00007D00h25.06250001 1001 0001
4、 00001910h10.1250000 1010 0010 00000A20h0.50000 0000 1000 00000080h00000 0000 0000 00000000h0.51111 1111 1000 0000FF80h10.1251111 0101 1110 0000F5E0h25.06251110 0110 1111 0000E6F0h551100 1001 0000 0000C900h温度值用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位,温度寄存器的格式如表二所示。表二 TH、TL及温度寄存器的位定义配置寄存器是八位读/写寄存器
5、,用于设置操作方式,其格式如表三所示:表三 配置寄存器位定义DONETHFTLFNVBR1R0POL1SHOT 以下是配置寄存器各部分的功能: DONE为只读位,表示温度转换状态,初始值为1。0表示正在进行温度转换, 1表示温度转换完毕。 THF为读/写位,初始值为0。0表示自上电时起温度从未超过TH寄存器中的值,1表示温度曾超过上限。THF将一直保持为1直到用户对其进行写操作,或重新上电,或软件复位。 TLF为读/写位,初始值为0。0表示自上电时起温度从未低于TL寄存器中的值,1表示温度曾低于下限。TLF将一直保持为1直到用户对其进行写操作,或重新上电,或软件复位。 NVB为只读位,初始值为
6、0。1表示正在对EEPROM进行写操作, 0表示NV存储器处于空闲状态。 R0和R1均为读/写位,初始值为1,R0、R1的组合用于设置温度分辨率,具体关系见表四。表四 分辨率设置R1R0分辨率位数最大转换时间00993.75ms0110187.5ms1011375ms1112750ms POL为读/写位,初始值为最后对其写入的值。1表示TOUT高电平报警,0表示TOUT低电平报警。 1SHOT为读/写位,初始值为最后对其写入的值,用于设置温度转换模式。1表示单触发模式,Start Convert T命令只触发单次温度转换,之后器件进入等待状态;0表示连续转换模式,Start Convert T
7、命令触发连续温度转换。 DS1631采用I2C串行总线和数据传输协议实现同外设的数据传输。在数据传输的过程中DS1631为从器件,通过数据输入、输出线SDA以及时钟信号线SCL与总线相连。其传输时序如图三所示。当SCL保持高电平时,SDA从高电平到低电平的跳变作为数据传输的开始信号,随后主机发送控制字,包括DS1631的地址信息和读写控制字,控制字节的格式如下:1 0 0 1 A2 A1 A0 R/W根据A2 A1A0的不同编码,最多可允许8片DS1631挂接在同一条串行总线上。读/写控制位为1表示对DS1631进行读操作,为0表示进行写操作。每个字节传送结束后,要收到接收数据一方的应答信号(
8、ACK)后方可开始下一步操作。最后,在SCL保持高电平的情况下,SDA从低电平到高电平的跳变作为数据传输的结束信号。 开始信号 应答(或无应答)信号 结束信号图三 开始、结束及应答时序图具体操作过程是:首先主机传送开始信号,接着传送芯片地址信息和读/写控制位,当收到DS1631的应答信号(ACK)后,主机传送命令字,表示将要进行何种操作,DS1631在收到命令字返回应答信号。如果命令字是开始转换或结束转换命令(见图四),则本次操作完成,主机发送结束信号。如果命令字是读或写,下面将进行详细说明。 开始 控制字 应答 命令字 应答 停止图四 发送“开始转换”或“停止转换”命令时序图写操作:发送控制
9、字后主机可对DS1631的配置寄存器、TH、TL寄存器写入数据(见图五)。控制字中读/写控制位为“0”,DS1631准备接收数据。主机收到应答信号后,立即开始传送数据。对配置寄存器进行写操作时,主机发送一字节数据;若对TH、TL寄存器进行写操作,则主机必须发送两字节数据。每收到一字节数据,DS1631返回一个应答信号。最后主机发送停止信号,中止本次操作。 开始 控制字 应答 命令字 (ACh) 应答 数据字节 应答 停止图五 对配置寄存器进行写操作的时序图读操作:发送控制字后主机可对DS1631的设置寄存器、TH、TL和温度寄存器进行读操作(见图六)。收到应答信号后,主机应再发送一次开始信号和
10、控制字,控制字的地址信息与第一次发送的相同,但读/写控制位应为1,表示将要进行读操作。DS1631返回应答信号后,将在下一时钟周期传送所需数据给主机。若对设置寄存器进行读操作,DS1631传送一字节数据,主机应返回“无应答”,然后发送停止信号,中止本次操作。若对TH、TL和温度寄存器进行读操作,主机在收到第一字节数据后返回应答信号,收到第二字节数据后返回“无应答”信号,然后发送停止信号,中止本次操作。 开始 控制字 应答 命令字 应答 开始 控制字 应答. 数据高字节 应答 数据低字节 无应答 停止图六 对TH、TL和温度寄存器进行读操作的时序图各项操作的命令字见表五。表五 命令字明细表操作开
11、始转换停止转换读温度寄存器对 TH读/写对 TL读/写对设置寄存器读写软件复位控制字51h22hAAhA1hA2hACh54h4. 应用实例本例中,单片机主程序严格按照表六所示的操作顺序编写,首先设置DS1631(A2 A1A0000)为连续转换模式,TOUT高电平报警,然后设置TH中报警上限为40,TL中报警下限为10,最后发送“开始转换”命令,DS1631进入连续测温模式。表六 操作实例主机状态DS1631状态数据 说明TXRX开始主机发送开始信号TXRX90h主机发送控制字,读/写位为0,将进行写操作RXTX应答DS1631返回应答信号TXRXACh主机发送命令字,将要对设置寄存器进行写
12、操作RXTX 应答DS1631返回应答信号TXRX 02h主机对设置寄存器进行写操作,设置DS1631为连续转换模式,TOUT高电平报警RXTX应答DS1631返回应答信号TXRX停止主机发送停止信号TXRX开始主机发送开始信号TXRX90h主机发送控制字,读/写位为0,将进行写操作RXTX应答DS1631返回应答信号TXRXA1h主机发送命令字,将要对TH寄存器进行写操作RXTX应答DS1631返回应答信号TXRX28h主机发送TH高字节,TH40RXTX应答DS1631返回应答信号TXRX00h主机发送TH低字节,TH40RXTX应答DS1631返回应答信号TXRX停止主机发送停止信号TX
13、RX开始主机发送开始信号TXRX90h主机发送控制字,读/写位为0,将进行写操作RXTX应答DS1631返回应答信号TXRXA2h主机发送命令字,将要对TL寄存器进行写操作RXTX应答DS1631返回应答信号TXRX0Ah主机发送TL高字节,TL10RXTX应答DS1631返回应答信号TXRX00h主机发送TL低字节,TL10RXTX应答DS1631返回应答信号TXRX停止主机发送停止信号 TXRX开始主机发送开始信号TXRX90h主机发送控制字,读/写位为0,将进行写操作RXTX应答DS1631返回应答信号TXRX51h主机发送“开始转换”命令RXTX应答DS1631返回应答信号TXRX停止
14、主机发送停止信号相关子程序如下。发送停止位的子程序:SENDSTOP: SETB MDE ;使SDATA脚可作为输出端 CLR MDO ;SDATA准备停止 SETB MCO ;置停止时钟 ACALL DELAY SETB MDO ;停止位 CLR BUSY ;总线释放 RET发送起始位的子程序: BITSTART: SETB BUSY SETB MDE ;使 SDATA 可作为输出脚 CLR NOACK CLR ERROR JNB MCO,FAULT JNB MDO,FAULT CLR MDO ;起始位 ACALL DELAY CLR MCO FAULT: CLR MISTAKE ;设置错误
15、标志 RET主机发送一字节数据及接收应答的子程序:SENDBYTE: MOV BITCNT,#8 ; 每byte 8 bits SETB MDE ; 使SDATA脚可作为输出端 CLR I2CI CLR MDO CLR MCOLOOP: RLC A ; 左移,送出一位 MOV MDO,C ; 数据位送至MDO SETB MCO ; 发送时钟 CLR MCO DJNZ BITCNT,LOOP CLR MDE SETB MCO ; 送应答时钟 JNB MDI,NEXT ; 校验 SETB NOACK ; 无应答NEXT: CLR MCO ; 应答时钟 RET主机接收一字节数据及返回应答的子程序:RCVBYTE: MOV BITCNT,#8 ;每字节8位 CLR MDE ;使SDATA脚为输入端 CLR I2CI CLR MCOLOOP2: SETB MCO CLR MCO MOV C,MDI ;取得数据 RLC A ;左移 DJNZ BITCNT,LOOP2 ;循环8次,结果在累加器中 PUSH ACC ;送入堆栈 SETB MDE ;SDATA脚作为输出端,准备应答 MOV A,BYTECNT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院财务管理与银行服务的整合
- 区块链未来科技的核心驱动力
- 公司前台接待工作总结模版
- 浅昏迷的临床护理
- 先天性脑积水的临床护理
- 医疗安全教育在血透室中的实施策略
- 代发维修票合同范例
- 临沂电动车买卖合同范例
- 个人承诺协议合同范例
- 医务人员的伦理素养与法律意识
- 《光纤激光切割技术》课件
- 2024年山西杏花村汾酒集团有限责任公司招聘笔试真题
- 2025衡水市武强县辅警考试试卷真题
- 《行政法与行政诉讼法》课件各章节内容-第一章 行政法概述
- 山西省太原市2025年高三年级模拟考试(二)语文试题及答案
- 2025年广东广州中物储国际货运代理有限公司招聘笔试参考题库含答案解析
- 湖北省武汉市2025届高中毕业生二月调研考试数学试题及答案
- 2025年高三语作文模拟题分析+材料+范文:关心人本身应成为一切技术上奋斗的主要目标
- 2025中考二轮专题复习:古诗文主题默写汇编(2)(含答案)
- 海外安保面试题及答案
- 长城汽车2025人才测评答案
评论
0/150
提交评论