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

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

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

1,540 Views
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

 
Labels (1)
0 Kudos
Reply
1 Reply

626 Views
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 Kudos
Reply