单片机单总线多传感器温度智能检测系统设计说明_第1页
单片机单总线多传感器温度智能检测系统设计说明_第2页
单片机单总线多传感器温度智能检测系统设计说明_第3页
单片机单总线多传感器温度智能检测系统设计说明_第4页
单片机单总线多传感器温度智能检测系统设计说明_第5页
已阅读5页,还剩31页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、单总线单总线多传感器温度智能检测系统摘要本系统设计了一种基于单总线的温度检测系统。针对智能温度控制,将智能传感器检测与单片机控制相结合,设计了基于单片机的温度检测系统的设计方案。通过单总线温度传感器和单总线模数转换器采集现场数据。采用DS18B20数字传感器对温度进行采样和转换,增强了电路的可靠性,提高了测量精度。环境信息通过液晶显示器实时显示,通过RS-485网络将数据传输至上位机,通过上位机数据采集处理进行远程控制。数据采集的精度最高可达 16 位,并可进行编程。单总线技术组网非常方便,维护也非常简单,为当今的数据采集系统提供了一种新的解决方案。关键词:单总线; DS18B20; MCS-

2、51目录 TOC o 1-3 h z u HYPERLINK l _Toc295322088 摘要 PAGEREF _Toc295322088 h 我 HYPERLINK l _Toc295322089 摘要 PAGEREF _Toc295322089 h 二 HYPERLINK l _Toc295322090 第 1 章 引言 PAGEREF _Toc295322090 h 1 HYPERLINK l _Toc295322091 1.1 学科背景 PAGEREF _Toc295322091 h 1 HYPERLINK l _Toc295322092 1.2 学科发展历程 PAGEREF _T

3、oc295322092 h 1 HYPERLINK l _Toc295322093 1.3 本文内容 PAGEREF _Toc295322093 h 2 HYPERLINK l _Toc295322094 第二章 方案论证与选择 PAGEREF _Toc295322094 h 4 HYPERLINK l _Toc295322095 2.1 MCU系统方案 PAGEREF _Toc295322095 h 4演示 HYPERLINK l _Toc295322096 2.2 传感器的选择 PAGEREF _Toc295322096 h 6 HYPERLINK l _Toc295322097 2.2.

4、1温度传感器 PAGEREF _Toc295322097 h 6 HYPERLINK l _Toc295322098 2.3 显示 PAGEREF _Toc295322098 h 6的选择 HYPERLINK l _Toc295322099 2.4 通讯方式的选择 PAGEREF _Toc295322099 h 7 HYPERLINK l _Toc295322100 第 3 章 系统硬件设计 PAGEREF _Toc295322100 h 9 HYPERLINK l _Toc295322101 3.1 AT89S52 单片机 PAGEREF _Toc295322101 h 9 HYPERLIN

5、K l _Toc295322102 3.1.1 AT89S52 单片机管脚排列 PAGEREF _Toc295322102 h 9 HYPERLINK l _Toc295322103 3.1.2单片机最小系统原理图 PAGEREF _Toc295322103 h 10 HYPERLINK l _Toc295322104 3.2 PT12864M 液晶显示器 PAGEREF _Toc295322104 h 10 HYPERLINK l _Toc295322105 3.2.1模块管脚说明 PAGEREF _Toc295322105 h 11 HYPERLINK l _Toc295322106 3.

6、2.2接口时序 PAGEREF _Toc295322106 h 11 HYPERLINK l _Toc295322107 3.2.3具体说明介绍 PAGEREF _Toc295322107 h 12 HYPERLINK l _Toc295322108 3.3 1-wire 总线技术 PAGEREF _Toc295322108 h 12 HYPERLINK l _Toc295322109 3.3.1单总线技术概述 PAGEREF _Toc295322109 h 12 HYPERLINK l _Toc295322110 3.3.2单总线接口硬件结构 PAGEREF _Toc295322110 h

7、13 HYPERLINK l _Toc295322111 3.3.3单总线芯片序列号 PAGEREF _Toc295322111 h 13 HYPERLINK l _Toc295322112 3.3.4单总线通讯信号类型 PAGEREF _Toc295322112 h 14 HYPERLINK l _Toc295322113 3.3.5单总线通信初始化 PAGEREF _Toc295322113 h 15 HYPERLINK l _Toc295322114 3.3.6单总线通信的 ROM 命令 PAGEREF _Toc295322114 h 15 HYPERLINK l _Toc2953221

