DW1000 time during ranging when using different preamble length

Hello everyone!
Recently I’m trying extracting CIR data from the DWM1001 using Segger Embedded Stdio(SES), but I met some problems.
I use the DWM1001-exampls from GitHub - Decawave/dwm1001-examples: Simple C examples for Decawave DWM1001 hardware as the software for DWM1001 hardware and try to change the DW1000 channel configuration.

The default configuration for DW1000 on the tag and anchor device in this example is:

/DW1000 config function/
static dwt_config_t config = {
5, /* Channel number. /
DWT_PRF_64M, /
Pulse repetition frequency. /
DWT_PLEN_256, /
Preamble length. Used in TX only. /
DWT_PAC16, /
Preamble acquisition chunk size. Used in RX only. /
10, /
TX preamble code. Used in TX only. /
10, /
RX preamble code. Used in RX only. /
0, /
0 to use standard SFD, 1 to use non-standard SFD. /
DWT_BR_850K, /
Data rate. /
DWT_PHRMODE_STD, /
PHY header mode. /
(256 + 1 + 8 - 16) /
SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
};

I try to modify the configuration to have a preamble length of 512, so on both UWB devices I modify the configuration in the main.c as follows:

static dwt_config_t config = {
5, /* Channel number. /
DWT_PRF_64M, /
Pulse repetition frequency. /
DWT_PLEN_512, /
Preamble length. Used in TX only. /
DWT_PAC16, /
Preamble acquisition chunk size. Used in RX only. /
10, /
TX preamble code. Used in TX only. /
10, /
RX preamble code. Used in RX only. /
0, /
0 to use standard SFD, 1 to use non-standard SFD. /
DWT_BR_850K, /
Data rate. /
DWT_PHRMODE_STD, /
PHY header mode. /
(512 + 1 + 8 - 16) /
SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
};

For the configuration there are 10 parameters from top to bottom in the “dwt_config_t config”, these parameters are selected according to follows:

  1. the channel number is set to be 5 , according to DW1000 User Manual chapter 9.3;
  2. the PRF is set to 64MHz, according to User Manual chapter 9.3
  3. the preamble length is modified to 512 based on my need, according to DW1000 User Manual chapter 9.3 , this length is non-standard but still supported by DW1000 according to User Manual chapter 10.3;
  4. the PAC size is 16 according to User Manual chapter 4.1 combined with selected preamble length of 512;
    5 and 6. the TX and RX preamble code both are 10, according to User Manual chapter 10.5 when the channel is 5 and PRF is 64MHz;
  5. the SFD is standard so the value is 0;
  6. the data rate is set to 850kbps considering the selected preamble length, according to DW1000 User Manual chapter 9.3;
  7. this parameter is not changed, I’m not sure whether this parameter should be modified;
  8. the SFD time out is set to 512 + 1 + 8 - 16 according to the notification from examples.

I change preamble length to 256 follows similar steps above for test and successfully received the ranging data and the channel impulse response data, however for preamble length of 512 or longer the device only return “time out”.

So is there some other parameters, for example “Preamble timeout” or “Delay between frames”, that also need to be adjusted for applying preamble longer than 256? Or do I mistake some parameter settings?