DWM1000 dwt_initialise() issue

Hello all, i am studing about UWB and i have a problem with my DWM1000.
I used SPI Linux userspace to write a wrapper readfromspi and writetospi.

  1. I can read dwt_readdevid and an example to test SPI like dataA & dataB was successfull.
  2. when i tried to use dwt_initialise(), SPI work no more correct. Also Devid = 0xFF and dataB is too. And i found that dwt_softreset is this reason.
    I found on Forum. There are Suggestions to solve my problem like dwt_write32bit 0x00001600 into SYS_CFG_ID but it can’t help to solve my Problem.
    I readed DW1000 user manual and i think that i can use Reset_DW1000 (Use Reset Pin) instead of dwt_softreset but i am not sure.
    Could someone help me?
    Thanks

Hi,
from application note;
If the device returns 0xFFFFFFFF then: -
it could be in DEEPSLEEP in which case it needs to be woken up before the SPI read / write
will operate correctly; or the SPI may not have been configured correctly.

Can you write data to registers without configuration and initialization?

1 Like

Hallo Alican. I think so, that decice could be in Deepsleep mode after dwt_softreset. But i don’t know why.
I writed a simple programm to test it. Just like:
Print_decaDevID();
dwt_softreset();
Print_decaDevID();
So i became:
0xdeca0310
0xffffffff;
Before softreset i can write value to registers without Config and Init.


So when i run my programm, i can only see:
“ID READ FAILED AFTER INIT”
How can i solve it?