




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于基于 ZigBee 技术的产品开发流程及其实现方法技术的产品开发流程及其实现方法 2009 12 15 13 57 33 分类 默认分类 阅读 223 评论 0 字号 大中小 订阅 0 引言 众所周知无线技术在许多的领域中比有线技术拥有无可比拟的优势 它可以解决许多有线方式无法解决的难 题 给人们的工作和生活带来更多便利 但是 到目前为止由于成本 可靠性 实时性等方面的原因 无线技术还没有达到 很普及的程度 无线网络技术按距离可以分为 WWAN 无线广域网 WMAN 无线城域网 WLAN 无线局域网 WPAN 无线个域网 目前无线个域网得到了业界的重视 主要涉及到 IrDA 蓝牙和 ZigBee 等无线个域网技术 IrDA 是一种基于红外线的点点通信技术 但是它存在很强的方向性 而且不能够用来组建无线网络 ZigBee 和 Bluetooth 是针对两个不同应用范围的无线解决方案 蓝牙技术一般适合应用于要求高速 短距离的领域 这种无线 网路技术的功耗很大 而且开发也比较复杂 成本也高 ZigBee 技术是一种新发展起来的无线网络技术 它具有短距离通 信 低复杂度 低功耗 低数据传输速率等特点 目前在这几种无线解决方案中 ZigBee 无线网络技术被业界普遍看好 ZigBee 技术的特点非常适合用于 三表 行业 用 ZigBee 技术来代替目前 三表 行业的有线通信方式 具有非常 现实的意义 本文主要就无线水表的设计和实现来介绍 ZigBee 技术的应用开发流程 方法 以及需要注意的一些事项 由于笔者使用的是 Chipcon 公司提供的开发平台 所以后续关于 ZigBee 技术的开发均以这个平台为基础 1 ZigBee 技术 1 1 ZigBee 概述 ZigBee 技术是最近兴起的一种无线通信标准 它是以 IEEE802 15 4 无线通信技术为基础的一组涉及到网络 安全 应用方面的软件协议 它是一种短距离 低复杂度 低功耗 低数据传输率 低成本的双向无线通信技术 该技术可以应用于超低功率损耗的无线网络中 它满足 ISO OSI 参考模型 其物理层和 MAC 层采用了 IEEE 标准 ZigBee 联盟定义了上层部分 包括网络层和应用层 用户层由用户自己定义 目前 Chipcon 公司提出的 CC2420 MCU 解决方案 其 MAC 和 PHY 层由 CC2420 实现 上层部分协议包括应用层全部由 MCU 实现 1 2 ZigBee 协议栈 协议栈是用于实现 ZigBee 协议的一组软件 为了便于 ZigBee 技术开发 不妨先了解其中部分重要的概念 1 2 1 Profile Profile 的书面意思是框架 轮廓 在这里它的意思是应用程序框架 它是由 ZigBee 技术开发商提供 应用于 特定的应用场合 它是用户进行 ZigBee 技术开发的基础 当然用户也可以使用专用工具建立自己的 Profile Profiles 是 这样一种规范 它规定不同设备对消息帧的处理行为 使不同的设备之间可以通过发送命令 数据请求来实现互操作 1 2 2 Endpoint Endpoint 是一种网络通信中的数据通道 它是无线通信节点的一个通信部件 如果选择 绑定 方式实现节点间 的通信 那么可以直接面对 Endpoint 操作 而不需要知道绑定的两个节点的地址信息 每个 ZigBee 设备支持多达 240 个 这样的 Endpoints Endpoint 的值和 IEEE 长地址 16 位短地址一样 是唯一确定的网络地址 通常结合绑定功能一起使用 它是 ZigBee 无线通信的一个重要参数 1 2 3 Cluster 当人们着手建立 Profile 时会遇到这个概念 它是一簇网络变量 attributes 的集合 当然如果将通信帧属性选择 为 Message 时 它也可以没有任何网络变量 在同一个 Profile 中 ClusterID 是惟一的 在直接寻址方式和间接寻址方式中 人们都会用到这个概念 在间接寻址方式中 建立绑定表时需要搞清楚 Cluster 的含义与属性 对于可以建立绑定关系的两个节点 它们的 Cluster 的属性必须一个选择 输入 另一个选择 输出 而且 ClusterID 值相等 只有这样 它们彼此才能建立绑定 而在直接寻址方式中 常用 ClusterID 作为参数来将数据或命 令发送到对应地址的 Cluster 簇上 1 2 4 Attribute Attribute 是一个数据实体 它代表一个物理量或一种状态 可以通过这个网络变量在设备之间传递数据或命令 ZigBee 通信有两种协议帧格式 分别是 KVP 格式和 Message 格式 Message 格式是用户自定义的一种帧 格式 而 KVP 格式就是 ZigBee 联盟定义的 它就用到了网络变量 Attribute 来传递数据和命令 1 2 5 Binding 绑定涉及到两个网络节点 在绑定表中 它包含如下信息 IEEE 地址 EndpointID 其中 Endpoint 描述信息 中的 ClusterID 必须值相等 而且属性方向相反 节点间的绑定 通常是通过 Endpoint 的绑定来实现的 例如节点 A 的 Endpoint 可以和节点 B 中的一个或多个 Endpoint 实现绑定 节点 A 的 Endpoint 也可以和多个节点中的 Endpoint 进行 绑定 绑定关系可借助图 1 来说明 2 无线水表抄表系统功能要求和设计思想 2 1 无线水表功能要求 无线水表功能要求有如下几点 脉冲信号采集功能 现在的数字远传水表可以将水流转换成脉冲信号 通常有每脉冲 10 L 和每脉冲 100 L 两 种 可以通过脉冲信号的采集来实现计量功能 兼容 Meter2Bus 协议 在我国现在有一个主流的水表协议 是由多家水表生产厂商和科研院所联合制定的 所 以兼容时下流行的 Meter2Bus 协议 便于推广 无线接口 无线水表需要无线接口来实现各个用户的水表的计量信息的集中抄录 可以采用 ZigBee 无线网络 技术 要有监控器 各个用户的水表的信息最终要通过抄表器传送到统一监控系统上来 2 2 设计思想 设计的无线水表抄表系统包括一个监控器和几个终端水表 使用 ZigBee 技术来实现无线通信网络 并选择 Mesh 网络 这样各个中间水表也可以具有路由功能 方便网络信息的传递 在硬件方面 主板包括一个 ZigBee 无线通 信模块和一个脉冲信号采集器 ZigBee 无线通信部分选择 Chipcon 公司的解决方案 使用 Mega128 CC2420 来实现 ZigBee 通信 自己通过设计模块实现 信号采集器部分 主要通过 CPU 的通用外部中断来采集脉冲信号 这样设计功耗 很低 CPU 可以在空闲的时候处于休眠状态 在软件方面 通过对 ZigBee 协议栈的操作 实现 ZigBee 无线通信 监控器需要把监控信息上传到上位机 也 可以处理来自上位机的命令 此处兼容 MeterBus 协议 3 无线水表抄表系统的实现 3 1 ZigBee 无线通信部分 要进行 ZigBee 技术的开发 不仅要掌握前面提到的许多概念 而且还要熟悉 ZigBee 技术的开发流程 下面按 照 ZigBee 技术的开发流程来介绍水表的无线通信部分 3 1 1 前期准备工作 用户 Profile 的建立使用 Chipcon 公司提供的开发工具 Profile Build2er 可以建立自己所需的 Profile Profile builder 是一种框架程序自动生成工具 可以通过适当的配置生成目标程序框架 使用这个工具 可以建立自己的应用程序框架 它包含设定的 Clusters 和 Attributes 在建立 Profile 时 必须 对所需的 ZigBee 通信有一定的了解 如需要在以后的通信方式中使用绑定方式 则必须注意 Cluster 的属性配置 因为绑 定对 Cluster 的属性要求是只有具有输出功能的 Cluster 才能与具有输入功能的 Cluster 实现绑定 因此 建立水表 Profile 时必须使监控节点的 Clus2ter 属性与水表节点的 Cluster 的属性相对应 无线水表抄表系统项目的建立对使用 GCC 编译器的用户都会遇到这样的问题 Make file 的使用 这 对 Make file 了解甚少的用户来说 自己编写 Make file 项目文件无疑增加了很大的难度和工作量 其实 在开发包中提供邮 General App 项目文件 这是一种通用的项目文件 人们可以通过对这个项目的 Make file 文件和 Project 文件中的文件名进行恰当的更改 得到自己命名的工程文件 但要注意 必须把自己在 Profile Builder 生成的文件 复制到已更改过对应项目文件夹中 这样自己的项目文件才能得到正确编译 小结 在完成上述的两步操作后 才可以在自己的项目文件中进行 ZigBee 开发 当然 所有这些才只是准备工作 3 1 2 ZigBee 技术支持 完整的 ZigBee 通信有很丰富的通信方式 但人们只需针对具体的水表项目选择合适的通信方式 ZigBee 技 术可以通过使用 IEEE 地址或短地址来通信 也可以通过绑定在各个节点间建立联系 然后通过 End2point 和 Cluster 信 息来进行通信 下面分别介绍一下这两种通信方式 3 1 2 1 间接通信 间接通信是指各个节点通过 Endpoint 的绑定建立通信关系 这种通信方式不需要知道目标节点的地址信息 包 括 IEEE 地址或网络短地址 绑定关系表通常被建立在网络协调器中 这样网络中的节点就可以通过 Endpoint 来访问与 之建立绑定关系的节点 这种通信方式离不开网络的协调器 因为绑定表放在这个节点中 每次的通信源节点把信息发送到 Coordinator 由 Coordinator 将接收信息中的 Endpoint 信息作为参数 查表找到对应的目标地址并转发 绑定有间接绑 定 直接绑定 OTA 和直接绑定 通过串口 3 种方法 通常前两种使用较多 间接绑定 间接绑定方法比较简单 在 Profile 文件中就包含这种方法 它通过按键来发送绑定信息 需要绑 定的两个节点在一定的时间内发送绑定命令 当协调器在设定的时间内收到这样的两条绑定信息时 它就会建立对应的绑 定表 建立了绑定关系的两个节点之间就可以通过 Endpoint 来相互通信 直接绑定 OTA 直接绑定需要用户自己编写相应的绑定程序 ZigBee 协议栈中含有绑定 API 这就要求用 户通过适当的方法调用来实现绑定功能 这种方法通常是使用一个节点直接向协调器发送两条绑定信息 这两条信息中 的目标地址和源地址相反 这种方法需要用户对协议栈有一定的了解 熟悉相关的 API 函数 使用这种方法有许多好处 我们可以通过第三方节点来配置网络来是任意两个节点之间建立绑定关系 使网络通信方式更加灵活 而且第三方节点 可以通过与上位机互联 在上位机上我们可以建立一个界面 通过串口向第三方节点传递配置信息 这样我们的配置会更加 方便 直接绑定 通过串口 这种方法是使用上位机通过串口向协调器发送绑定信息 但这种方法需用户对串口 API 比较熟悉 这种方法一般使用的比较少 因为通常我们的协调器需要与上位机通信 要把网络的信息传到上位机 一般不适合在同一个上位软件再做网络的 配置部分 通常直接绑定 OTA 方法比较适用 可以专门做一个网络的配置软件 来配置网络 当然间接绑定最简单 在项目 中我们可以综合考虑选择适当的绑定方式 3 1 2 2 直接通信 直接通信不需要节点之间通过绑定建立联系 它使用网络短地址作为参数调用适当的 API 来实现通信 这种方 法也需要通过协调器转发 直接通信部分关键点在于节点网络短地址的获得 在发送信息帧之间 必须知道要发送的目标短地址 由于网络协调器的短地址是固定的 0 x0000 因此人们可 容易地把消息帧发送到协调器 其它网络节点的网络短地址是它们在加入到网络中时由协调器动态分配的 与网络深度 最大路由数 最大节点数等参数有关 没有一个固定的值 所以 要想知道目标节点的网络短地址还需通过其它手段 可以 采用通过目标节点的 IEEE 地址来查询短地址的方法 通常 ZigBee 节点的 IEEE 地址是由用户自己定义的 它们被写在节点的 EEPROM 中 这个作为 ZigBee 节点 的参数一般会被标示在节点上 所以 要得到 IEEE 地址还是能够实现的 有了 IEEE 地址以后 可以通过部分网络 API 的调用 得到与之对应的网络短地址 3 1 2 3 小结 在掌握了这些工作方式和方法后 就可以进行无线网络的开发 实现想要的无线接口方式 3 2 无线水表硬件设计 3 2 1 ZigBee 通信模块 ZigBee 通信模块包括无线收发芯片 CC2420 及部分外围器件组成 其 PCB 制版部分 尤其是高频部分 主要 参照原有的 Layout 3 2 2 主板部分 主板主要包括 CPU RAM 部分 ZigBee 通信模块接口部分 水表脉冲信号采集部分和按键显示部分 原理 如图 2 所示 带有串口功能主要是想使同一块硬件板可以实现不同的功能 通过编写不同的软件实现不同功能 既可以作为 水表节点 也可以作为监控节点 电路部分设计中要注意脉冲信号的采集 不要直接把来自数字电传水表的脉冲直接引入到 CPU 的端口进行采 集 应该加上适当的信号处理部分 如可以通过逻辑非门 这样信号采集就准确很多 3 3 无线水表软件设计 3 3 1 ZigBee 通信部分 ZigBee 通信方法如上说述 主要是具体方法的选择上 通信部分的消息帧有 KVP 和 Message 两种方式 其 中 Message 方式的帧格式可以由用户自己定义 操作方式比较灵活 在此 选择了 Message 方式 其帧格式定义如下 OTAFrame Uint16 StartWord Byte Length Byte Cmd Byte 3 Data Byte Endbyte 可以通过定义的 OTAFrame In 和 OTAFrameOut 来接收和发送消息帧 实现无线接口 3 3 2 监控节点串口部分 串口部分主要是考虑一个 ZigBee 转 Meter2Bus 的问题 为了兼容 Meter2Bus 将帧格式定义如下 MBusFrame Byte StartByte ByteMeterType Byte Addr CommAddrLengh Byte Cmd Byte Length Byte 3 Data Byte Check Byte Endbyte 可以通过定义的 MBusFrame In 和 MBusFrameOut 对消息帧进行适当地处理 实现 ZigBee 到 Meter2Bus 的协议转换 当监控节点将接收信息上传到上位机时 需要上位机设计一个串口接收界面处理来自串口的信号 4 结束语 无线水表及抄表系统只是 ZigBee 技术的一个应用 它具有很强的实际应用价值 无线模块也可以很方便的移 植到其它的无线应用中去 所以 ZigBee 技术可以很快地应用到其他的领域 目前 ZigBee 技术的开发套件也一直在升级 功能也在不断的完善 供人们选择的余地也越来越大 目前 Chipcon 公司最近推出了内嵌 MCU 的 ZigBee 通信芯片 CC2430 Ember 公司也推出了带 16 位内核 MCU 的 Zig2Bee 无线收发芯片 EM260 其他公司 如 Freescale Micro2chip 等 也纷纷推出各自的解决方案 总的来说无线传感网络的 趋势还是得到业界的一致看好 当然还存在许多的问题 到目前为止还没有哪家公司可以宣称他们可以完全支持 ZigBee 技术规范 而且有些 公司提供的 ZigBee 协议栈还存在许多的 Bug 等 所以 ZigBee 技术真正的走向成熟还是有许多的路要走 参考文献 1 ZigBee alliance ZigBee Specification EB OL www zigbee org 2004 2 Figure8 wireless Profile Builder Getting Started Guide EB OL www zigbee org ap ril 2005 3 Mark I Montrose Electr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 割席分坐、管宁割席、割席断交-【2022年暑假预习】云名著《世说新语》之“德行”卷
- 冀教版九年级上册24.3 一元二次方程根与系数的关系教学设计
- 六年级语文下册 第二单元 习作 写作品梗概教学设计 新人教版
- 今天天气怎么样(教学设计)-2024-2025学年苏教版科学二年级上册
- 全国河大版(三起)小学信息技术第二册第1单元第1课《独一无二的变化-图片处理(1)》教学设计
- 2024中国航信校园招聘笔试参考题库附带答案详解
- 安全标准化基础管理培训教程
- 2024中国移动北京公司社会招聘笔试参考题库附带答案详解
- 项目安全总监安全生产责任制及履职清单
- 冬季八防专项安全培训
- 人教版(2024)七年级下册英语期中复习:Unit1~4+期中共5套学情调研检测试卷(含答案)
- 提升供应商质量管理的方案
- 《房颤诊治指南解读》课件
- 中考化学主题复习(重庆)专题4综合实验的探究
- 2008年高考数学试卷(文)(全国卷Ⅱ)(解析卷)
- 专题01 富强与创新【考情透视+框架梳理+考点突破+题型归纳】道德与法治上学期期末高效复习资料
- 人力资源管理软件采购协议
- 2024年中国储能产业研究报告
- 2025年南京市事业单位招聘708人历年管理单位笔试遴选500模拟题附带答案详解
- 2024-2030年国家甲级资质:中国生物质能源融资商业计划书
- 江苏省扬州市2024-2025学年高中学业水平合格性模拟考试英语试题(含答案)
评论
0/150
提交评论