I am using a pair of DWS1000 mounted on the Nucleo F429 board for LOS distance measurement and using System Workbench for STM32. One module has the ss_twr_init example code and the other module the ss_twr_resp example code. I have tested the 6.8Meg data rate with standard SFD and the 850K data rate with the non-standard SFD and both work perfectly. The issue occurs when I try the 110K data rate. Regardless of preamble length, the distance will report a negative number from -20m to -30m depending on preamble length. It seems to be related to the delay of the response. Here is a typical config:
static dwt_config_t config = {
2, // channel number
DWT_PRF_64M, // Pulse repetition frequency
DWT_PLEN_1536, // Preamble length
DWT_PAC64, // Preamble acq. chunk size
9, // TX code
9, // RX code
1, // non-standard SFD
DWT_BR_110K, // Data rate
DWT_PHRMODE_STD, // PHY header
(1537 + 64 - 64) // SFD timeout
};
TX and RX antenna delays = 16415
For the Init side:
POLL_TX_TO_RESP_RX_DLY_UUS = 140
RESP_RX_TIMEOUT_UUS = 4500
For the Resp side:
POLL_RX_TO_RESP_TX_DLY_UUS = 3090
Here is the GPIO5 and GPIO6 TX/RX signalling capture
I also noticed that the negative values seemed to drift and not settle into a steady value.
Is there some other parameter that needs to be set for the slower data rate?
Thanks,
Sam