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.

CC1312R: Scan Duration Exponent

Part Number: CC1312R

Hi,

simplelink_cc13xx_cc26xx_sdk_6_10_00_29 868MHz LRM

I have a product where I am trying to reduce the power consumption of a sleepy sensor which leaves the network on a daily basis and so goes into a rejoining state where it issues beacon requests. Specifically, the time the receiver is on for after a beacon request has a large influence on battery life for my product. For the scan duration exponent, my setting is the default of 5 which seems to be about 1.6s of Rx on time after a beacon request. Once a device has joined a network, a rejoin (beacon request) only happens on the one channel to which it is joined. This is to save from scanning other channels which are unnecessary. 

With a view to reducing this Rx on time, I would like to know:

1) After the Collector has received a beacon request, what is the maximum time it will attempt to transmit a beacon before a CSMA timeout? This assumes a very busy network. I have 60 or so devices plus routers all within a small area for testing purposes.

2) Does a beacon get queued in the coordinator's mac tx and rx queue? Would a beacon therefore be subject to delay depending on how busy the mac was with sending and receiving messages? Or does the beacon bypass any queuing mechanism and will timeout consistently on CSMA?

Thanks for your help. I do not want to change the scan duration exponent of the sensor without having some insight into the behaviour of the collector and its beacons.

Andy

  • Hi Andy,

    I am assuming you are using the TI 15.4 stack in non beacon mode.

    I will answer your two questions in reverse order:

    2) Yes, a beacon frame will get queued in the coordinators TX queue. So, yes the beacon will be delayed if the mac is busy.

    1) Let's ignore the delay due to queueing in the TX queue and only focus on the delay of CSMA itself.

    The delay used in the CSMA algorithm is random for each CSMA backoff. The maximum delay (in number of backoff periods) for each CSMA backoff is given by the backoff exponent (BE) as follows: (2^BE) -1. 
    If we assume each backoff will use the maximum configured backoff exponent (CONFIG_MAX_BE) and there will be the maximum amount of CSMA backoffs (CONFIG_MAC_MAX_CSMA_BACKOFFS) then we can estimate the worst case delay (in number if backoff periods) to be: CONFIG_MAC_MAX_CSMA_BACKOFFS*((2^CONFIG_MAX_BE)-1) 

    Note, this does not take into account the CCA time. 

    Regards,
    Nikolaj

  • Great, thank you. That is a clear answer.