Question Regarding dwt_readdevid

Hi Everyone,

I am currently using the API on a Blackfin BF506 EZLITE kit, and have been running into some issues with the dwt_readdevid() function as provided by the API. Of course, I have written the low level, target-specific functions like writetospi() and readfromspi(), and everything seems to be working fine for the first time. Whenever my main program starts running, it calls the dwt_readdevid() function to verify that spi communication has been succesfully set up, and it works fine the first time. However, when I put the function in a while loop to keep reading from the same register, the result has been consistently “6fe50098” instead of “deca0130”. Has anyone ran into this issue before?

In the meantime, I am also having trouble regarding the dwt_writetxdata() function in which I cannot get the same data back when reading from the tx buffer as the one I had written to it. Anyone has any idea if this may be a hardware issue or a software one? I am using a custom-made board that hosts the DWM1000 radio module by the way. Thank you.



what is the operating speed of your SPI bus?
Before enabling highspeed PLL clock, you may only use 2MHz SPI.

Did you check the SPI signals with an oscilloscope?

  • show quoted text -
    This looks as if you have trouble to talk to the device at all. Check
    your SPI bus settings. Do they fit to SPIPOL and SPIPHA pin voltages?
    Compare with DWM1000 Datasheet p.19.


TX buffer is not fully readable… The programmable SFD register file, USR_SFD at address 0x21 would suit your test better and is 401 bytes long.


Hey guys,

Thank you for the suggestions, it was very helpful in helping me identify the problem.