版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于单总线数字温度传感器的分布式测温系统 金 懿, 刘彭义, 张葡青(暨南大学 物理系,广东 广州 510632)摘 要 阐述一种新型单总线数字温度传感器DS18B20,以及利用单总线数字输出特点和微机、89C51单片机构成的分布式测温系统,并介绍了该系统软、硬件设计。关键词 单总线 温度传感器 分布式 单片机 中图分类号 TP273 文献标示码 A 文章编号DS18B20是美国DALLAS公司的新一代单总线数字温度传感器,其单总线是将地址线、数据线、控制线合三为一根信号线,实现了一信号线上进行双向数据传输,最大限度使通讯线数量减到最少,使系统构成更趋于简单化。该系统是以PC机为上位主机,以单
2、片机为核心的数据采集为下位机,单片机只需一根端口线就能与多个DS18B20串接和通讯,单片机通过串行口跟PC机连在一起,构成三位一体的主从分布式控制系统。该系统具有温度检测、显示、打印和故障自检等多种功能。 1 数字温度传感器DS18B20的特性 DS18B20单线数字温度传感器是新一代温度传感器,它具有微型化、低功耗与其它温度传感器相比,具有以下特性:(1) 将被测温度直接转换为计算机可识别的数字信号输出,使用中不需要任何外围设备,避免了传统温度传感器存在的参数不一致,所造成电路重新调试的问题,克服了模拟温度传感器互换性差的缺点;(2) 独特的单线接口方式,仅需要一条线与微处理器连接即可实现
3、双向通讯。(3) 每个DS18B20都含有一个唯一的序列号,允许多个DS18B20并联在同一总线上,支持多点组网功能,实现多点测温。(4) 测温范围为-55+125,在10 +85时其精度为0.5。(5) 在93.75ms750ms内将温度转换为912位数字量位数输出,结果已串行传送。(6) 非易失性温度限制触发器TH和TL存储用户通过软件写入的限制温度的上下限值。(7) 有5条关于ROM的操作命令、6条关于存储器的操作命令。(8) 含寄生电源,既可单总线供电,也可用外部电源供电。并具有良好的负压特性,当电源极性接反时,DS18B20虽然不能正常工作,但不会发热而损坏。正是由于DS18B20有
4、以上特性,它在解决各种误差分析、可靠性和系统优化等方面比传统温度传感器有极大的优势。2 DS18B20操作协议 一般较小的硬件需要相对复杂的软件进行补偿,由于DS18B20与单片机间采用串行数据传送,因此,它们之间有严格的时隙概念。单线信号包括复位脉冲,响应脉冲,写“0”,写“1”,读“1”。所以系统对DS18B20的各种操作必须按协议进行,否则将无法读取测温结果。操作协议为: 初始化DS18B20(发复位脉冲)发ROM功能命令发存储器操作命令数据处理。DS18B20单总线上所有处理均有初始序列开始。 为了识别已连接到单总线上的数字温度传感器,处理器先向DS18B20发送一个持续480960u
5、s的低电平信号,然后进入输入模式释放总线,在检测到I/O引脚上升沿之后,等待1560us,当DS18B20接收到上述时序信号时会 在单数据线上产生一个60us240us的低电平信号来表示就绪状态。如果由DS18B20所返回的低电平持续时间少于60us,则表示就绪信号无效。主机要重新发送初始化时间序列,DS18B20初始化时序如图1所示1。 在测温系统中,主机可通过符合ROM命令的64位ROM代码中找到一个唯一与ROM代码相符的DS18B20。 图1 DS18B20初始化时序DS18B20读写时序主要有存在脉冲、复位脉冲、读时间片和写时间片等操作。芯片本身带有命令集和存储器,处理器通过发出控制命
6、令,对芯片存储器进行读写。所有这些信号除“存在脉冲”由DS18B20产生外,其它均有处理器产生。3 分布式测温系统原理3.1由下位机与DS18B20组成的温度数据采集系统图2 下位机温度数据采集系统本系统利用DS18B20完成温度采样及转换工作,而单片机89C51起实时控制及通讯作用。使用时,将多个DS18B20与单片机一位口线相连,形成多点测温,如图2所示。由于DS18B20单线制,因此发送、接收口最好分开,我们把89C51的P1.0口作发送口Tx,P1.1口作接收口Rx2。这样做可使读写在操作上分开,读写分开操作,使每一路可挂接DS18B20数十片,距离可达约50米,同时可消除信号竞争问题
7、。如用一个口时仅能挂8片,DS18B20距离仅为20米左右。利用单片机的多根I/O口线来驱动P1.0P1.7共8条数据线,做成4路数据采集口。在每一路我们为了保险仅连接十片DS18B20,一块单片机就能连接40个DS18B20。供电方式采用外电源供电。液晶显示用于显示每片单片机及与其连接的40个DS18B20组成的测温数据采集系统的工作状态、采样温度、超限报警等,供现场工作人员监督系统运行状态。由于底层的测温点是由众多的DS18B20构成,所以首先要弄清每一只DS18B20的序列号,以便其做出响应。每个DS18B20都有一个唯一的64位产品系列号,没有一个器件之间的编号是相同的。通讯时系统第一
8、步首先发复位脉冲使线上所有DS18B20芯片都被复位,图3 DS18B20操作流程图后反复搜索DS18B20序列号,第二步是发送ROM操作命令,启动所有在线DS18B20做温度转换。第三步发出选择匹配器件命令,在发出该操作命令后,挂接于在线上的所有DS18B20器件均对收到的系列编号于其自身系列编号相比较,只有系列号相同的才对随后的命令进行响应,其余器件则不作任何响应。第四步逐个读出在线上DS18B20转换后的温度值。图3为DS18B20操作总体流程图。DS18B20与单片机两者的通讯及协作按DS18B20的读写时序串行进行。89C51中的监控程序不断地对温度数据进行比较。3.2 分布式测温系
9、统的组成图4 分布式测温系统结构框图本系统第一层选用了一台PC机作为上位机,是想充分利用其快速的数值计算功能及丰富的外设资源,。上位机是负责全系统的控制和管理,通过串行通信线,按应答式通信规约与第二层的10个下位机组成两级主从分布式测温系统。它具有收集、整理、采集、显示、打印等功能;选用单片机作为第二层下位机,是想发挥其接口简单、数据传输方便、价格低等优点。上下位机之间的关系为上位机向下位机下达工作方式命令。系统结构框图见图4。从图中可见该系统是由1台PC机、10片单片机、400个测温点所构成典型的主从分布式测温系统。用DS18B20单线数字温度传感器研制的分布式测温系统中的通讯部分,是基于P
10、C机与单片机之间通过RS232串口和RS485通讯总线连接,可实现远距离控制。所有的RS485网上的通信由上位机控制,采用上位机主导的命令/响应方式,从而避免设备在同一时间发送数据而导致竞争。其过程是上位机通过向下位机 发送地址信息来获取下位机的响应。上位机通过串口每次将此字节数据定时接收。通信 方式是,首先由上位机发出一通讯命令,单片机接收道该命令后,通过串口中断逐一发送数据,一旦总线数据与总线端口地址相符,下位机就马上把采集到的数据发送到总线上,上位机接收到温度数据后,将数据转化成十进制数,根据这些数据绘制成曲线显示在屏幕上。 该系统的第三层传感器网络是由400个测温点所组成,实现多点测温
11、。下位机对传感器操作是根据DS18B20操作协议进行。系统在操作时还需将400片DS18B20的序列号读出并存放在单片机中,这样在进行温度采集时,只要根据序列号,即可对每个DS18B20进行操作。上位机在使用前也应对DS18B20进行搜索,并将其序列号存储起来,以后对DS18B20寻址时,只要发相应的序列号,也可对其操作。4 上位机软件及数据分析4.1 上位机系统软件本系统上位机的软件是用VC+6.0编写的,实现多种人机对话方式,操作简便,适合现场使用。系统主要有设置选择下位机及测温点数目,温度上下限值,测温时间,温度巡检与巡检时切换监视画面的时间选择,曲线显示,打印。上位机软件主程序流程图见
12、图5,主程序执行全系统监控和管理。显示模块显示系统运行状态;数据收集处理模块,从串行接收缓冲区获得各下位机的状态、温图5 主程序流程图度采集值、下位机编号、传感器序列号,整理后进行保存和归档;命令输入模块,从键盘获取命令进行分析、处理;命令分析处理模块,按不同命令要求或修改系统工作模式、调整运行参数,或整理数据送串行发送缓冲区,由通信中断服务发送到下位机。 4.2 数据分析表1 温度数据(DS18B20)温度数据如表1所示(DS18B20传感器12位数据温度分辨率为0.0625)。 5、温度采集软件流程 我们用DS18B20单线数字温度传感器研制的测温系统的软件有温度采集及两个。温度数据采集程
13、序由图7所示。温度数据采集循环n个DS18B20温度参数并存放在89C51的40H至53H单元中,每一路温度占用2个存储单元,处理后的温度值存在73H单元中,上位机通过RS-232C串口每次将此字节数据定时接收。通信方式是,首先由上位机发出一通讯命令,单片机接收道该命令后,通过串口中断逐一发送数据。在读该程序前应先编制一个DS18B20的序列号读出子程序,将n片DS18B20的序列号读出并存放在单片机的温度采集程序中,这样在进行温度采集时,只要依序列号对各个DS18B20操作即可。本系统上位机的软件,实现多种人机对话方式,操作简便,适合现场使用。下位机软件实现数据采集系统与上位机的数据通信。
14、温度(十进制) 温度输出(二进制) 温度输出(十六进制)() +30 0000000111100000 01E0H +25.0625 0000000110010001 0191H+10.125 0000000010100010 00A2H+0.5 0000000000001000 0008H 0 0000000000000000 0000H-0.5 1111111111111000 FFF8H-10.125 1111111101011110 FF5EH NN读数据并校验当前温度值是n号DS18B20?等待正确回应?发送skip ROM命令发送起始信号结束测量开始发温度转换命令(44H)发送起始
15、信号发送skip ROM命令YY图5温度采集程序流程图6、实现 DS18B20高精度测温61 DS18B20测温原理DS18B20测温原理如图3所示。图中内部计数器2对一个随温度变化其振荡频率明显改变的振荡器所产生的脉冲进行计数,计数器1和温度寄存器被预置在-55对应的基数。低温时,振荡器产生的脉冲信号可通过门电路,当到达某一设置温度值时,振荡器产生的脉冲信号无法通过门电路,此时温度寄存器中的数值就是所测温度值,这个值以16位形式存放在高速存储器中。此温度值可由主机通过发存储器读命令而读出。斜率累加器用于补偿、修正测温过程的非线性。低温度系数振荡器高温度系数振荡器斜率累加器计数器1预置计数器2
16、0温度寄存器预置比较0加1停止设置/清理LSB图6 DS18B20测温原理框图 DS18B20的温度值以0.5/LSB(最低有效位)来表示,输出数据格式如下(如T25): MSB LSB111001110 由此可看出,DS18B20的温度值是以9位二进制数来表示的,其中最高有效位MSB为符号位,符号位为“1”表示负温度,“0” 表示正温度。其中最底有效位(LSB)由比较器进行0.25比较,当计数器1中的余值转化成温度后低于0.25时,清除温度寄存器的最底位(LSB), 当计数器1中的余值转化成温度后高于0.25时,置位温度寄存器的最底位(LSB)。表1 温度对应值温度(十进制) 温度输出(二进
17、制) 温度输出(十六进制)() (MSB,LSB)+125 00000000,11111010 00FAH+25 00000000,00110010 0032H+0.5 00000000,00000001 0001H 0 00000000,00000000 0000H-0.5 11111111,11111111 FFFFH-25 11111111,11001110 FFCEH-55 11111111,10010010 FF92H62 提高DS18B20测温精度的方法DS18B20正常使用时的测温分辨率为0.5。如果采取直接读取DS18B20内部暂存器的方法,可将DS18B20的测温分辨率提高到
18、0.1 0.01。DS18B20内部暂存器分布如表1所示,其中第7字节存放的是当温度寄存器停止加1时,计数门关闭后保留在计数器1中的值,第8字节存放的是每度所对应的计数值,然后,可通过以下方法获得高精度测温的结果。首先用DS18B20提供的暫存器指令(BEH)读出温度结果,然后转化成0.5/LSB(最底有效位),得到所测实际温度整数部分,记为TEMP.READ。随后再用BEH指令读取计数门关闭后保留在计数器1中的值COUNT.REMAIN和每度所对应的计数值COUNT.PER.C,由于DS18B20测温整数部分以0.25为进界限关系,所以用下面公式直接计算,可得到高精度实测温度。实际温度TEM
19、P.READ-0.25+(COUNT.PER.C-COUNT.REMAIN)/ COUNT.PER.C表1 DS18B20内部暫存器分布 表2 DS18B2直读测温结果与计算测温结果数据比较 寄存器内 字节地址 次数 直读测温数 计算测温数 温度最底有效位 0 1 10 9.875 温度最高有效位 1 2 20 20.016 高温限值 2 3 30 30.108低温限值 3 4 40 40.215 保留 4 5 50 49.981 保留 5 6 60 60.171计数保留值 6 7 70 69.893每度计数值 7 8 80 79.861CRC效验 8 9 90 90.093 表2列出采用直接
20、读取测温结果方法和采用计算方法得到的测温数据精度比较,通过比较可看出,计算方法测温可较大的提高DS18B20的测温精度。63实现高精度测温的软件流程通过以上分析、计算,在加上软件编程(如图7示),即可得到高精度测温。 Y开始发温度转换命令(44H)读暂存寄存器(BEH)计算高精度温度转换结束 ?结束测量。.。N 图7高精度测温的软件流程 先用读暂存寄存器指令读出以0.5为分辨率的温度测量结果TEMP.READ(暂存寄存器第1、第2字节),然后在读出暂存寄存器中第7字节COUT.REMAIN和第8字节COUNT.PER.C,再由上述公式计算精确的温度值。7、结束语 温度传感器DS18B20构成的单总线多点测温系统,具有测点多、工作性能稳定、抗干扰能力强、体积小、低功耗、安装线路简单、价格低廉等优点。 并且通过单条连接线解
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车站装修批荡施工协议
- 防腐施工应急预案合同
- 互联网项目招投标合同注意事项
- 化工行业招待费管理新方法
- 花艺助理劳动合同注意事项
- 供水供电收费管理:发票管理办法
- 食品饮料输送管道施工
- 2025版空置房屋闲置资源盘活利用合作开发合同3篇
- 临时办学场所租赁合同
- 2025版二零二五年度新能源充电桩建设与运营合同3篇
- 企业知识产权保护策略及实施方法研究报告
- 2024年度共享办公空间租赁合同2篇
- 《血气分析的临床应》课件
- 2024年07月11026经济学(本)期末试题答案
- 2024年中小企业股权融资合同3篇
- 2024年01月11289中国当代文学专题期末试题答案
- 2024年秋季生物教研组工作计划
- 理论力学(浙江大学)知到智慧树章节答案
- [资料]马兰士(MarantzPM17)功放维护修理手册(含电路图)
- 电气工程课程设计——车间动力及照明设计
- 客服(部)人员绩效考核细则
评论
0/150
提交评论