Other Parts Discussed in Thread: SYSCONFIG
Hi:
I am running a modified rfPacketTx on one CC1312 and rfPacketRx on another CC1312.
I have changed the example code to transmit back-to-back 8-byte packets with the 1 Mbps
350 KHz deviation 2 GFSK 2.2 MHz PHY type. I use RF_runCmd to schedule the transmission
and receive. I can achieve only around 13 kBytes = 104 kbps/sec on the receive. Theoretically,
I should be able to transmit and receive at a much higher rate. Note that I do acquire the data packets
from a UART interface on the transmit side, but that is not the bottle neck. I have large buffers
on the transmit side and I call RF_runCmd to schedule the transmit as quickly as I acquire the
data from UART. I have tried various code changes, and the only way to improve the throughput
seems to be using larger packets for each transmit. So, it seems the data rate is bottlenecked
by the number of actual transmissions that can be run per second. Does anyone know what that
limit is (by the hardware or the TI RTOS scheduler?) In all the transmission example codes I have
seen, there is a transmission interval between each call to RF_runCmd. On SmartRF, the default
interval is set to 10 msec, and the smallest value that can be set is 1 msec. In the rfPacketTx example,
the default interval is 500 msec. I got rid of these intervals in my code and call RF_runCmd back-to-back,
and, in my case I did not see any packet corruption or dropping on the receiving side. Is the transmission
interval necessary, and why do the examples have such big intervals? Note that I do not call RF_yield after
each transmission, so that the radio is always running.
The bottom line is, I need to find a way to achieve higher rate of throughput with small packets ( <= 8 bytes).
Is there something I can do with the RF_runCmd properties or the TI RTOS scheduler?
Thanks,
TW