基于CC2430无线信道选择的软件设计毕业论文.doc_第1页
基于CC2430无线信道选择的软件设计毕业论文.doc_第2页
基于CC2430无线信道选择的软件设计毕业论文.doc_第3页
基于CC2430无线信道选择的软件设计毕业论文.doc_第4页
基于CC2430无线信道选择的软件设计毕业论文.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

基于 CC2430 无线信道选择的软件设计 基于基于 CC2430 无线信道选无线信道选 择的软件设计毕业论文择的软件设计毕业论文 目录 摘要摘要 I ABSTRACT II 引言引言 1 1 无线传感器网络概述无线传感器网络概述 2 1 1 无线传感器网络 WSN 的定义 2 1 2 无线传感器网络技术的发展历程 2 1 3 无线传感器网络技术的发展趋势 3 1 3 1 灵活 自适应的网络协议体系 3 1 3 2 跨层设计 3 1 3 3 ZigBee 标准规范 3 1 3 4 与其他网络的融合 3 1 4 无线传感器网络的结构 3 1 4 1 通信结构 3 1 4 2 节点结构 4 1 4 3 拓扑结构 4 1 4 4 通信协议栈 5 1 5 线传感器网络技术的应用 6 1 5 1 军事应用 6 1 5 2 基础设施安全监控 6 1 5 3 医疗应用 6 1 5 4 环境监控 7 1 5 5 自动交通流量监控 7 1 5 6 动物跟踪监控 7 1 5 7 居住环境监控 7 1 5 8 其他方面的应用 7 2 ZIGBEE 协议协议 8 2 1 ZIGBEE简介 8 2 2 ZIGBEE的发展 8 2 3 ZIGBEE的特点 9 2 3 1 低功耗 9 2 3 2 低成本 9 2 3 3 低速率 9 2 3 4 近距离 9 2 3 5 短时延 9 基于 CC2430 无线信道选择的软件设计 2 3 6 高容量 10 2 3 7 高安全 10 2 3 8 免执照频段 10 2 4 ZIGBEE的框架 10 2 4 1 ZigBee 的 IEEE 相关 10 2 4 2 网络层次 11 2 4 3 应用层 12 2 5 ZIGBEE的应用 14 3 程序开发环境程序开发环境 15 3 1 TINYOS 概述 15 3 1 1 TinyOS 的定义 15 3 1 2 TinyOS 的特点 16 3 2 NESC 的基本概念 16 3 2 1 nesC 简介 16 3 2 2 nesC 语法结构 16 4 软件设计软件设计 19 4 1 软件设计原理 19 4 2 程序设计流程图 20 4 3 程序的编译 运行 21 结论结论 30 致谢致谢 31 参考文献参考文献 32 附录附录 34 1 无线传感器网络概述 无线传感器网络是一种全新的信息获取和处理技术 它集成了传感器 微 机电系统和网络三大技术 这里从无线传感器的概念出发 概括介绍其发展历 程及其发展趋势 并对无线传感器网络的结构及关键技术做了详细介绍 最后介 绍了无线传感器网络技术在各领域的应用及发展状况 1 1 无线传感器网络 WSN 的定义 无线传感器网络 wireless Sensor Networks WSN 就是由大量的密集部 署在监控区域的智能传感器节点构成的一种网络应用系统 由于传感器节点数 量众多 部署时只能采用随机投放的方式 传感器节点的位置不能预先确定 在任意时刻 节点间通过无线信道连接 采用多跳 multi hop 对等 peer to 基于 CC2430 无线信道选择的软件设计 peer 通信方式 自组织网络拓扑结构 传感器节点间具有很强的协同能力 通 过局部的数据采集 预处理以及节点间的数据交换来完成全局任务 1 2 无线传感器网络技术的发展历程 1996 年 美国 UCLA 大学的 William J Kaiser 教授向美国国防部远景研究 计划局 DARPA 提交的 低能耗无线集成微型传感器 揭开了现代 WSN 网络的序 幕 1998 年 同是 UCLA 大学的 Gregory J Pottie 教授从网络研究的角度重新 阐释了 WSN 的科学意义 在其后的 10 余年里 WSN 网络技术得到学术界 工业 界乃至政府的广泛关注 成为在国防军事 环境监测和预报 健康护理 智能 家居 建筑物结构监控 复杂机械监控 城市交通 空间探索 大型车间和仓 库管理以及机场 大型工业园区的安全监测等众多领域中最有竞争力的应用技 术之一 美国商业周刊将 WSN 网络列为 21 世纪最有影响的技术之一 麻省理工 学院 MIT 技术评论则将其列为改变世界的 10 大技术之一 第一代传感器网络出现在 20 世纪 70 年代 使用具有简单信息信号获取能 力的传统传感器 采用点对点传输 连接传感控制器构成传感器网络 第二代 传感器网络 具有获取多种信息信号的综合能力 采用串 并接口 如 RS 232 RS 485 与传感控制器相联 构成有综合多种信息的传感器网络 第三代 传感器网络出现在 20 世纪 90 年代后期和本世纪初 用具有智能获取多种信息 信号的传感器 采用现场总线连接传感控制器 构成局域网络 成为智能化传 感器网络 第四代传感器网络正在研究开发 目前成形并大量投入使用的产品 还没有出现 用大量的具有多功能多信息信号获取能力的传感器 采用自组织 无线接入网络 与传感器网络控制器连接 构成无线传感器网络 1 3 无线传感器网络技术的发展趋势 1 3 1 灵活 自适应的网络协议体系 由于面向不同应用背景的无线传感器网络所使用的路由机制 数据传输模 式 实时性要求以及组网机制等都有很大的差异 因此现有的各种网络协议都 是基于某种特定的应用提出的 这给 WSN 通用性的设计和使用带来了巨大困难 如何设计可裁剪 自主灵活 可重构和适应于不同应用需求 的 WSN 体系结构将 是未来 WSN 发展的重要方向 1 3 2 跨层设计 由于 WSN 采用分层的体系结构 因此需要实现为逻辑上并不相邻协议层之 间设计互动与性能平衡的跨层设计 同时 将 MAC 与路由相结合进行的跨层设 计可以节省能量 延长网络的寿命 基于 CC2430 无线信道选择的软件设计 1 3 3 ZigBee 标准规范 ZigBee 是一种新型无线网络通信规范 主要用于近距离无线连接 ZigBee 的基础是 IEEE 无线个域网工作组制定的 IEEE 802 15 4 技术标准 ZigBee 的 优势有 能够在众多微小的传感器节点之间相互协调实现通信 这些节点只需 要很低的功耗 以多跳接力的方式在节点间传送数据 因而通信效率非常高 1 3 4 与其他网络的融合 无线传感器网络与现有的网络融合将带来新的应用 例如 WSN 与互联网 移动通信网的融合 一方面使无线传感器网络得以借助这两种传统网络传递信 息 另一方面这两种网络可以利用传感信息实现应用的创新 1 4 无线传感器网络的结构 1 4 1 通信结构 在传感器网络中 节点任意散落在被监测区域内 除了感测特定的对象 还进行简单的计算并维持互相之间的网络连接 传感器网络具有自组织的功能 单个节点经过初始的通信和协商 形成一个传输信息的多跳网络 每个传感网 络装备有一个连接到传输网络的网关 传输网络是由一个单跳链接或一系列的 无线网络节点组成的 网关通过这个传输网络把感测数据从传感区域发送到提 供远程连接和数据处理的基站 基站再通过 Internet 联系到远程数据库 最后 采集到的数据经过分析 挖掘后通过一个界面提供给终端用户 1 4 2 节点结构 传感器网络节点的基本组成包括 4 个基本单元 传感单元 由传感器和模数 转换功能模块组成 处理单元 包括 CPU 存储器 嵌入式操作系统等 通信 单元 由无线通信模块组成 以及电源 此外 可以选择的其他功能单元包括 定位系统 移动系统以及电源自供电系统等 节点结构如图 1 1 基于 CC2430 无线信道选择的软件设计 节点定位系统移动系统 模数 传感器 转换 处理器 存储器 无线通信 模块 电源 处理单元 传感单元 通信单元 电源自供电系统统 图1 1 电源为传感器提供正常工作所必需的能源 感知单元用于感知 获取外界 的信息 并将其转换为数字信号 处理单元负责协调节点各部分的工作 如对 感知单元获取的信息进行必要的处理 保存 控制感知单元和电源的工作模式 等 通信模块负责与其他传感器或收发者的通信 软件则为传感器提供必要的 软件支持 如嵌入式操作系统 嵌入式数据库系统等 1 4 3 拓扑结构 无线传感器网络的拓扑结构有 3 种 星状网 网状网及混合网 每种拓扑 结构都有自身的优点和缺点 开发人员必须充分了解这些网络特点以满足不同 无线传感器网络的应用要求 基本的星状网拓扑结构是一个单跳 single hop 系统 网络中所有无线传 感器节点都与基站和网关进行双向通信 图 1 2 a 基站可以是一台 PC PDA 嵌入式网络服务器 或其它与高数据率设备通信的网关 除了向各节 点传输数据和命令外 基站还与因特网等更高层系统之间传输数据 各节点将 基站作为一个中间点 相互之间并不传输数据或命令 在各种无线传感器网络 中 星状网整体功耗最低 但节点与基站间的传输距离有限 一般只有几十米 网状拓扑结构是多跳 multi2hop 系统 其中所有无线传感器节点都相同 而且 直接互相通信 图 1 2 b 网状网的每个传感器节点都有多条路径到达网关或 其它节点 因此它的容故障能力较强 这种多跳系统比星状网的传输距离远得 多 但功耗也更大 因为节点必须一直 监听 网络中某些路径上的信息和变 基于 CC2430 无线信道选择的软件设计 化 混合网力求兼具星状网的简洁和低功耗以及网状网的长传输距离和自愈性 等优点 图 1 2 c 在混合网中 路由器和中继器组成网状结构 而传感器节 点则在它们周围呈星状分布 中继器扩展了网络传输距离 同时提供了容故障 能力 当某个中继器发生故障或某条无线链路出现干扰时 网络可在其它路由 器周围进行自组 a 星状网 络 b 网状网络 c 星 网混合网 络 图1 2 无线传感器网络拓扑结构 1 4 4 通信协议栈 随着应用和体系结构的不同 无线传感网络的通信协议栈也不尽相同 图 1 3 是传感节点使用的最典型的协议模型 该模型既参考了现有通用网络的 TCP IP 和 OSI 模型的架构 同时又包含了传感网络特有的电源管理 移动管理 及任务管理 应用层为不同的应用提供了一个相对统一的高层接口 如果需要 传输层可为传感网络保持数据流或保证与 Internet 连接 网络层主要关心数据 的路由 数据链路层协调无线媒质的访问 尽量减少相邻节点广播时的冲突 物理层为系统提供一个简单 稳定的调制 传输和接收系统 除此而外 电源 移动和任务管理负责传感节点能量 移动和任务分配的监测 帮助传感节点协 调感测任务 尽量减少整个系统的功耗 基于 CC2430 无线信道选择的软件设计 应用层 网络层 数据链路 物理层 传输层 任 务 管 理 移 动 管 理 电 源 管 理 图1 3 无线传感器网络通信协议栈 1 5 线传感器网络技术的应用 传感器网络的应用前景非常广阔 能够广泛应用于军事 环境监测和预报 健康护理 智能家居 建筑物状态监控 复杂机械监控 城市交通 空间探索 大型车间和仓库管理 以及机场 大型工业园区的安全监测等领域 随着传感 器网络的深入研究和广泛应用 传感器网络将逐渐深入到人类生活的各个领域 1 5 1 军事应用 无线传感器网络技术将会给战场带来革命性变化 并将改变战争样式 传 感器网络也可以为火控和制导系统提供准确的目标定位信息 1 5 2 基础设施安全监控 传感器网络可用于基础设施安全监控和反恐应用 关键性的建筑物或设施 是重点保护的对象 比如电厂 通信中心等 具有声音 图像和其他传感器的 网络配置在建筑物的周围 可以及早地探测可能存在的危险 1 5 3 医疗应用 在病人家中建置无线传感器网络 这些传感器能追踪病人的行为模式 一 旦侦测到病人日常行动遭遇困难 便会提供必要的视觉与声响提示 如果在住 院病人身上安装特殊用途的传感器节点 如心率和血压监测设备 利用传感器 网络 医生就可以随时了解被监护病人的病情 进行及时处理 还可以利用传 基于 CC2430 无线信道选择的软件设计 感器网络长时间地收集人的生理数据 这些数据在研制新药品的过程中是非常 有用的 而安装在被监测对象身上的微型传感器也不会给人的正常生活带来太 多的不便 1 5 4 环境监控 环境传感器网络可监测环境变化 如大气 沙漠 平原 海洋表面和山脉 等 研究环境变化对农作物的影响 检测农作物中害虫情况等 A2LERT 系统中 就有数种传感器来监测降雨量 河水水位和土壤水分 并依此预测爆发山洪的 可能性 1 5 5 自动交通流量监控 无线交通传感器网络可监测高速公路或城市里的汽车交通情况 建立实时 准确 全面 高效的综合交通运输管理系统 1 5 6 动物跟踪监控 使用无线传感器网络可以在不干涉动物正常生活习惯的情况下监视其行踪 及生存环境 1 5 7 居住环境监控 通过无线传感器网络可以监控我们的生活环境 为我们提供更加舒适 健 康 方便和人性化的智能的居家环境 1 5 8 其他方面的应用 无线传感器网络的自组织 微型化和对外部世界的感知能力决定了它在许 多领域会有不少的机会 比如 空间探索方面 NASA 的 JPL 实验室研制的 Sensor Webs 就是为火星探测而准备的 德国某研究机构正在利用传感器网络 技术为足球裁判研制一套系统 以减小足球比赛中越位和进球的误判率 此外 在基础设施安全 灾难拯救 先进制造 物流管理 交互式博物馆等众多领域 无线传感器网络都会孕育出全新的设计和应用模式 基于 CC2430 无线信道选择的软件设计 2 ZigBee 协议 2 1 ZigBee 简介 ZigBee 是基于 IEEE802 15 4 标准的低功耗个域网协议 根据这个协议规 定的技术是一种短距离 低功耗的无线通信技术 简单的说 ZigBee 是一种 高可靠的无线数 据传输网络 类似于 CDMA 和 GSM 网络 ZigBee 数传模块 类似于移动网络 基站 通讯距离从标准的 75m 到几百米 几公里 并且支 持无限扩展 与移动通信的 CDMA 网或 GSM 网不同的是 ZigBee 网络主要是为工业现 场自动化控制数据传输而建立 因而 它必须具有简单 使用方便 工作可 靠 价格低的特点 而移动通信网主要是为语音通信而建立 每个基站价值 一般都在百万元人民币以上 而每个ZigBee 基站 却不到 1000 元人民 币 每个 ZigBee 网络节点不仅本身可以作为监控对象 例如其所连接的 传感器直接进行数据采集和监控 还可以自动中转别的网络节点传过来的数 据资料 除此之外 每一个 ZigBee 网络节点 FFD 还可在自己信号覆盖的 范围内 和多个不承担网络信息中转任务的孤立的子节点 RFD 无线连接 2 2 ZigBee 的发展 1999 年 蓝牙技术开始走向应用 但因芯片价格高 厂商支持力度不够 传输距离限制以及抗干扰能力差等问题而发展缓慢 低功耗 低成本的无线网 络需求使 ZigBee 应运而生 ZigBee 一词来源于蜂群使用的赖以生存和发展的 通信方式 蜜蜂通过条 ZigZag 形状的舞蹈来传递新发现和食物源的位置 距离 与方向等信息 2000 年的 12 月 IEEE 美国电子和电气工程师协会 成立了 IEEE 802 15 4 工作组 致力于开发一种可应用在固定 便携或移动设备上的 低成 本 低功耗的低速率无线连接技术 2001 年 8 月 美国 HONEYWELL 等公司发起成立了 ZigBee 联盟 他们提出 的 ZigBee 技术被确认为 IEEE 802 15 4 标准 2002 年 摩托罗拉 飞利浦和三菱等企业加盟 ZigBee 联盟 06 年中国的 华为公司也加入了该联盟 现联盟内有 180 多个成员企业 包括软件供应商 系统集成商和终端产品商 2003 年 IEEE 802 15 4 标准获得通过 并在 2004 年 12 月推出了 ZigBee 技术规范 1 0 版本 基于 CC2430 无线信道选择的软件设计 ZigBee 技术主要应用在短距离范围内以及数据传输速率不高的各种电子设 备之间 因此非常适用于家电和小型电子设备的无线控制指令传输 其典型的 传输数据类型有周期性数据 如传感器 间歇性数据 如照明控制 和重复低 反应时间数据 如鼠标 其目标功能是自动化控制 它采用跳频技术 使用的 频段分别为 2 4GHz ISM 868MHz 欧洲 及 915MHz 美国 而且均为免执照 频段 有效覆盖范围 10 75m 当网络速率降低到 28kb s 时 传输范围甚至可 以扩大到 134m 具有更高的可靠性 2 3 ZigBee 的特点 2 3 1 低功耗 在低耗电待机模式下 2 节 5 号干电池可支持 1 个节点工作 6 24 个月 甚至更长 这是 ZigBee 的突出优势 相比较 蓝牙能工作数周 WiFi 可工作 数小时 TI 公司和德国的 Micropelt 公司共同推出新能源的 ZigBee 节点 该节点 采用 Micropelt 公司的热电发电机给 TI 公司的 ZigBee 提供电源 2 3 2 低成本 通过大幅简化协议 不到蓝牙的 1 10 降低了对通信控制器的要求 按预 测分析 以 8051 的 8 位微控制器测算 全功能的主节点需要 32KB 代码 子功 能节点少至 4KB 代码 而且 ZigBee 免协议专利费 每块芯片的价格大约为 2 美 元 2 3 3 低速率 ZigBee 工作在 20 250kbps 的速率 分别提供 250 kbps 2 4GHz 40kbps 915 MHz 和 20kbps 868 MHz 的原始数据吞吐率 满足低速率传输数据 的应用需求 2 3 4 近距离 传输范围一般介于 10 100m 之间 在增加发射功率后 亦可增加到 1 3km 这指的是相邻节点间的距离 如果通过路由和节点间通信的接力 传 输距离将可以更远 2 3 5 短时延 ZigBee 的响应速度较快 一般从睡眠转入工作状态只需 15ms 节点连接进 入网络只需 30ms 进一步节省了电能 相比较 蓝牙需要 3 10s WiFi 需要 基于 CC2430 无线信道选择的软件设计 3 s 2 3 6 高容量 ZigBee 可采用星状 片状和网状网络结构 由一个主节点管理若干子节点 最多一个主节点可管理 254 个子节点 同时主节点还可由上一层网络节点管理 最多可组成 65000 个节点的大网 2 3 7 高安全 ZigBee 提供了三级安全模式 包括无安全设定 使用访问控制清单 Access Control List ACL 防止非法获取数据以及采用高级加密标准 AES 128 的对称密码 以灵活确定其安全属性 2 3 8 免执照频段 使用工业科学医疗 ISM 频段 915MHz 美国 868MHz 欧洲 2 4GHz 全 球 由于此三个频带物理层并不相同 其各自信道带宽也不同 分别为 0 6MHz 2MHz 和 5MHz 分别有 1 个 10 个和 16 个信道 这三个频带的扩频和调制方式亦有区别 扩频都使用直接序列扩频 DSSS 但从比特到码片的变换差别较大 调制方式都用了调相技术 但 868MHz 和 915MHz 频段采用的是 BPSK 而 2 4GHz 频段采用的是 OQPSK 在发射功率为 0dBm 的情况下 蓝牙通常能有 10 米的作用范围 而 ZigBee 在室内通常能达到 30 50 米的作用距离 在室外空旷地带甚至可以达到 400 米 TI CC2530 不加功率放大 所以 ZigBee 可归为低速率的短距离无线通信技术 2 4 ZigBee 的框架 2 4 1 ZigBee 的 IEEE 相关 要想弄清楚 ZigBee 就要了解 IEEE 802 15 4 它就是 ZigBee 物理层和 MAC 层的模板 IEEE802 15 4 网络是指使用相同无线信道并通过 IEEE 802 15 4 标准相互 通信的一组设备的集合 在这个网络中 根据设备所具有的通信的能力 可以 分为全功能设备 和精简功能设备 全功能设备之间以及全功能设备与精简功 能设备之间都可以通信 与精简功能设备相关的全功能设备通常称之为协调器 IEEE802 15 4 定义了两种拓扑结构 分别为星状拓扑 理论上一个协调器和多 基于 CC2430 无线信道选择的软件设计 达 255 个子设备 和点对点模式 此协议定义了 27 个信道 868MHz 频段一个 信道 915MHz 频段 10 个信道 2450MHz 频段 16 个信道 其调制过程如图 2 1 图 2 2 PPDU 物理层协议数据单元 PPDU 比特数 据 差分编 码器 比特到 片序列 转换 BPSK 调制 调制信 号 图 2 1 868 915MHz 频段的调制过程 PPDU 比特数 据 差分编 码器 比特到 片序列 转换 O QPSK 调制 调制信 号 图 2 2 2 4GHz 频段的调制过程 物理帧的第一个字段是四个字节的前导码 收发器在接收前导码期间 会 根据前导码序列的特征完成片同步和符号同步 帧起始分隔符 SFD 字段长度 为一个字节 其值固定为 0 xA7 标识一个物理帧的开始 收发器接收完前导码 后只能做到数据的位同步 通过搜索 SFD 字段的值 0 xA7 才能同步到字节上 帧 长度由一个字节的低 7 位表示 其值就是物理帧的长度 而且物理帧的负载长 度是可变的 称之为物理服务数据单元 PSDU 一般用来承载 MAC 帧 简要描 述见表 2 1 表 2 1 IEEE802 15 4 物理帧 4 字节1 字节1 字节长度可变 前导码 preamble SFD帧长度 7 比特 保留位PSDU 同步头物理帧头PHY 负载 IEEE802 15 4 mac 层 IEEE802 15 4 的重点部分 MAC 层主要功能有协调 器产生并发送信标 信标使能模式 普通设备根据协调器的信标帧与协调器同 步 支持关联 一个设备加入一个特定的网络时 向协调器注册以及身份认证 的过程 与取消关联操作 在 ZigBee 中也相当重要 支持无线信道通信安全 使用 CSMA CA 机制访问信道 支持时槽保障机制 支持不同设备的 MAC 间的可 靠传输 基于 CC2430 无线信道选择的软件设计 2 4 2 网络层次 网络层次是一个逻辑上的概念 不是什么实体 比如物理层 我们可以理 解为物理收发机 MAC 层可以理解为调整什么时候开收发机 数据链路层可以理 解为检查开了收发机以后 那效果怎么样 能不能很好的完成任务 网络层就 是要把分散的单元连成一个网络 应用层就是说明任务要干什么 当然典型的 TCP IP 网络的七层结构也可以用这种类比的方式进行思考 ZigBee 网络层的主要功能就是提供一些必要的函数 确保 ZigBee 的 MAC 层的正常工作 实际上就是提供网络支持 为了向应用层提供其接口 网络层 提供了两个必须的功能服务实体 这些个实体只是逻辑上的概念 有助于理清 楚逻辑思维 如图 2 3 所示 图 2 3 网络层参考模型 MCPS SAP MAC 公共部分子层的服务接入点 MLME SAP MAC 管理实体服务 接入点 NLDE SAP 网络层数据实体服务接入点 NLME SAP 网络层管理实 体服务接入点 实际上所谓的管理实体就是管理如何组织不同的数据 以实现 不同的功能 按照上面网络层次的分析 网络层的参考模型逻辑不难理清 网 络层数据实体通过网络层数据实体服务 网络管理层实体通过网络层管理实体 服务接入点 NLME SAP 提供网络管理服务 网络层管理实体利用网络层数据 实体完成一些网络的管理工作 并且完成对网络信息库 NIB 的维护和管理 网络层通过 MCPS SAP 和 MLME SAP 接口 为 MAC 层提供接口 通过 NLDE SAP 与 NLME SAP 接口为应用层提供接口服务 上述工作流程只是一个逻辑 事实上 只要懂得上述流程就可以组织相关代码 所谓的服务接入点并没有什么具体的 操作 只是一个逻辑层次的过度 2 4 3 应用层 要了解应用层先要了解两个概念 ProfileProfile 在 ZigBee 网络中 两个设备之间的通信的关键是同意一个 基于 CC2430 无线信道选择的软件设计 Profile 模式 典型例子就是智能家居 这个 ZigBee Profile 是一个配置文 件 允许一系列设备类型交换控制消息来构造一个无线智能家居应用 这个概 念容易跟描述 discriptor 混淆 一般而言可以做如下理解 Profile 是对 逻辑设备及其接口的描述集合 是面向某个应用类别的公约 准则 Descriptor 是为分布式应用提供的描述项 多种描述项共同组成描述集合 Profile 它根据应用必须处理的数据包和必须执行的操作来描述分布式应用配 置文件使得 ZigBee 设备可以互操作 ZigBee 联盟已经定义了很多标准的这样 的配置 Profile 是配置文件的一种 文件 比如远程控制开关配置文件和光 传感器配置文件等 任何遵循某一标准配置文件的节点都可以与其他实现相同 配置文件的节点进行互操作 所以说 profile 是面向某个应用 解决一系列事 务的公约 是对逻辑设备及其接口关系的描述集合 任何遵循这一描述集合的 节点之间都可以交互工作 只要双方可以通信 ZDOZDO ZDO ZigBee 设备对象 是在应用层中的一种应用解决方案 它位于 ZigBee 协议栈的应用支持子层之上 ZDO 负责初始化应用支持子层 网络层 安全服务提供模块及非 1 240 断点应用的的其他 ZigBee 设备层 另外 ZDO 还负 责从终端应用收集配置信息来实现设备和服务发现 安全管理 网络管理 绑 定管理和节点管理功能 其实可以理解为 ZDO 就是与 ZigBee 设备相关的一些应 用层逻辑范畴上的设备操作的一些杂七杂八的算法的集合 整个 ZigBee 其实就 是一个大算法 在应用层上有些零碎的关于设备操作的算法 我们就把它称作 为 ZDO 虽然这样说不够全面 但在绝大多数情况下这种理解还是行的通的 APS 应用支持子层模型如图 2 4 ZigBee 应用层中的核心部分 事实上只 有这一部分才是应用层逻辑的描述 APSDE SAP 支持子层数据实体 NLDE SAP APSME SAP 支持子层管理实体 NLME SAP APSIB 图 2 4 应用支持子层参考模型 APSDE 应用支持子层数据实体 APSME 应用支持子层管理实体 NLDE 网络层数据实体 NLME 网络层管理实体 图中简明的标明了应用支持 基于 CC2430 无线信道选择的软件设计 子层的工作流程 这只是一个逻辑操作 分析时可以仿照网络层的逻辑进行分 析 应用支持子层的数据实体 APSDE 向网络层提供数据服务 完成两个或多 个设备之间传输应用层数据单元 APSDE 将应用层协议数据单元加上适当的协 议帧头生成应用子层的协议数据单元 APSDE 还包括绑定 集团地址过滤 可 靠传输 拒绝重复 数据链路层的相关处理 与 MAC 层上方的数据链路层交叉 在 ZigBee 中没有明确的数据链路层 但网络层次只是一个逻辑上的概念 有与 没有这个网络层次的概念 只要有一套完整的逻辑就说的过去的 大批量传输 碎片传输 流控制 阻塞控制等服务 而 APSME 提供应用层信息库管理 安全 服务等功能 应用层主要有应用帧和确认帧两种具体内容 可依据协议栈的说明进行填 写 2 5 ZigBee 的应用 ZigBee 并不是用来与蓝牙或者其他已经存在的标准竞争 它的目标定位于 现存的系统还不能满足其需求的特定的市场 它有着广阔的应用前景 ZigBee 联盟预言在未来的四到五年 每个家庭将拥有 50 个 ZigBee 器件 最后将达到 每个家庭 150 个 据估计 到 2007 年 ZigBee 市场价值将达到数亿美元 其 应用领域主要包括 家庭和楼宇网络 空调系统的温度控制 照明的自动控制 窗帘的自动控 制 煤气计量控制 家用电器的远程控制等 工业控制 各种监控器 传感器的自动化控制 商业 智慧型标签等 公共场所 烟雾探测器等 农业控制 收集各种土壤信息和气候信息 医疗 老人与行动不便者的紧急呼叫器和医疗传感器等 基于 CC2430 无线信道选择的软件设计 3 程序开发环境 3 1 TinyOS 概述 3 1 1 TinyOS 的定义 TinyOS 是一个开源的嵌入式操作系统 它是由加州大学的伯利克分校开发 出来的 主要应用于无线传感器网络方面 其作为一系列合作项目的结果 它 是基于一种组件 Component Based 的架构方式使得快速的更新成为可能 而这又减小了受传感网络存储器限制的代码长度 能够快速实现各种应用 它 的首先出现是做为 UC Berkeley 和 Intel Research 合作实验室的杰作 用来嵌 入智能微尘当中 之后慢慢演变成一个国际合作项目 即 TinyOS 联盟 TinyOS 的程序采用的是模块化设计 所以它的程序核心往往都很小 一般 来说核心代码和数据大概在 400 Bytes 左右 能够突破传感器存储资源少的限 制 这能够让 TinyOS 很有效的运行在无线传感器网络上并去执行相应的管理工 作等 TinyOS 程序由基于组件的软件工程 software component 建构 它们中一 些表现了硬件的抽象概念 组件用接口互相连接 TinyOS 为普通的抽象描述 提供了接口和组件 例如数据包通信 路由 感知 行为和储存 TinyOS 2 x 版本后完全的 non blocking 它配备了一个单独的堆栈 因此 所有的持续超过几百微秒 I O 操作都以异步进行并且带有回叫功能 为了使本 地的编译器更加出色地优化交叉调用边界 TinyOS 用 nesC 的特性去连接这些回 叫 叫作事件 non blocking 系统可以让 TinyOS 在单一存储器下保持高度的 协同性 它强迫程序用 stitching together many small event handlers 的方 法编写复合逻辑 为了支持更高的计算量 TinyOS 提供了任务 其比 Deferred Procedure Call and interrupt handler bottom halves 小 一个 TinyOS 组建可以发布一个任务 操作系统可以把它排入列表以待之后 执行 任务是没有优先权的并且按照 FIFO 运行 这个简单的协同模型是典型 的满足了以 I O 为中心的应用 但这样的模型对于 CPU 负荷重的应用程序来说 不是太好的 因为它会导致向 OS 多次提出线程间协同处理的请求 TinyOS 代码与程序代码进行静态连接 然后用 GNU toolchain 编译到一个 小的二进制系统中 它的联盟为 TinyOS 的应用 提供完整的开发平台 基于 CC2430 无线信道选择的软件设计 TinyOS 的构件包括网络协议 分布式服务器 传感器驱动及数据识别工具 其良好的电源管理源于事件驱动执行模型 该模型也允许时序安排具有灵活性 TinyOS 已被应用于多个平台和 tinyos 感应板中 TinyOS 操作系统 库和程序 服务程序是用 nesC 写的 3 1 2 TinyOS 的特点 TinyOS 提供一系列可重用的组件 一个应用程序可以通过连接配置文件 A Wiring Specification 将各种组件连接起来 以完成它所需要的功能 TinyOS 的应用程序都是基于事件驱动模式的 采用事件触发去唤醒传感器 工作 tasks 一般用在对于时间要求不是很高的应用中 且 tasks 之间是平等的 即在执行时是按顺序先后来得 而不能互相占先执行 一般为了减少 tasks 的 运行时间 要求每一个 task 都很短小 能够使系统的负担较轻 events 一般用在对于时间的要求很严格的应用中 而且它可以占先优于 tasks 和其他 events 执行 它可以被一个操作的完成或是来自外部环境的事件 触发 在 TinyOS 中一般由硬件中断处理来驱动事件 在 TinyOS 中由于 tasks 之间不能互相占先执行 所以 TinyOS 没有提供任 何阻塞操作 为了让一个耗时较长的操作尽快完成 一般来说都是将对这个操 作的需求和这个操作的完成分开来实现 以便获得较高的执行效率 3 2 nesC 的基本概念 3 2 1 nesC 简介 nesc 是一种扩展 C 的编程语言 主要用于传感器网络的编程开发 加州大 学伯克利分校研发人员为这个平台开发出微型操作系统 TinyOS 和编程语言 nesC 同时国内外很多大学和机构利用这一平台进行相关问题的研究 nesc 主 要用在 Tinyos 中 tinyos 也是由 nesc 编写完成的 TinyOS 操作系统就是为用 户提供一个良好的用户接口 基于以上分析 研发人员在无线传感器节点处理 能力和存储能力有限情况下设计一种新型的嵌入式系统 TinyOS 具有更强的网 络处理和资源收集能力 满足无线传感器网络的要求 为满足无线传感器网络 的要求 研究人员在 TinyOS 中引入 4 种技术 轻线程 主动消息 事件驱动和 组件化编程 轻线程主要是针对节点并发操作可能比较频繁 且线程比较短 传统的进程 线程调度无法满足 使用传统调度算法会产生大量能量用在无效的 进程互换过程中 的问题提出的 基于 CC2430 无线信道选择的软件设计 3 2 2 nesC 语法结构 在 nesC 语言中结构和内容的分离的 程序由组件构成 它们装配在一起构 成完整程序 根据接口的设置说明组件功能 接口可以由组件提供或使用 被 提供的接口表现它为使用者提供的功能 被使用的接口表现使用者完成它的作 业所需要的功能 NesC 语言结构如下 3 1 图 3 1 NesC 语言结构 模块组件是接口的实现者和使用者 模块组件包含两部分内容 模块组件 使用和提供的接口描述和模块组件内部的实现代码 模块组件名也必须与文件 名同名 配置组件是一个完整的配置列表 配置组件可以像模块组件一样使用外部 的接口并且对外提供接口 配置组件与模块组件一样包含两部分内容 配置使 用和提供的接口描述和配置内部的实现代码 配置列表 配置组件名也必须与 文件名同名 接口放在一个单独的文件中 nc 接口的名称应与文件名对应 例如 interface1 的接口则必须对应于文件名 interface1 nc 有关接口的语法有 provides interface A1 提供接口 uses interface A1 使用接口 provides interface A1 as A2 接口别名 uses interface A1 as A2 接口的作用是声明命令 command 而模块组件的作用是实现命令 command 命令是接口中的一种函数 这种函数要求接口的提供者实现 而接口的使 nc 文件 组件 Conponents 接口 Interface 配置组件 Configuration 模块组件 Module 基于 CC2430 无线信道选择的软件设计 用者则会调用这种函数 形象的称为 command 即为接口提供的可供调用的命 令 接口语法结构类 C 语言 只是在最前面增加 command 关键字 事件也是接口中的一种函数 这种函数要求接口的提供者调用 而接口的 使用者则会实现这种函数 形象的称为 event 即为接口使用者所实现的事件 处理函数 语法结构类 C 语言 只是在最前面增加 event 关键字 任务 task 是 TinyOS 系统提供的一种特殊的机制 类同于线程 task 一般为一个函数 无参数 无返回值 task 可以在一般的 TinyOS 程序中发出 而 task 的执行是由 TinyOS 系统内核来实现的 并且 task 的执行是不影响调用 者的 将会在发出 task 后的某一个时刻被调度运行 基于 CC2430 无线信道选择的软件设计 4 软件设计 4 1 软件设计原理 在基于 CC2430 无线传感器网络中发射信道是可变的 可以通过对位于 FSCTRLH FREQ 9 8 和 FSCTRLL FREQF 7 0 的 10 位频率字编程设置操作频率 以 MHz 为单位的操作频率 Fc 由下式表示 Fc 2048 FREQ 9 0 式中 FREQ 9 0 是由 FSCTRLH FREQ 9 8 FSCTRLL FREQ 7 0 提供的值 在接收模式下 由于所用的中频 IF 是 2MHz 因此实际本地振荡器 LO 频率是 Fc 2MHz 在发送模式下 采用直接转换 此时本地振荡器频率 等于 Fc 中频 2MHz 有 CC2430 自动提供 IEEE802 15 4 指定 16 个信道 它们位于 2 4GHz 频率之间 步长为 5MHz 编号为 11 26 信道 k 的 RF 频率由 IEEE802 15 4 指定如下 Fc 2405 5 k 11 MHz k 11 12 26 运行在信道 k 寄存器 FSCTRLH FREQ FSCTRLL FREQ 应当设置为 FSCTRLH FREQ FSCTRLL FREQ 357 k 11 基于 CC2430 无线信道选择的软件设计 4 2 程序设计流程图 否 是 图 4 1 软件设计图 开始 输出频道信息 是否改变 频道值 输入频道值 输入频道值 设置成功 发送数据 接收数据 输出数据长度 输出发送路径 基于 CC2430 无线信道选择的软件设计 4 3 程序的编译 运行 点开 Notepad for ZigbemDS 打开代码编译器 如图 4 2 所示 图 4 2 代码编译器 在目录中找到程序文件夹 SetRFChannel 单击打开模块文件 SetRFChannelM nc 如图 4 3 所示 基于 CC2430 无线信道选择的软件设计 图 4 3 打开软件模块 连接仿真器 通过 usb 线连接 cc debugger 和传感器节点如图 4 4 图 4 4 连接仿真器和节点 安装 CC Debuger 仿真器驱动 打开设备管理器 打开 端口 COM 和 LPT 查看节点连接情况 如图 4 5 所示 基于 CC2430 无线信道选择的软件设计 图 4 5 查看节点连接 单击运行 Make zigbem install 将程序编译并下载到仿真器中 如图 4 6 所示 图 4 6 下载和编译 基于 CC2430 无线信道选择的软件设计 程序已经烧写到网管时 会有编译结果如图 4 7 图 4 8 所示 图 4 7 编译过程 图 4 8 编译完成 基于 CC2430 无线信道选择的软件设计 使用串口调试助手运行程序结果 如图 4 9 图 4 9 信道信息显示 在串口工具中输入 y 回车 在输入 12 把节点 1 的信道改为 12 如图 4 10 所示 图 4 10 信道改变 无线传感器网络硬件节点的搭建 基于 CC2430 无线信道选择的软件设计 使用 usb 连接汇聚节点 如图 4 11 图 4 12 所示 图 4 11 连接汇聚节点 图 4 12 汇聚节点和传感器节点 在 pc 端打开监控软件 ZigbemPC 运行结果如下 基于 CC2430 无线信道选择的软件设计 地图监控如图 4 13 所示 图 4 13 地图监控 点击即时监控查看节点情况 点击即时数据查看传感器得到的数据 如图 4 14 所示 图 4 14 即时数据 基于 CC2430 无线信道选择的软件设计 点击网络结构查看当前网络结构 无线传感器网络会自动生成不同的网络 结构如图 4 15 图 4 16 图 4 17 所示 图 4 15 网络结构 图 4 16 网络结构 基于 CC2430 无线信道选择的软件设计 图 4 17 网络结构 通过程序在串口调试助手中的运行可以看到程序的基本功能 显示信道信 息和更改信道 随后通过监控软件查看了程序在各个传感器中的运行情况 可 以看到各传感器运行正常 传感器与汇聚节点之间的信息传输正常 验证了程 序的正确性 基于 CC2430 无线信道选择的软件设计 结论 本课题是基于 CC2430 无线信道选择的软件设计 在能够熟练掌握基于 CC2430 的无线传感器网络原理以及其开发环境的安装和运行基础上 深入学习 nesC 语言的编程规则及运用 完成了关于无线信道的软件设计 掌握无线传感 器网络硬件环境的搭建 通过对程序的编译和运行验证了软件设计可行性和正 确性 基于 CC2430 无线信道选择的软件设计 致谢 基于 CC2430 无线信道选择的软件设计 参考文献 1 王小强 欧阳骏 黄宁淋 ZigBee 无线传感器网络设计与实现 北京 化学工业出版社 2012 5 2 宋文 无线传感器网络技术与应用 M 北京 电子工业出版社 2009 3 潘浩 董齐芬 张贵军 俞立等 无线传感器网络操作系统 TinyOS 北京 清华大学出 版社 2011 8 4 David Gay Philip Levis David Culler Eric Brewer nesC 1 1 语言参考手册 2003 5 5 李文仲 段朝玉等 ZigBee 无线网络技术入门与实战 M 北京 北京航空航天大学出版 社 2007 6 崔吉 徐桂云 张燕超 李辉 无线传感器的概述 中国矿业大学机电学院 2009 年 7 赵洪磊 王英龙 张先毅 无线传感器网络热点问题的研究 J 信息技术与信息化 2008 2 50 52 8 尹航 张奇松 程志林 基于 ZigBee 无线网络的温湿度监测系统 几点工程 2008 25 11 20 23 9 成小良 邓志东 基于 ZigBee 规范构建大规模无线传感器网络 期刊论文 通信学报 2008 11 10 任丰原 黄海宁 林闯 无线传感器网络 J 软件学报 2003 14 7 1282 1291 11 林喜源 基于 TinyOS 无线传感器网络协议研究 D 武汉理工大学 2007 年 12 林丽萍 无线传感器网络节点的研究与应用 J 安徽职业技术学院学报 2010 年 04 期 13 肖本强 张鑫 林之光 姜宇 基于 CC2430 的 Tinyos 实现 A 计算机技术与应用进 展 2007 全国第 18 届计算机技术与应用 CACIS 学术会议论文集 C 2007 年 14 李婧 赵保华 张英堂 无线传感器网络实验平台的实现 J 微型机与应用 2005 年 09 期 15 赵得斌 陈远知 杨仕勇 无线传感器网络操作系统 Tiny OS J 中国传媒大学学报 自 然科学版 2008 年 04 期 16 韩树人 温如春 王军 无线传感器网络中的 nesC 嵌入式编程语言 单片机与嵌入 式系统应用 2010 年 05 期 17 吕治安 ZigBee 网络原理与应用开发 北京航空航天大学出版社 2008 基于 CC2430 无线信道选择的软件设计 18 纪晴 段陪永 基于 ZigBee 的无线传感器网络协议研究与实现 传感器世界 13 10 30 35 2007 19 顺舟科技提供的技术文档 ZigBee 技术应用概述 20 成都无线龙公司提供的参考文档 CC2430 模块说明 pdf 成都无线龙公司提供的参考文档 ZigBee 开发进阶 pdf 基于 CC2430 无线信道选择的软件设计 附录 附录一附录一 程序代码程序代码 应用程序模块应用程序模块 define DBG L

温馨提示

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

评论

0/150

提交评论