Dwm3001c dk Spi Read Device ID


I am trying to read Device read from dw3000 in the DWM3001C dev kit.
I attached the SPI results.
What I am missing here?
Are there a open source code to understand the SPI command structure?
Is it same with dw1000?


The SPI is very similar to on the DW1000. The DW3000 datasheet and user manual give details.
SPI busses normally have pull ups so that they idle high, yours looks to be idling low.

Given the total lack of difference in the data lines between selected and not selected I’d be checking things like power and reset. And possibly adding pullups on the SPI lines.

I am using internal pullup MISO but there is no internal pullup for MOSI. DWM3001CDK so I believe it should not be needed I believe.

Could you tell me the exact SPI values to read device id. So I want to be sure There is something wrong with my setup. Am I sending correct?

I am using NRF SDK 17.02.

MISO is low all the time, even when the part is chip selected. That isn’t what you would expect if there is an internal pullup.

You are clocking in 16 0’s which translates to read register 0, device ID.

Your SPI bus looks dead. While the MOSI looks correct for read device ID the idle state is not the normal one. The output from the chip is not the correct idle and looks like it’s not connected to anything.
I still say it’s either an SPI connections issue or the device is unpowered/in reset.


I fixed that issue.

But still no responce from board. I am clearing the reset pin. I dont know if I should do an extra for DWM3001CDK.
If I upload the project, would you try it?

I don’t have a DWM30001.
The total lack of response means it still looks like some sort of hardware issue.

Do I need to change anything than reset pin?
I am clearing that pin. That should be enough It was in the dw1000.

The DW1000 / DWM1000 don’t have a processor. The DWM3001 (and DWM1001) do have a processor that normally talks to the actual DW chip over SPI. If you want to to talk to the decawave directly have you done the appropriate steps to connect the SPI bus to your device rather than the built in processor?
Or is this code running on the built in processor in which case the hardware should all be good.

I recently developed a twr example with DWM1001C with the exact same approach.
But I couldnt even read the device address in DWM3001C.
Bluetooth, USB bus and SPI works in the Nrf52833 in DWM3001C board. But couldnt get any responce from DW3000 device.