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.

LP-EM-CC1354P10: TI 15.4 Throughput measurement

Part Number: LP-EM-CC1354P10

Tool/software:

Hello all,

I am trying to measure the throughput of 15.4 but could not find any example on sdk.

My questions are:

1. Is there any way I can integrate iperf on sensor or collector`s example from SDK? if yes , please provide the reference/steps to do it.
2. What is the other best way to measure the throughput of 15.4 on this board?
3. Also I am thinking to modify sensor`s example code to check if I can transmit maximum number of data in minimum time possible to measue throughput. Is this a possible way to measure the throughput?

Any help is appreciated.
Thanks in advance.

  • Hi Nilesh,

    thank you for your questions. I apologize for the delayed response, please see my comments below in blue.

    1. Is there any way I can integrate iperf on sensor or collector`s example from SDK? if yes , please provide the reference/steps to do it.
    Unfortunately there is no way to integrate iPerf by default because the connection to the PC is only a UART connection. We only have a network interface connection called wfantund for the TI Wi-SUN FAN network stack that allows you to run iPerf. For the TI 15.4 Stack you would need to write this network interface yourself.

    2. What is the other best way to measure the throughput of 15.4 on this board?
    I would suggest you to first make the calculation according to your packet size, used PHY and communication intervals. If you are using beacon mode or non-beacon mode the TI 15.4 Stack is not transmitting asynchronous messages and therefore it is completely predictable. For a measurement you could send data from one side to another and output it on the UART measuring the time. But this would also include the UART delay. Other than that you can set timestamps in the application in the message callbacks and log when the messages where received and later deriving the real throughput from that.

    3. Also I am thinking to modify sensor`s example code to check if I can transmit maximum number of data in minimum time possible to measue throughput. Is this a possible way to measure the throughput?
    This would be the option of using timestamps in the message transmit/receive callbacks. But in general I would first make the calculations using the PHY speed and application parameters which should already indicate if you meet your requirements.

    Please let me know if you have further questions. If you explain me your use-case and the application parameters I can also help you with the calculations.

    Kind regards,
    Theo

  • Hi Theo,

    Thanks for the reply.

    My current task is to measure throughput of openthread 15.4 with much higher payload hence I need iperf integartion.

    I found this link, but ping has limitation of 1200 bytes so I want iperf.

    Can you suggest how I can integrate iperf on this CLI example or any other example?

    Do you know where I can get source library of iperf?

    Thanks,
    Nilesh.

  • Hi Nilesh,

    ping has limitation of 1200 bytes

    I assume you mean the size parameter of the ping command?  Each 802.15.4 IEEE packet is limited to 128 bytes by the protocol, so this ping will be fragmented packets which are sent consecutively.  You could work with this by decreasing the ping size while reducing the interval and making sure that the PER remains minimal.

    Can you suggest how I can integrate iperf on this CLI example or any other example

    "iperf is a simple, open source tool to measure the network bandwidth. It can test TCP or UDP throughput

    The CLI example is a single-MCU solution with an on-chip OpenThread application which is limited by the amount of flash memory on the target device.  It can support UDP and TCP CLI commands, but does not intrinsically support iperf on-chip.  Here is a reference for testing UDP/TCP functionality with the CLI.

    A Thread Border Router involves a two-chip solution consisting of the SimpleLink MCU acting as Radio Co-Processor (RCP) and a host processor (typically Linux-based).  In this application, the iperf solution is maintained on the Linux host which then sends radio commands to the RCP over a communication peripheral (UART by default).  This is likely the environment you want to set up for your Thread protocol tests.

    Do you know where I can get source library of iperf?

    Since this is a third-party resource, I recommend that you investigate the following:

    https://iperf.fr/iperf-doc.php#compiling 
    https://code.google.com/archive/p/iperf/ 

    Regards,
    Ryan