8、15 3.4 单总线温度传感器 DS18B20 PAGEREF _Toc295322115 h 16 HYPERLINK l _Toc295322116 3.4.1概述 PAGEREF _Toc295322116 h 16 HYPERLINK l _Toc295322117 3.4.2引脚图 图 PAGEREF _Toc295322117 h 17 HYPERLINK l _Toc295322118 3.4.3部件结构 PAGEREF _Toc295322118 h 17 HYPERLINK l _Toc295322119 3.4.4工作原理 PAGEREF _Toc295322119 h 1

9、8 HYPERLINK l _Toc295322120 3.4.5功能指令 PAGEREF _Toc295322120 h 19 HYPERLINK l _Toc295322121 3.5 RS485通讯原理 PAGEREF _Toc295322121 h 19 HYPERLINK l _Toc295322122 3.5.1 MAX1487简介: PAGEREF _Toc295322122 h 19 HYPERLINK l _Toc295322123 3.5.2传输速率和传输距离 PAGEREF _Toc295322123 h 20 HYPERLINK l _Toc295322124 3.6

10、电源设计 PAGEREF _Toc295322124 h 20 HYPERLINK l _Toc295322125 第 4 章 系统软件设计 PAGEREF _Toc295322125 h 22 HYPERLINK l _Toc295322126 4.1 主程序 PAGEREF _Toc295322126 h 22 HYPERLINK l _Toc295322127 4.2 各子程序的设计 PAGEREF _Toc295322127 h 24 HYPERLINK l _Toc295322128 4.2.1液晶驱动器 PAGEREF _Toc295322128 h 24 HYPERLINK l

11、_Toc295322129 4.2.2单总线驱动 PAGEREF _Toc295322129 h 24 HYPERLINK l _Toc295322130 4.2.3读取温度程序 PAGEREF _Toc295322130 h 24 HYPERLINK l _Toc295322131 4.3 软件过滤和数据验证 PAGEREF _Toc295322131 h 25 HYPERLINK l _Toc295322132 4.4 通信协议简介 PAGEREF _Toc295322132 h 26 HYPERLINK l _Toc295322133 4.5 PC数据采集程序 PAGEREF _Toc2

12、95322133 h 26 HYPERLINK l _Toc295322134 结论 PAGEREF _Toc295322134 h 27 HYPERLINK l _Toc295322135 至 PAGEREF _Toc295322135 h 28 HYPERLINK l _Toc295322136 参考29_ _ PAGEREF _Toc295322136 h HYPERLINK l _Toc295322137 附录 A 一般示意图 PAGEREF _Toc295322137 h 30 HYPERLINK l _Toc295322138 附录 B PROTUES 仿真 DS18B20 截图

13、PAGEREF _Toc295322138 h 31第一章介绍1.1 学科背景在当代社会的生产生活中,温度检测系统被广泛应用于社会生产生活的各个领域。通过温室内温度的采集和控制,改变植物生长的自然环境,创造植物的最佳生长条件。因此,各种温室测控技术的实际应用和研究也取得了长足的进步,正朝着高度自动化、智能化方向发展。它还用于许多电子产品中的温度检测和温度控制。目前,温度测量系统种类繁多,功能各异。有空调、电饭煲、太阳能热水器、冰箱等简单的家用电器进行温度检测和控制。单片机以其功能强大、体积小、可靠性高、成本低、开发周期短等优点,广泛应用于自动化及各种测控领域,已成为日常生活中不可缺少的设备,尤

14、其是在日常生活。所发挥的作用也越来越大。因此,单片机对温度的控制是日常生活中经常遇到的问题。温室工程主要包括两个方面,一是温室结构工程,二是温室测控系统,温室测控系统由温室数据采集系统和温室环境控制系统两部分组成。相得益彰。必不可少。温室数据采集系统作为温室内各种环境因素的采集部分,由温度传感器组成。这些传感器通常分布在很广的区域,通信距离很远。因此,需要具有高可靠性并适合在温室环境中使用的数据收集。采集系统满足远程数据传输的要求。随着计算机技术的发展,远程监控显示出强大的生命力和广阔的应用前景。与传统的监测系统相比,用户可以远程、及时地获取现场情况,更准确、更有效地获取现场数据。近年来,随着

