We are using MCU to control this transceiver and using time syncronisation between nodes. We use 20Kbps data rate and expect for 5Byte preamble 2 byte sync word and 5 byte data to take 4.8ms. But, in practice we observe 9ms before a Tx complete interrupt. We have verified that this is not a MCU polling or other MCU latency. We have verified that SPI speed increase does not help. Can someone help us how we can improve the speed with the same data rate looking at the config file attached.
Hi HS Jagadeeshwar,
The radio's data rate does not depend on the SPI speed.
You can validate the time spent in transmission monitoring debug signals on GPIOs using a logic analyzer:
- TX_STATE (or EN_PA) is high during transmission,
- TX_DATA_CLK and TX_DATA outputs the data clock (toggles with bitrate * 2) and the data bits (pulled from the TX FIFO) respectively.
To config the GPIO signals use the GPIO_PIN_CONFIG command or set it up on WDS's GPIO and FRR tab.
I had a similar configuration to your one, and I got the expected TX length:
Although, there may be additional clocks on the TX_DATA_CLOCK, as well as the device is a bit longer in TX, than the actual transmission is happening, but it is not almost twice as more than the transmission time.
Measuring with the interrupts can be very inaccurate, therefore it is recommended to use the debug signals for this purpose.