项目三 了解无线传感器协议栈.ppt_第1页
项目三 了解无线传感器协议栈.ppt_第2页
项目三 了解无线传感器协议栈.ppt_第3页
项目三 了解无线传感器协议栈.ppt_第4页
项目三 了解无线传感器协议栈.ppt_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目3是ZigBee无线传感器网络协议栈,知识目标:1。学习ZigBee无线传感器网络的协议堆栈和协议差异等知识。掌握Z-Stack协议堆栈的OSAL分配机制。了解Z-Stack协议堆栈的OSAL操作机制。控制Z-Stack协议堆栈的OSAL公共函数。项目3了解ZigBee无线传感器网络堆栈,技术目标:1。确定z堆栈协议栈的工作机制。2.如何在Z-Stack堆栈中控制添加OSAL的新操作。即可从workspace页面中移除物件。项目3介绍了实际ZigBee无线传感器网络工程开发过程中的ZigBee无线传感器网络堆栈。首先在TI提供的协议堆栈中使用实例SampleApp,根据需要查看支持Z-Stack协议堆栈的硬件电路图,然后查看数据文档(CC2530的数据文档、Z-Stack协议堆栈说明、Z-Stack协议堆栈API函数使用说明等)文件,最后修改协议堆栈。最后,为了建立和开发ZigBee无线传感器网络,烧录器必须下载到该硬件上。设计思想、3.1.1协议和协议栈协议定义了通信方共同用于执行正常数据发送和接收的一系列通信标准;会议堆栈是合同的具体实施形式。通常被理解为代码实现的函数库,便于开发人员调用。3.1Z-Stack协议栈、3.1.1协议和协议堆栈表示一组协议,即网络中每个层协议的总和。将一个网络中的文件传输过程反映为自下而上、自下而上、自下而上和自下而上协议。最广泛使用的协议包括应用层(Http、Telnet、DNS、Email等)、传输层(TCP、UDP)、网络层(IP)、链路层(WI-FI、以太网、令牌环),开发3.1Z-Stack堆栈、3.1.1协议和堆栈、3.1Z-Stack堆栈、3.1.1协议和堆栈ZigBee堆栈的基本思想如下:通过TI提供的协议堆栈中实例SampleApp的二次开发,用户不必深入研究复杂的ZigBee堆栈,从而减轻了开发人员的工作负担。在ZigBee无线传感器网络中,数据收集只需要用户在应用层添加传感器的读取功能和头文件。考虑到节能,ZigBee堆栈例程可以根据计划程序开发的数据收集周期唤醒ZigBee终端节点,当终端节点醒来时,自动收集传感器数据,然后发送到路由器或直接发送到协调程序。也就是说,监视节点定期报告监视数据。协调器(网关)根据发出的控制命令将控制信息传递到特定节点。也就是说,控制节点等待发出控制命令。3.1Z-Stack协议栈,使用3.1.2 Z-Stack协议栈传输SampleApp.c中定义的传输函数statistoidsampleapp _ send the message(void)。此函数调用AF_DataRequest以发送数据。此函数在Profile目录的AF.c文件中定义。3.1Z-Stack协议栈、使用3.1.2 Z-Stack协议栈传输*dstAddr:发送目标地址端点地址(端点编号)和传输模式。*srcEP:源(响应或确认)终端的说明,如操作系统的作业ID等。CID: Profile指定的有效丛集编号。Len:传输数据的长度。*buf:指向存储传输数据的缓冲区的指针。*transID:作业ID号。Options:有效位掩码的传输选项。Radius:传出跳数,通常设置为AF_DEFAULT_RADIUS。3.1Z-Stack协议栈,3.2.1物理层(PHY)定义无线通道和MAC子层之间的接口,以提供物理层数据服务和物理层管理服务,主要实现基于驱动程序的数据传输和管理。物理层数据服务可在无线物理通道中发送和接收数据,无线物理通道维护由与物理层相关的数据组成的数据库,包括通道能量监控(ED)、链接质量指标(LQI)、载波检测(CS)和空闲通道评估(CCA)。,3 . 2 ZigBee无线传感器网络功能层简介,质量访问控制层介质访问控制层(MAC)为点到点通信的数据验证(Per-hopAcknowledgments)和网络发现和网络形成提供了一些命令,但介质访问控制层为多跳3.2 ZigBee无线传感器网络功能层简介,3.2.3网络层网络层(NWK)主要负责设备加入和退出网络、路由管理、设备间路由发现和维护、相邻设备发现以及存储相邻设备信息。3 . 2 ZigBee无线传感器网络功能层简介、3.2.3网络层(NWK)主要负责设备加入和退出网络、路由管理、设备间路由发现和维护、相邻设备发现以及存储相邻设备信息。1.地址类型网络地址分配Z-Stack寻址路由安全性,3.2 ZigBee无线传感器网络功能层简介,包括3.2.4应用层应用程序支持子层(APS)和ZigBee设备对象(ZDO)。APS负责维护和绑定表,并在绑定设备之间传递消息。ZDO定义网络中设备的角色,启动和响应绑定请求,从而在网络设备之间建立安全机制。3.2 ZigBee无线传感器网络功能层简介,3.3.1OSAL基础知识1。资源(resource) 2。shared resource 3。工作(task) 4。多任务处理5。)5 .内核(kernel) 6。mutual exclusion 7。消息队列(MessageQueue)、3.3OSAL多任务分配机制、3.3.1OSAL基础知识1。资源(resource) 2。shared resource 3。工作(task) 4。多任务处理5。)5 .内核(kernel) 6。mutual exclusion 7。消息队列(MessageQueue)、3.3OSAL多任务分配机制、3.3.2OSAL简介Z-stack是TI开发的ZigBee堆栈,已得到全球众多开发人员的认可并广泛使用。Z-Stack使用基于旋转查找的操作系统,从而使程序员可以轻松地开发ZigBee系统。3.3OSAL多任务分配机制,3.3.2OSAL简介,3.3OSAL多任务分配机制,3.3.2OSAL简介用户通常具有特定任务事件处理函数,如SampleApp_ProcessEvent或GenericApp _ ProcessEvent)的3个文件即可完成项目。一个是此主文件的头文件(如SampleApp.h),另一个是主要存储作业数组tasksArr的OS接口文件(如OSAL_SampleApp.c),作业数组的具体内容是适用于每个作业的处理函数指针。3.3OSAL多任务分配机制,3.3.2OSAL简介“数据实体接口”的目标是向上层提供所需的一般数据服务;“管理实体接口”的目标是提供参数、配置和管理数据服务,以访问上层的内部层。物理层和介质访问控制子层都属于IEEE802.15.4标准,而IEEE802.15.4标准与网络/安全层、应用层一起组成ZigBee堆栈。3.3OSAL多任务分配机制、3.3.3协议栈软件体系结构整个z堆栈的主要工作流主要分为系统启动、驱动器初始化、OSAL初始化和启动、操作轮询几个阶段。3.3OSAL多任务分配机制、3.3.3协议栈软件体系结构、3.3OSAL多任务分配机制、3.3.3协议栈软件体系结构系统开机后,运行ZMain文件夹中ZMain.c的Main()函数,以实现硬件初始化。总中断osal _ int _ disable(ints _ all);初始化板硬件设置Hal _ board _ init();检查工作电压状态zmain _ vdd _ check();初始化I/o端口init board(ob _ cold);初始化HAL层驱动的haldririnit()非易失性存储初始化sal _ NV _ init(空);初始化MAC层zmac init();指定64位地址zmain _ ext _ addr()。初始化Zstack的全局变量,并根据需要初始化NV条目ZG init();初始化操作系统osal _ init _ system()。您可以全局中断Osal _ int _ enable (ints _ all)。初始化后续硬件init board (ob _ ready)。显示所需的硬件信息zmain _ dev _ info();最后,转到操作系统调度osal_start_system()。,3.3OSAL多任务分配机制,此例程的默认路径为c : Texas instruments z stack-cc 2530-2 . 3 . 0-1 . 4 . 0 projects zstack 在右侧的工作区窗格中打开App文件夹时, SampleApp.c 、 SampleApp.h 、 OSAL_SampleApp.c 、 SampleAppHw.c 、 sample apphw . h 整个程序实现的功能在这五个文件中。3.4OSAL运行机制,运行机制。3.4OSAL执行机制, taskcnt此变量存储任务数,并声明为constuint8tasksCnt。其中uint8定义为typedefunsignedcharuint8。TasksCnt变量的定义位于OSALSampleApp.c文件中。tasksEvents变量是指向事件表中第一个地址的指针。声明为uint16*tasksEvents。其中uint16定义为typedefunsignedshortuint16。Taskevents 是仅在OSAL_SampleApp.c文件中定义的指针数组。 taskarr变量是一个数组,其中每个项目都是指向声明为ptaseventhandlerrfntasksarr 的事件的处理函数指针。其中ptaseventhandlerrfn是typedefunsignedshort(* ptaseventhandlrfn)(unsignedshortevent,unsignedchartask _ id)在变量pTaskEventHandlerFn的定义OSAL_Tasks.h文件中。3.4OSAL操作机制,OSAL调度机制包括:入口程序是z main.c main()主程序的执行;初始化任务调度器osal _ init _ system();基本上启动了osalInitTasks(),最多9个作业排入队列,序列号0 8;最后,调用SampleApp_Init()初始化自定义操作。此操作由用户根据项目进行修改。3.4OSAL执行机制,3.4.1OSAL操作启动和初始化所有OSAL操作需要分为两个步骤。一个是作业初始化。二是处理任务事件。3.4OSAL执行机制、3.4.1OSAL作业启动和初始化作业初始化的主要步骤如下:初始化应用服务变量constptaseventhandlrfntasksarr数组定义系统提供的应用服务和用户服务变量,如MAC层服务macEventLoop、用户服务SampleApp_ProcessEvent等。作业ID分配和堆栈内存分配voidosalInitTasks(void)的主要功能是调用osal_mem_alloc()函数,为每个作业分配内存空间,从而为每个定义的作业指定唯一的标识号。在af层中注册应用对象通过填充endPointDesc_t数据格式的EndPoint变量,调用AFRegister()在AF层中注册EndPoint应用对象。向系统通知afAddrType_t地址类型包(如SampleApp_Flash_DstAddr)的路由端点,AF层注册有关应用程序对象的信息,以发送周期信息。对于相应的OSAL或HAL系统服务注册堆栈,Z-Stack同时提供键盘响应和串行端口活动响应,但是Z-Stask操作不会自行注册系统服务,必须由用户应用程序注册。值得注意的是,只有一个OSALTask,可以注册服务。例如,注册键盘活动响应将调用RegisterForKeys()函数。处理任务事件任务事件通过创建“application name”_ process event()函数进行处理。OSAL操作可以响应16个事件,除了协议堆栈中的基本必需事件(MandatoryEvents)外,还可以定义另外15个事件。3.4OSAL执行机制、3.4.1OSAL作业启动和初始化SYS_EVENT_MSG(0 x8000)是必需的事件。此事件主要用于传输全局系统信息,包括以下信息:AF_DATA_CONFIRM_CMD:此信息用于通过唤醒AFDataRequest()函数来表示发送的数据请求信息。AF_INCOMING_MSG_CMD:用于表示接收的AF信息。KEY_CHANGE:用于确认键击。ZDO_NEW_DSTADDR:用于表示自动匹配请求。ZDO_STATE_CHANGE:用于指示网络状态更改。3.4OSAL执行机制,执行3.4.2OSAL作业osal _ start _ system();/执行系统OSAL.c,进入系统排程,无osal _ start _ system();/此函数是作业系统的主循环函数,该函数轮询所有作业事件,然后调用关联的作业处理函数,如果没有作业,则进入休眠状态。,3.4OSAL执行机制,包含事件表和函数表的关系,所有操

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论