15、互联网的普及和远程控制策略的完善,基于网络通信的手段在远程监控技术中的应用发展迅速。远程温湿度测控系统是需要采集家庭、仓库、温室、商场等环境信息数据的系统,传感器通过单总线网络将现场数据传输给处理器进行处理,然后处理器通过网络将其传输到上位机( PC ),供用户分析和控制,从而提高工作效率。1.2 学科发展历程随着科技和经济建设的发展,远程数据和设备状态监测与故障报警已成为保证系统运行的稳定性、可靠性和安全性,提高产品质量和生产效率的关键技术。远程数据采集和控制系统的手段越来越受到业界的广泛关注。作为一个涉及多个主体的综合性学科问题,监控模式经历了从单片机监控系统到分布式监控系统,再到远程监控

16、系统的发展过程。第一代监控系统是以多用户在线、集中控制为特点的单机监控系统。当时的监控系统主要是针对特定的被测对象设计的。它主要由一台计算机和一个或多个功能模板组成。信息的交换和处理仅限于监控系统部门,这是一个封闭式系统。第二代监控系统的特点是局域网和分布式控制。主要针对大型设备主机和多辅助工程分布和地域分布的特点。通过局域网,将分布在各个本地站点的、独立完成特定功能的本地计算机互连起来。它是一个具有资源共享、协同工作、分散监控、集中运行、管理、报警等功能的计算机网络。第二代系统是基于工业局域网的相对开放的系统。监控信息的处理是在局域网中进行的。1990年代后期,随着计算机技术和信息技术的发展

17、,专用信息高速公路的开通,远程监控技术与计算机的有机结合,是数据采集和远程控制技术发展的一个新阶段。以计算机为主,现场安装数据采集探头采集数据,控制中心提供远程数据采集系统。远程监控实时测试一些现场数据以收集环境信息。通过对数据进行分析处理后传输到远程主机,还可以在需要时保存数据,进行对比分析和控制。1.3 本文内容本课题完成了基于单总线的温室环境检测系统。单总线上温度传感器的数据由单片机系统采集,温度信息实时显示在液晶显示器上,温度数据通过RS485网络传输到远程PC . .通过WINDOWS平台的数据采集软件,显示下位机采集的温度数据。该系统可以实现对温室环境的本地和远程数据采集和管理,也

18、可以应用于其他需要温度数据的领域。本课题主要内容如下:数据采集:制作单总线数据采集系统进行温度采集。在一条总线上,通过识别传感器的序列号,可以使用总线型网络连接多个传感器。数据处理、分析与显示:单片机采集单总线数据,经过数学运算、 CRC校验、软件滤波等技术处理,由液晶显示器实时显示温度。数据传输:下位机采集的数据通过RS485网络传输到上位机系统。上位机(PC )使用C+Builder编写串口通讯程序,实现下位机数据的显示和处理。数据处理功能,任何个性化需求和生产生活需要,都可以通过PC端的数据采集软件来实现。第二章方案论证与选择通过对系统的考察研究,可以得到系统的整体框图如下CPUCPU温

19、度检测软件1-wire通信显示器图 2.1 系统框图该系统主要由单片机系统、单总线传感器网络、显示部分、数据采集、通讯部分和上位机数据采集软件组成。2.1 MCU系统方案演示单片机系统是整个系统的核心。只有通过单片机系统才能对传感器数据进行采集、处理和显示。方案一:8051系列单片机8051单片机最早由英特尔公司推出。之后,多家公司采购了8051内核,成为世界上产量最大、应用最广泛的8051内核MCU系列单片机。这些公司在保持与8051单片机兼容编制依据上,改进了8051的许多特性,改变了时序特性,增加了ISP功能,增加了机器周期,降低了时钟频率,放宽了电源电压的动态范围,等,使8051单片机

20、的性能有了很大的提升和提升。根据具体的系统要求,可以选择不同公司的合适机型,可以完成很多设计。选项 2:Atmel 微控制器ATMEL 是全球领先的高性能、低功耗非易失性存储器和数字集成电路制造商。 ATMEL 以其 EPROM、电可擦除技术、闪存技术和高可靠性而著称。独特的生产技术 在CMOS器件生产领域,ATMEL的先进设计水平、卓越的生产工艺和封装技术一直处于世界领先地位。这些技术用于单片机的生产,使单片机也具有优良的品质。优势明显 ATMEL的单片机是世界上独一无二的优秀单片机。在计算机外围设备、通讯设备、自动化、工业控制、航空航天设备、仪器仪表和各种消费类产品中具有广泛的应用前景。其

