Dear Members, To protect the forum from spam, all new members initial posts will require approval before they are published. Please do not create a duplicate thread. If you do not see the thread then it has been queued for review.  If in any doubt, please contact us through DM Regards Decawave

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
DW1000 Based PCB TX Problem

I created my DW1000 driver. 

First I applied my driver to DWM1000 (Module) based board. My DWM1000 based boards communicated each other successfully. 
Now I'm trying my driver for DW1000 (chip) based board. I get TXFRS on the transmitter side, but i can't RXDFR on the receive side. Receiver side is DWM1000 based PCB.

My init routines for module based PCB and chip based PCB are the same. In chip based PCB there is only one difference : 

I read LDOTUNE_CAL value from OTP and, write this value to LDOTUNE register. Before this, I couldn't get RFPLL Lock on RF_STATUS register. After this I can get RFPLL lock. 
I set ONW_LLDO bit.(I dont use sleep and wake up procedure in application)
But still I can get TXFRS on transmitter and I can't get RXDFR on receiver side.

I dont use TCXO.
Do you have any suggestions for hardware / software about these issues ?

King regards,
Hi Çağatay

With problems like this it is very useful to have a known good reference. In that way you can compare your software to functioning software on a known good system.

Then you can try your software on a known good hardware base.
If your software causes the problem and there is good operation with Decawave software then you can hunt down the problem in your software

Digi Key have a number of options

I hope this helps


Are you setting FS_XTALT correctly? When using the chip directly you need to measure and set the crystal tuning yourself, if this isn't set then the frequency can be off and you'll have trouble communicating.
For the modules you also need to set this but assuming the driver is correctly written it will be automatically reading the factory set value from the OTP and applying it automatically on startup.

Set one of the modules into RF test mode and find the spike on a spectrum analyser (you'll need one that goes up to the centre frequency of the channel in use). Then put your board into RF test mode and adjust the crystal trim value until the two spikes are on top of each other. Save the correct value of tune into the OTP for that board.
Repeat for each board.

If you don't have the equipment to do this then try a default guess of a value of 0x0F (middle of the range) and see if that works (don't program this into the OTP). It doesn't have to be perfect to get communications but the closer you are to the correct value the more reliable and longer range the link.

Forum Jump:

Users browsing this thread: 1 Guest(s)