I’m looking to put the DW1000 into a deep sleep, and then to wake it up and start ranging operations. Here’s the output from the text program, which is actually DW’s program that I have hacked a bit.

Semihosting operational                    trace messages via semi-hosting   
DW1000 now in (deep?) sleep mode           put  DW1000 to sleep


DW1000 failed to respond                   provably not responding

Clear chip select and wait 200us           slowly toggle chip select
Set chip select and wait 5000us

Retry DW1000
                               see if it responds now?
DW1000 responding
                                         
TAG mode                                  
set myself in tag mode
TAG BLINK 100886205E37F75A               beacon my 64bit address
080018 Me:0 Other:100999205E37F8FD 1.28    ranges to “other”
138060 Me:0 Other:100999205E37F8FD 1.04
138018 Me:0 Other:100999205E37F8FD 1.10
138119 Me:0 Other:100999205E37F8FD 1.04
138123 Me:0 Other:100999205E37F8FD 1.04

For some reason the first range is always about 20 cms too large.  I’ve tried this perhaps 20 times, and it is consistently too big.

However, the Nanotron always had to do 3/4 range operations before it stabilized!
Of course I don’t know if this process is actually saving any power.  I have not figured out how to measure that yet.
Their code is ambiguous about whether the crystal is turned off or not.  The code claims it is, but the comments in the code claim it isn’t.

Observed Power

I found instructions for measuring the current.  All I have is a clunky Fluke, but it seems to measure something or other that’s changing.

If I turn the crystal off during deep sleep, the Fluke reads 0mA.  If I leave the crystal on, then it reads 3.67 mA.  Can it be true that the crystal is sucking that much power, or is this a measuring science issue?  According to the spec, sleeping ought to cost a few uA.

The other problem is that when the Fluke is connected to the tag node the ranging doesn’t work.  If I connect the Fluke to the anchor node (which is battery powered) it does work.  Maybe I should swap the PSUs over and see if it makes any difference.

Useful general numbers

TX    70mA
RX    30mA
Sleep 1uA
A small ranging packet takes about 200uS to send or receive.

Useful specific numbers for Tag ranging

Poll 176uS
Idle 312uS
RX   192uS
Idle 320uS
TX   ~192uS

Useful specific numbers for Anchor mode

Idle after responding to poll  312uS
Receive Poll                   192uS
Respond                        180uS
Idle                           300uS
Receive final                  220uS

Leave a Reply