21、生产的AT90系列是增强型加载RISC的FLASH单片机,通常称为AVR系列。 AT91M系列是基于ARM7TDMI嵌入式处理器的ATMEL16/32微处理器系列的新成员。该处理器采用高密度16位指令集实现高效的32位RISC结构,功耗极低。选项 3:Microchip MCUMicrochip 微控制器是市场上增长最快的微控制器。他的主要产品是16C系列8位单片机。 CPU采用RISC结构,只有33条指令。它运行速度快,以低廉的价格着称。通常,微控制器的价格低于 1 美元。 Microchip 微控制器没有掩模产品。 OTP 设备(闪存型微控制器现已上市)。 Microchip强调节约成本的

22、优化设计,属于使用量大、档次低、价格敏感的产品。在办公自动化设备、消费电子、电信、智能仪器仪表、汽车电子、金融电子、工业控制等不同领域有着广泛的应用。选项 4:ARM 处理器ARM 处理器是 Acorn 计算机为低预算市场设计的第一个 RISC 微处理器。 ARM 处理器本身是 32 位设计,但也带有 16 位指令集。通常比等效的 32 位代码节省高达 35% 的成本,同时保留 32 位系统的所有优势。 ARM 的 Jazelle 技术使 Java 加速能够实现比基于软件的 Java 虚拟机更高的性能,并且比同等的非 Java 加速内核消耗的功率低 80%。 CPU 功能增加了 DSP 指令集

23、,提供增强的 16 位和 32 位算术运算能力,提高了性能和灵活性。 ARM 还提供了两个领先的功能来帮助调试具有深度嵌入式处理器的高度集成的 SoC 设备,即嵌入式 ICE-RT 逻辑和嵌入式跟踪宏 (ETMS) 系列。2.2 传感器的选择2.2.1温度感应器方案一:模拟温度传感器AD590AD590是美国ADI公司生产的电流输出温度传感器。供电电压范围330V,输出电流223A(-50 )423A(+150),灵敏度1A/ 。当电路中串联一个采样电阻R时,R两端的电压可以作为输出电压。注意R的阻值不能太大,以保证AD590两端的电压不低于3V。 AD590输出电流信号传输距离可达1以上。作

24、为高达 20M 的高电阻电流源,它不必考虑由选择开关或 CMOS 多路复用器引入的额外电阻引起的误差。适用于多点测温和远程测温的控制。选项 2:热敏电阻传感器热敏电阻传感器是一种敏感元件,用于传感电路中的电子元件。只要在基板上加电极,在电路中就可以通过热敏电阻阻值的变化来测量环境温度的变化。它最大的特点是电阻值随着温度的变化而变化很大,因此可以通过其电阻值的变化来感知环境温度的变化。目前常用的电阻有正温度系数热敏电阻和负温度系数热敏电阻。选项 3:数字温度传感器 DS18B20DS18B20是实现单总线测控网络的关键器件,主要包括寄生电源、温度传感器、64位激光ROM和单总线接口、存储中间数据

25、的高速暂存RAM、TH和TL翻转触发器、存储与控制逻辑、8位循环冗余校验码发生器等七部分。用户可以设置报警温度存储在芯片的EEPROM中,掉电后仍会保存。它为系统的设计提供了极大的便利,不仅具有良好的性能,而且具有突出的功能。2.3 显示器的选择方案一:LED数码管显示LED是一种较为常用的发光元件。目前,以LED为发光元件开发的显示屏的应用,可在实时工控系统中作为远距离实时信息显示,实时显示高要求的工艺流程。 .数码管可以理解为封装了8个发光二极管的组件。它成本低、亮度高,是电子设备中常用的显示器件。但由于数码管的特性,只能显示简单的字符,而且数码管占用了大量的资源。由于单片机的I/O驱动能

26、力不强,软件编写比较麻烦,所以本设计没有选择这种方案。选项 2:字符 LCD 显示液晶显示的原理是利用液晶的物理特性,通过电压来控制其显示区域,有电就有显示,从而可以显示图形。液晶显示器具有厚度薄的特点,可直接驱动大规模集成电路,易于实现全彩显示,目前已得到广泛应用。同时,还具有功耗低、显示能力灵活等优点。在这个设计中,要实现的信息很多,液晶显示器可以充分输出系统的所有信息。根据实际需要,需要显示不同的界面和编程菜单显示。液晶显示方式为静态显示,只需要更新实验中的数据即可。2.4 通讯方式的选择方案一:RS232网络RS232是一种常用的串行设备,一般用于通讯和人机交互领域中传输数据。串口系统

