ZigBee无线传感器网络入门
Posted 364.99°
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ZigBee无线传感器网络入门相关的知识,希望对你有一定的参考价值。
目录
1.物联网的体系结构简介
1.1.物理层
定义无线信息和MAC子层之间的接口,在驱动程序的基础上,实现数据传输和管理
提供两个服务:
数据服务: 从无线信道上收发数据
管理服务:
- 信道能量检测
- 链接质量指示
- 载波检测
- 空闲信道评估
1.2.介质访问控制层
提供两个服务:
MAC层数据服务: 保证MAC层协议数据单元在物理层数据服务中的正确收发
MAC层管理服务: 保证MAC层的活动,并维护一个数据信息库
1.3.网络/安全层
- 管理设备加入和退出网络,申请安全结构、路由管理
- 在设备之间发现和维护路由,发现邻设备、存储邻设备信息
1.4.应用层
应用支持子层(APS): 负责维持绑定表,在绑定的设备之间传送信息
ZigBee设备对象(ZDO): 定义设备在网络中的角色,发起响应和绑定请求,在网络设备之间建立安全机制
2.最低需求估算
打包: 由上层协议到底层协议
解包: 底层协议到上层协议
ZigBee协议套件紧凑而简单,并且实现其的要求很低
- 8位处理器,如8051
- 32KB的ROM,最小4KB的ROM
- 主节点需要更多的RAN(节点的设备信息、转发表、关联表以及密钥存储)
3.硬件资源
3.1.节点芯片选型
CPU:数据总线宽度4位、8位、16位机、32位机和64位选择合适的即可
4位单片机主要应用于工业控制领域
16位和32位单片机主要应用于视频采集、图形处理等方面
3.2.CC2530简介
硬件内部模块大致可分为三大类:
- CPU和内存相关的模块
- 外设、时钟和电源管理相关的模块
- 无线电相关的模块
3.2.1.CPU和内存
- CPU内核是一个单周期的8051兼容内核
- 三个不同的存储器访问总线(SFR、DATA和CODE/XDATA ),以单周期访问SFR 、DATA和主SRAM
- 一个调试接口
- 一个18源输入的扩展中断控制单元,18个中断源分为6组,每个中断与4个优先级之一相关
3.2.2.时钟和电源管理
- 内核和外设由一个1.8V低差稳压器供电
- CC2530由5中不同的复位源来复位设备
3.2.3.外设
- CC2530包含多种外设,允许程序设计者开发先进的应用
- 调试接口执行一个专有的两线串行接口,用于内电路调试
3.2.4.无线设备
CC2530具有一个IEEE 802.15.4 兼容无线收发器。RF内核控制模拟无线模块。另外,它提供了MCU和无线设备之间的一个接口,这使得可以发出命令、读取状态,自动操作和确定无线设备事件的顺序。无线设备还包括一个数据包过滤和地址识别模块
4.ZigBee协议栈选型
非开源、半开源和开源的协议栈
非开源:Freescale、Microchip
半开源:Z-Stack(支持ZigBee和ZigBeePro)
Z-Stack内联了OSAL操作系统,标准的C语言代码,使用IAR开发平台,是一款适合工业级应用的ZigBee协议栈
开源:Freakz配合contiki操作系统
适合学习
5.软件应用IAR
5.1.协议栈Z-Stack目录
- APP:应用层目录
- HAL:硬件层目录
- MAC:介质访问控制层
- MT:监控调试层目录
- NWK:网络层目录
- OSAL:协议栈的操作系统
- AF:应用框架层目录
- Security:安全层目录
- Tools:工程配置目录
- ZDO:ZigBee设备对象
- ZMAC:Z-Stack MAC
- ZMain:ZigBee协议栈的主程序
5.2.协议栈的基本操作
-
移除、增加
移除:右键-remove
增加:右键-add -
查看函数宏定义
选中函数,右键-Go to definition of … -
信道选择和修改网络ID号
展开工程目录之下的Tools目录
f8w2530.cxl:包含了CC2530单片机的连接控制指令,包括堆栈的大小、内存分配等(一般情况不需要)
f8wConfig.cfg:包含了信道选择、网络ID号等有关的链接命令
f8wCoord.cfg:配制无线网络中的协调器设备类型、CPU的运行频率
f8wEndev.cfg:配置无线网络中的终端节点CPU和运行频率及MAC设定
f8wRouter.cfg:配置无线网络中的路由设备的CPU运行频率、MAC设定、路由设定等
- 设置ZigBee网络的拓扑结构
在NWK-nwk_globals.h中,将NWK_MODE_MESH
(网状图)改为NWK_MODE_START
(星状图,最简单、最稳定)或NWK_MODE_TREE
(树状图)
以上是关于ZigBee无线传感器网络入门的主要内容,如果未能解决你的问题,请参考以下文章