单总线测温系统
单总线测温模块工程设计

单总线测温模块工程设计1. 引言本文档介绍了单总线测温模块的工程设计。
单总线测温模块是一种用于测量温度的电子设备,采用单总线通信协议与主控设备进行通信。
本工程设计旨在给出该模块的硬件设计和软件设计方案。
2. 功能需求单总线测温模块的功能需求如下: - 测量环境温度 - 通过单总线协议将温度数据发送给主控设备 - 支持实时温度监控 - 能够与多个模块进行通信,并实现数据的互相独立3. 硬件设计单总线测温模块的硬件设计包括以下几个方面: - 温度传感器:采用数字温度传感器,如DS18B20,用于测量环境温度,并转换成数字信号。
- 单总线通信接口:使用GPIO口作为单总线通信接口,通过特定的协议与主控设备进行通信。
- 电源电路:提供适宜的电源电路,以满足硬件设计的供电需求。
- PCB设计:进行电路板(PCB)设计,包括元器件布局、连线和焊接,确保硬件设计的稳定性和可靠性。
4. 软件设计单总线测温模块的软件设计主要包括以下几个方面: - 单总线通信协议:实现与主控设备的通信协议,通过发送和接收数据包来实现数据的传输和交互。
- 温度测量算法:编写软件算法,读取温度传感器的数据,并将其转换为可理解的温度值。
- 数据处理与存储:将温度数据进行处理,如数据滤波、数据存储等,以方便后续的数据分析和使用。
- 用户界面设计:设计用户界面,以便用户能够实时监控温度数据并进行相应的操作,如报警等。
5. 性能测试完成单总线测温模块的硬件设计和软件设计后,需要进行性能测试以验证其功能和性能。
性能测试包括以下几个方面: - 温度测量准确性测试:将模块放置在温度的环境中,测试其测量结果和实际温度之间的偏差。
- 通信可靠性测试:测试模块与主控设备之间的通信是否稳定可靠,包括数据发送和接收的可靠性。
- 实时监控性能测试:测试模块的实时监控性能,包括温度数据的实时性和响应速度。
6. 总结本文档介绍了单总线测温模块的工程设计方案,包括硬件设计和软件设计。
18B20单总线多点式测温系统设计

18B20单总线多点式测温系统设计1.DS18B20的概述1.1,DSl8B20的外部管脚及特点DS18B20可编程温度传感器有3个管脚。
GND为接地线,DQ为数据输入输出接口,通过一个较弱的上拉电阻与单片机相连。
VDD为电源接口,既可由数据线提供电源,又可由外部提供电源,范围3.O~5.5 V。
本文使用外部电源供电。
主要特点有:1. 用户可自设定报警上下限温度值。
2. 不需要外部组件,能测量-55~+125℃范围内的温度。
3. -10℃~ +85℃范围内的测温准确度为±0.5℃。
4. 通过编程可实现9~l2位的数字读数方式,可在至多750 ms内将温度转换成12 位的数字,测温分辨率可达0.0625℃。
5. 独特的单总线接口方式,与微处理器连接时仅需要一条线即可实现与微处理器双向通讯。
1.2 DS18B20的内部结构DS18B20内部功能模块如图2所示,主要由4部分组成:64位光刻R0M(图3)、温度传感器、非易失性的温度报警触发器TH和TL、配置寄存器。
R0M 中的64位序列号是出厂前被光刻好的,他可以看作是该DSISB20的地址序列码,每个DSI8B20的64位序列号均不相同。
高低温报警触发器TH 和TL,配置寄存器均由一个字节的E2PROM组成,使用一个存储器功能命令可对TH,TL或配置寄存器写入。
配置寄存器中R1,R0决定温度转换的精度位数:R1R0=’00’,9位精度,最大转换时间为93.75 ms;R1R0 = ‘01’,10位精度,最大转换时间为187.5 ms;R1R0 = ‘10’,11位精度,最大转换时间为375 ms;R1R0 =’11’,12位精度,最大转换时间为750 ms;未编程时默认为12位精度。
本系统采用的也是12位的精度。
1.3,DS18B20的内存结构DSI8B20温度传感器的内部存储器包括一个高速暂存RAM (便笺式的内部存储器)和一个非易失性的可电擦除的EEPROM,后者存放高温和低温触发器TH,TL和结构寄存器。
单片机单总线多传感器温度智能检测系统设计说明

