版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、- 论文题目论文题目 基于单片机的 rs485 总线采样节点设计与实现 姓姓 名名 周群丰周群丰 学学 院院 东北大学东软信息学院东北大学东软信息学院 专专 业业 电子信息工程(嵌入式系统工程方向)电子信息工程(嵌入式系统工程方向) 指导教师指导教师 闫慧琦闫慧琦讲师讲师 备备 注注 2011 年年 5 月月 - 毕业设计(论文)任务书毕业设计(论文)任务书 毕业设计(论文)题目:毕业设计(论文)题目: 基于单片机的 rs485 总线采样节点设计与实现 设计(论文)的基本内容:设计(论文)的基本内容: 本设计是基于单片机采集温度采样值,再通过 rs485 总线传送到基 于 arm 的那个 rs
2、485 节点上,从而实现采集温度并通过 rs485 传送。 毕业设计(论文)专题部分:毕业设计(论文)专题部分: 题目:题目: 设计或论文专题的基本内容:设计或论文专题的基本内容: 学生接受毕业设计(论文)题目日期学生接受毕业设计(论文)题目日期 第第 1 周周 指导教师签字:指导教师签字: - 2010 年年 11 月月 29 日日 基于单片机的 rs485 总线采样节点设计与实现 摘要 本论文介绍了基于 rs485 串行总线标准的温度采集系统的硬件和软件设计。温度 数据的采集由以 at89s52 单片机为核心的系统完成,采集的数据经 rs485 串行总线上 传给 arm 微处理器进行存储和
3、处理。系统的软件包括单片机程序和计算机程序,分别 应用 c 语言编写。相应的硬件和软件抗干扰措施保证了系统的稳定性和可靠性。本文 介绍了一种基于 rs-485 的单片机与 arm 之间文件传输的实现方案。给出了 rs-485 驱动程序的设计方法 ,详细阐述了自定义通信协和实现程序。 在传统模式下的温度测量采用热电偶或热敏电阻,其输出是模拟信号,必须转换 成数字信号,然后与单片机进行传输。因此,它是相当复杂而且成本高。近年来,美 国生产的 ds18b20,作为一种新的单总线数字温度传感器被广泛使用。在前台实时温 度数据采集和转换,通过传感器 ds18b20 的数字式分为单片机发送给 led 显示
4、模块。 此外,接收温度数据通过 rs - 485 接口传送到后端的 arm 中显示。 关键词:关键词:at98s52, rs485,温度采集,串行通信 东北大学东软信息学院毕业设计(论文) abstract - design and realization of the rs485 node sampling based on mcu abstract the hardware and software design of the temperature acquisition system based on rs485 serial communication criterion is in
5、troduced. the acquisition of temperature data is finished by the system taking at89s52 mcu as core. collected data can be sent up to arm through rs485 serial bus, stored and processed in it. the software of this system includes mcu and arm pro-grams, programmed with c language. some corresponding so
6、ftware. and hardware anti -disturbance measures assure this systems stability and reliability. the implement of the file transfer between mcu and arm based on rs-485 are introduced in this paper. the design method of the rs-485 driver is given. the user- defined communication protocol and the progra
7、m are discussed in detail. under the traditional model of the traditional temperature measurement using thermocouples or thermistor, the output is an analog signal, must be converted into a digital signal and then transmitted with the microcontroller. therefore, it is quite complicated and costly. i
8、n recent years, u.s. production of ds18b20, as a new single-bus digital temperature sensors are widely used. real-time temperature data collection in the foreground and conversion, through the sensor into digital ds18b20 send microcontroller led display modules.in addition, the temperature data rece
9、ived through the rs - 485 interface transfer to the rear of the arm in the display. key words: at89s52,rs-485,temperature acquisition, serial communication 东北大学东软信息学院毕业设计(论文) 目 录 - 1 - 目录 任务书i 摘要ii abstractiii 第 1 章绪论1 1.1国内外现状1 1.2应用范围1 第 2 章关键技术介绍2 2.1关键性开发技术的介绍2 2.1.1rs-485 总线介绍2 2.1.2max485 芯片原理
10、3 2.1.3ds18b20 温度传感器原理3 第 3 章系统分析4 3.1构架概述4 3.1.1系统构架4 3.1.2数据采集模块构架4 3.2系统开发环境5 3.3系统任务的可行性分析5 第 4 章系统设计7 4.1设计指导思想和原则7 4.1.1指导思想7 4.1.2硬件设计原则7 4.2系统概述7 东北大学东软信息学院毕业设计(论文) 目 录 - 2 - 4.3系统的功能结构设计7 4.3.1ds18b20 接口电路7 4.3.2led 数码管的电路设计8 4.3.3max485 串行接口电路设计9 4.3.4rs232 串口通信电路9 4.3.5主控制模块电路设计10 4.3.6电源
11、监测电路11 4.4ds18b20 硬件设计11 4.5rs485 串口通信模块设计15 第 5 章系统实现17 5.1主程序流程17 5.2rs-485 串口通信主要程序17 5.3ds18b20 模块程序设计19 5.3.1ds18b20 的工作过程19 5.3.2ds18b20 温度传感器主要程序20 第 6 章系统测试24 6.1测试方案及测试用例24 6.1.1电源监测24 6.1.2led 检测24 6.1.3通过 rs485 连接 arm 共同检测24 第 7 章结论25 附录26 参考文献28 致谢29 东北大学东软信息学院毕业设计(论文) 第 1 章 绪论 - 1 - 第第
12、1 章章绪绪论论 本篇论文介绍将通过一个单片机系统作为温度采集的一个节点,单片机系统内通 过温度传感器 ds18b20 采集温度,并将温度数据显示到 led 数码管,同时将采集来 的数据通过 rs-485 总线传送到 arm 级进行显示。 用美国 dallas 公司生产的 ds18b20 温度传感器采集温度和 a/d 转换合为一体, 然后输出的数字量,硬件设计电路时结构不复杂,与单片机接口很少需要其他的元件。 广泛运用在距离远、节点分布多的地方,可以广泛的应用。 因为当今数字技术的发展和计算机的应用非常广泛,很多生产技术和工艺都需要 计算机的控制。广泛使用的 rs-485 是因为他的传输距离非
13、常远。并且通过 rs485 总线 构成的分部数据采集与设备设计简单,同时具有成本低,系统不复杂,具有能够远距 离通讯等特点。 1.1国内外现状国内外现状 当今世界 rs-485 串口被广泛运用于生活生产中。随着 80 年代初单片机技术的成 熟而发展起来的,现在世界仪表市场基本被智能仪表所垄断。究其原因就是企业信息 化的需要,企业在仪表选型时其中的一个必要条件就是要具有联网通信接口。 1.2应用范围应用范围 仪器仪表:医疗器械、色谱仪、智能仪器、示波器。 工业:过程控制、工业机器人、电机控制、数字控制。 民用:高级电视游戏机、电子玩具、录像机、激光盘驱动。 导航与控制:导弹控制、鱼雷制导控制、智
14、能武器装置、航天导航系统。 东北大学东软信息学院毕业设计(论文) 第 2 章 关键技术介 绍 - 2 - 第第 2 章章关键技术介绍关键技术介绍 2.1关键性开发技术的介绍关键性开发技术的介绍 2.1.1rs-485 总线介绍总线介绍 rs-485 就是电气接口规范,属于 7 层开放系统互连(open sysyeminterconnection,osi) 模型物理层的协议标准。他只需要在平衡驱动器和接收 器的电气特性,不需要连接插件、输电线路和通信协议。他支持半双工或全双工模式, 网络拓扑结构通常用终端匹配的总线型,不支持环形或星形网络。由于 rs - 485 接口 是 rs 422 基础发展
15、而来的, rs 485 总线采用平衡传输的方式,需要接到传输线路 终端电阻等。rs - 485 接口可与四线线使用时,同时可以实现真正意义的两线多点双 向通信。而四线连接时,只能实现多点通信,这只能有一个主设备和多个从设备上。 无论二线四线总线连接可以收到多达 32 个设备。的 rs - 485 共模之间-7 至+12 v 输出 电压的 rs - 485 接收器最小输入阻抗为 12k 的 rs - 485 约 1219m 的最大传输速率为 10mb/s 最大传输平衡双绞线的传输速率是成反比的,在 100kb/s 速率以下的长度,它 可能使用的固定最长长度的电缆长度。只有在很短的距离,获得最高的
16、传输速率。 100m 长的双绞线一般最高只能是 1mb / s 的传输速率。rs - 485 需要两个终端电阻, 电阻值要求等于传输电缆的特性阻抗。在一定时间没有终端电阻时,传输距离,一般 在 300m 以下的无阻力,终止电阻端接在传输总线的两端。的 rs-485 通常用于平衡传 输和差分接收方式实现通信。使用两种常用的双绞线传输线路,所以一般的模式具有 很强的抗干扰能力。接收灵敏度非常高,可检测电压可低为 200mv,有些芯片已经能 够探测到的电压低至 50mv 的(如 max485 等) 。在同一时间,最大传输速率,最大 传输距离也大大提高。rs-485 特点: 1. rs-485 电气特
17、性:逻辑“1”两条线之间的电压差为+(2-6)v 表示,逻辑“0”两 条线之间的电压差为 -(2-6)v 表示。接口比 rs-232 的信号水平降低,就不容易损坏 接口电路芯片,水平和 ttl 电平电路兼容,可方便地连接; 2. .rs-485 最大数据传输速率是 10mbps; 3. rs-485 接口是由平衡差分接收器和驱动程序组合,抗干扰能力增强,即良好的 噪声抑制性。 4. rs-485 的接口标准,最大传输距离为 4000 米,实际上可以高达 3000 米另外他 东北大学东软信息学院毕业设计(论文) 第 2 章 关键技术介 绍 - 3 - rs-232 接口总线只允许连接一个收发器,
18、就是单站能力。在 rs -485 接口总线可以连 接多达 128 个收发器。具有多站能力,这样用户可以利用单一的 rs -485 网络接口的 优势,易于安装设备。 2.1.2max485 芯片原理芯片原理 采用单一+5 v 电源供应工作,额定 300a 电流,半双工通信。它完成了 ttl 电 平的 rs - 485 功能转换。max485 芯片和引脚结构非常简单,包含一个内置驱动器和 接收器。ro 端和 di 端,分别是接收器和驱动器的输入输出,仅与单片机可以连接到 rxd 和 txd;re 为 0 时,启用了接收和发送端,当 de 逻辑 0 时,该设备是接收状态, 当 de 为逻辑 1,设备
19、正在发送的状态,因为在半双工状态 max485 的工作,所以只 使用一个脚微控制器来控制这两个引脚,a 端跟 b 端分别接收和发送的差分输出端, 当 b 端比 a 端高,代表发送的数据为 1;当 a 低于 b 端水平,代表发送的数据为 0。在 单片机的接线非常简单。max485 只有一个信号控制就可以接收和发送。而在 a 和 b 之间的加上匹配电阻,通常可以是 100 电阻。 2.1.3ds18b20 温度传感器原理温度传感器原理 以前的模拟信号远距离温度测量系统中,必须很好解决引线误差补偿技术、多点 测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量 精度。另外一般监
20、控现场的电磁环境都比较严重,每个干扰信号都非常强,模拟温度 信号容易受到干扰而产生测量误差,影响测量精度。因此,在温度测量系统中,采用 抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传 感器 ds18b20 具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优 点,在实际应用中取得了良好的测温效果。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分 析 - 4 - 第第 3 章章系统分析系统分析 3.1构架概述构架概述 3.1.1系统构架系统构架 温度采集及显示系统如图 3.1 所示,整个系统由数据采集(采集温度)模块、rs- 485 通信、基于 a
21、rm 显示模块和基于 arm 温度报警模块所构成。采用 rs-485 通信 方式,通过 rs-485 总线能提高通信距离,提高可靠性,抗干扰性强。本文重点研究的 是以数据采集模块为核心的,通过 rs-485 总线传输的设计。 温度采集模块温度 arm显示模块 rs-485传输 图 3.1 系统的功能构架 数据采集模块由单片机系统和 rs-485 传输设备组成,数据采集模传输是通过 rs- 485 传输设备来完成信息的发送与接收,最终用数据采集模块将数据采集后,通过 rs- 485 传输设备发送出去,然后 arm 的 rs-485 传输设备负责接收,最终在 arm 的显 示屏上显示出来,达到我们
22、对数据的读取的目的。本设计采用的是宇泰科技生产的 rs-485 传输设备。 3.1.2核心模块构架核心模块构架 根据需求调研结果确定本系统主要包括以下功能模块,传感器模块、单片机模块、 led 数码管模块、串口 rs-485 模块,如图 3.2 所示。微控制器 at89s52,利用 max813l 进行电源的检测,温度采集部分使用的是温度传感器 ds18b20,这种传感 器是独特的是单口接线方式传输技术,在与单片机连接时只需要一条口线即可实现单 片机与 ds18b20 的双向通讯,不需要其他任何的器件。传输通信利用 rs-485 传输设 备,rs485 总线为多机通信的在实际生活中有着十分重要
23、的地位,他的其在传输速率、 通信速率、传输距离、多机连接等方面都有着非常大的改善。使用 max7219 驱动 8 位 led 数码管显示,经济高效。 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分 析 - 5 - 温度采集 模块 单片机模块 led显示模块 rs-485传输 模块 arm显示模块 核心控制 图 3.2 核心模块构架图 3.2系统开发环境系统开发环境 硬件配置:硬盘:120gb 内存:2gb 操作系统:windowsxp 开发工具:microsoft visual studio 2008 altium designer 6.9 keil c51 3.3系统任务的可行性分
24、析系统任务的可行性分析 由于 rs-485 总线运用了差分电平传输数据,所以传输的距离比 rs-232 长许多, 最长可以达到 3000 m,所以很适合在工业上得到应用。不过与 can 总线等更为优秀 的工业总线对比,rs-485 的修改的能力还有一定差距,因此在软件设计的部分还行进 步的注意,尽量避免错误的发生否则会很难实现预期目标。另外,假如系统的数据比 较多需要很大的运算量,需要对其作立即反应的应用场所不适合用 rs-485 总线进行传 输。尽管 rs-485 总线存在一些小毛病,不过因为它的价格相对便宜、线路设计简单、 易操作,只要处理好各个细小漏洞,在某些工程应用中还是可以得到广泛的
25、应用。 由 ds18b20 温度传感器和单片机 at89s52 组成的温度实时检测装备,可以直接 传输温度的数字信号。因此这样系统的结构相对容易,体积很小,方便移动。使用单 片机控制,软件编程的自由得当,所以本次设计采用 ds18b20 传感器测量温度,输 出信号的全部数字化。节省了一起的测温时的需要很多外围设备,电路方便单片机控 制及处理。ds18b20 的特点在于采用了单总线的数据传输。 1一致性 本次项目设计将会与所做项目的实现各项功能要求相一致。 2合理性 东北大学东软信息学院毕业设计(论文) 第 3 章 系统分 析 - 6 - 本项目设计所提出的设计方法和标准将是合理的、恰当的。 3
26、可追踪性 对项目设计所提出的各项要求将可以得到它的清晰的源流。 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 7 - 第第 4 章章系统设计系统设计 4.1设计指导思想和原则设计指导思想和原则 4.1.1指导思想指导思想 (1)坚持统一规划、科学管理、服务应用的指导方针; (2)充分利用现有工作基础和成果,进行改进、提升和整合,避免重复建设。 4.1.2硬件设计原则硬件设计原则 (1)标准化和规范化原则 (2)安全性原则 (3)完备性原则 4.2系统概述系统概述 at89s52 单片机是本次设计的主要部分,获得温度的参数继而转化为十进制和与 之相应的 ascii 值然后在显
27、示在数码管的温度值,同时通过 rs-485 总线传到 arm 微处理器进行下一步应用。他的工作过程是先初始化各个器件达到合适环境进行工作, 然后初始化 ds18b20 跟数码管,然后读取检测的温度数据,同时把采集数据进行传送 到数码管上进行显示。并且通过 rs485 总线传送。 4.3系统的功能结构设计系统的功能结构设计 4.3.1ds18b20 接口电路接口电路 图 4.1 ds18b20 接口电路 ds18b20 的是本次设计的温度检测部分,它使用独特的单口传输模式,只需要一 个端口线可 ds18b20 的双向通信,而不需要用其他设备,所有的传感器和转换电路都 东北大学东软信息学院毕业设计
28、(论文) 第 4 章 系统设 计 - 8 - 是如集成电路就一个 3 极管,外部电源电压范围 3.05.5v 的范围,从-55到+125 温度范围内可编程温度传感器 ds18b20,它可以模拟温度传感器和信号处理电路的通 讯手段与单片机来完成数据收集和处理。其最大的特点是单总线数据传输模式中,i/o 来完成相同的数据。电源 ds18b20 的 2 种方式为:外部电源和寄生电源模式。当寄生 供电模式,vdd 和 gnd 接地,它需要一个远程温度探头,而且空间小。但寄生方法 需要一个强大的上拉电源电路,软件控制变得非常复杂,其性能这种芯片也有所下降。 因为作业前 ds18b20 的电流已经为 1
29、ma 达到,所以 4.7k 上拉电阻不能单独提供电源 工作的时候,许多 ds18b20 的只有一个 i/o 线,同时对温度的转换,这个问题就显得 非常的严重。在这种设计的考虑只是一个单点温度测量,因此采用外部电源供电。 4.3.2led 数码管的电路设计数码管的电路设计 图 4.2 max7219 驱动数码管电路 图 4.2 为 max7219 芯片驱动数码管电路是一种集成化的串行输入/输出共阴极显 示的驱动器,它连接微处理器与 8 位数字的 7 段数字 led 显示。 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 9 - 图 4.3 8 个 7 段数码显示管 图 4.3
30、为 8 个数码管显示电路,其利用 max7219 驱动数码管显示,为数码管链接 电路,利用 8 个三极管提供显示的驱动电流。 4.3.3max485 串行接口电路设计串行接口电路设计 图 4.4 max485 电路设计 图 4.4 为芯片 max485 电路设计,max485 的驱动器不受任何限制,最大时可 以达到 2.5mbps 的传输速度。这种收发器在驱动器 是禁用的满载或者空载的形式 下,需要的电源电流是 120a 到 500a 内。所有元件都是工作在 5v 单电源下。 max485 实用于 rs-485 与 rs-422 通信等低功耗的收发器上。驱动器起到短路电 流限制的作用,而且可以
31、通过关断电路 让他驱动器一直输出高阻抗 的状态。接收 器输入具有对 失去保护特性,当输入 开路时,以确保逻辑高电平 的输出。具备很 好的抗干扰的能力。 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 10 - 4.3.4rs232 串口通信电路串口通信电路 图 4.5 rs232 串口通信电路 图 4.5 为串行通信电路,rs - 232 接口与 pc 机作为串行接口使用最广泛应用的通 信应用,rs - 232 串行数据标准协议 020000bit/ s 的范围之间的数据通信,传输速率 和现在的 dte 数据终端设备已经成为计算机和数据通信设备 dce 接口标准。相关数 据:
32、控制信号:信号接通状态,比有效电平大于+3 v。断开状态时,信号无效的要小 于 3v,在实际应用中应保证在(315)v,逻辑“1”的电平低于-3v,逻辑“0” 的电平高于+3v。 4.3.5主控制模块电路设计主控制模块电路设计 图 4.6 主控制电路 图 4.6 为 at89s52 单片机一种拥有 40 引脚的双列直插式芯片,at89s52 单片机 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 11 - 微控制器,四个 8 位 i / o 端口(为 p0,p1,p2 和 p3)的,每个 i / o 线可以作为一个 单独的输入或输出使用,是整个电路的核心部分。他的的主控制电路
33、如图 4.6 所示, rst 终端是单片机复位输入端,接上电容,电阻和开关后,可形成上电复位电路。他 xtal1 xtal2 端的结束,也可用来连接带微调外部晶振跟电容,然后是他在单片机 内部振荡器反相放大器是输入,外部晶振器连接的另一端 xtal2 上,在这是芯片里振 荡器反相放大器的输出。 4.3.6看门狗定时电路看门狗定时电路 图 4.7 电源检测电路 图 4.7 为本次设计的电源检测电路,电源监测采用的是 max813l,他是专门用来 实现电源电压监测的芯片,它不仅可以对+5v 电源电压进行检测,还能对别的电源电 压(如 12v)进行实现检测,另外它他内部还带有看门狗定时电路,适用于单
34、片机的系统。 在这个系统中,在周期 1.6 秒内单片机为 max813l 一直提供喂狗信号,每当信号中断, 芯片自动产生复位信号,使单片机复位。 4.4ds18b20 硬件设计硬件设计 一ds18b20 温度传感器的特性: (1) 可编程的分辨率为 9 至 12 四个位,相应的温度分别为的 0.5,0.25,0.125 和 0.0625,能够实现高精度温度测量; (2)独特的单线接口,即能通过其它 i/o 口线与微机接口,也可以通过串行口线,无需 变换别的电路,直接输出被测温度值; (3)ds18b20 不需要备份电源,既可用外部电源供电,也可采用数据线供电; (4)温度值会直接输出数字温度的
35、信号,可以运用一个线串行传给单片机,并且也可传 送 crc 校验码,具有非常好的抗干扰的能力同时找出错误; 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 12 - (5)测量范围是-55+125之间,固有测温分辨率为 0.5; (6)ds18b20 温度传感器能够实现多个组网,多个 ds18b20 可以共通挂在唯一的总线 上,以实现本地区的多点温度; (7)ds18b20 在设计中不需要别围元件,全部的传感元件跟转换电路都集成到在于一只 三极管的集成电路中; (8) ds18b20 的负特点:电源极性反向,该芯片将不会因为过热而报废,但不能继续 工作。 (9)警告温度搜索的
36、指令可以依靠识别寻址温度在修订的极限之外的器件; (10)适用的电压范围非常大,电压范围在 3.05.5v; (11)应用范围包括消费类的产品、工业系统中温度计或任何热敏系统。 二.ds18b20 温度传感器的内部结构 他的内部结构如图 4.8 所示。它是用一个 64 位光刻温度传感器、一个 rom、非 挥发性温度警报触发器 tl 和 th、跟配置寄存器一起组成的。 图 4.8 ds18b20 内部结构图 引脚说明:ds18b20 的 3 引脚封装,如图 4.9 所示。其中,gnd 为电源接地用的;dq 为数字信号输入/输出端;vdd 到一个外接电源输入。 图 4.9 ds18b20 封装 东
37、北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 13 - 三ds18b20 控制接口介绍 1温度传感器 ds18b20 通上电以后,处于空闲的状态,要启动模板和温度检测,处理器准备向 他输出 convert t44h 命令,转换后返回到空闲状态 ds18b20 的温度数据为 16 位补 码的形式存储到温度寄存器中,如表 4,1 所示。 表 4.1 温度寄存器的格式 264 位光刻 rom 在出品前,光刻 rom 中的 64 位的序列码就已经被光刻好的,可以把他可以当做 这个 ds18b20 的地址序列码。rom 中 64 位序列码的排列分别是:前面的 8 个是产品 样品的标记,
38、然后下来的 48 位是 ds18b20 自己的序列号,最后面的 8 个数是之前 56 位的循环的验证码。光刻 rom 是为了使每个 ds18b20 都不一样,正因为这样所以一 个总线上才可以挂多个 ds18b20 温度传感器。 表 4.2 中符号位表面温度是负值或是正值,负值时 s=1,正值时 s=2,表 4.2 举例 了数据输出数据与对应温度。就以 14 位转化为例:12 位符号扩展的读数 0.0625 /lsb 的表达情况,其中 s 为符号位补码形式。如果输出数值是 125转化 07doh,- 0.5 的数字输出是 0191h,ff6fh 是-25.0625的数字输出,在-55为 fc9o
39、h 数字输 出。如下表所示 表 4.2 ds18b20 中的传感器的温度的测量值 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 14 - 3配置寄存器 配置寄存器是 r1 跟 r0 组成。这个字节的意义如表 4.3 所示,是低五位的都是 1,而 tm 是测试模式位,用于设置在测试模式或工作模式 ds18b20 的。在 ds18b20 生产的时候这位被默认设置成 0,不可以用别的办法更改这个设置。r=1 和 r=0 用来 设置分辨率。 表 4.3 配置寄存器结构 表 4.4 温度分辨率设置表 4非挥发的温度报警触发器 th 和 tl 当完成 ds18b20 的温度变化,它将会
40、把测得的温度值和 tl,th(tl 和 th 的最 低和最高温度检查)作比较。如果 tth,那么系统将会允许的报警标志位的 值,同时警告搜索主机传输命令作出反应。所以,你可以使用多个 ds18b20 的在同一 时间同时检测报警温度的探索与搜索。如果温度超过这个极限温度点,报警主机可以 使用搜索命令被确认的报警装置。高低温报警触发器 tl 和 th,配置寄存器是一个字 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 15 - 节的 eeprom 的组合,只要记忆功能命令连接到的 tl,th,或配置寄存器的写入。 5高速暂存存储器 高速缓冲存储器它是用 9 个字节组成的,功能分配
41、如表 4.5 所示。1,2 字节,包括 开始测量温度的数字信息,字节是 3,4,5th 和 tl,配置寄存器的临时任务,在每一个 上电复位将重置所有;前 6 个字节不使用,整个逻辑 1 的表现,剩余的字节数是 7、8 分 别是技术剩余值跟每度得计数值,前 9 个字节用来读取应所有 8 个字节的 cerc 代码, 以便使用它以确保通信是正确的性。 表 4.5 ds18b20 暂存寄存器分布 ds18b20 的通信协议,单片机的 ds18b20 温度传感器的转换,将通过三个步骤完 成,首先是要读写之前必须进行复位操作后对 ds18b20 的成功发送一个复位指令,最 后送到 ram 的命令,只有这样
42、的温度传感器才能做出提前的操作。复位应该主 cpu 将数据线下拉到 500s,之后释放当传感器收到信号后等到 1660s 左右时,立即 发出一个 60240s 的快速的低脉冲信号,单片机收到此信号后表示复位成功。下表 为 rom 指令表。 表 4.6 rom 指令表 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 16 - 4.5rs485 串口通信模块设计串口通信模块设计 单片机与 arm 平台通过 rs-485 串行通信,采用 rs-485 最大的好处是它可以一 对多点总线互相连接的功能 ,它可以连接一台主机和多台终端同步进行通信,由于它 是半双工的工作模式,同时只能有一
43、方进行发送,一方负责接收,并且 rs-485 串口所 采用差动电平接收的方法用于提高抗干扰的能力 ,比较适合在稍恶劣的环境下正常工 作,因为在一样的电缆中受到的干扰都是差不多一样的,所以采用差动方法就可以有 效的抵消一大部分的干扰。 由于 rs - 485 串行端口是半双工的工作模式,因此每当用户当处理和发送一起使 用物理信道的时候。在任意时刻只能将数据发送到一台机器。因此,必须在收到应答 机的 rs - 485 串行端口发送和接收信号,而且在其他机器时发出指令是才能答复。半 双工的传输时间的接受和传输有着非常严格的要求。如果时间不匹配,那么就会有一 点于总线冲突,让整个系统变得无法使用 ,停
44、止正常的工作。如果想要让总线上的设 备的正常工作。那么,一定需要以下几点。 (1) 上发送独立的传输控制信号的时序控制信号的各种单片机连接时序要求是完全 分开的。发送和接收信号时为了确保信息的完整性和正确,以避免总线上的信号碰撞, 总线使用权必须分配,以避免竞争,连接到总线的单机,并发送控制信号完全隔离时 间。总之,发送和接收控制信号应该足够宽,以确保数据的完整性得到一帧数据,任 何两个独立机器的发送信号是完全分开的,以避免总线争端。 (2) 电路复位时,主机必须处于接收的状态 de 和 re 端相连为低电平的时候 ,从机应该处于接收的状态 ,在接受上电复位的时候 ,因为硬件电路稳定需要一点
45、时间 ,而且单片机的各个端口复位后应该处于高电平的状态 ,因此就会使总线上每 个分机都处于发送状态 ,再加上电时各个电路的不稳定 ,就可能向总线发送信号。 所以说,假如用一条线作发送和接收的控制信号,就要把口线反向的后接到 max485 东北大学东软信息学院毕业设计(论文) 第 4 章 系统设 计 - 17 - 的控制端 ,这样就可以使上电时 max485 始终处于接收状态。 (3)在 rs-485 半双工通信工程中,因 max485 的发送和接收都是用同一个器件完 成的,而且发送和接收使用的是同一个物理连路,要对控制信号进行切换。控制信号 什么时候是高电平,什么时候是低电平 ,一般以单片机的
46、 ti 信号作为参考。在发送 时检测是否建立 ti,如果 ti 为高电平时关闭发送的功能变为接收功能;在接收时检测 是否建立 ri,当 ri 为高电平之后,接收结束,之后可以转为发送。 东北大学东软信息学院毕业设计(论文) 第 5 章 系统实 现 - 18 - 第第 5 章章系统实现系统实现 5.1主程序流程主程序流程 流程如图 5.1 所示,开始工作,首先系统初始化各个模块,当系统接收到检测信号, 从传感器接收数据,处理数据后输出数据,将数据从 led 数码管上显示,并同时将数 据发动到 rs-485 串行接口,由 rs-485 串口最后发送到上位机。 开始 rs485通信 ds18b20初
47、始化 数据采集 led显示 rs485通信 退出 n y y n 图 5.1 系统流程图 5.2rs-485 串口通信主要程序串口通信主要程序 rs-485 通信节点的程序大致可归类为六个重要部分,他们分别是预定义部分、初 始部分、设备状态检测部分、主程序部分、帧接收部分和发送部分。预定义的部分主 要是用来定义通信中使用握手信号,它用于保存本节点的设备号和设备信息的缓冲区 东北大学东软信息学院毕业设计(论文) 第 5 章 系统实 现 - 19 - 的变量。主程序部分可以接收命令帧,同时根据命令的内容发出相应的回应。而设备 状态检测部分要放在程序初始化后,如果件发生故障时,再做出相应的反应。 开
48、始 设置各项参数 等待接受温度命令 是否接到温度数据 温度数据 数据传送 是否接到温度数据 n y 终止 y n 图 5.2 串口部分流程图 为缩减不必要的篇幅,在这只给出主程序部分一些代码。 /* rs485 通信主程序的流程*/ while(1) /主循环 if(recv_cmd( switch(type) case _active_:/主机问从机是否接受 send_data(_ok_, 0,dbuf);/发送应答信息 break; case _getdata_: len = strlen(dbuf); send_data(_status_, len,dbuf);/发送状态信息 break
49、; default: break;/命令的类型错误,丢弃当前帧然后返回 5.3ds18b20 模块程序设计模块程序设计 5.3.1ds18b20 的工作过程的工作过程 单片机 ds18b20 温度传感器在温度转换过程中需要三个过程,第一,初始化,然 后是 rom 操作命令的,最后是存储器操作命令、 一.初始化 总线上的所有操作都必须先初始化,第一个提出了复位信号,然后从机器的线路 信号发送,并通知主机 ds18b20 总线,然后让他等待接受其指令。 二. rom 操作命令 在这个毕业设计中我们跳过 rom 序列号检测命令。skip rom 命令,就是跳过 rom 操作的命令,是因为只有一个测温
50、芯时以节约时间;但是要是多个从机的时候不 能这样用了,这会使总线上的数据造成冲突。所以在就有一个温度传感器的情况下, 在每次输入指令之前都可以使用这个命令来节约运算时间。 三存储器操作命令 首先,写(4eh)命令,使用此命令写入数据存储第 2 至 4 个字节,从第 2 个字 节(th)运行的。复位信号发出前,完成这三个字节。然后读出(beh) ,使用这个 命令读出寄存器内的第一个字节的内容,一直完成第九个字节时,如果有需要注册的 一些内容,那样的话主机可以在适当的发送时间复位命令结束该进程。其次是复制 (48h) ,使用这个命令来注册的内存温度 2 至 4 个字节传感器设计 eerom,当主机
51、 东北大学东软信息学院毕业设计(论文) 第 5 章 系统实 现 - 21 - 发出命令后实施温度转换,如果在进程转储则结果为 0 如果转储结束,结果是 1。最后, 启动转换(44h)和温度传感器接收此命令立即启动温度转换的实施,没有其他的其他 数据。这时 ds18b20 的空闲状态。如果温度转换运行时,主机将接收读取总线 0,转 换完毕接收到的是 1。 5.3.2ds18b20 温度传感器主要程序温度传感器主要程序 ds18b20 使用的关键是首先清楚总线的读写的时序。ds18b20 是单总线的双向通 讯,他的外接电路非常简单,可是在软件编程上,就非常严格按照他的要求时序进行 读写的操作。具体
52、的操作如下:对温度传感器操作时,首先要把他复位。让 dq 线拉 低 480 到 960s 之间,再将数据线拉高 15 到 60s 之间,再把 ds18b20 发出的 60 到 240s 的低电平信号作为应答的信号,这时单片机才能对它进行别的的操作。 图 5.3 ds18b20 初始化时序 bit ds18b20_reset(void) unsigned char x=1; dq = 1; /dq 先置高 ds18b20_delay(15); /稍延时 dq = 0; /发送复位脉冲 ds18b20_delay(500); /延时480us dq = 1; /拉高数据线 ds18b20_dela
53、y(70);/等待 1560us x=dq; /x=0 初始化成功 x=1 失败 ds18b20_delay(15); return x; 东北大学东软信息学院毕业设计(论文) 第 5 章 系统实 现 - 22 - 在温度传感器中,写操作是指把数据线要从高电平拉到低电平,产生写起始的信号。 从 dq 线的下降沿起开始计时,在 15s 到 60s 之间这段时间里对数据线进行检测, 假如数据线为高电平时就写 1,若为低电平时就写 0,如果完成了一个就写周期。然后 再开始另一个写周期前,必须在 1s 以上的高电平恢复期。每个写周期必须需要 60s 以上的持续期。 图 5.4 ds18b20 写时序
54、void ds18b20_write(unsigned char command) unsigned char i; for(i=8;i0;i-) dq=0; if(command dq=1; ds18b20_delay(20); else dq=1; ds18b20_delay(20); command=_cror_(command,1); 东北大学东软信息学院毕业设计(论文) 第 5 章 系统实 现 - 23 - 在温度传感器中,读操作是指主机将数据线从高电平拉至低电平 1s 以上时,使数据 线升为高电平,从而产生读起始的信号。从主机将数据线从高电平拉至低电平起 15s 到 60s 之间,
55、主机读取数据。每个读周期最短的持续期为 60s。周期之间必须有 1s 以上的高电平恢复期。 图 5.5 ds18b20 读时序 unsigned char ds18b20_read(void) unsigned char i; unsigned char temp; temp=0; for(i=8;i0;i-) temp=_cror_(temp,1); dq=0; _nop_(); _nop_(); dq=1; _nop_(); _nop_(); if(dq=1) temp=temp | 0 x80; 东北大学东软信息学院毕业设计(论文) 第 5 章 系统实 现 - 24 - else tem
56、p=temp | 0 x00; ds18b20_delay(8); return(temp); 东北大学东软信息学院毕业设计(论文) 第 6 章 系统测试 - 25 - 第第 6 章章系统测试系统测试 软件测试是一项十分复杂多样化的工作。它在软件的整个生存期中占据重要的位 置,对软件可靠性保证具有极其重要的意义。下面将结合本系统软件开发并配合仿真 器对系统进行了如下测试。 6.1测试方案及测试用例测试方案及测试用例 6.1.1电源监测电源监测 方案:将电源通电,在系统中单片机在 1.6s 周期内为芯片提供正脉冲,芯片输出 信号保持高电平,整个系统工作正常。当单片机在超过 1.6s 未向芯片提供脉冲信号时, 芯片内部电路触发复位信号,使单片机复位,从初始状态开始工作。 6.1.2led 检测检测 方案:max7219 是一款串行共阴极数码管动态显示驱动芯片,仅使用 3 线串行接口 传送数据,可直接与单片机接口,可以方便的修改内部参数以实现多位 led 显示。内 部含硬件动态扫描显示控制电路,每片芯片可同时驱动 8 位共阴极 led。在代码中可对 芯片进行初始化后直接向 max72
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度科研仪器租赁及技术服务合同
- 2024年定制:5G网络技术研发与技术服务合同
- 2024合作开发合同的开发内容和合作方式
- 04版加工承揽合同生产工艺与质量控制
- 2024年度校园租赁:电动自行车合同
- 2024光电子技术研发与生产合同
- 2024广州市劳动合同范文新版
- 2024营业租赁合同范文
- 2024年度电力设备安装与维护合同
- 2024年度计算机软件开发与销售合同
- DB41T 2280-2022 路桥用泡沫轻质土应用技术规程
- 公共卫生主题培训
- 广东省特种设备作业人员考试机构申请表
- 第三章-自然语言的处理(共152张课件)
- 分布式光伏系统组件缺陷检测及诊断技术规范
- 企业网站建设及维护服务合同
- 北师版八年级数学上册 第四章 一次函数(压轴专练)(十大题型)
- 住院医师规范化培训教学病例讨论教案(模板)
- 2023年合肥市轨道交通集团有限公司招聘笔试真题
- 2024年安全教育培训变更新增记录
- 医学文献检索复习试题和答案解析(四)
评论
0/150
提交评论