27、虽然比并口系统复杂,但在数据传输过程中需要的数据线比并口系统少,因此效率也更高。由于发射电平与接收电平相差仅2V3V左右,其共模抑制能力较差,再加上传输电缆上的分布电容,传输距离只能达到15米左右,最高速率是 20kb/s。 RS-232专为点对点(即只有一对接收和发送设备)通信而设计,其驱动负载为37k。所以RS-232适用于本地设备之间的通讯。方案二:RS485通讯方式RS485标准由电子行业协会和通信行业协会共同制定和制定。 RS485作为多点差分数据传输的电表,已成为世界上应用最广泛的标准通信接口之一。 RS485标准理论上最多可以接入32个设备(受芯片驱动能力影响),可以工作在双工或

28、全双工模式,最大传输距离约1219米,最大传输速率约10Mbps。但是,通常网络采用平衡双绞线作为传输介质。平衡双绞线的长度与传输速率成反比,只有在20Kbps的传输速率下才能达到最大传输距离。一般15米长的双绞线最大传输速率只有1Mbps。但是,对于速度要求较低的控制系统来说,这已经足够了。方案三:CAN总线通讯网络CAN总线是德国梅赛德斯-奔驰公司在1980年代采用的一种串行通信协议,用于解决汽车中众多控制设备和仪表之间的数据交换。随着技术的发展,它可以作为现场总线广泛应用于各行各业的工业现场。根据不同需要或采用主从模式。或者以多主从方式工作。 CAN总线采用双绞线或其他电缆进行通讯,传输

29、速率可达1Mbps。 CAN总线由于其可靠的设计和高速远距离传输,更适用于工业现场监控设备的互连。经过对本系统的分析,最终处理器决定采用AT89S52单片机,采用单总线方式采集环境信息。这允许在单个总线上收集温度数据。温度传感器采用DS18B20传感器。单总线具有组网方便、维护简单等一系列优点。在该系统中,可以方便地将多个传感器探头连接到单条总线上,每条单条总线都可以通过其唯一的序列号进行操作,非常方便。 .在下位机数据采集系统中,环境信息通过液晶显示器实时显示,数据通过RS485网络传输到远程上位机。第三章系统硬件设计3.1 AT89S52 单片机AT89S52 是一款低功耗、高性能 CMO

30、S 8 位微控制器,具有 8K 字节系统内可编程闪存程序存储器。它采用 Atmel 的高密度非易失性存储器技术制造,与工业 8051 产品完全指令和引脚兼容。片上闪存允许在系统内对程序存储器进行编程,也适用于传统编程器。 AT89S52 在单芯片上具有智能 8 位 CPU 和系统内可编程闪存,为许多嵌入式控制应用系统提供了高度灵活和有效的解决方案。AT89S52具有以下标准功能:8K字节Flash、256字节RAM、32位I/O线、看门狗定时器、2个数据指针、三个16位定时器/计数器、一个6向量二级中断结构、全-双工串口,芯片时钟电路。3.1.1 AT89S52单片机管脚排列图 3.1 AT8

31、9S52 管脚布局AT89S52 特点:兼容MCS-51单片机产品;8K字节系统内可编程闪存;不少于 1000 次擦写循环;3级加密程序存储器;32条可编程I/O线;三个 16 位定时器/计数器;八个中断源;全双工UART串行通道;低功耗空闲和掉电模式;掉电后可以唤醒中断;看门狗定时器;双数据指针;掉电标识符;3.1.2单片机最小系统示意图图3.2 单片机最小系统示意图3.2 PT12864M液晶显示器SPRT12864M汉字图形点阵液晶显示模块,可显示汉字和图形,具有8192个汉字(16X16点阵)、128个字符(8X16点阵)和64X256点阵显示RAM(GDRAM)。3.2.1模块引脚说

32、明表 3.1 SPRT12864M管脚说明别针引脚名称方向功能说明1VSS-模块电源地2VDD-模块电源正极3V0-LCD驱动电压输入4后勤(CS)高/升并行命令/数据选择信号;串行片选信号5读/写(SID)高/升并行读写选择信号;串行数据端口6E(时钟)高/升并行使能信号;串行同步时钟7DB0高/升数据 014DB7高/升数据 715公安局高/升并行/串行接口选择:H-parallel; L系列16数控空脚17/RET高/升复位低电平有效18数控空脚19LED_A-背光阳极(LED+5V)20LED_K-背光负极 (LED-OV)3.2.2接口时序图 3.3 写 LCD 数据时序模块有并行和

