- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
OSAL的工作原理
OSAL的工作原理 ZigBee 协议栈依据 IEEE 802.15.4 标准和 ZigBee 协议规范。ZigBee 网络中的各种操作需要 ,利用协议栈各层所提供的原语操作来共同完成。原语操作的实现过程往往需要向下一层发起一 个原语操作并且通过下层返回的操作结果来判断出下一条要执行的原语操作。IEEE 802 .15 .4 标准和 ZigBee 协议规范中定义的各层原语操作多达数十条,原语的操作过程也比较复杂,它 已经不是一个简单的单任务软件。对于这样一个复杂的嵌入式通信软件来说,其实现通常需要 依靠嵌入式操作系统来完成。 挪威半导体公司 Chipcon( 目前已经被TI 公司收购)作为业界领先的 ZigBee 一站式方案供应 商,在推出其 CC2530 开发平台时,也向用户提供了自己的 ZigBee 协议栈软件-Z-Stack 。这是 一款业界领先的商业级协议栈,使用 CC2530 射频芯片,可以使用户很容易的开发出具体的应 用程序来。Z-Stack 使用瑞典公司 IAR 开发的 IAR Embedded Workbench for MCS .51 作为它的 集成开发环境。Chipcon 公司为自己设计的 Z-Stack 协议栈中提供了一个名为操作系统抽象层 OSAL 的协议栈调度程序。对于用户来说,除了能够看到这个调度程序外,其它任何协议栈操 作的具体实现细节都被封装在库代码中。用户在进行具体的应用开发时只能够通过调用API 接 口来进行,而无权知道 Zig,Bee 协议栈实现的具体细节。 Z-Stack1.4.3及以后的版本中引入了一个OSAL(Operating System Abstraction Layer 操作系统抽象层),但在我们整个的ZigBee协议栈的结构图中,我并没有能够发现这个层在哪个位置。但是整个的协议栈都要在OS的基础上才能运行。OSAL和我们通常所说的RTOS,pc上的操作系统还是有很大的不同,ZigBee2006中只是利用了操作系统的概念和思想,利用OS把Z-Stack软件组件从特殊的处理过程相分离,并将软件成分保护了起来。它提供了如下的管理功能: ◆任务的注册、初始化、开始 ◆ 任务间的消息交换 ◆任务同步 ◆ 中断处理 ◆时间管理 ◆ 内存分配 OSAL主要是这样一种机制,一种任务分配资源的机制,从而形成了一个简单多任务的操作系统。首先,osal初始化系统,包括软件系统初始化和资源初始化.其中软件系统初始化就是初始化一些变量,比如osal重要的组成部分任务表,任务结构体和序列号.资源初始化主要包括内存,中断,NV等各种设备模块资源.这就和我们嵌入式系统中的RTOS操作系统μC/OS-II有了很大的相似处。μC/OS-II中也是通过建立任务把一个问题进行分解,任务之间可以通过消息队列的方式进行通信。 接着,osal通过osal_add_task添加任务到任务表中,形成一个任务链表.这个任务链表是以任务的优先级先后排序的.优先级高的排在前,低者排于后. 最后,开始运行系统,系统是以一个死循环的形式工作的.在循环体当中不断地检测各个任务,看是否要运行等.这就相当于我们平时用的linux和window等多任务系统,把CPU分成N个时间片(有多少任务就分成多少时间片),只要处理频率高,就相当于多任务同时运行了。下面我们来结合sampleAPP来说明一下OSAL的具体工作情况。 Sample Application是ZStack协议栈提供的一个非常简单的演示实例,实例中的每个设备都可以发送和接收两种信息:周期信息和闪烁信息。 周期信息---------当设备加入该网络后,所有设备每隔 5S(加上一个随机数,毫秒mS为单位)发送一个周期信息,该信息的数据载荷为发送信息的次数。闪烁信息---------通过按下按键 SW1发送一个控制LED灯闪烁的广播信息,该广播信息只针对组 1 内的所有设备。所有设备初始化都被加入组 1,所以网络一旦建立完成便可执行LED灯闪烁实验。可以通过按下设备的 SW2 退出组 1,如果设备退出组1则不再接收来自组1的消息,其按键SW1发送的消息也不再控制组1LED灯的闪烁。通过再次按下 SW2 便可让设备再次加入到组1,从而又可以接受来自组1的消息,其SW1也可以控制组1内设备的LED灯闪烁了。当设备接收到闪烁信息会闪烁LED灯,而当接收到周期信息时协议栈没有提供具体的实验现象,留给了用户自行处理,可以根据实际需要自行更改实验代码。在该工程中使用了两个按键SW1和SW2。即ZStack协议栈中的HAL_KEY_SW_1和HAL_KEY_SW_2。同时工程中也定义了一个事件用来处理周期信息事件,即SAMPL
您可能关注的文档
最近下载
- 基于区块链的2025年应急物流体系透明度与追溯能力报告.docx
- 大象版 四年级下册科学试题-第七、八单元总结 (含答案).pdf VIP
- 应对职业打假人.ppt VIP
- 六年级语文上册理解阅读专项训练(12篇).doc VIP
- 农产品行业海外消费品巨头系列:复盘全球玉米种业巨头先锋种业,坚持与专注的品种研发典范.pdf VIP
- 第9课 从人工到自动化 教案 义务教育人教版信息科技六年级全一册.docx VIP
- 《传感器应用技术》课程思政教学案例.docx VIP
- 第8课 开关量的或运算 教案 义务教育人教版信息科技六年级全一册.docx VIP
- 陕09J16管沟及盖板图集.docx VIP
- 第7课 开关量的与运算 教案 义务教育人教版信息科技六年级全一册.docx VIP
文档评论(0)