隧道环境无线传感网温度采集毕业论文.doc_第1页
隧道环境无线传感网温度采集毕业论文.doc_第2页
隧道环境无线传感网温度采集毕业论文.doc_第3页
隧道环境无线传感网温度采集毕业论文.doc_第4页
隧道环境无线传感网温度采集毕业论文.doc_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

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

文档简介

隧隧道道环环境境无无线线传传感感网网温温度度采采集集系系 统统毕业论文毕业论文 目 录 引言 1 第一章概述 2 1 1项目背景 2 1 2系统开发意义 2 1 3系统开发环境 2 1 4系统主要功能 3 第二章系统开发概述 4 2 1无线传感网概述 4 2 2WINDOWS系统编程概述 4 2 3硬件概述 5 2 3 1MSP430F149 型单片机概述 5 2 3 2DS18B20 温度传感器概述 8 2 3 3无线传输模块 CC1101 概述 10 2 3 4液晶显示器 LCD1602 概述 13 第三章系统分析与设计 17 3 1系统需求分析 17 3 2硬件设计 17 3 2 1节点信息处理 17 3 2 2温度信息采集 21 3 2 3信息无线传输 23 3 2 4温度信息显示 27 3 2 5警报触发模块 28 3 3软件设计 28 3 3 1下位机软件设计 28 3 3 2上位机软件设计 33 第四章系统实现 35 4 1嵌入式系统实现 35 4 1 1下位机软件实现 35 4 1 2上位机软件实现 36 结论 37 参考文献 38 附录 40 谢 辞 42 图 表 清 单 图 2 1 MSP430F149 硬件结构图 5 图 2 2 MSP430F149 外围引脚分布 6 图 2 3 MSP430CPU 结构图 7 图 2 4 DS18B20 T0 92 引脚封装图 9 图 2 5 DS18B20 初始化时序 9 图 2 6 DS18B20 读写时序 10 图 2 7 CC1101 电路图 11 图 2 8 CC1101 的状态机 13 图 2 9 LCD1602 实物图 14 图 2 10 图 二 1 LCD1602 接口电路图 15 图 3 1 标签工作流程 19 图 3 2 阅读器工作流程 21 图 3 3 温度转换函数 22 图 3 4 温度存储形式 23 图 3 5 温度采集模块 23 图 3 6 CC1101 无线传输模块 24 图 3 7 MSP430 与 CC1101 连接电路图 25 图 3 8 CC1101 工作流程 26 图 3 9 数据包格式 27 图 3 10LCD1602 工作过程 27 图 3 11 警报电路 28 图 3 12 无线自组网拓扑结构 29 图 3 13 路由表格式 29 图 3 14 标签广播包 30 图 3 15 标签路由交换包 30 图 3 16 温度采集数据包 30 图 3 17 标签 AB 相邻时网络状况 31 图 3 18 标签 AB 不相邻时网络状况 32 图 3 19 多标签相邻时网络状况 33 图 3 20 上位机监控终端操作步骤 34 图 4 1 调试操作步骤 36 图 4 2 上位机软件监控界面 36 表 2 1 MSP430F149 中断向量表 8 表 2 2 DS18B20 引脚说明 9 表 2 3 CC1101 引脚说明 12 表 2 4 LCD1602 引脚说明 15 表 2 5 LCD1602 操作指令表 16 1 引 言 物联网利用传感器 射频识别 RFID 等技术构造一个覆盖世界的物物相连的网 络 物联网能够智能化识别 监测 定位跟踪和管理目标 可以全面地感知人和物 体信息 在现代物流 智能建筑 食品 医疗 智能家居 智能交通等行业物联网 已经开始得到广泛应用 物联网应用的关键技术包括无线组网技术 传感器节点感 知技术 数据融合 数据挖掘 云计算等关键技术 物联网的时代到来 已经从个 人到家庭 再到工业生产都已渗透到生活的每个角落 在工业生产中 利用人工的方式对环境的监测和控制已经无法满足社会的快速 发展了 在矿山采矿时 常常会因为工作人员的疏忽而给企业的财产和工作人员的 安全带来极大的危害 尤其是在隧道 井下煤矿等环境下常常发生爆炸事故造成巨 大的伤害 若采用有线连接方式连接环境信息采集网络 长时间工作可能会造成因 强电烧毁传感器原件 线路老化等问题 影响环境信息的采集 将无线传感网络技 术应用到矿山隧道环境的监测和控制当中 不仅能减少人员的投入 降低成本 避 免有线连接方式带来的困扰 还能在环境恶化时发出警报 有效地避免危险状况的 发生 在恶劣的环境中 无线自组网温度采集系统能够稳定的工作 实时采集环境 中温度信息 通过无线网络发送给监控终端 监控人员通过监控终端的实时监测软 件 能及时了解被检测地点的温度信息 矿山隧道环境的监测和控制对于避免矿难事 故的发生有着重要的意义 无线传感网中传感器节点体积小 重量轻 功耗低 铺设方便 能在电池供电 的情况下连续工作数月甚至数年都无需更换电源 在无线传感网络中 每个传感器 节点都运行相同的网络协议 当某个节点发生故障时可以直接替换掉而不影响网络 中其他节点的信息传输 本系统软件复用性强 只需对系统做轻微改动 更换传感 器元器件后便能实现对环境中其他信息的采集和监测 系统根据工业生产实际状况 而开发的隧道环境无线自组网温度采集系统能适应恶劣的工作环境 系统工作温度 范围在 25 C 到 125 C 适合国内主要工矿企业 交通道路等需要温度信息采集的场 合 2 第一章 概述 1 1项目背景 社会飞速发展 物联网产业化的时代已经到来 物联网离我们越来越近 无线 传感网已经开始大量应用在工农业生产和人们的日常生活中 各式各样的传感器在 日常生活中已司空见惯 无线自组网技术应用范围愈加广泛 将传感器检测与无线 自组网技术相结合 可完成对环境实时监测和控制 无线测温技术是近年来随着无 线传输方式的发展和智能温度传感器的出现而新兴的一项现代化温度测量技术 监 视人员可利用普通 PC 机 手机等终端设备方便地了解被监测的现场环境并进行适时 地发出控制命令 利用无线传输模块和单片机构成的系统可实现近距离低功耗传输 数据 具有操作灵活 可拓展性强 通用性强 可应用在各种无线遥测领域 1 2系统开发意义 如今工业的生产安全受到人们的广泛关注 该无线传感网温度采集系统应用于 矿山隧道中温度信息的采集 传感网中采用智能温度传感器感知温度信息 通过无 线自组网络将采集到的温度信息无线传送到控制中心 控制中心接收数据保存并分 析 随时随地掌握采集点温度的变化情况 为温度控制系统提供环境温度信息 在 本系统中当环境中温度过高 超过温度阈值 节点能发出警报 以提醒在矿山中工 作的人员 减少意外的发生造成的伤害 本系统为野外勘探 采矿等工作人员的安 全提供了保障 而现有的矿山环境监测系统中多数采用有线方式连接 能耗较高 此系统的开发能有效地降低使用成本 具有较强的抗毁能力 因此本系统的开发具有 重要的意义 1 3系统开发环境 本无线自组网温度采集系统为嵌入式系统类设计开发 须同时具备软硬件环境 才能完成系统的设计 系统开发环境如下 软件环境 Windows XP 及以上操作系统 IAR Embedded Workbench Visual C 6 0 MspFet SmartRF Studio 7 串口调试助手等 硬件环境 PC 机 MSP430F149 型单片机 CC1101 无线传输模块 温度传感 3 器 警报模块 1 4系统主要功能 本温度采集系统主要针对矿山隧道环境 综合考虑各方面因素 并根据前期对 工业现场环境的调研 对系统需要实现的功能进行了明确的定义 其主要功能如下 温度采集模块 系统在隧道环境中利用带有传感器的节点对环境中的温度进行 采集 标签模块 即为各个传感器节点 主要用于温度信息的收集 标签节点主要负 责温度采集 采用特定的数据包格式将采集到的温度数据发送给阅读器 此外 标 签节点需要广播自己的地址 转发其他标签的数据包 与其他标签通信 建立路由 表 完成与网内通信 数据传输 无线传输模块 CC1101 无线传输模块将标签中特定格式的数据包发送出去 并 接收由其他无线传输模块发来的数据包 阅读器模块 即中心控制节点 阅读器接收到标签发来采集到的温度数据 然 后通过串口发送给 PC 机 上位机监控软件 PC 机接收来自阅读器的数据进行处理 以文字和图形的方式 显示在屏幕上 并在隧道环境温度出现异常时发出警告 4 第二章 系统开发概述 2 1无线传感网概述 无线传感网络 Wireless Sensor Network 是物联网关键技术之一 主要应用于物 联网的传感层 传输层 处理层 应用层四层中的传输层 无线传感网是一种由大 量的传感器节点组建成的 对等式的网络 主要用于信息的采集 终端的控制功能 传感器节点通常可看做是一个具有感知能力的微型嵌入式系统 消耗较少的电量 并且具有信息处理能力 其次 传感器节点通常具有传统网络的路由选择功能 还 能够将其他节点发来的信息进行转发 解析 存储等处理 7 传感器节点往往是随 机的分布在一定的区域 能够运行分布式协议能够自组成网 协作地感知环境中的 信息 并进行处理 最终发给用户 无线传感网往往具有的特性是 网络自组织 网络中节点随机分布的特性要求 传感器节点具有自行组建无线网络的特点 节点数量庞大 在传感网络中 往往需 要庞大数目的节点来采集信息 才能得到较全面的环境信息 节点能力有限 传感 器节点工作环境通常是野外等较差的地方 要求功耗小 体积小 成本低 能适应 通信状况不良的环境 由于实际工程应用中节点的位置无法事先确定 节点可能发 生故障 随时的更换 从而导致节点随时的加入和离开 为使节点的变更不影响系 统的正常运行 无线自组网的自适应路由选择具有强抗毁性 在实际工程应用中得 到广泛采用 2 2Windows 系统编程概述 Windows 系统是人们再熟悉不过的图形界面方式的操作系统 具有良好的交互 性 利用事件驱动的方式进行面向对象程序设计是 Windows 编程的主要方式 视窗 系统编程能够编写出可视化的图形用户界面 Windows API 包含了操作系统所需的 丰富的接口函数 程序开发者也可利用 MFC Microsoft Foundation Class 类库有效地 完成 Windows 应用的开发 5 利用 Windows API 可实现图形用户界面设计 网络通 信 串口通信等功能 Visual C 6 0 是微软公司推出的面向对象可视化开发工具 具有很强的灵活性 比较经典的 Windows 编程工具 至今仍比较流行 5 2 3硬件概述 2 3 1MSP430F149 型单片机概述 系统标签节点的数据处理模块采用 MSP430 系列的 F149 型单片机 MSP430 系 列单片机小巧灵活 成本低廉 抗干扰能力较强 易于实现产品化 使用的温度范 围广 能够在各种恶劣条件下可靠地工作 实现分布式多单片机控制 提高系统的 稳定性和工作效率 采用单片机进行环境信息测量 信息存储 数字显示 实时监 控等工业控制对于企业降低生产成本 提高工作效率 节能环保等都具有重要的意 义 MSP430 系列的 F149 型单片机为超低功耗的混合信号处理器 由美国德州仪器 TI 公司开发 具有 16 位 RISC 结构 运算处理能力强 还集成了丰富的片内外 设 MSP430 系列单片机系统工作稳定 具有方便灵活的开发环境 能工作在多种 工作模式下 使用灵活方便 MSP430 系列单片机通过降低芯片电源电压以及可控 制的灵活的时钟来保证其低功耗的特性 在某些情况下 可在电池供电的状态下工 作数月甚至数年都无需更换电源 相比其他类型的单片机具有无可比拟的优势 MSP430F149 型单片机同其他 MSP430 系列单片机一样 片上外围模块丰富 他们分别是看门狗 WDT 基本定时器 Basic Timer 端口 1 6 P0 P6 定时器 A Timer A 定时器 B Timer B 模拟比较器 A 串口 0 UART0 和串口 1 UART1 等外围模块 MSP430 系列 F149 型单片机为冯 诺依曼体系结构的硬件结构 硬件 结构图如图 2 1 主要包括 16 精简指令中央处理单元 存储器 外围模块 时钟模 块 地址总线和数据总线 芯片引脚分布如图 2 1 6 图 2 1 MSP430F149 硬件结构图 图 2 2 MSP430F149 外围引脚分布 中央处理器的性能直接关系到单片机的数据处理能力 MSP430F149 的 CPU 内 部由一个 16 位逻辑算术运算单元 16 个寄存器和 1 个指令控制单元组成 通过对 寄存器的写和读完成程序所要实现的功能 图 2 3 展示了 16 个寄存器的结构 7 图 2 3 MSP430CPU 结构图 通过中断的方式 单片机响应外围模块 当中断事件提出中断请求时 会通过 硬件向中央处理器提供向量 在主机的中断允许的情况下 如果外围模块产生中断 则进入中断处理程序 MSP430F149 的中断向量表如表 2 1 8 表 2 1 MSP430F149 中断向量表 2 3 2DS18B20 温度传感器概述 此温度采集系统采用一种改进型的数字式智能温度传感器 DS18B20 DS18B20 温度传感器体积小 采用单总线与单片机相连 硬件电路简洁 这使系统抗干扰能 力更强 适用于农业生产和工业生产过程监测等领域 DS18B20 是单线式的智能数字化温度传感器 遵循 单线总线系统 的单线协 议 具有 3 引脚 TO 92 小体积的封装形式 DS18B20 温度传感器引脚封装见图 2 4 所示 表 2 2 为该传感器的引脚说明 DS18B20 主要由三部分组成 1 64 位激光 ROM 2 温度灵敏元件 3 温度警告触发器 TH 和 TL 对 DS18B20 的操作都是建 立在对内部寄存器写和读的基础上的 每个 DS18B20 温度传感器具有独有的序列号 多个此类传感器可挂载在同一条单线式总线上 温度测量范围 55 C 125 C 测温 分辨率达 0 0625 C 9 图 2 4 DS18B20 T0 92 引脚封装图 表 2 2 DS18B20 引脚说明 要从 DS18B20 传感器中读写数据 必须能够对该传感器的贮存器进行驱动 DS18B20 传感器初始化时序如图 2 5 读写时序如图 2 6 所示 图 2 5 DS18B20 初始化时序 10 图 2 6 DS18B20 读写时序 2 3 3无线传输模块 CC1101 概述 无线射频在社会生活中已经开始被广泛应用 无线传输模块因其低功耗 运行 稳定 连接性好 灵敏度高 外围元件简单的特点 被大量采用 无线传输模块采 用 CC1101 作为本系统的无线收发所使用的芯片进行数据传输 在典型的系统中 一个无线传输模块中 CC1101 芯片通常会与一颗微型控制器和少数附加的无源组件 一起使用 CC1101 是一种低成本单片 UHF 收发器 为无线低功耗应用而设计 是一种低功 耗的短距离通讯设备 SRD 19 CC1101 工作波段符合我国的工业标准 广泛应用在 工业监测控制 仪表自动化读数 低功耗的遥感探测 建筑自动控制 无线安全警 报系统 无线传感网络和电子消费品当中 CC1101 芯片具有自动低功耗轮询无线唤 醒 WOR 功能 支持串行异步和同步接收 发送模式 能够向后兼容现有无线通信协 议 芯片 CC1101 引脚分布见图 2 7 11 图 2 7 CC1101 电路图 CC1101 引脚说明见表 2 3 12 表 2 3 CC1101 引脚说明 在 CC1101 中数据的收发和 CC1101 的状态设置是通过修改寄存器值来实现的 使用 SmartRF Studio 软件来进行 CC1101 寄存器各种的配置 以获得最佳寄存器性能 并且修改寄存器要在 IDLE 模式下 CC1101 工作状态模式如下图 2 8 所示 13 STX SPWD RXOFF MODEL 01TXOFF MODEL 00 SRX or STX or WOR TXOFF MODEL 01 手动频率合 成校准 睡眠 频率合成器 开 频率合成器 启动 可选 校准 稳频 Idle TX FIFO 下 溢 可选频率合 成校准 发送模式接收模式 RX FIFO 下 溢 Idle SFTX SFRX STX STX SFSTXON SFSTXON SCALL CSn 0 图 2 8 CC1101 的状态机 2 3 4液晶显示器 LCD1602 概述 LCD1602 液晶显示器的显示原理 通过控制电压变化 改变液晶的排列状态 显示出字符 本系统应用基于 HD44780 芯片的字符液晶 LCD1602 液晶显示器进行 温度显示 LCD1602 液晶显示器体积小 重量轻 显示质量好 能耗低 价格便宜 在市场上售价在 10 元左右 适合在工业上大量应用 LCD1602 液晶显示器具有数 字式接口 能够与单片机相连 操作方便 能够满足本系统显示标签节点处温度的 14 需要 LCD1602 液晶显示器是一种字符型点阵式显示模块 其实物图如图 2 9 该液 晶显示容量为 16x2 个字符 芯片电压在 4 5V 5 5V 之间可正常工作 最佳工作电压 为 5 0V 在 LCD1602 液晶模块中固化有字符字模 液晶模块中内置了 192 个常用 字符字模 存储在 CGROM 和 CGRAM 存储器中 引脚电路图参考图 2 10 所示 引脚说明见表 2 4 图 2 9 LCD1602 实物图 15 图 2 10 图 二 1 LCD1602 接口电路图 表 2 4 LCD1602 引脚说明 LCD1602 液晶模块是通过对其控制器进行指令编程实现字符的显示 指令包含 16 对液晶显示器的读和写操作 光标移动 光标显示和屏幕的操作 指令共 11 条 见 表 2 5 表 2 5 LCD1602 操作指令表 17 第三章 系统分析与设计 3 1系统需求分析 在矿山采矿或勘探过程中 因环境恶劣无法架设线路或需要常常迁移地点时 采用无线自组网技术具有极大的优势 隧道环境无线自组网温度采集系统应用在矿 山隧道中监测放置处的温度信息 本系统可以避免因强电电流过大等原因造成的温 度升高 引起测温系统发生故障 本系统也可以应用在不能采用有线连接的环境中 设计隧道环境无线自组网温度采集系统的目的是能够加强工矿企业对工业生产 现场的监管 在工业现场即将发生危险时做出及时响应 避免酿成额外的损失 该 系统对生产人员的生命安全和企业财产提供了有力保障 本系统中标签节点布置在 隧道现场环境中 实时采集温度信息 广播本标签地址 发送路由交换包 与其他 标签节点自组成网 将采集到的数据按特定协议发送 同时将其他标签发过来的数 据包转发 最终发给阅读器节点 阅读器广播本机地址 过滤标签地址 过滤数据 包 处理来自标签采集的数据包 发送给 PC 机 3 2硬件设计 3 2 1节点信息处理 本系统标签节点和阅读器节点采用了欣世纪电子科技的 DM430 L 型单片机系统 板和腾飞电子的 TS8900 M149 型开发板 本系统应用的开发板均为 MSP430F149 最 小系统 具有丰富的应用接口 板载 USB 型 BSL 下载器 支持标准 JTAG 仿真接 口 扩展方便 资源丰富 设计思路清晰 标签节点主要完成温度信息采集 数据 包转发 广播本机地址 交换路由表的功能 标签收到数据包后通过数据包的第 1 字节 type 字段的数值识别数据包类型 标签工作的流程参考图 3 1 所示 18 收到数据转 发包 type 2 否 否 开始 初始化 LED 模块 初始化 LCD1602 液晶模块 初始化系统时钟 初始化 CC1101 收到数据 采集温度信息 寻找相邻节点 发送温度信息 到相邻节点 收到广播包 type 0 收到路由转 发包 type 1 添加路由信息 发送给 本机 存在此路 由 发送给 本机 转发数据包 温度值过高 触发警报 1 2 是 是 否 否 否 否 否 是 是 是 是 是 否 19 定时器到 达 广播本机地址 1 发送本机路由表 中信息 2 图 3 1 标签工作流程 阅读器为使标签能够向自己发送采集数据包 需要向周围广播自己的地址信息 当阅读器的广播信息被标签接收到后 标签会将阅读器地址加入到自己的路由表中 若已存在此路由信息 则不添加 阅读器收到数据包后通过数据包的第 1 字节 type 字段的数值识别数据包类型 图 3 2 为阅读器工作流程 20 开始 LED 初始化 初始化系统时钟 初始化 UART 模块 初始化 CC1101 收到数据 12 3 是 否 21 2 1 发给 PC 机 收到广播包 type 0 收到路由转 发包 type 1 收到数据转 发包 type 2 发给本机 延时 10ms 定时器计 数到达 广播本机地址 3 否 否 否 是 是 否 是 是 是 否 图 3 2 阅读器工作流程 3 2 2温度信息采集 此温度采集模块能够检测到当前温度并且能够在超出预设的警告温度时发出警 报 提醒在矿山中工作的人员 为工作人员的生命安全提供保障 DS18B20 传感器采用单总线协议 即传感器工作过程为 1 初始化 2 发送 ROM 操作命令 3 发送 RAM 贮存器操作命令 4 处理数据 从温度传感器中获取温 22 度值的过程用流程图表示如图 3 3 所示 初始化 DS18B20 发出 Skip ROM 指 令 0 xCC 发出启动温度转 换指令 0 x44 延时约 500us 初始化 DS18B20 发出 Skip ROM 指 令 0 xCC 发出 Read ScratchPad 指令 0 xBE 读取温度值 存 储到 temp data 结束 开始 图 3 3 温度转换函数 采集到温度后 得到图 3 4 格式的温度值 温度数值记录格式为二进制的 2 字 节 以补码形式存储 高 4 位扩展符号位 其中高 4 位为温度值的符号 中间 8 位 为温度值的整数部分 低 4 位为温度值的小数部分 因为 DS18B20 最低位表示 0 0625 C 即分辨率为 0 0625 C 所以可求得如下图所示 温度值为 25 0625 C 设暂 存寄存器中所存储的温度为 temp 若暂存寄存器中数值为负数 则取得的数值取反 23 加一后得到 temp 则温度计算公式 温度值 temperature 暂存器数值 temp 0 0625 图 3 4 温度存储形式 温度数值从温度传感器采集到后 对温度数值进行判断 若超过规定的警示温 度值 本系统设置为 32 摄氏度 后则触发黄色 LED 发光二极管 超过规定警报温 度 本系统设置为 40 摄氏度 后则触发红色 LED 发光二极管 温度采集模块的电 路图参考图 3 5 图 3 5 温度采集模块 3 2 3信息无线传输 本系统中采用模块化 CC1101 芯片模块完成无线通信功能 CC1101 无线传输模 块电路图如图 经实验测定 相邻的节点间的有效距离为 30 米 超过 30 米信号 急剧衰减 节点通过一个 SPI 接口实现对 CC1101 的 64 字节的发送 接收 FIFO 缓 冲区和主要运行参数进行控制 SPI 接口主要用于扩展外设和数据交换 在单片机 与 CC1101 通信中采用 4 线 SPI 接口完成 CC1101 芯片的设置和数据的传输 SPI 接 24 口采用主从模式 可同时与多从机协同工作 在 3 线方式下便可进行串行数据的传 输 通过 SPI 接口完成标签与阅读器之间 标签之间的信息交换 图 3 6 展示了 CC1101 无线传输模块的电路 图 3 6 CC1101 无线传输模块 MSP430 单片机端口与 CC1101 模块端口通信连接方式如图 3 7 当 CC1101 收 到数据的时候通过 UART 模块向单片机的 CPU 发送中断 CPU 响应 CC1101 发来的 中断进行数据处理 单片机在发送数据时 数据信息存至 UART 模块的 TxBUF 数 据缓冲寄存器 通过 CC1101 将数据发送出去 25 图 3 7 MSP430 与 CC1101 连接电路图 MSP430 单片机通过 SPI 总线对 CC1101 内部寄存器进行读写从而达到功能设定 和状态读取 利用一次 突发 的数据传输便可以对 CC1101 所有寄存器进行编程 配置 实现了对 CC1101 工作状态的控制 CC1101 无线传输模块的工作流程见下图 26 进入 RX 模式 初始化 SPI MCU 各引 脚 上电复位 CC1101 进入 Idle 模式 发送数据 发送数据 进入 TX 模式 进入 Idle 模式 是 是 否 否 开始 结束 图 3 8 CC1101 工作流程 CC1101 的数据传输需要遵守特定的协议 其数据包格式如下图 3 9 当开启发 送 TX 模式发送数据包时 先发送若干字节前导 前导的形式为 0 1 交替的序列 再发送 16 32 字节的同步字 然后发送来自 TX FIFO 的数据 其中数据包长度和 数据包地址字段为可选字段 最后发送前 2 个字段的校验和 校验的方式采用 CRC 校验 当开启接收模式接收数据时 需要对数据包的长度字段和地址字段进行处理 数据字段在发送和接收模式下都无须处理 CRC 校验字段在发送和接收模式下都要 进行校验 从而完成对无效数据包的过滤 27 图 3 9 数据包格式 3 2 4温度信息显示 标签采集温度信息后需将温度值实时显示在 LCD1602 液晶显示器上 以供隧道 中工作人员随时查看 液晶显示器中显示的字符与 ASCII 中编码方式相对应 在系 统显示温度信息时 只需写入该数字对应的 ASCII 码即可显示当前温度值 LCD1602 液晶显示字符需要现在 1602 液晶中写入命令 再写入索要现实的数 据 LCD1602 工作的流程如图 3 10 开始 初始化 1602 液晶 检测液晶忙 延时 5 毫秒 写入命令或数据 是 否 图 3 10LCD1602 工作过程 3 2 5警报触发模块 标签采集到温度信息后 会进行温度值的计算和转换 设得到的温度值为 temp 当 temp 大于 32 C 时 会触发黄色预警灯 警示工作人员注意环境温度的改变 当 temp 大于 40 C 时 触发红色危险警报灯 单片机 CPU 通过下图 3 11 警报电路控制 发光二极管的亮灭来达到发出警报的目的 28 图 3 11 警报电路 3 3软件设计 3 3 1下位机软件设计 网络中的标签节点地位是相等的 无需中心节点对其进行控制便可实现数据的 采集 标签兼具路由器和主机的角色 作为主机能够实现数据的采集和处理 作为 路由器节点需要运行相同的路由协议 能实现路由转发功能和路由表维护等功能 较好地适应网络状态的变更 本系统中 标签由 MSP430F149 单片机 DS18B20 传感器和 CC1101 模块组成 阅读器由 CC1101 模块和 MSP430F149 单片机组成 各个标签通过与相邻标签之间 交换路由信息 建立无线网络 标签采集的温度信息经过多次转发 最终发送到阅 读器 阅读器收集标签采集的数据 通过 UART 串口发送给 PC 机 在无线自组网 中采用自适应的 分布式路由选择协议 网络拓扑结构如图 3 12 所示 29 温度传感器 MSP430 单片机 CC1101 图 3 12 无线自组网拓扑结构 为使标签之间能够自组成网 本系统设计了如下格式的路由表 如图 3 13 所示 第 1 字节存储可到达的标签地址 第 2 字节存储到达该标签的方式 Direct 1 表示 该标签直接可达 Direct 0 表示该标签不能直接交付数据 但可以间接将信息送达 图 3 13 路由表格式 在组网过程中 标签发送广播包 广播包格式参考图 3 14 广播包第 1 字节表 示 CC1101 所发的数据包类型 type 0 表示广播包 第 2 字节表示本机地址 30 图 3 14 标签广播包 标签发送的路由交换包 其格式见下图 3 15 路由交换包第 1 字节表示 CC1101 所发的数据包类型 type 1 表示路由交换包 第 2 字节表示本机地址 第 3 字节表示下一地址 即将要发往的目的地址 第 4 字节表示携带的路由信息 图 3 15 标签路由交换包 标签建立无线网络后 将本标签采集的温度信息按照规定的数据包格式发送给 相邻标签 相邻标签作为中继节点再向其他标签转发 此时为防止网络风暴的产生 数据包不能发给数据转发来源的标签 而是发给另一个相邻的标签 温度采集数据 包格式的表示见图 3 16 温度采集数据包第 1 字节表示类型 type 2 表示发送的数 据为温度采集数据 第 2 字节表示本机地址 第 3 字节表示将要发往的下一标签地 址信息 第 4 字节表示本数据包经过的标签节点数 hop 第 5 字节表示发往的最终 阅读器的地址 第 6 字节表示采集数据的来源标签 第 7 9 字节表示采集到的温度 信息 数据 0 表示采集到的温度的正负符号位 数据 1 表示温度值的整数的十位数 数据 2 表示温度值的整数的个位数 数据 3 表示温度值的小数位上的数值 图 3 16 温度采集数据包 无线自组网的组网过程 1 标签 A 的 CC1101 无线通信模块定时广播自己的地 址 使相邻的标签节点 B 能够接收到标签 A 的广播信息后 会检查自己的路由表 如果 B 标签没有标签 A 路由信息则添加标签 A 路由信息 若已存在广播标签 A 的 路由信息则不添加 同样 当标签 B 广播自己的地址时 相邻的标签也能收到广播 31 相邻标签将标签 B 的地址加入到自己的路由表中 2 标签 A 的 CC1101 无线通信模 块定时向相邻标签 B 交换路由信息 标签 B 收到标签 A 发来的路由交换包后经判别 是发给自己的数据包 然后将标签 A 的路由信息添加到自己的路由表中 同理 标 签 B 也定时向相邻标签发送自己的路由信息 标签之间经过多次路由信息交换后最 终形成无线自组网络 当标签 A B 相邻时 即 A 与 B 之间距离小于 30 米 标签 A 采集的温度信息 通过 B 标签转发给阅读器 标签 A 采集的温度信息达到阅读器的路径为 标签 A 标 签 B 阅读器 A 最终网络中路由表如图 3 17 所示 标签 A 地址 0 x01 标签 B 地址 0 x02 A 路由表 IPDirect 0 x021 0 xF00 B 路由表 IPDirect 0 x011 0 xF01 相距 30 米以内 阅读器 A 地址 0 xF0 相距 30 米以内 图 3 17 标签 AB 相邻时网络状况 当标签 A 距离标签 B 大于 30 米时无法完成正常通信 但可以在 A B 标签之 间通过添加 C 标签 经过一段时间各个标签完成自动更新路由表 标签 A 采集的温 度信息就可以经过多次跳转后发送给阅读器 A 标签 A 采集的温度信息达到阅读器 的路径为 标签 A 标签 C 标签 B 阅读器 A 更新后网络中的路由表如图 3 18 32 标签 A 地址 0 x01 标签 B 地址 0 x02 A 路由表 IPDirect 0 x020 0 xF00 0 x031 B 路由表 IPDirect 0 x010 0 xF01 0 x031 相距 30 米以内 阅读器 A 地址 0 xF0 相距 30 米以内 标签 C 地址 0 x03 相距 30 米以内 相距大于 30 米 C 路由表 IPDirect 0 x011 0 xF00 0 x021 图 3 18 标签 AB 不相邻时网络状况 当 3 个以上标签相邻时 即标签之间距离均小于 30 米会出现环状网络 如图 3 19 网络状况 在此时可能会出现数据包在环状网络中反复转发的情况 产生网络 风暴 但通过对数据包转发跳数 hop 的限制可以解决此问题 33 标签 A 地址 0 x01 标签 B 地址 0 x02 A 路由表 IPDirect 0 x021 0 xF00 0 x031 B 路由表 IPDirect 0 x011 0 xF01 0 x031 相距 30 米以内 阅读器 A 地址 0 xF0 相距 30 米以内 标签 C 地址 0 x03 相距 30 米以内 相距 30 米以 内 C 路由表 IPDirect 0 x011 0 xF00 0 x021 图 3 19 多标签相邻时网络状况 3 3 2上位机软件设计 利用 PC 机作为上位机 MSP430F149 型单片机与 CC1101 和温度传感器组成标 签节点作为下位机 能够较好地实现监测矿山隧道环境温度 又能够较方便地实现 数据的处理和反馈 要进行 PC 机与单片机的通信可以利用 MSP430 单片机的串口 UART 口采用 RS 232 协议进行通信 也可以使用 RS 485 协议进行通信 本系统与 PC 机进行通信采用的是 RS 232 协议标准 系统进行周期性的数据采集 PC 端通过 串口接收到数据后将通过 PC 端软件对数据进行解析并进行温度数据的实时显示 上位机软件的实现采用 C 编程语言实现 利用 VC6 0 开发调试上位机监控软 34 件 在 VC6 0 中提供了多种方式进行串口通信设计 本系统在开发时采用 MFC 进 行开发 串口通信部分采用 MScomm 控件 图 3 20 展示了上位机监控终端的操作 步骤 开始 界面初始化 串口初始化 收到数据 存入文档 从文档读出数据 显示到监控界面 关闭窗口 结束 是 否 是 否 图 3 20 上位机监控终端操作步骤 35 第四章 系统实现 4 1嵌入式系统实现 通过前期的系统的分析和设计 已对隧道环境无线自组网温度采集系统有了清 晰的思路 利用 IAR VC 等集成开发环境完成系统的开发和调试 最终使系统能 够稳定运行 系统的实现分为硬件电路的实现和软件的实现 软件实现又可以分为上位机软 件的实现和下位机软件的实现 硬件电路的实现需要将购买好的电子元器件按系统 分析设计中所示的电路图焊接 完成器件的简单测试 保证能正常工作即可 故在 此不再进行详述 4 1 1下位机软件实现 下位机终端监控软件根据系统分析设计中的思路设计实现 首先需在 IAR Embedded WorkbenchIDE 下对位机程序进行编译 组建 生成目标文件 D43 文件 后缀为 d43 或 TI TXT 目标文件 后缀为 txt 为 MSP430 系列单片机定义的代 码格式 TI TXT 目标文件经 MspFet 以 BSL 编程或 JTAG 编程方式将目标文件 烧写到 MSP430F149 芯片的 Flash 中 D43 目标文件通过 MSP FET430UIF JTAG 仿 真器将程序写进 MSP430F149 芯片的 Flash 中 JTAG 仿真器还可以在最终程序完成 时将芯片中的熔丝烧断 对程序进行加密操作 在编写下位机程序时 可以进行调试操作 方便检查程序错误 观察 MSP430CPU 中的寄存器值和程序中的变量 利用 JTAG 仿真器能够实现单步调试 当某个寄存器中的值发生异常时可以通过反汇编窗口查看寄存器值 在需要观察某 个变量值时 可将变量添加到 Watch 窗口便能看到变量的值 调试界面如图 4 1 所 示 36 图 4 1 调试操作步骤 4 1 2上位机软件实现 当系统的上位机软件启动时 系统左侧窗口以文字的形式显示各个节点采集的 温度 右侧窗口以图标的形式显示各个节点采集的温度信息 通过对下拉菜单串口 号和波特率完成串口通信的设置 点击打开串口按钮即可显示隧道环境中的温度信 息 点击暂停显示按钮可暂时停止显示 温度信息监控状态见图 4 2 图 4 2 上位机软件监控界面 37 结 论 大学毕业季 我完成了大学的最后一门课程 毕业设计 本次毕业设计的题目 是隧道环境无线传感网温度采集系统 从大四上学期我就开始学嵌入式系统 经过 近一年的学习 再加上大学期间学习的其他知识的积累 最终成功的完成了我的毕 业设计 毕业设计中所涉及的技术大部分之前都没有接触过 当我还是坚持完成了 该次毕业设计的任务 系统采用 C C 进行编程 利用 IAR Embedded Workbench IDE 和 Visual C IDE 完成主要程序的开发 同时利用 MspFet SmartRF Studio JTAG 仿真器等工具 进行辅助编程调试 经过几个月的开发调试系统功能已基本实现 现已能够稳定运 行 虽然自己对 C 语言比较熟悉 但当遭遇系统开发时 才发现自己自己的知识根 本不够用 由于之前没有接触过 MSP430 系列单片机 网上的资源也较少 刚开始 入手的时候比较困难 没有什么例程可供参考 在反复阅读芯片说明文档后 自己 对所使用芯片的有了一定的了解 但对于芯片一些特性还不太了解 今后将逐步加 强在这方面的学习 虽然现在已经基本完成本系统的设计开发 但还有部分功能没有完善 主要问 题如下 在标签节点自组成网时 对节点的布置有要求 系统在布置节点时不能出 现 3 个及以上节点构成环路 若出现环路 则可能会发生某个采集数据包在无线自 组网网络中被反复转发而无法到达阅读器的情况 导致网络性能下降 大学期间认真学习的态度帮助我在大学四年间获得了不少专业方面的知识 而 大部分偏重于理论学习 理论的认知正是实践的基础 通过将理论转化为实际的应 用开发的成果 加强了我的实际动手能力 提高了问题分析解决能力 有一个良好 的学习方法能使自己少走弯路 提高效率 对自己在学习过程中遇到的问题和学到 的经验及时总结 做笔记 养成良好的习惯 能够帮助自己获取更多的知识 38 参考文献 1 唐继贤 MSP430 超低功耗 16 位单片机开发实例 北京 北京航空航天大学 2014 2 李艇 实时工业网络设计与应用 北京 人民邮电出版社 2014 3 周金治 徐霞 赵海霞 基于 MSP430 的嵌入式系统开发与应用 北京 化学工业 出版社 2013 4 吕鑫 VC 就业培训宝典之 MFC 视频教程 北京 机械工业出版社 2014 5 刘长征 Visual C 串口通信及测控应用实例详解 北京 电子工业出版社 2014 6 俞建峰 物联网工程开发与实践 北京 人民邮电出版社 2013 7 丁欣 胥布工 基于 CC1101 的无线自组织网络路灯监控系统的研究 华南理 工大学 硕士论文 2011 8 吴春丽 矿井通风监测系统的研究与设计 中南大学 硕士论文 2012 9 覃鲜艳 基于 DS18B20 的无线测温系统的研究与设计 武汉理工大学 硕士论 文 2012 10 邵蕊娜 基于 MSP430 单片机的粮库温度无线监控终端的设计与实现 邓州大 学 硕士论文 2011 11 汪华章 基于 MSP430 的无线数据传输模块设计 西南民族大学学报 2009 第 35 卷 第 4 期 12 Instruments T MSP430 User Guide Tech Report 2009 13 Cauligi S Raghavendra Krishna M Sivalingam Taieb Znati Wireless Sensor Networks Springer Verlag New York New York 2006 14 Chris Nagy Embedded Systems Design Using the Ti Msp 430 Series Amsterdam Newnes 2003 15 Dan Harres MSP430 Based Robot Applications A Guide to Developing Embedded Systems Amsterdam New

温馨提示

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

评论

0/150

提交评论