关于Zigbee的一个概念问题(z-stack和msstatepan) 100
最近在看zigbee的协议栈,看了一点点z-stack的,还不懂,里面有个类似操作系统的osal,感觉很高级能够实现调度功能。然后也看了一点点msstaepan协议栈,这...
最近在看zigbee的协议栈,看了一点点z-stack的,还不懂,里面有个类似操作系统的osal,感觉很高级能够实现调度功能。然后也看了一点点msstaepan协议栈,这个协议栈是根据状态机来实现的,感觉也是任务在FSM()去实现,和osal类似。我看到一篇文章《ZIGBEE解决方案比较》中提到:如果你的程序不是基于操作系统的,有限状态机应该是一个很好的选择。
我的问题是,协议栈里面的osal和状态机,有什么区别么?设计一个协议栈,是不是要选择基于os或者状态机。 展开
我的问题是,协议栈里面的osal和状态机,有什么区别么?设计一个协议栈,是不是要选择基于os或者状态机。 展开
1个回答
展开全部
(1)OSAL(Operating System Abstraction Layer),即“操作系统抽象层”。
Zigbee协议栈里面的OSAL是基于时间片轮询机制的,也就是说系统以固定的周期不断的查询是否有事件发生,如果有事件发生则判断相应事件的处理任务,由事件对应的处理任务完成事件的处理,完成对事件的整个处理过程。
(2)关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前” 节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态, 状态机停止。
协议栈中的OSAL和状态机只是实现事件处理的两种调度方式,其本质都是基于事件驱动的。
(3)关于设计一个协议栈
协议栈即某种协议的代码实现,中间涉及硬件实现以及软件实现两部分。对于初学者首先学会如何使用协议栈才是关键,可以不用考虑协议栈采用哪种调度方式 。
希望我的回答对你有帮助!
Zigbee协议栈里面的OSAL是基于时间片轮询机制的,也就是说系统以固定的周期不断的查询是否有事件发生,如果有事件发生则判断相应事件的处理任务,由事件对应的处理任务完成事件的处理,完成对事件的整个处理过程。
(2)关于状态机的一个极度确切的描述是它是一个有向图形,由一组节点和一组相应的转移函数组成。状态机通过响应一系列事件而“运行”。每个事件都在属于“当前” 节点的转移函数的控制范围内,其中函数的范围是节点的一个子集。函数返回“下一个”(也许是同一个)节点。这些节点中至少有一个必须是终态。当到达终态, 状态机停止。
协议栈中的OSAL和状态机只是实现事件处理的两种调度方式,其本质都是基于事件驱动的。
(3)关于设计一个协议栈
协议栈即某种协议的代码实现,中间涉及硬件实现以及软件实现两部分。对于初学者首先学会如何使用协议栈才是关键,可以不用考虑协议栈采用哪种调度方式 。
希望我的回答对你有帮助!
追问
谢谢你 回家过年才看到,作为一个初学者,着实很头疼,老师的要求就是要我们模仿zigbee一类的协议自己实现一个在433下的协议,目前我们的进度也停留在,这个状态机和os上面,感觉很恼火。
晓网科技
2024-10-17 广告
2024-10-17 广告
ZigBee是一项新型的无线通信技术,适用于传输范围短数据传输速率低的一系列电子元器件设备之间。 ZigBee无线通信技术可于数以千计的微小传感器相互间,依托专门的无线电标准达成相互协调通信,因而该项技术常被成为Home RF Lite无线...
点击进入详情页
本回答由晓网科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询