This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2642R: CC2642R: [CLAOA][Multi tag] CREATE_SYNC fail issue(didn't get SYNC_EST)

Part Number: CC2642R

Hi Ti,

      I have connect 4 tags to 1 anchor(coordinator)  with RF cable(conductive test)

      The default python script will send RTLS_CMD_CREATE_SYNC  all(FF:FF:FF:FF:FF:FF)'  4 times, flow as below(I think it is just a workaround, will you use 1 command to establish sync all devices in adv list?)

==========================

CREATE_SYNC  all

SyncRsp pass

RTLS_EVT_SYNC_EST TAG-A

CREATE_SYNC  all

SyncRsp pass

RTLS_EVT_SYNC_EST TAG-B

CREATE_SYNC  all

SyncRsp pass

RTLS_EVT_SYNC_EST TAG-C

CREATE_SYNC  all

SyncRsp pass

RTLS_EVT_SYNC_EST TAG-D

==========================    

It is easy to have a problem--> not receiving SYNC_EST of a certain tag

I try to enlarge sync_timeout value(5000) of CREATE_SYNC, looks like there is some improvement, and i can see the interval of CREATE_SYNC and RTLS_EVT_SYNC more than 4s for a certain tag(others are about 200ms)

so i guess sometimes a certain tag need more time to complete RTLS_EVT_SYNC_EST. but I still have a high probability of SYNC_EST fail even enlarge sync_timeout  to 5s.

Do you have the same problem on muti tag and know why sometimes need so much time to establish sync?

  • Hi,

    Generally speaking, the timeout selected should be adapted based on the number of devices to synchronize and their advertising interval.

    In addition to that, synchronization establishment requires the device to listen on the primary channels for a fairly long time. When several devices are synchronized, this Rx period gets interrupted by the reception of the messages of the already synchronized devices. As a consequence the synchronization establishment time may become longer.

    A work around to this could be to increase the periodic advertisement interval (not always possible). 
    A second work around could be to let the device skip some periodic advertisement packets, first by increasing the timeout of the synchronization (parameter syncTimeout) and allow it to skip some packets (parameter skip). See here for more details. These parameters can then be changed once all the required synchronization get established.

    Best regards,

  • In SDK5.2, i modified parameter skip to "100", that will cause the coordinator to reply IQ data once every 100 CTEs.

    This parameter currently has a bug?

  • Hi,

    In SDK5.2, i modified parameter skip to "100", that will cause the coordinator to reply IQ data once every 100 CTEs.

    This is actually the way this parameter is intended to work. This should have freed-up some air time.

    Once you have all the devices synced, you can update the skip parameter to its original value.

    Best regards,

  • thx your comment.

       What command can used to update parameter "skip"?

        Sometimes we may lost sync when catch IQ, so i think we still need the "Skip" parameter as a value for the maximum loss limit , not always ignore these packets

  • Hi Valery,

    Actually, it is not possible to modify the parameter skip after synchronization is established. It requires to drop the synchronization and re-establish.

    Best regards,

  • 1.What is the SKIP parameter used in your definition?

    as a value for the maximum loss limit or always ignore these packets?

    if used for maximum number of allowed losses, SDK5.2 seems to have some bugs

    2.I'm not quite able to understand why it sometimes takes more than 4 seconds or more to create sync, can you explain what create_sync actually does and how many periodicity packets need to sync before it's done?

    3.if the RX period will get interrupted by another synchronized devices,  some tags may always fail to sync in the worst case when the number of tags is large and the interval is short.(we used 50ms)

    Can you tell me how to calculate a suitable limit of tags when the interval time = 50ms, and how long the RX period cannot be interrupted to avoid longer establishment time?

    ================================================================================

    In addition to that, synchronization establishment requires the device to listen on the primary channels for a fairly long time. When several devices are synchronized, this Rx period gets interrupted by the reception of the messages of the already synchronized devices. As a consequence the synchronization establishment time may become longer.

    ===================================================================

  • Hi Valery,

    Thank you for your patience.

    1- It sounds like we have a hard time understanding each other with the terms "synchronization timeout" and "skip". Let me try to clarify this Slight smile

    The definitions I have being using for these parameters are the ones given in the Bluetooth Specifications (BLUETOOTH CORE SPECIFICATION Version 5.3 | Vol 4, Part E, §7.8.92).

    • The Skip parameter specifies the number of consecutive periodic advertising packets that the receiver may skip after successfully receiving a periodic advertising packet.
    • The Sync_Timeout parameter specifies the maximum permitted time between successful receives. If this time is exceeded, synchronization is lost.

    2- The synchronization establishment duration depends on a three main parameters:

    • The long range advertisement interval
    • The periodic advertisement interval
    • The duration the scanning device spends in listening mode

    Here, my hypothesis was the air time available for the scanner is too small. In other words, the scanner spends too much time listening for the periodic advertisements it is connected with, hence does not have time to listen for new advertiser. To confirm/reject this hypothesis, I would suggest to enable the radio debugging signals (you can find the procedure here).

    The second hypothesis I am thinking about is a too big long range advertisement interval.

    3- I haven't any resource giving this value.
    Based on the radio debugging signals I have, the reception of each periodic advertisement takes ~2.5ms.

    • Based on the number of devices synchronized, you can compute the average air time is left
    • Based on the long range advertisement interval, you can estimate the average time to catch the long range advertisement
    • Based on the number of devices synchronized, you can estimate the probability for collisions between already synchronized devices and the new device. These collisions may delay the synchronization establishment.

    I hope this will help,

    Best regards,