用户
 找回密码
 立即注册

扫一扫,访问微社区

查看: 4753|回复: 3

[求助] 协议配置APSC_ACK_WAIT_DURATION_POLLED

[复制链接]

1

主题

4

帖子

33

积分

新手上路

Rank: 1

积分
33
发表于 2019-6-21 16:17:42 | 显示全部楼层 |阅读模式
教授您好.请教个问题,看了好久没看懂.

在Z-Stack 3.0.2 协议栈 f8wConfig.cfg中有以下默认配置及说明

/* This number is used by polled devices, since the spec'd formula
* doesn't work for sleeping end devices.  For non-polled devices,
* a formula is used. Value is in 2 milliseconds periods
*/
-DAPSC_ACK_WAIT_DURATION_POLLED=3000

在3.0 Guide.pdf里有如下描述

8. End-to-end acknowledgements
For non-broadcast messages, there are basically 2 types of message retry: end-to-end acknowledgement (APS
ACK) and single-hop acknowledgement (MAC ACK). MAC ACKs are always on by default and are usually
sufficient to guarantee a high degree of reliability in the network. To provide additional reliability, as well as to
enable the sending device get confirmation that a packet has been delivered to its destination, APS
acknowledgements may be used.
APS acknowledgement is done at the APS layer and is an acknowledgement system from the destination device to
the source device. The sending device will hold the message until the destination device sends an APS ACK
message indicating that it received the message. This feature can be enabled/disabled for each message sent with the
options field of the call to AF_DataRequest(). The options field is a bit map of options, so OR in
AF_ACK_REQUEST to enable APS ACK for the message that you are sending. The number of times that the
message is retried (if APS ACK message isn’t received) and the timeout between retries are configuration items in
f8wConfig.cfg. APSC_MAX_FRAME_RETRIES is the number of retries the APS layer will send the
message if it doesn’t receive an APS ACK before giving up. APSC_ACK_WAIT_DURATION_POLLED is the time
between retries.
  


意思是否是说如果APS层没有收到确认消息的情况下,
间隔3000 * 2 milliseconds 后 也就是6秒后重新发送的意思吗?





欢迎光临新一社区【newbitstudio.com】, 这里专注低功耗无线物联网技术的推广和分享,打造中文物联网开发社区,主要面对ZigBee, BLE, Thread, DOTDOT等协议,目前涉及到的芯片平台有CC2530,CC2540,nRF51822,nRF52832,ERF32MG,NXP5169。感谢大家在这里提问或者回答,助力成长,共同进步,写职业新篇章!
回复

使用道具 举报

144

主题

270

帖子

1620

积分

超级版主

Rank: 8Rank: 8

积分
1620
发表于 2019-6-24 11:17:08 | 显示全部楼层
看了帖子,你没理解到 APSC_ACK_WAIT_DURATION_POLLED的作用, 它只是ENDDEIVCE 向父节点的应答时间,和source to destination的APS ack不是同一个意思。 在zigbee规范中, Retransmissions一章有讲述, 超过apscAckWaitDuration时间,重传一次,超过apscMaxFrameRetries次数后认为传输失败。----------------------------------------------------------------------------------------------------------------------------
以下为更正内容。

后来经过查看说明, APSC_ACK_WAIT_DURATION_POLLED 用来确定单次传输的超时时间,所以是  
APSC_ACK_WAIT_DURATION_POLLED  * APSC_MAX_FRAME_RETRIES  才是这个包没有收到应答的最后确定失败的时间。

欢迎光临新一社区【newbitstudio.com】, 这里专注低功耗无线物联网技术的推广和分享,打造中文物联网开发社区,主要面对ZigBee, BLE, Thread, DOTDOT等协议,目前涉及到的芯片平台有CC2530,CC2540,nRF51822,nRF52832,ERF32MG,NXP5169。感谢大家在这里提问或者回答,助力成长,共同进步,写职业新篇章!
回复 支持 反对

使用道具 举报

1

主题

4

帖子

33

积分

新手上路

Rank: 1

积分
33
 楼主| 发表于 2019-6-27 20:15:50 | 显示全部楼层
哦 明白了  谢谢教授这么详细的回答
欢迎光临新一社区【newbitstudio.com】, 这里专注低功耗无线物联网技术的推广和分享,打造中文物联网开发社区,主要面对ZigBee, BLE, Thread, DOTDOT等协议,目前涉及到的芯片平台有CC2530,CC2540,nRF51822,nRF52832,ERF32MG,NXP5169。感谢大家在这里提问或者回答,助力成长,共同进步,写职业新篇章!
回复 支持 反对

使用道具 举报

0

主题

28

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2021-7-12 11:10:31 | 显示全部楼层
ZigBee是如何组网的?
作者:匿名用户链接:https://www.zhihu.com/question/38225473/answer/91032960来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
组建一个完整的zigbee网状网络包括两个步骤:网络初始化、节点(路由器或终端)加入网络,其中节点加入网络又包括两个步骤:通过与协调器连接入网和通过已有父节点入网。

一、网络初始化
  Zigbee网络的建立是由网络协调器发起的,任何一个zigbee节点要组建一个网络必须要满足以下两点要求:
  1.节点是FFD节点,具备zigbee协调器的能力;
  2.节点还没有与其他网络连接,当节点已经与其他网络连接时,此节点只能作为该网络的子节点,因为一个zigbee网络中有且只有一个网络协调器。任何不满足这两个条件的节点发起建立168开奖网一个新网络的进程都会被网络层管理实体终止,网络层管理实体将通过参数值为INVALID_REQUEST的LME_NETWORK_FORMATION.confirm的原语来通知上层这是一个非法请求。
  网络初始化的流程如下:
  1.确定网络协调器。首先判断节点是否是FFD节点,接着判断此FFD节点是否在其他网络里或者网络里是否已经存在协调器。通过主动扫描,发送天津快乐十分一个信标请求命令(Beacon request command),然后设置一个扫描期限(T_scan_duration),如果在扫描期限内都没有检测到信标,那么就认为FFD在其pos内没有协调器,那么此时就可以建立自己的zigbee网络,并且作为这个网络的协调器不断地产生信标并广播 nice出去。
  2.进行信道扫描过程。包括能量扫描和主动扫描两个过程:首先对指定的信道或者默认的信道进行能量检测,以避免可能的干扰。以递增的方式对所测量的能量值进行信道排序,抛弃那么些能SG飞艇量值超出了可允许能量水平的信道,选择可允许能量水平的信道并标注这些信道是可用信道。接着进行主动扫描,搜索节点通信半径内的网络信息。这些信息以信标帧的形式在网络中广播,节点通过主动信道扫描方式获得这些信标帧,然后根据这些信息,找到一个最好的、相对安静的信道,通过记录的结果,选择一个极速赛车信道,该信道应存在最少的zigbee网络,最好是没有zigbee设备。在主动扫描期间,mac层将丢弃phy层数据服务接收到的除信标以外的所有帧。











欢迎光临新一社区【newbitstudio.com】, 这里专注低功耗无线物联网技术的推广和分享,打造中文物联网开发社区,主要面对ZigBee, BLE, Thread, DOTDOT等协议,目前涉及到的芯片平台有CC2530,CC2540,nRF51822,nRF52832,ERF32MG,NXP5169。感谢大家在这里提问或者回答,助力成长,共同进步,写职业新篇章!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则