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.

CCS/CC1310: RAT error after standby

Part Number: CC1310

Tool/software: Code Composer Studio

I am making a time synchronization protocol using the CC1310. I am currently using the LAUNCHXL-CC1310 board. The slave nodes calculate the offset and clock skew between its RAT time and the root nodes time RAT time and use it to calculate a global time. The root node is set to broadcast its time once ever 4 seconds. Once a second the nodes read the RAT time, calculate the global time, and toggles a GPIO pin on the change of each second so I can measure the error using a oscilloscope. I'm using the RF_getCurrentTime() function to get the RAT time.

I have it working quite well without any power saving features on the radio but when I enable sleep using RF_yield or rfParams.nInactivityTimeout iI get a lot more error. Without power saving on the radio i can get +-2uS between the three nodes i have (1 root node, 2 slave nodes). With power saving i can only get -+500uS. While this isn't a lot of error its more than i can deal with in my application.

My question is, what kind error can I expect from sleeping and waking the RAT timer? My impression was it is synced with the RTC so there shouldn't be much error at all.

Is there a need to wake the radio when using the RF_getCurrentTime() function?

  • Hi Chris,

    Chris Pink said:
    Once a second the nodes read the RAT time, calculate the global time, and toggles a GPIO pin on the change of each second so I can measure the error using a oscilloscope. I'm using the RF_getCurrentTime() function to get the RAT time.

    I wonder how you achieved that much accuracy with this approach. Could you post the related code?