CC2530协议栈工作流程

什么是 ZigBee 协议栈呢?它和 ZigBee 协议有什么关系呢?


协议是一系列的通信标准,通信双方需要共同 按照这一标准进行正常的数据发射和接收。协议 栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。

CC2530协议栈工作流程_第1张图片

图 1 展示了 ZigBee 无线网络协议层的架构图。 ZigBee 的协议分为两部分, IEEE 802.15.4定义了 PHY(物理层)和 MAC(介质访问层)技术规范;ZigBee 联盟定义了 NW K(网络层) 、APS(应用程序支持子层) 、APL(应 用层)技术规范。ZigBee 协议栈就是将各个层定义的协议都集合在一直,以函数的形式实现,并给用户提供 API(应用层),用户可以直接调用。




协议栈 是协议的实现,可以理解为代码、函数库、供上层应 用调用,协议较底下的层与应用是相互独立的。商业化的协议栈就是给你写好了底层的代码,符合协议标准,提供给你一个功能模块给你调用。你需要关心的就是你的应用逻辑,数据从哪里到哪里,怎么存储,处理;还有系 统里的设备之间的通信顺序什么的,当你的应用 需要数据通信时,调用组网函数给你组建你 想要的网络;当你想从一个设备发数据到另一个 设备时,调用无线数据发送函数;当然,接 收端就调用接收函数;当你的设备没事干的时候 ,你就调用睡眠函数;要干活的时候就调用 唤醒函数。所以当你做具体应用时,不需要关心 协议栈是怎么写的,里面的每条代码是什么 意思。除非你要做协议研究。每个厂商的协议栈有区别,也就是函数名称和参数可能有区别,这个要看具体的例子、说明文档。


用户实现一个简单的无线数据通信时的一般步骤:
1、组网:调用协议栈的组网函数、加入网络函数,实现网络的建立与节点的加入。
2、发送:发送节点调用协议栈的无线数据发送函数,实现无线数据发送。
3、接收:接收节点调用协议栈的无线数据接收函数,实现无线数据接收。



CC2530协议栈工作流程_第2张图片

App:应用层目录,这是用户创建各种不同工程的区域, 在这个目录中包含了应用层的内容和这个项目的主要内容。
HAL:硬件层目录,包含有与硬件相关的配置和驱动及操作函数。
MAC:MAC 层目录,包含了 MAC 层的参数配置文件及其MAC的LIB库函数接口。
MT:实现通过串口可控制各层,并与各层进行直接交互。
NWK:网络层目录,包含网络层配置参数文件网络层的函数接口文件以及APS层库的函数接口

OSAL:协议栈的操作系统。
Profile: Application framework 应用框架层目录,包含AF层处理函数。该层是应用程序和APS层的无线数据接口。
Security:安全层目录,包含安全层处理函数,比如加密函数。
Services:地址处理函数目录,包括地址模式定义以及地址处理函数。
Tools:工程配置目录,包括空间划分及Z-Stack相关配置信息。
ZDO:ZDO 目录。
ZMac:MAC 层目录,包括 MAC 层参数配置及MAC层LIB库函数回调处理函数。
ZMain:主函数目录,包括入口函数及硬件配置文件。

Output:输出文件目录,由 IAR IDE 自动生成。

你可能感兴趣的:(Zigebee&CC2530)