微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > Z-Stack acknowledgements

Z-Stack acknowledgements

时间:10-02 整理:3721RD 点击:

Z-Stack 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 ahigh degree of reliability in the network. To provide additional reliability,as well as to enable the sending device get confirmation that a packet has beendelivered to its destination, APS acknowledgements may be used.

APS acknowledgement is done at the APS layer and is an acknowledgementsystem from the destination device to the source device. The sending devicewill hold the message until the destination device sends an APS ACK message indicatingthat it received the message. This feature can be enabled/disabled for eachmessage sent with the options field of the call to AF_DataRequest(). Theoptions field is a bit map of options, so OR in AF_ACK_REQUEST to enable APSACK for the message that you are sending. The number of times that the messageis retried (if APS ACK message isn’t received) and the timeout between retriesare configuration items in f8wConfig.cfg. APSC_MAX_FRAME_RETRIES is the numberof retries the APS layer will send the message if it doesn’t receive an APS ACKbefore giving up. APSC_ACK_WAIT_DURATION_POLLED is the time between retries.


Using the AF_DATA_CONFIRM_CMD system event in the Z-stack totrack acknowledgements.

The AF_DATA_CONFIRM_CMD system event is received at the application layerwhen 1 of 3 conditions occur:

  • When an APS ACK is received (if APS ACK service is being used by passing in AF_ACK_REQUEST as a value for the options field)
  • When a MAC acknowledgement (next hop acknowledgement) is received
  • Transmission failed

The acknowledgement is not propagated up to the AF layer, only the eventthat one is received in the cases of 1) and 2) as mentioned above.

As part of the data confirm structure, the user has access to the endpoint andtransaction ID members. The application developer can load the transIDparameter as part of the AF_DataRequest() and use the transaction ID from theconfirm to track acknowledgements.


Diable the Mac ACK in Z-Stack

In the function ZMacDataReq( ):

pData->TxOptions &= !(MAC_TXOPTION_ACK);

LZ最近在搞zigbee,请问是做智能家居么?实用的ZBH profile么?

一直在搞zigbee

AF_DATA_CONFIRM_CMD 需要与AF_DataRequest的transID比较才有意义,但是如果用zigbee pro的自动分包,transID值会出错。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top