zigbee初始化流程

本文详细介绍了zigbee协议栈的构成,包括物理层、介质访问控制层、网络层和应用程序支持子层的功能。同时,深入解析了源码中的osal_init_system()和osal_start_system()函数在操作系统初始化和启动中的作用,以及如何处理系统事件。

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(); 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值