Home/Support/Support Forum/XBEE Zigbee S2 - Transmit Request from End Device to Coordinator problem

XBEE Zigbee S2 - Transmit Request from End Device to Coordinator problem

0 votes
Hello,

I am testing a simple setup, fully with the XCTU software no external code, to understand the behaviour of the Transmit Request (API Frame 0x10).
The setup is composed of a Xbee Zigbee PRO S2B coordinator in API=1 mode and a Xbee End Device S2 in API=1 mode.

I have no problems when transmiting data (Transmit request) from de the coordinator to the End Device, whenever i send a Transmit Request i get an immediate Transmit Status from the End Device acknowledging the reception.

But, when i try to do it from the End Device to the Coordinator, it presents a strange behaviour, only after sending a few transmit requests i get the attention of the coordinator and it starts sending the Transmit Status (API frames) acknowledging the reception of the packets.
After receiving the first Transmit Status from the coordinator if i keep on sending data with the End Device i keep on receiving the correct transmit status from the coordinator.
After stopping transmission and waiting 3 seconds (more or less) i get the same behaviour described.

It is like the Coordinator needs time to start handshacking when receiving data from the End Device.

Anyone has any idea of what might the problem be?
What more information can i give to help?

I leave you the config file XML for the Coordinator and End device:

COORDINATOR****************************************

<?xml version="1.0" encoding="UTF-8"?>

<data>
<profile>
<description_file>XBP24-ZB_21A7_S2B.xml</description_file>
<settings>
<setting command="ID">10</setting>
<setting command="SC">7FFF</setting>
<setting command="SD">3</setting>
<setting command="ZS">0</setting>
<setting command="NJ">FF</setting>
<setting command="DH">13A200</setting>
<setting command="DL">FFFF</setting>
<setting command="NI">MAIN</setting>
<setting command="NH">30</setting>
<setting command="BH">0</setting>
<setting command="AR">FF</setting>
<setting command="DD">30000</setting>
<setting command="NT">3C</setting>
<setting command="NO">3</setting>
<setting command="CR">3</setting>
<setting command="PL">4</setting>
<setting command="PM">1</setting>
<setting command="EE">0</setting>
<setting command="EO">0</setting>
<setting command="KY"></setting>
<setting command="NK"></setting>
<setting command="BD">3</setting>
<setting command="NB">0</setting>
<setting command="SB">0</setting>
<setting command="D7">1</setting>
<setting command="D6">0</setting>
<setting command="AP">1</setting>
<setting command="AO">0</setting>
<setting command="SP">20</setting>
<setting command="SN">1</setting>
<setting command="D0">1</setting>
<setting command="D1">0</setting>
<setting command="D2">0</setting>
<setting command="D3">0</setting>
<setting command="D4">0</setting>
<setting command="D5">1</setting>
<setting command="P0">1</setting>
<setting command="P1">0</setting>
<setting command="P2">0</setting>
<setting command="PR">1FFF</setting>
<setting command="LT">0</setting>
<setting command="RP">28</setting>
<setting command="DO">1</setting>
<setting command="IR">0</setting>
<setting command="IC">0</setting>
<setting command="V+">0</setting>
</settings>
</profile>
</data>

END DEVICE***************************************

<?xml version="1.0" encoding="UTF-8"?>

<data>
<profile>
<description_file>XB24-ZB_29A7.xml</description_file>
<settings>
<setting command="ID">0</setting>
<setting command="SC">FFFF</setting>
<setting command="SD">3</setting>
<setting command="ZS">0</setting>
<setting command="NJ">FF</setting>
<setting command="JN">0</setting>
<setting command="DH">0</setting>
<setting command="DL">0</setting>
<setting command="NI">0x20</setting>
<setting command="NH">1E</setting>
<setting command="BH">0</setting>
<setting command="DD">30000</setting>
<setting command="NT">3C</setting>
<setting command="NO">0</setting>
<setting command="CR">3</setting>
<setting command="PL">4</setting>
<setting command="PM">1</setting>
<setting command="EE">0</setting>
<setting command="EO">0</setting>
<setting command="KY"></setting>
<setting command="BD">3</setting>
<setting command="NB">0</setting>
<setting command="SB">0</setting>
<setting command="D7">1</setting>
<setting command="D6">0</setting>
<setting command="AP">1</setting>
<setting command="AO">0</setting>
<setting command="SM">4</setting>
<setting command="ST">1388</setting>
<setting command="SP">20</setting>
<setting command="SN">1</setting>
<setting command="SO">0</setting>
<setting command="PO">0</setting>
<setting command="D0">1</setting>
<setting command="D1">0</setting>
<setting command="D2">0</setting>
<setting command="D3">0</setting>
<setting command="D4">0</setting>
<setting command="D5">1</setting>
<setting command="P0">1</setting>
<setting command="P1">0</setting>
<setting command="P2">0</setting>
<setting command="PR">1FFF</setting>
<setting command="LT">0</setting>
<setting command="RP">28</setting>
<setting command="DO">1</setting>
<setting command="IR">0</setting>
<setting command="IC">0</setting>
<setting command="V+">0</setting>
</settings>
</profile>
</data>
asked Apr 27, 2016 in RF Solutions and XBee by LPS New to the Community (0 points)

Please log in or register to answer this question.

1 Answer

0 votes
The communications you are referring to is Normal for a Zigbee network where one of the nodes is a SLEEPING End device. You see, the end device need to first wake up to receive the data on its UART. It then need to send a poll request to the parent telling the parent that it has data to be sent. Then and only then can it send the data.

The ACK you see on the Coordinator is the Coordinator telling you that the End device is in its child table and it will send the request when the end device wakes and polls the parent.
answered Apr 27, 2016 by mvut Veteran of the Digi Community (15,323 points)
Hi Thank you for the answer.

Meanwhile i found the practical answer to the problem, i was not using the RTS pin from the module, and so the UART comunications were out of sync with the RTS timmings of the End Device and i got timedout comunication.

Right now i think its solved.

Thanks
How did you solve this issue?
They enabled RTS flow control and used the hardware flow control function for the UART.
...