System Time Counter


I was referring DW1000 user manual(dw100020user20manual_0.pdf). While reading this, I am stuck at many sections. Some values/calculations are shown. But the meaning of these values are not given. Please explain the highlighted section below section.

From where these values are derived? Is there any document explains this.

Shijo Thomas


I’m also interested if I could reset the timer?
I couldn’t find any referral in the manual for that and soft/hard reset is not an option in my case.


All is explained in DW1000 UM :slight_smile:

499.2 MHz is the fundamental clock freq, the system time counter increments are derived from that. The 40-bit register wraps (which stores this value) wraps with a period 2^40 or 17.2 seconds.

The timer can be reset - by doing DW1000 hard or soft reset, or when DW1000 is woken from sleep, or by using external sync clock reset event - please see UM.

hi zoran_skrba,
Can you tell me how to reset time by software ??? Thanks you

The document image you posted gives you the values.

The DW1000 runs from a 38.4 MHz clock, either a 38.4 MHz crystal or an external clock. This is multiplied by a PLL by 13 to 499.2 MHz. This is divided by 4 to get 124.8 MHz. This is the main internal clock of the DW1000.

The fundamental unit of time in UWB is a tick, about 15.65 ps. There are 512 ticks in each 124.8 MHz clock period. Thus while SYS_TIME has 40 bits where the LSB is one tick, it only increments in 512 chunks since making a counter that runs at ~64 GHz isn’t truly feasible. Thus it will count:

0x00 0000 0000
0x00 0000 0200
0x00 0000 0400

0x00 0000 0000

The counter increments at 124.8 MHz, or a bit over 8 ns per increment.

This is also why transmit launch times are always on 512 tick boundaries to line up with the internal clock structure of the DW1000.

The wrap around to zero occurs when the 40 bits is exceeded, which is every ~17.2 seconds.

Mike Ciholas, President, Ciholas, Inc
3700 Bell Road, Newburgh, IN 47630 USA
+1 812 962 9408