This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Time Synchronization Enhanced Shock Burst

Hello,

I am developing a wireless sensor network to exchange body movement acceleration data with one Master and several Slaves. In the developing phase I am using the nRF52 DKs with the Enhanced Shock Burst Protocol.

I was thinking about a possibility to synchronize the Slaves with the master clock and I found one really good blog entry:

devzone.nordicsemi.com/.../

My question: Actually it is for BLE but do I have the possibility to use this Timeslot API for the Enhanced Shock Burst Protocol either?

Thanks in advance,

Florian

  • FormerMember
    0 FormerMember

    Yes, it is possible to use Enhanced Shock Burst (ESB) with the Timeslot API to make ESB run concurrently with BLE. This blog post explains/shows how micro-ESB can run concurrently with BLE using the timeslot API.

    Update 13.12.2016: It is not possible to set the value of the timer. The principle of the time synchronization is to reset the "slave" timer at the same time as the "master" timer. If using the time synchronization pirinciple in the "Wireless timer synchronization among nRF5 devices", the timer offset is calculated in sync_timer_offset_compensate(), and the "slave" timer will be reset when it hits the value 'TIMER_MAX_VAL - timer_offset'

    Since the time synchronization only consists of resetting the timer, it will work fine to use nrf_drv_timer.

  • I only want to use ESB prorietary protocol. So actually I dont need the timeslotting in that way. For this I have two questions:

    1. How can I modify a timer value one the reveiver side after I compared the current local timer value with the timer value from the transmitter device? Is it possible with the driver lib of the timer? The onyl function I found was nrf_drv_timer_increment(nrf_drv_timer_t const * const p_instance).
    2. Is it possible to do the synchronization only with the driver libs? Because you linked a blog entry which uses the micro-ESB.
  • FormerMember
    0 FormerMember in reply to FormerMember

    In my original answer, I thought you wanted to use BLE and the timeslot API. But now I have updated my answer to cover the time synchronization part.

Related