目录
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 … -
设置ZigBee网络的拓扑结构
在NWK-nwk_globals.h中,将NWK_MODE_MESH
(网状图)改为NWK_MODE_START
(星状图,最简单、最稳定)或NWK_MODE_TREE
(树状图)