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
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.
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.