Doing so(sending 200 bytes) , i observed undetermined behaviors like tx erros.
Any thing i have to modify the configuration to make it successfull tramsmission/ reception. ?
You need to set both PHR_MODE bits in the SYS_CFG register (as you’ve done) . The important thing is to do this on all devices which are supposed to communicate with each other. For more detailed information, have a look at section 3.4 in the DW1000 user manual. It can be downloaded at http://www.decawave.com/support.
You also need to note that bigger frames = bigger frame time, so you may need to calculate what is the max for your use case, so that all of the messages can fit in the desired slot.
All of the timings, symbol durations are in Data Sheet.
/L
I am setting the TR bit in Transmit Frame Control (0x08) register , and length of the frame as 0xa2 (160 bytes).
The device able to transmit this frame ,the other device is receiving this frame but the RNG bit in the received frame ( in the 0x10 – RX Frame Information Register) is 0 .
Because of which the Rx complete callback is not being called. This RNG bit should be 1 right ?
Please let me know if any reason for this behaviour.
I have trying to send & receive extended lenght frames with DWM1001-DEV kit. I’m using same the same SW as I have used earlier with DWM1000, but have noticed that the same settings and channel parameters do not work with DWM1001-DEV any more. Has there been some changes in the modem firmware/hardware that would impact the long frame feature?
I verified (using Segger embedded studio) that the PHR_MODE bits are written to System Configuration register correctly (by dwt_writetxfctrl()). Also the frame lenght word gets correctly written to Transmit Frame Control register, but only the LSB 8 bits take effect, i.e. if I write 0x116 only 16 databytes are sent.
Now, I’m wondering if I’m missing some configuration or register setting which have changed since DWM1000 days (I’m using about 2 years old DWM1000 samples)?
My channel configuration is:
static dwt_config_t config = {
5, /* Channel number. /
DWT_PRF_64M, // 2 / Pulse repetition frequency. /
DWT_PLEN_128, // 0x14 / Preamble length. Used in TX only. /
DWT_PAC8, // 0 / 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_6M8, / Data rate. /
DWT_PHRMODE_EXT, // 3
(129 + 8 - 8) / SFD timeout (preamble length + 1 + SFD length - PAC size). Used in RX only. */
};