33、串行两种连接方式( 8位并行连接方式时序图如图3.3所示):将数据写入模块。从模块读取数据图 3.4 读取 LCD 数据时序3.2.3具体说明介绍1)、清屏:清屏,调整DDRAM地址计数器为“00H”2)、地址返回:调整DDRAM地址计数器为“00H”,光标返回原点,不影响显示DDRAM3)、显示状态开/关:D=1;整体显示 ON C=1;游标开 B=1;游标位置 ON4)、光标或显示移位控制:设置光标移动和显示移位控制位:该命令不改变DDRAM的内容。5)功能设置:DL=1(必须设置为1)RE=1;填充指令集; RE=0:基本指令集;6)、设置CGRAM地址:设置CGRAM地址为地址计数器(

34、AC)7)、设置DDRAM地址:设置DDRAM地址为地址计数器(AC)8)、读取忙状态(BF)和地址:读取忙状态(BF)可以确认部分动作是否完成,可以读取地址计数器(AC)的值9)、写数据到RAM:写数据到部门的RAM10)、读取RAM的值:从外部RAM(DDRAM/CGRAM/TRAM/GDRAM)读取数据3.3 1-wire总线技术3.3.1单总线技术概述单总线(1-wire)是达拉斯半导体的专利技术。与当前大多数标准串行数据通信方法不同,它使用单根信号线,数据传输是双向的。具有节省I/O口线资源、结构简单、成本低、总线扩展维护方便等优点。目前,Dallas公司采用单总线接口的芯片有很多种

35、,包括数字温度计、数字电位器、A/D转换器、RAM或EEPROM存储器等。使用单个总线接口设备可以很容易地组成一个数据交换网络。由单个总线设备组成的网络称为微局域网(MicroLAN)。作为主从网络,单片机或个人计算机可以作为网络上的主设备,网络中的其他单总线设备作为从设备。通过主设备对单总线的控制,实现数据的接收和发送。因此,这种网络的规模是灵活多变的。网络中可能有数个或数千个单总线设备。理论上,几乎没有限制。因为微局域网的组网非常简单,只需要一对普通的双绞线。因此具有组网速度快、成本低等优点,非常适合现场应用,成为现场总线技术的新选择。3.3.2单总线接口的硬件结构单总线用于通过总线接收和

36、传输数据。任何单一的总线系统都包括一个主机和一个或多个从机。个别设备可以通过总线获得工作电源。当数据线为高电平时,电荷存储在器件部分;当数据线处于低电平时,设备通过这些电荷提供能量。对于单总线设备,为了使每个设备在正确的时间被驱动,它们与总线的匹配端口也必须具有开漏输出或三态输出功能,并且总线上必须有上拉电阻的主设备。系统才能正常工作。图 3.5 单总线接口硬件结构3.3.3单总线芯片序列号单总线的一个基本特点是每个芯片都有唯一的序列号,任何两个单总线设备的序列号都不会重复。当一条总线上有多个单总线设备时,系统主机可以通过不同的序列号来识别每个单总线设备。单总线设备的序列号共有64位8字节,其

37、中第一个字节代表设备的家族代号。例如数字温度传感器DS18B20的系列代号为28H;中间六个字节代表设备的序列号;序列号的后 8 位代表前 56 位的 CRC 校验码。通过对读出的64位CRC校验结果进行校验,可以保证数据通信的正确性。3.3.4单总线通讯信号类型单总线定义了复位脉冲、响应脉冲、写0、写1、读0、读1。除响应脉冲外,所有信号均由主机发送同步信号,发送的所有命令和数据均为低字节。向前。图 3.6 单总线写时隙图 3.7 单总线读时隙3.3.5单总线通信初始化单总线上的所有通信都从初始化开始。初始化包括主机发送的复位脉冲和从机发送的响应脉冲。这个过程如图 3.8 所示。图中黑色实线

