文章目录
1.zigbee协议栈构成
1.1 物理层(PHY)和介质访问控制层(MAC)
物理层和介质控制层是由IEEE 802.15.4规范定义的,物理层控制天线的收发数据;zigbee无线网络中的网络号,网络发现等概念是介质访问控制层的内容。此外介质访问控制层还提供点对点的通信数据确认(Per-hop Acknowledgments)以及一些用于网络发现和网络形成的命令。
1.2 网络层(NWK)
网络层是对网型网络提供支持,如在全网范围内发送广播包,为单播数据包选择路由,确保数据包能够可靠地从一个节点发送到另一节点,此外网络层还具有安全特性,可以自行选择所需的安全策略。
1.3 应用程序支持子层
该层主要提供了一些API函数调用,此外,绑定表也是存储在应用程序支持子层。Zigbee设备对象ZDO是运行在端口0的应用程序,主要提供了一些网络管理方面的函数。每个Zigbee设备都与一个特定类别(profile)有关,这些类别定义了设备的应用环境,设备类型以及用于设备间通信的从集。
1.4 总述
- 所有端点都使用应用支持子层(APS)提供的服务。APS透过网络层和安全服务提供层与端点相接,并为数据传送、安全和固定服务
- APS使用网络层(NWK)提供的服务。NWK负责设备到设备的通信,并负责网络中设备的初始化所包含的活动、消息路由和网络发现。应用层可透过Zigbee设备对象(ZDO)对网络层参数进行配置和存取。
1.5 缩写与全程
英文缩写 | 全称 | 备注 |
---|---|---|
APS | Application Support Sub-Layer | 应用程序支持子层 |
SAP | Service Access Points | 服务接入点 |
APSDE-SAP | Aps Data Entity-SAP | 应用程序支持子层 数据实体服务接入点 |
AOSME-SAP | APS Management Entity-SAP | 应用程序支持子层 管理实体服务接入点 |
NLDE-SAP | Network Layer Data Entity-SAP | 网络层数据实体服务接入点 |
NLME-SAP | Network Layer Management Entity-SAP | 网络层管理实体服务接入点 |
MCPS-SAP | MAC Common Part Service-SAP | MAC层通用服务接入点 |
PD-SAP | Physical Layer Data Entity-SAP | 物理层数据实体服务接入点 |
PLME-SAP | Physical Layer Management Entity-SAP | 物理层管理实体服务接入点 |
2.源码分析
1.1 main.c
- 首先看zmain.c 中的main函数
main函数里主要完成了系统的各种初始化,最后启动系统。
int main( void )
{
osal_int_disable( INTS_ALL );// 关闭中断
HAL_BOARD_INIT();// 初始化系统时钟
zmain_vdd_check();// 检查芯片电压
InitBoard( OB_COLD );//初始化I/O
HalDriverInit();//初始化硬件驱动层
osal_nv_init( NULL );//初始化Flash存储器
ZMacInit();// 初始化MAC层
zmain_ext_addr();//确定64位网络地址
zgInit();
#ifndef NONWK
afInit(); //初始化AF层
#endif
osal_init_system();