单总线单总线多传感器温度智能检测系统摘要本系统设计了一种基于单总线的温度检测系统。
针对智能温度控制,将智能传感器检测与单片机控制相结合,设计了基于单片机的温度检测系统的设计方案。
通过单总线温度传感器和单总线模数转换器采集现场数据。
采用DS18B20数字传感器对温度进行采样和转换,增强了电路的可靠性,提高了测量精度。
环境信息通过液晶显示器实时显示,通过RS-485网络将数据传输至上位机,通过上位机数据采集处理进行远程控制。
数据采集的精度最高可达 16 位,并可进行编程。
单总线技术组网非常方便,维护也非常简单,为当今的数据采集系统提供了一种新的解决方案。
关键词:单总线; DS18B20; MCS-51目录摘要I摘要错误!未定义书签。
第 1 章引言11.1学科背景11.2学科发展历程11.3本文内容2第二章方案论证与选择32.1MCU系统方案32.2传感器的选择52.2.1温度传感器52.3显示52.4通讯方式的选择6第 3 章系统硬件设计83.1AT89S52单片机83.1.1 AT89S52单片机管脚排列83.1.2单片机最小系统原理图93.2PT12864M液晶显示器93.2.1模块管脚说明103.2.2接口时序103.2.3具体说明介绍113.31-WIRE 总线技术113.3.1单总线技术概述113.3.2单总线接口硬件结构123.3.3单总线芯片序列号123.3.4单总线通讯信号类型133.3.5单总线通信初始化143.3.6单总线通信的ROM命令143.4单总线温度传感器DS18B20153.4.1概述153.4.2引脚图图163.4.3部件结构163.4.4工作原理173.4.5功能指令183.5RS485通讯原理183.5.1 MAX1487简介: 183.5.2传输速率和传输距离193.6电源设计19第 4 章系统软件设计214.1主程序214.2各子程序的设计234.2.1液晶驱动器234.2.2单总线驱动234.2.3读取温度程序234.3软件过滤和数据验证244.4通信协议简介254.5PC数据采集程序25结论26至27参考29_ _28第一章介绍1.1 学科背景在当代社会的生产生活中,温度检测系统被广泛应用于社会生产生活的各个领域。
基于单总线的测温系统方案解析

基于单总线的测温系统方案解析单总线技术是美国Dallas 公司的一项专有技术,采用单根信号线传输数据,具有节省I/O 口资源、结构简单、成本低、便于总线扩展和维护等诸多优点。
单总线技术适用于单个主机系统控制一个或多个从机设备。
Dallas 公司的单总线产品中均有一个8 字节只读存储器(ROM),用于存放产品的序列号(每个芯片唯一的64 位标识代码)。
如图1 所示,从低位起第一个字节(8 位)是器件的家族代码,表示产品的分类;接下来的6 个字节(48 位)是每个器件唯一的ID 号;最后一个字节(8 位)是前56 位的CRC 校验码。
同一种类型的器件有248 个ID 号码总量,确保了在总线上不会产生地址冲突。
传统的基于单总线的测温系统采用ROM 搜索的方式在线识别挂接在总线上器件的注册码和器件的类型,由此可在线确定总线上的器件数量。
但是,随着挂接在总线上的单总线器件增加,搜索ROM 的时间也随之增加,系统开销增大。
基于此,本设计采用支持菊链模式的新型数字温度传感器芯片DS28EA00 组建单总线测温网络。
该方案无需进行传统的ROM 搜索步骤,允许用户将器件在链路中的物理位置与序列号对应,节省了RAM 开销,简化了基于单总线的应用设计。
1 DS28EA00 特性分析DS28EA00 是具有9 位(0.5℃)至12 位(0.062 5℃)分辨率和用户可编程非易失性(NV)上/下触发点报警功能的数字温度计。
每个DS28EA 00 都有工厂编程的唯一64 位序列号。
DS28EA00 具有滞回和干扰滤波功能,使其能够在大的单总线网络中可靠工作。
与其他单总线器件(例如DS18B20)不同,DS28EA00 具有两个额外的引脚用以执行顺序检测功能。
该特性允许用户将器件在链路中的物理位置与序列号对应,例如用来测量储存塔不同高度处的温度。
如果无需顺序。
单总线温度传感器在空调系统的应用