38、表示系统主机将总线拉低,灰色实线表示从机将总线拉低,黑色虚线表示上拉电阻将总线拉高。图 3.8 单总线复位时序3.3.6用于单总线通信的 ROM 命令搜索ROM(代码为F0H)系统上电时,主机通过总线找出从机的ROM序列号,以便主机确定从机的编号和类型。主设备可以通过反复执行搜索ROM命令找出总线上的所有从设备。读取 ROM(代码为 33H)该命令适用于总线上只有一个设备的情况,主机通过该命令读出从机的序列号,而无需执行查找ROM的过程。如果在多点系统中使用此命令,则每个设备响应时都会发生数据冲突。配套ROM(代码为55H)主机发送匹配的 ROM 命令后,必须跟随 64 位单总线设备的序列号。

39、只有当总线上的从机与 64 位序列号完全一致时,才会响应主机发出的后续命令,而其他设备则处于等待复位脉冲的状态。直接访问 ROM(代码 CCH)主机可以通过该命令同时控制总线上的所有从机,无需发送任何ROM码信息。例如,主机可以使用该命令启动总线上的所有温度传感器启动温度转换,或者同时启动所有A/D转换。这样主机就只能通过匹配ROM来读取各个设备的数据,从而节省了大量的时间。 ,提高单总线系统的可靠性。条件搜索(代码 ECH)支持该命令的单总线设备很少,在支持该命令的设备中,只有设置了告警的设备才响应该命令。它的工作方式类似于搜索 ROM 命令,在完成条件搜索循环后,主机必须返回命令序列的初始

40、化步骤。3.4 单总线温度传感器 DS18B203.4.1概述DS18B20是Dallas生产的单总线数字温度传感器。它可以通过单一总线为设备供电或传输数据。它广泛用于温度采集应用。它具有以下特点:测温精度: DS18B20在-10 + 85 范围内精度为0.5 ;分辨率:DS18B20 的分辨率可通过用户编程设置在 9 位到 12 位之间;温度转换时间:分辨率为9位时最大转换时间为93.75ms; 12位最大转换时间设置为750ms;电源电压范围:在保证温度转换精度的情况下,电源电压可以为+3.0V +5.5V;64位ROM编码:每个单总线设备都有一个全球唯一的序列号;程序设置寄存器:设置设

41、备工作在工作模式还是测试模式,可以设置传感器的分辨率;温度数据寄存器:该寄存器由两个字节组成。对于 DS1820 和 DS18B20,每个字节的含义或温度值是不同的。 DS18B20 12位分辨率为0.0625 ;DS18B20的内存分配:DS18B20内含EEPROM,可设置报警上下限温度及分辨率;3.4.2引脚图图 3.9 DS18B20 引脚排列表 3.1 DS8B20 管脚说明SOIC8TO92象征阐明31接地地面42DQ用于单线操作的数据输入/输出引脚:开漏53VDD可选 VDD 引脚3.4.3部结构图 3.10 中的框图显示了 DS1820 的主要组件。 DS18B20 具有三个主

42、要的数字部分: 1) 64 位激光 ROM; 2)温度传感器; 3)备忘录记忆;图 3.10 DS18B20 框图DS18B20 依靠单线端口进行通信。在单线端口条件下,必须先建立 ROM 操作协议,然后才能执行存储器和控制操作。因此,控制器必须首先提供 5 种 ROM 操作命令之一:读取 ROM,2)匹配 ROM,3)搜索 ROM,4)跳过 ROM,5)报警搜索。这些命令对每个设备的激光ROM部分进行操作,当多个设备挂在单线总线上时,可以区分不同的设备。当一个ROM操作序列成功执行后,就可以进行内存和控制操作了,控制器可以提供6条内存和控制操作指令中的任意一条。控制操作命令指示 DS18B2

43、0 完成温度测量。测量结果放在DS18B20的寄存器中,寄存器中的数据可以用读寄存器命令读出。温度报警触发器 TH 和 TL 各包含一个 EEPROM 字节。3.4.4工作原则DS18B20的核心是一个数字传感器,可以将-55 到+125 的温度值转换成数字量。 DS18B20上电后,默认分辨率为12位。当设备在总线上接收到主机发送的温度转换命令(44H)时,DS18B20开始进行温度转换并将转换结果放入16位温度寄存器,数据格式扩展二进制补码,低位LSB 位在前,MSB 高位在后。器件上电时温度寄存器的值为 85 C 。部分温度与数字输出的对应关系如表 3.2 所示。表 3.2 部分温度与数

44、字输出的对应关系温度数字输出(二进制)数字输出(十六进制)+125 0000 0111 1101 000007D0H+85 0000 0101 0101 00000550H+25.0625 0000 0001 1001 00010191H+10.125 0000 0000 1010 001000A2H+0.5 0000 0000 0000 10000008H0 0000 0000 0000 00000000H-0.5 1111 1111 1111 1000FFF8H-10.125 1111 1111 0101 1110FF5EH-25.0625 1111 1110 0110 1111FE6FH

