This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/LAUNCHXL-CC1310: Minimum interval for RF module

Part Number: LAUNCHXL-CC1310
Other Parts Discussed in Thread: CC1310

Tool/software: Code Composer Studio

Hello Dear TI support,

I have a question regarding the RF module minimum interval. My application is pretty straight forward. I want to read one value from SPI and transmit it with the RF module. The RF module is supposed to be my feedback loop. The number I need to send is just a simple number between 0 to 3000. The only constrain I have is that I want the interval between two packages to be minimum. For example, I need to send 20000 numbers per second and with the same interval between every two packets which means I need to send 20000 packets (each packet would have only one number).

I have tried to find out what is the minimum interval between two samples (in other words, how long it would take for a single packet to be sent) with the help of rfPacketTx. without changing any other parameters, the minimum PACKET_INTERVAL that I could find is 50mSec where the system still operates without a problem.

So would you please help me to find the answer of following questions?

1- What is the minimum time interval between two packets for sending just one number? is it possible to reach 20k packet per second?

2- If yes, what is the best direction to make it possible?

Best regards,

Mori

  • Hi Mori,

    I have asked an expert to comment. Please bear with me.

    Kind regards,

  • Hi Mori,

    Let's do some math here; assuming a maximum symbol rate of 500 kbps (highest setting in SmartRF Studio:

    * We need to have a payload of at least 2 bytes send a value of 3000

    * We know the length of the packet so we do not need to include this into the payload

    * We have only one device and assume we do not need to filter on any address

    * We want to keep the 2 byte CRC so we know all was OK

    This leaves us (per default) 4 bytes worth of preamble, 4 bytes of syncword, 2 bytes of payload and 2 bytes of CRC, a total of 12 bytes / packet.

    The over the air time for this would be 12 * 8 / 500000 = 0.192 ms, in other words, you could fit roughly 5200 packets / second (not taking into account any timing requirements in terms of SW and HW that would impact these numbers negatively.  

    What I want you to take away from this is that you need to first do your calculations to figure the following:

    * How your packet will look over the air, what do I need to send. 

    * At what symbol rate do I need to run to make this work, is it sensible for the device in question?

    Keep in mind that sending 20000*16 bits (needed to send the number 3000) requires a symbol rate > 320 kbps. That is when NOT including any preamble, sync word and CRC additions.

  • Thank you so much. It made the discussion very clear for me. Just one thing to ask. You mentioned the SmartRF highest setting is 500kbps. But I can see the CC1310 itself can transfer up to 4000ksps which is almost 8 times higher and I guess it has to be high-speed mode. So, if I want to use this mode, does it mean roughly I can increase the number of packets 8 times (5200*8 = 41600 packets per second)? 

    Best regards,

    Amir

  • Hi Mori,

    Yes, there is a 4 Mbps high-speed mode but there is no "official" settings for this, which is why it is not in the SmartRF Studio. You can however find working settings for this in the "packetErrorRate" example in the SDK.

    While the symbol rate would be 8 times higher, there is a bit more overhead when in this mode so you would likely get 6-7 more packets out at best. The higher symbol rate do come with a decrease in range, could be worth considering as you did not mention your range requirements.