MC13213 - BeeStack - Extra "Command: Data Request" Packets from ZED

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

MC13213 - BeeStack - Extra "Command: Data Request" Packets from ZED

1,536 次查看
Ware
Contributor III
 
In the development of this simple (2 device) network, my ZigBee EndDevice (ZED) wakes up (from LOW POWER MODE) periodically to report values to my ZigBee Coord (ZC).
 
The problem is that it is transmitting at least 5 "Command: Data Request" packets every time I send a report packet (see seq no 25,27,29,31 in "Packet_List.txt").  This is not a big problem when the wake-up period is long (512ms or 1024ms), but when I start reporting faster (like every 64ms) there is a lack of bandwidth issue due to ALL THESE extra "Command: Data Request" packets.
 
My question is, what are these "Command: Data Request" packets for?
How can I get rid of them (or at least reduce them)?
 
Thank you,
 - Ware
 
 
 
Example "Command: Data Request" packet decode:
Frame 145 (Length = 12 bytes)       Sequence Number: 145       Channel Sequence Number: 145       Channel: 15       Time Stamp: Thu, 13 Dec 07, 08:04:29.097       Frame Length: 12 bytes       Capture Length: 12 bytes       Link Quality Indication: 82       Receive Power: -70 dBmIEEE 802.15.4       Frame Control: 0x8863              .... .... .... .011  = Frame Type: Command (0x0003)              .... .... .... 0...  = Security Enabled: Disabled              .... .... ...0 ....  = Frame Pending: No more data              .... .... ..1. ....  = Acknowledgment Request: Acknowledgement required              .... .... .1.. ....  = Intra PAN: Within the PAN              .... ..00 0... ....  = Reserved              .... 10.. .... ....  = Destination Addressing Mode: Address field contains a 16-bit short address (0x0002)              ..00 .... .... ....  = Reserved              10.. .... .... ....  = Source Addressing Mode: Address field contains a 16-bit short address (0x0002)       Sequence Number: 66       Destination PAN Identifier: 0x03c4       Destination Address: 0x0000       Source Address: 0x034f       MAC Payload              Command Frame Identifier = Data Request: (0x04)       Frame Check Sequence: Correct

 
标签 (1)
0 项奖励
回复
1 回复

622 次查看
Ware
Contributor III
 
There are two causes:
 
 - By default the App Layer is written to call "ASL_Nlme_Sync_req(FALSE)" everytime the ZED wakes up. (main problem)
 - Sync Req is also automatically sent after every cluster is transmitted from a ZED (when low-power mode in use).
 
Sending it once per second or when other clusters are sent both seem to work just fine.
 
The BeeStack documentation only mentions that ASL_Nlme_Sync_req() is called when the ZED needs to resync with it's parent.  I guess the BeeStack automatically assumes a ZED waking up from deep sleep needs to resync?
 
Regards,
 - Ware
 
0 项奖励
回复