45、-55 1111 1100 1001 0000FC90H3.4.5功能命令DS18B20包含1条温度转换指令和5条记忆功能指令,分别是:写笔记记忆、读笔记记忆、复制笔记记忆、回读EEPROM和读电源指令。3.5 RS485通讯原理3.5.1MAX1487简介:因为在实际应用中,下位机数据采集系统与机房的距离比较远,使用RS232显然不能满足实际需要。本系统RS485通信接口芯片采用MAX1487,具有以下特点:ESD(防静电放电)保护:15KV人体静电保护;低静态电流典型值为230uA;-7V12V共模电压范围;三态输出;30nS 传播延迟,5nS 斜率;全双工或半双工通信;可附加128个节点

46、;3.5.2传输速率和传输距离RS485 的最大传输速率为 10Mbps。在这个速率下,传输距离为10m。数据速率在 105 到 107bit/s 的范围内。通信距离主要受限于传输线电阻损耗和集肤效应造成的信号失真。损耗与频率有关,因此随着通信距离的增加,数据速率会降低。通常RS485的数据速率为105bit/s,传输距离大于1200m。3.5.3电路连接图图 3.11 RS485 通讯电路示意图如上图所示,P485用于控制MAX1487的接收/发送状态。输出端需要匹配120个电阻到RS485总线。通过跳线可以选择多机通讯时匹配电阻的位置。3.6 电源设计本设计中,单片机系统需要+5V电源,可

47、用三端稳压器LM7805作为系统电源。电路图如图 3.12 所示。图 3.12 系统电源示意图第四章系统软件设计根据系统实际的硬件电路原理,编写了模块各部分的软件子程序。下面将介绍软件主程序、系统初始化、数据处理、串口通信、软件过滤、校验等子程序。4.1 主程序系统软件的主程序也称为系统监控程序。与PC上位机相比,也称为下位机程序。用于控制单片机系统按照预定的运行模式运行。监控程序的主要任务是:完成系统自检,初始化,配置单总线设备,处理接口命令,完成数据分析处理,同时启动输出和显示功能,通过串口发送数据,主程序流程图如图4.1所示:NYNY成功NY错误开始初始化单片机,12864欢迎界面初始化

48、单总线输出错误信息读ID开关开读序列号CRC校验正确显示序列号显示错误初始化DS18B20启动A/D转换读取A/D转换结果送DS18B20地址启动A/D转换读取显示结果串口发送读A/D转换结果图4.1系统软件流程图4.2 子程序各部分的设计4.2.1液晶驱动器系统液晶显示采用SPRT开发的SPRT12864M汉字库液晶。采用8位模拟总线驱动方式,P0口作为数据线; P2.7、P2.6、P2.5分别用作RS、R/W、E信号。其驱动流程如图4.2所示:开始开始初始化结束写命令忙等待写数据图 4.2 LCD 驱动流程图4.2.2单车司机由于单总线硬件电路的简单性,软件对时序的要求非常严格,需要按要求

49、完成精确的延时,单总线才能响应主机的驱动。单总线的驱动主要包括初始化单总线、写一位、读一位。在本系统中,单总线的驱动是通过写一个字节和读一个字节来完成的。详细过程见附件,具体应用见附件4.2.3。4.2.3读取温度程序应用单总线驱动程序,通过编写相应的命令来控制单总线温度传感器DS18B20,即可从设备中读取温度值。仿真大大提高了工作效率。仿真电路图见附录,程序流程图如图4.3所示:开始开始初始化匹配DS18B20启动温度转换复位单总线匹配DS18B20读出转换结果读存储器命令结束图 4.3 温度读取过程4.3 软件过滤和数据验证在数据处理过程中,处理器会在外部干扰等因素的影响下产生周期性或随机误差。为了提高数据采集的准确性和数据处理的可靠性,本系统采用软件过滤、CRC校验和奇偶校验三种方法对不同的数据进行处理。常用的软件滤波方法有限幅滤波、中值滤波、递归均值滤波和算术均值滤波等。本系统采用算术平均滤波方法,连续取5个采样值对单总线A/D采集的值进行算术平均运算,灵敏度高。在单总线驱动中,读取单总线设备的序列号是关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论