单总线温度传感器在空调系统的应用摘要:在常规的自控系统设计中,温度数据的采集常会通过热电阻、热电偶等传感器来实现。
它们的测量原理基于电阻值随温度的变化而改变,通过检测电阻值间接测量温度值,是完全基于模拟量信号的一种检测仪表。
单总线温度计是由美国DALLAS公司开发的一款温度检测数字芯片,它采取单总线通讯、全数字信号的数据传输方式,它相比常规的热电阻、热电偶温度传感器有诸多优点。
本文着重探讨单总线温度传感器在空调系统的应用方案,并且本方案已经实际实施。
对其应用的切实效果来看,从其数据的准确度、反应灵敏度、抗干扰能力等性能来看,与传统的热电阻采集相比,具有明显的优越性。
同时也可以得出结论,它完全可以代替热电阻传感器,在工业领域的低温介质温度检测环境中广泛应用。
关键词:单总线;温度传感器;空调系统;应用引言电子技术发展迅速,不断推陈出新,尤其是电子芯片技术的发展,更是如日中天,外形更小巧、功能更强大的芯片不断被开发创造出来,也不断在各行各业中得以应用,大大推动和促进了相关行业的发展。
今天介绍一款单总线数字温度检测芯片-DS18B20,就是这样一个鲜明的例证。
DS18B20温度测量芯片是DALLAS公司生产的1-Wire(即单总线)器件。
它具有线路简单,体积小、硬件开消低,抗干扰能力强,精度高的特点。
它本体具有测温、信号处理、通信等功能,可以通过一根通讯线为其提供电源,同时在通讯线上传输数字信号,上传采集的实时温度数据。
因此可以把很多这样的数字温度计挂在一条通信总线上,组成一个测温系统,对于温度测点众多的空调系统的温度采集将十分方便。
当然,DS18B20只是一个具备这种能力的芯片,需要对其进行进一步加工,改造成合适现场安装的工业仪表,并且配置与之通讯的相关电气器件,监测计算机等,才能实际测温、操作员实时监测的功能。
原理与设计温度传感器芯片DS18B20简介温度检测芯片DS18B20(本文以下简称“DS18B20”)有多种电子元件的封装形式,本方案中采取的是TO-92封装样式的产品,它更适应在圆形的不锈钢保护套管中安装,以便于在制作的检测仪表在工业现场的安装。
单总线测温系统

单总线测温系统1-W ire System for Temperature M easurement董 炜 王俊杰 杨士元(清华大学自动化系检测与电子技术研究所,北京 100084)摘 要 介绍了单总线系统的结构、原理和技术特点,阐述了单总线协议、操作流程以及DS18B20数字式温度传感器的功能结构,实现了一种基于RS-232串口的单总线适配器并给出了设计原理和电路图,最后给出了一种简单高效的单总线器件搜索算法。
关键词 单总线 数字式温度传感器 iButton DS18B20A bstract In this p aper,the structure and principle as well as technical characteristics of1-Wire System are in trod uced,and the protocol and opera ti on flow of1-Wi re System as well as the fu nction and s tructure of DS18B20digi tal thermometer are describ ed.A1-Wi re ad ap tor based on RS-232 serial comm unication port is i mplemented,its p rinci ple of d esign and circui t diagram are gi ven.Finall y,the si mplified an d effecti ve search arithmetic for 1-Wire comp onents is gi ven.Keyw ords 1-Wire System Digi tal therm ometer i Button DS18B200 引言随着计算机和网络技术的发展以及芯片集成工艺水平的不断提高,传统的基于模拟信号的测控系统逐渐向数字化方向发展。
(整理)基于单片机的单总线多点温度测控系统
摘要本课题主要介绍基于AT89C51单片机和DS18B20数字温度传感器的多点温度测量系统。
该系统利用AT89C51单片机分别采集各个温度点的温度,实现温度显示、报警等功能。
它以AT89C51单片机为主控制芯片,采用数字温度传感器DS18B20实现多路温度的检测,测量精度可以达到0.5℃。
该系统采用了LCD1602A 液晶显示模块,LCD1602A作为显示器 ,形象直观的显示测出的温度值。
本文首先在绪论中介绍了此系统的背景以及功能。
第二章确定设计方案。
在第三章论述了总体的设计过程,确定了技术指标及器件的选择并且描述了系统硬件电路设计、硬件设计框图及所使用的各种芯片功能与特性。
第四章重点剖析了软件设计的过程。
最后一章中具体论述了系统的调试软件及调试中出现的问题。
基于AT89C51单片机的单总线多点温度测控系统具有硬件组成简单、多点温度检测、读数方便、精度高、测温范围广等特点,在实际工程中得到广泛应用。
关键词:数字温度传感器,AT89C51单片机,单总线AbstractThe problem introduces AT89C51 monolithic machine and the DS18B20 figure temperature sensor-based multiple spot temperature measurement system mainly.AT89C51 single chip using the system were collected at various temperatures of the temperature, temperature display and alarm functions. It AT89C51 MCU-based control chip, digital temperature sensor DS18B20 the realization of multi-channel temperature detection, measurement accuracy can reach 0.5 ℃. The system uses LCD1602A liquid crystal display modules,LCD1602A as a display, the display of visual images to measure the temperature. This article first described in the introduction of this system, as well as background features.The second chapter to determine the design. In the third chapter discusses the overall design process to determine the technical specifications and the choice of devices and a description of the hardware circuit design, hardware design and diagram used in a variety of features and functions of the chip. Chapter IV analyzes the key software design process. The final chapter discusses the specific system debugging and debug software problems. AT89C51 single chip based on single-bus multi-point temperature measurement and control system with simple hardware components, multi-point temperature, easy reading, high-accuracy, wide temperature range, and other characteristics of the actual projects are widely usedKey words:digital temperature sensor, AT89C51 single chip, single-bus目录摘要........................................................ - 1 -ABSTRACT...................................................... - 2 -第1章绪论............................................... - 4 -第2章系统方案设计........................................... - 6 -2.1方案设计.. (6)2.2方案论证 (7)第3章系统设计............................................... - 8 -3.1工作原理.. (8)3.2单元电路设计 (9)3.2.1 DS18B20与单片机接口电路设计........................... - 9 -3.2.2键盘电路设计.......................................... - 17 -3.2.3显示电路设计.......................................... - 19 -3.2.4 报警电路设计......................................... - 22 - 第4章系统软件设计......................................... - 24 -4.1软件设计总体思路及主程序流程图 (24)4.2测温模块流程图 (25)4.2.1 温度的采集........................................... - 26 -4.2.2 多点温度的测量....................................... - 26 - 4.3显示模块流程图. (27)4.4键盘扫描流程图 (28)第5章元器件安装及调试...................................... - 30 -5.1元器件安装.. (30)5.2产品调试 (32)5.2.1测试环境及工具........................................ - 32 -5.2.2温度检测部分测试...................................... - 33 -5.2.3电路主板测试.......................................... - 33 -5.2.4统一调试.............................................. - 33 - 总结............................................ 错误!未定义书签。
单总线技术在现场测温系统中的应用
1 单 总线 工作 原 理
单 总线 (一 r u ) 1Wi B s 系统 只有 一条 信 号 线 , 统 e 系 中 的数 据 交 换 、 制 都 是 通 过 这 条 信 号 线来 完 成 , 控 所 以 , 求 连接 在该 系 统上 的每一 个 单 总线 设 备在 不 发 要
送数据 时能 够释放 总线 , 而让其 他设备 使用 总线 。 从 为 此每个 设备 ( 主机 或从 机 ) 内部通 过一个 场效应 管 的漏
应答, 因此 主机 访 问单 总 线器 件 都必 须 严格 遵 循 单 总 线 协议 。 始 化时 , 初 主机 首先 向总路 线发送 一个 有一定 延 时 的低 电平 , 然后 释放 总线 , 从机设 备接 收到这 一低 电平 后 , 产 生 一 个 应 答 信 号 , 会 表示 有 单 总线 设 备 在 线 。这便 完成 了初 始化 操作 。
中 图分 类 号 t P 3 T 36 文 献标 识 码 : A
The App i a i n o - i e Bus De i e n a n— i e lc t o f 1 W r e s r m e t S s e m e a u eM a u e n y tm
L n - o g, u Big d n DENG ig s u ’ Jn —h n
( c o l f Mah mai n o p t ce c , h n i a og Unv r t Dao g 0 7 0 , hn ) S h o te t s d C m u e S i e S a x t ies y, tn 3 0 9 C ia o ca r n D n i Ab t a t 1 wie d v c s c mm u ia e i e il P o o o .Th y a e e s o o e a e a d c n r la d h v s r c : - r e ie o n c t n S r r t c 1 a e r a y t p r t n o to n a e g e t e t n i i t . Th y smp i ic i c n e t n n r u t b e f r cr u t t o n c i n r s r t n r a x e sb l y i e i l y cr u t o n c i s a d a e s ia l o ic is wih c n e to e t i i . f o c o Th s s s e a o t - r h r e s r i y t m d p s a 1 wie t e mo s n o ,DS 0 1 B2 ,wh c s c n r l d b c o 0 t o l ru i ,t b a n 8 ih i o t o l y a mi r c n r l n t o o t i e e a d c n r l n st e e a u e t a i iu t o m e s r e p ca l n a r a r d c i n p a e Th d a t g n o to - iet mp r t r h t sd f c l t a u e, s e il i e l o u t h s . e a v n a e o i f y p o o h ss s e i e s o i lm e t n o v n e tt x e d f t i y t m a y t mp e n d c n e i n o e t n .W ih m i o o iia i n, h y t m y b s d s a t n rm d fc t o t es s e ma e u e i t e - r u e i e ,wh c e n th s h g o t b l y n o h r 1 wie b s d v c s ih m a s i a i h p r a i t . i Ke r s 1 wie b s,e e a u e s n o ,i n l t y wo d : - r u t mp r t r e s r tmi g s o
基于单总线协议的温度监测系统
9 7
基于单总线协议的温度监测系统
De in o e sg fT mp r t r De e t n S s e Ba e n Sigl s Pr t c eau e t c i y t m s d o n e Bu o o o o
生报 警 信 号 。 1 系统 总 体 方 案
I —● “●
MA T Rf ^ S E i O L E O S OT
-
MA , R 剐 D1 S 0  ̄E T ^ L T
4 . uT ∞ _ ● 哦t _l《
eU s
』
~一
—一 4 ・’ 。
f 叫一 T ~・ ” I 一
传 感 器 1 B 0和 蜂 鸣 器 , 82 实现 对 温 室 温度 的 测 量 和报 警 。该 系统 将 程 序 烧 录 至 单 片机 中 , 1 B 0进 行 温 度 的 测 量 并 用 由 82 数码 管显 示 , 温度 超 出一 定 范 围, 出信 号 给蜂 鸣 器进 行 报 警 。 实验 结果 表 明该 装 置 价格 低 廉 , 当 发 测量 方 便 , 简单 实用 。
关 键 词 : 室 , 片机 , 度 传 感 器 , 鸣 器 , 总 线协 议 温 单 温 蜂 单
Ab ta t sr c I iw f r blm h tm o tgr e o se tlu e m a almont r g n ve o p o e ta s e nh u s s i s l nu i i modet i p erpr os s a d i ft p a ue on , s ap op e esgn o em ert r h
目前 国 内温 室 种植 现 已 经大 范 围 的普 及 ,温 室 的温 度 监 测 对 于作 物 的生 长 是 至关 重要 的 。经 调 查 发 现 , 由于 成 本 的 问 题 , 现在 普 遍 采 用 的是 在 温 室 内悬 挂 温度 计 来 人 工 读 取 。这 种 方 式 即麻 烦 也 容 易 造 成 因 为读 取 不 及 时而 造 成 温 度 高 于 或 低 于 农 作 物生 长 温 度 范 围 的 事情 发 生 。 对 此 问 题 , 文 设计 了一 种 基 于 针 本 单 总线 协 议 的 温 度 监测 报 警 系统 。此 系 统 既 能 监 测 温 度 又 能 发
DS18B20单总线多点式测温系统资料讲解
D S18B20单总线多点式测温系统DS18B20单总线多点式测温系统1(2011-01-15 19:53:40)转载分类: DS18B20标签:ds18b20多点测量主文件:#include<reg51.h>#include<xuanze.h>unsigned int shu[]={0x30,0x31,0x32,0x33,0x34,0X35,0x36,0x37,0x38,0x39}; unsigned long t;void flcd_1602() //当为负温度时,液晶显示可以高位为0屏蔽.{init(0x80);write_data(0x4e);//NOinit(0x81);write_data(0x4f);init(0x82);write_data(0x80);init(0x85);write_data(0x74);//temperatureinit(0x86);write_data(0x65);init(0x87);write_data(0x6d);init(0x88);write_data(0x70);init(0x89);write_data(0x65);init(0x8a);write_data(0x72);init(0x8b);write_data(0x61);init(0x8c);write_data(0x74);init(0x8d);write_data(0x75);init(0x8e);write_data(0x72);init(0x8f);write_data(0x65);init(0xc0);write_data(0x80);init(0xc1);write_data(0x80);init(0xc2);write_data(0x69); //is:init(0xc3);write_data(0x73);init(0xc4);write_data(0x3a);if((t/1000)!=0){init(0xc5);write_data(0x2d);init(0xc6);write_data(shu[t/1000]);init(0xc7);write_data(shu[t/100]);}else{init(0xc5);write_data(0xfe);init(0xc6);write_data(0x2d);init(0xc7);write_data(shu[t/100]);}init(0xc8);write_data(0x2e);init(0xc9);write_data(shu[(t0)/10]);init(0xca);write_data(shu[t]);init(0xcb);write_data(0x27);init(0xcc);write_data(0x43);init(0xcd);write_data(0x80);init(0xce);write_data(0x80);init(0xcf);write_data(0x80);}void lcd_1602() //当为正温度时,液晶显示可以高位为0屏蔽. { init(0x80);write_data(0x4e);//NOinit(0x81);write_data(0x4f);init(0x82);write_data(0x80);init(0x84);write_data(0x80);init(0x85);write_data(0x74); //temperatureinit(0x86);write_data(0x65);init(0x87);write_data(0x6d);init(0x88);write_data(0x70);init(0x89);write_data(0x65);init(0x8a);write_data(0x72);init(0x8b);write_data(0x61);init(0x8c);write_data(0x74);init(0x8d);write_data(0x75);init(0x8e);write_data(0x72);init(0x8f);write_data(0x65);init(0xc0);write_data(0x80);init(0xc1);write_data(0x80);init(0xc2);write_data(0x69); //is:init(0xc3);write_data(0x73);init(0xc4);write_data(0x3a);if(t/10000!=0){init(0xc5);write_data(shu[t/10000]);init(0xc6);write_data(shu[t/1000]);init(0xc7);write_data(shu[t/100]);}else{if((t/1000)!=0){init(0xc5);write_data(0xfe);init(0xc6);write_data(shu[t/1000]);init(0xc7);write_data(shu[t/100]);}else{init(0xc5);write_data(0xfe);init(0xc6);write_data(0xfe);init(0xc7);write_data(shu[t/100]);}}init(0xc8);write_data(0x2e);init(0xc9);write_data(shu[(t0)/10]);init(0xca);write_data(shu[t]);init(0xcb);write_data(0x27);init(0xcc);write_data(0x43);init(0xcd);write_data(0x80);init(0xce);write_data(0x80);init(0xcf);write_data(0x80);}void jiance() //初始化,即检测是否存在DS18B20.{unsigned char k=0;loop:DS=1;DS=0; //主机将总线从高电平拉到低电平del(100); //持续400us~960usDS=1; //然后释放总线del(10); //DS18B20检测到总线上升沿后,等待15us~60u后发低电平。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单总线测温系统1-W ire System for Temperature M easurement董 炜 王俊杰 杨士元(清华大学自动化系检测与电子技术研究所,北京 100084)摘 要 介绍了单总线系统的结构、原理和技术特点,阐述了单总线协议、操作流程以及DS18B20数字式温度传感器的功能结构,实现了一种基于RS-232串口的单总线适配器并给出了设计原理和电路图,最后给出了一种简单高效的单总线器件搜索算法。
关键词 单总线 数字式温度传感器 iButton DS18B20A bstract In this p aper,the structure and principle as well as technical characteristics of1-Wire System are in trod uced,and the protocol and opera ti on flow of1-Wi re System as well as the fu nction and s tructure of DS18B20digi tal thermometer are describ ed.A1-Wi re ad ap tor based on RS-232 serial comm unication port is i mplemented,its p rinci ple of d esign and circui t diagram are gi ven.Finall y,the si mplified an d effecti ve search arithmetic for 1-Wire comp onents is gi ven.Keyw ords 1-Wire System Digi tal therm ometer i Button DS18B200 引言随着计算机和网络技术的发展以及芯片集成工艺水平的不断提高,传统的基于模拟信号的测控系统逐渐向数字化方向发展。
数字化器件具有精度高、抗干扰能力强、集成方便、自动化程度高等众多优势,它们日益成为目前测控技术和测控系统发展的趋势。
DALLAS公司设计的单总线系统是一种极具竞争力的技术,它具备能与计算机进行数字通信、总线负载量大、布线简单、精度高、性能稳定、价格便宜等多方面优点,在各种测控系统中得到了广泛的应用。
1 系统总体结构系统包括PC机、单总线系统软件(运行于PC机上)、单总线适配器和单总线温度传感器(DS18B20)4个主要部分,总体结构如图1所示。
另外,还有一个用于提供实验环境并形成空间温度场的水浴加热系统,如图2所示。
图1 单总线测温系统总体结构单总线适配器的主要功能是将RS-232串行时序转变为单总线时序,以满足单总线系统操作要求。
单总线系统软件利用单总线适配器提供的硬件接口,通过软件对整个单总线系统进行操作、监控和管理,并对测量数据进行处理。
DS18B20数字式温度传感器被封装到如图3所示的测温棒中,其目的主要是在保证传热性能的前提下保护DS18B20器件并起防水作用。
通过该系统,计算机软件可以实时地监测多个测量点的温度值,测得的数据可以用作进一步的分析,或经过可视化处理后直接输出到用户界面。
图2 水溶加热系统图3 测温棒内部结构系统总线由地线、数据线和电源线组成,其中电源线不是必需的。
如果有电源线,则DS18B20处于外部供电模式;如果没有电源线,则DS18B20处于寄生供电模式,这时器件从数据线上获取一定的电能。
为了能通过一条总线对多个器件进行操作,每个单总线器件中固化了唯一的64位ROM ID。
其中,最前面8位是器件系列编码(DS18B20的编码是28h),下面48位是一个唯一的序列号,最后8位是以上56位的CRC校验码。
单总线系统是一种典型的主从式总线系统,系统中只有一个主节点,其余皆为从节点。
只有主节点能够主动地发起通信事件,而从节点只能被动地响应通信事件。
系统中任意两节点的通信都是通过主节点按照一定的时序逻辑完成的。
在本系统中,主节点即为PC机和单总线适配器,PC机上的单总线系统软件负责对从节点(即DS18B20)进行操作和监控。
2 总线操作时序和流程单总线上最基本的操作有初始化、写和读3种,所有其它的操作都由这3种基本操作组合而成。
初始化用于对总线上的器件进行状态复位,写用于主节点向总线上写入一位数据,读用于主节点从总线上读取一位数据。
在这3种操作中,只有写操作是单向的,初始化操作和读操作都是双向的。
所谓 单向是指操作波形完全由主节点决定,而 双向是指前半个操作波形由主节点决定,而后半个波形由从节点决定,从节点通过这种方式向主节点返回信息。
初始化操作利用这一返回信息可以得知总线上是否有器件存在,而读操作可以利用这一返回信息获取数据。
以上的读写都是针对单个位(Bit)进行的,一个字节(Byte)的读写由8次位读写组合而成,顺序是从低位到高位。
8次位读写之间的时间间隔没有特定要求。
单总线系统的总线操作流程如下:初始化;RO M 操作命令;功能操作命令。
初始化使总线上所有器件复位; R OM操作命令用于器件定址或获取器件的R OM ID,所谓 器件定址也就是决定后边的功能命令针对哪一个器件进行操作; 功能操作命令用于完成具体的功能。
除了 初始化是直接由基本的初始化操作完成外,其它命令(ROM操作和功能操作)都是由多个位读写操作或字节读写操作复合而成的。
3 DS18B20的功能结构DS18B20是直接数字式高精度温度传感器,其内部含有两个温度系数不同的温敏振荡器,其中低温度系数振荡器相当于标尺,高温度系数振荡器相当于测温元件,通过不断比较两个温敏振荡器的振荡周期得到两个温敏振荡器在测量温度下的振荡频率比值。
根据频率比值和温度的对应曲线得到相应的温度值。
这种方式避免了测温过程中的A/D转换,提高了温度测量的精度。
DS18B20有4个主要的数字部件:64位激光RO M;温度传感器;非易失性EEPRO M存储器以及暂存器。
64位激光ROM用于存储器件特有的序列号。
暂存器中2字节用于存储温度传感器测得的温度值,2字节用于存储上下限报警温度(当测得的温度值超过这个范围时就会竖起一个报警标记,用于对报警搜索命令产生响应),1字节用于配置寄存器。
配置寄存器使用户可以按需要选择9、10、11、12位4种不同的分辨率(精度分别为0 5!、0 25!、0 125!和0 0625!)。
TH、TL和配置寄存器中的数据可以存入非易失性EEPROM中,器件断电时数据不会丢失,下次上电时会自动复制到暂存器中。
DS18B20的功能操作主要包括启动温度转换、读取供电模式以及对暂存器的读写和拷贝。
4 单总线适配器设计开发工作主要集中于适配器的设计和系统软件的编制。
单总线适配器主要用于通过计算机外部接口(如串口或并口)形成单总线上基本操作的时序脉冲,以实现计算机程序对单总线系统的操作和控制。
4.1 适配器原理和结构系统采用的单总线适配器基于计算机串口(RS-232),利用UART本身的时序逻辑通过设定特定的波特率和数据来实现几种基本单总线操作的时序脉冲(因为单总线时序逻辑允许有较大的变化裕量,所以能够做到这一点),这样可以省去(相对于并行I/O口)对总线时序的精确控制,大大降低了系统软件的复杂性。
实现相应时序脉冲的UAR T参数设置如表1所示,单总线适配器的电路如图4所示。
表1 U ART的参数设置波特率(bp s)数据位停止位奇偶校验发送数据初始化 960081无0xF0写 11520081无0x00读 11520081无0xFF图4 单总线适配器原理图图4中,MAX232用于从RS-232电平到5V电平的转换,单总线数据线(DQ)的驱动采用2N7000,它是N沟道增强型MOS管。
由于2N7000输入输出极性相反,所以采用了2个2N7000(Q1和Q2),以获得单总线电平逻辑。
Q3用于寄生供电模式中的数据线电平强制上拉(当进行EEPRO M 拷贝或温度转换操作时使用),控制信号由计算机RS-232接口第7引脚(RTS)给出,可以通过PC 软件实现时序逻辑的配合。
当开关S 2打向左边时,整个适配器及单总线测温系统从计算机RS-232接口第4引脚(DTR)拉取电流,无需外部电源。
MAX232的第9管脚为适配器的发送端,第10管脚为适配器的接收端,适配器的发送端和接收端以一定的方式耦合到一条线上(D Q,也就是单总线的数据I/O 线)。
MAX232的第9管脚经过两次反相(Q 1和Q 2)直接接到了第10管脚上,所以在没有受到D Q 上单总线器件影响的情况下,第10管脚的信号完全等于第9管脚的信号,也就是说,适配器发送什么就自然会收到什么。
但有一种情况下会出现例外。
当MAX232的第9管脚为高电平,因而第10管脚也为高电平时,单总线器件(接在DQ 和G ND 之间)可以将第10管脚的电平拉低,从而使适配器接收的脉冲与发送的脉冲不一样。
通过这种方式,单总线器件可以向适配器返回信息。
4.2 寄生供电模式下的时序配合所谓 寄生供电模式 就是省去系统总线中的电源线,由数据线为单总线器件提供电能,从而使系统总线由3根变为2根,方便了现场布线。
对于寄生供电模式,一般情况下通过数据线可以为DS18B20正常工作提供充足的电能。
然而,当进行EEPROM 拷贝或温度转换操作时,电流将会达到1 5mA 。
这么大的电流会通过上拉电阻引起电压不期望的降低。
为保证提供充足的电流,当进行EEPRO M 拷贝或温度转换操作时,需要给数据线电平提供一个强制上拉。
用MOS 管把数据线直接拉到电源上就可以实现,如图5所示。
在发出任何涉及EEP ROM 拷贝或温度转换操作的命令之后,必须在最多10 s 之内把数据线强制上拉到高电平,且整个数据复制过程或测温过程中要一直保持这种强制上拉状态。
当数据线被强制上拉时总线上不能再进行任何操作。
图5 寄生供电模式中的数据线电平强制上拉电路为了实现寄生供电模式中的这一 强制上拉 ,在适配器电路中加入了Q 3(见图5),直接由PC 机RS-232口的第7引脚(RTS)控制。
当RTS 为低电平时,Q 3关断,数据线处于正常状态;当R TS 为高电平时,Q 3导通,数据线被强拉到VDD,实现了所谓的 强制上拉 。
理论上讲,在PC 机发出EEPROM 拷贝或温度转换命令之后,立即将RTS 拉到高电平并保持足够的时间就可以解决寄生供电模式中数据线电流不足的问题,但实际上并没有这么简单,原因在于Windo ws 操作系统和PC 机的I/O 系统不具有实时性,不可能在10 s 内完成R TS 的上拉操作(这个时间一般会达到毫秒级)。