1、 学校代码: 11517 学 号: 201050712216 HENAN INSTITUTE OF ENGINEERING 文献翻译 题 目 电子万年历的设计与实现 学生姓名 姚 俊 霞 专业班级 电气工程及其自动化 学 号 201050712216 系 (部) 电气信息工程系 指导教师 (职称 ) 李 娜(讲师) 完成时间 2012 年 2 月 17 日 基于 DS18B20 分组方式测温系统设计 1 基于 DS18B20 分组方式 测温 系统设计 LI Ping ZHOU Yucai Xiangjun ZENG YANG Ting-fang Changsha University of S
2、cience and Technology, Changsha 410077, Hunan, P. R. China. 摘 要: 当用于多点测温时,所有的 DS18B20 传感器都连接在单片机的某根总线上,采用轮流采集温度数据的方式。当系统有多个传感器时,单片机用于处理温度数据的时间就会明显延长,从而导致测温系统周期增长。在本文中,采取对 DS18B20 合理的分组的方法,并在软件上采取一定措施,从而明显的提高交替检测速度。 关键词: DS18B20 分组 /温度测试 /交替检测时间 1 引言 DS18B20 温度传感器由于其结构简单、安装方便、低损耗以及测温范围宽而被广泛应用于需要多点测温的
3、地方,像化工,粮食,环境监测等等。由于多点温度测试系统采用的是单总线方式,所有的 DS18B20 传感器挂在一根总线上,然后轮流读取每一个测试点的温度转换值。由于读取单个传感器的转换值需要读8 次管脚状态,并要进行移位存储数据,所以系统读取每一点的数据花费的时间不小,如果测温系统规模较大的话,由此造成的系统损耗也是相当大的。从而导致系统的交替检测速度明显下降,极大的影响了多点测温系统的检测效率。本文中,对 DS18B20 平均分组并挂到多根 I/O 线上,通过同时读取 DS18B20 的状态得到转换的温度数据,从而明显提高交替检测速度并降低系统开销,同时又不影响转换精度及可靠性。本文实现了一套
4、人工环境实验室的多 点温度测试,明显提高了原有测试系统的检测效率。 2 DS18B20 的特性 DS18B20是由美国 Dallas公司设计的单线数字温度传感器它由 64位激光刻印 ROM、温敏元件、非易失性温度报警触发器 TH和 TL器件三个部分组成,其与单片机的通信采用单线接口, DS18B20的测量范围是 -55 到 +125 ,增量值为基于 DS18B20 分组方式测温系统设计 2 0.5 。温度变换为数字可在 720ms内完成,每一个 DS18B20具有唯一的 64位的序列号(图 1), DS18B20内部有两个 8位存储器 RAM用来储存温度值( 0号和 1号),其中 0号存储器存
5、放温度值的补码, 1号存储器存储温度值的符号。用户可以定义非易失性的温度告警设置并且区分告警搜索命令,寻求组件温度警报状态以外的预定的限制。有两种供电方式:利用信号线高电平时借电供电,或直接用 +5V电源。 图 1 DS18B2064为 ROM 3 应用分组测试方法 本文以 DS18B20与 89C52的接口说明分组测试方法,假定 P1口上的总线数为4,温度测试系统需要 100个 DS18B20传感器,可将 100个传感器平均分配到 4根 I/O线上,如果传感器数量不能被总线数整除,可使连在总线上的传感器数量差别不超过 1个,这样读数时就能解 决。电源采取外部供电,由于每个 DS18B20都是同步转换,所以需要较强电流,不能用信号线供电,否则系统无法正常工作。 线路连接如图 2示(同组的 DS18B20信号线都连接在 P1口的一根总线上)。当对DS18B20进行读写时,必须严格保持时序要求。首先给所有的 DS18B20发一个复位脉冲,复位后,从各 I/O口发送跳转 ROM命令,转换以后,向各路同时发匹配ROM命令,接着发送 64位序列号,每组选择一个 DS18B20 ,读取 Scratch Pad 数据,最后进行数据转换,将串行读取的数据转换成实际值,循环读取 25次 将所有 DSl8820温度数据完全读完,一次交替测试完成,整个流程如图 3所示。 图 2 DS18B20连线图