Q:
Hello,
I saw this feature from the Zstack 1.4.3 and I have it too for the Zstack 2.1.0.
I have a coordinator as MSP430+CC2520 and an end_device as the same target (It is our own boards).
In open field when I am associated I can go to > 100 meters, Data_Polling is always acknoledged good from coordinator, so my RF look to be very good).
But I saw at each time that when the end_device want to associate to the coordinator I must return the end_device at under 15 meters to the coordinator
to be associated. And that when I power on the end_device and when I bring the end_device to the limit distance when associate (100 meters).
I saw on 2007 specification, that the end_device look for Link cost (and LQI too I understood), but for coordinator to end_device the Link cost must be very low ! And when I look on Packet Sniffer (board SmartRf05 near coordinator) the Lqi is > 100.
So, what coud explain the fact that I must return to < 15 meters to associate my end_device?
Thanks.
A:
This is an issue with some of the settings used to convert RSSI to a stack LQI metric. I did some experiments and arrived at the following numbers which should get you some better LQI results:
Here is what I changed to get a better representation of the LQI numbers.
#define MAC_RADIO_RECEIVER_SENSITIVITY_DBM -98 /* dBm */ // orig -95
#define MAC_RADIO_RECEIVER_SATURATION_DBM -4 /* dBm */ // orig 10
The reason why I changed MAC_RADIO_RECEIVER_SATURATION_DBM from 10 to -4 is based on this information from our radio
experts on this device:
“the on-chip RSSI flattens out earlier than that for some devices (so even though thecc2520 is able to receive stronger signals, the RSSI isn't able to differentiate between them). Using MAC_RADIO_RECEIVER_SATURATION_DBM=4 will ensure that all devices are able to receive signals within the LQI range, but the LQI will for some devices never reach maximum since the RSSI will never become larger than -4. Using MAC_RADIO_RECEIVER_SATURATION_DBM=-4 will ensure that all devices are able to receive within the LQI rangeand that the LQI doesn't stop before reaching maximum.”
Even with the above change, I had to change the number below to -10 to see some better results on the high end as well as the low end of the LQI range.
/* Threshold above receiver sensitivity for minimum energy detect in dBm (see 6.9.7) */
#define MAC_SPEC_ED_MIN_DBM_ABOVE_RECEIVER_SENSITIVITY -10 // orig 10
Let me know how this works for you.