单线数字温度传感器的原理与应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号竞争问题。
无论是单点还是多点温度检测,在 系统安装及工作之前,应将主机逐个与 DS1820 挂接,读出其序列号。其工作过程为:主机 Tx 发一个脉冲,待 “0”电平大于 480μs后,复位 DS1820,待 DS1820 所发响应脉冲由主机 Rx 接 收后,主机 Tx 再发读 ROM 命令代码 33H(低位在前),然后发一个脉冲( 15μs) 并接着 读取 DS1820 序列号的一位。用同样方法读取序列号的 56 位。对于图5系统的 DS1820 操作的 总体流程图 如图6 所示。它分三步完成:①系统通过反复操作,搜索 DS1820 序列号;②启动
“ 0为”寄生电源; “ 1为”外部电源。
DS1820 单线通信功能是分时完成的,它有严格的时隙概念。因此系统对
DS1820 的各种操
作必须按协议进行。操作协议为:初始化 DS1820(发复位脉冲) →发 ROM 功能命令 → 发存
储器操作命令 →处理数据。各种操作的时序图 如图3 和图4所示。
4 温度检测系统原理及程序流程图
有一根线,因此发送接收口必须是三
态的,为了操作方便我们用 89C51 的
P1.1 口作发送口 Tx,P1.2 口作接收口
Rx。通过试验我们发现此种方法可挂
接 DS1820 数十片,距离可达到50
米,而用一个口时仅能挂接 10 片
DS1820,距离仅为 20 米。同时 由
于读写在操作上是分开的 故不存在
关键词: 单线制( 1-Wire) 时隙 A/D 变换
美国 DALLAS 公司生产的单线数字温度传感器 DS182,可把温度信号直接转换成串行数字信
号供微机处理。由于每片 DS1820 含有唯一的硅串行数 所以在一条总线上可挂接任意多个
DS1820 芯片。从 DS1820 读出的信息或写入 DS1820 的信息,仅需要一根口线(单线接口)。
DS1820 的引脚见图1( PR35 封装)。
GND :地;
DQ:数据输入/输出脚(单线接口,可作寄生 供电);
VDD :电源电压。
3 DS1820 的工作原理
DS1820 的内部结构如图2所示。由图2可知, DS1820 由三个主要数字器件组成:
① 64bit 闪速 ROM ;②温度传感器;③非易失性温度报警触发器 的结构如下:
读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的
DS1820 供电,而无需额外
电源。 DS1820 提供九位温度读数,构成多点温度检测系统而无需任何外围硬件。
本文给出了 DS1820 与 89C51 单片机接口的应用实例和 DS1820 组成温度检测系统的方法, 并给出了对 DS1820 进行各种操作的软件流程图。
1 DS1820 的特性
单·线接口:仅需一根口线与 MCU 连接
无·需外围元件 由·总线提供电源
测·温范围为 -55℃~ 75℃,精度为 0.5℃
九·位温度读数
· A变/D换时间为 200ms
用·户自设定温度报警上下限,其值是非易失性的
报·警搜索命令可识别哪片 DS1820 超温度限
2 DS1820 引脚及功能
· MATCHRO命M令代码[ 55H]:多个 DS1820 在线时,可用此命令匹配一个给定序列号的 DS1820,此后的命令就针对该 DS1820。
· SKIPRO命M令代码[ CCH]:此命令执行后的存储器操作将针对在线的所有 DS1820。
· SEARCHR命DH令代码[ F0H ]:用以读出在线的 DS1820 的序列号。
TH 和 TL 。64bit 闪速 ROM
它既可寄生供电也可由外部5V电源供电。在寄生供电情况下,当总线为高电平时, DS1820 从总线上获得能量并储存在内部电容上 当总线为低电平时,由电容向 DS1820 供 电。
DS1820 的测温原理:内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的 脉冲可以通过门电路,而当到达某一设置高温时振荡器的脉冲无法通过门电路。计数器设置 为-55℃时的值,如果计数器到达 0 之前,门电路未关闭,则温度寄存器的值将增加,这表示 当前温度高于 -55℃。同时,计数器复位在当前温度值上,电路对振荡器的温度系数进行补 偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以上过程。温度表示值为 9bit,高位为符号位,其结构如下:
· ALARMSEARC命H令代码[ ECH]:当温度值高于 TH 或低于 TL 中的数值时,此命令可 以读出报警的 DS1820。
3.2 存储器操作命令代码及其含义
· WRITESCRATCHPA命D令代码[ 4EH]:写两个字节的数据到温度寄存器。
· READSCRATCHPA命D令代码 [BEH] :读取温度寄存器的温度值。
对 DS1820 的使用,多采用单片机实现数据采集。处理时,将 DS1820 信号线与单片机一位 口线相连,单片机可挂接多片 DS1820,从而实现多点温度检测系统。
系统对 DS1820 的操作以 ROM 命令和存储器命令形式出现。
3.1 ROM 命令代码及其含义
· READRO命M令代码[ 33H]:如果只有一片 DS1820,可用此命令读出其序列号,若在线 DS1820 多于一个,将发生冲突。
单线数字温度传感器的原理与应用
作者 :武汉测绘科技大学光电院 (430079) 金伟正 来 源:《电子技术应用》
摘 要:介绍单线数字温度传感器 DS1820 的特性及工作原理,给出了 DS1820 与 89C51 单片 机接口的应用实例,以及由 DS1820 组成温度检测系统的方法,并给出了对 DS1820 进行各种 操作的软件流程图。
wenku.baidu.com
温度检测系统原理图如图5所示,采用寄生电源供电方式。为保证在有效的
DS1820 时钟周
期内,提供足够的电流,我们用一个 MOSFET 管和 89C51 的一个 I/O 口( P1.0)来完成对
DS1820 总线的上拉。当 DS1820 处于写存储器操作和温度 A/D 变换操作时,总线上必须有强
的上拉,上拉开启时间最大为 10μs。采用寄生电源供电方式时 VDD 必须接地。由于单线制只
· COPYSCRATCHP命AD令代码[ 48H]:将温度寄存器的数值拷贝到 EERAM 中,保证温 度值不丢失。
· CONVE命RT令代码[ 44H]:启动 在线 DS1280 做温度 A/D 转换。
· RECALL 命EE令代码[ B8H ]:将 EERAM 中的数值拷贝到温度寄存器 中。
· READPOWERSUPP命LY令代码 [B4H ]:在本命令送到 DS1280 之后 的每一个读数据间隙,指出电源模式: