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.

RM57L843: UDP DATA TRANSFER - 10Base-T (10 Mbits/sec) and 100BaseTX (100 Mbits/sec)

Part Number: RM57L843

HI TI-TEAM,

I have working Ethernet Data Transmit . As per the microcontroller user guide. The microcontroller can able to transmit 10Base-T (10 Mbits/sec) and 100BaseTX (100 Mbits/sec) which means 1.2MB/sec and 12.5MB/sec. But i can able to transmit only 4MB/sec.This because why? After the 1st second data transmission was 1MB,1.2MB,3.5MB,0.2MB,4.5MB the transmission speed was varying.Why the speed was varying.

Kindly support us.

Thanks and Regards,

A.Ajith Kumar 

  • Hi Ajith Kumar,

    We started working on your issue and will provide an update ASAP.

    --
    Thanks & regards,
    Jagadish.

  • Hi Jagadish,

    AJITH SAID :"After the 1st second data transmission was 1MB,1.2MB,3.5MB,0.2MB,4.5MB the transmission speed was varying"

    Now the tranmission data was constant speed with respect to time.

    I have achieved 4.9MB/sec for all seconds. But still i can't achieve 12.5MB/sec.

    Thanks & regards,

    A.Ajith Kumar

  • Hi Ajith Kumar,

    Is your application uses FreeRTOS?

    Can you please send the project over private chat to test it at my end? And can you please also give the test method you followed(Tools and process followed)?

    --
    Thanks & regards,
    Jagadish.

  • Hi Jagadish,

    I have attached the video and Project for your reference below,

    ETHERNET_DATA_SEND.zip

    I have Created a array consists of 1471 Bytes of characters. Whereas when form the ethernet frames structure it will 1514 Bytes which is maximum. I have enabled the rti timer which was 1 second tick. In my program I will send the ethernet packet in while(1). After the 10 sec the while(1) will break. 

    Then in wiresharp software we need to check how many packets was transmitted for 10 sec.That is End frame - Start frame. Each frame consists of 1471B of data of1514B total packet size. We need to multiply the no.of frames  * packet size(1514B). The no of frames we gotted was for 10 sec. For 1 sec it should be divided by 10. So we get the no.of Bytes transmitted for 1 sec.It can be converted into a MegaBytes. 

    Thanks and Regards,

    A. Ajith Kumar

  • Thanks for sharing the details, i am trying to reproduce the issue at my end. I will try to provide an update ASAP.

    --
    Thanks & regards,
    Jagadish.

  • Hi Ajith Kumar,

    I don't find any software bugs in your code.

    The only issue i found is, calling "udp_new" is not require for every packet. We can call this one in one time before we start the communication so i moved this one before while(1).

    This modification also doesn't impact the throughput. 

    Definitely we can't achieve 12.5MB/s, because it is ideal case practically it is not possible. And at the same time we don't have any data to confirm the max throughput.

    And after going through your code, i don't see any other ways to improve the throughput further as well.

    --
    Thanks & regards,
    Jagadish.

  • Hi Jagadish,

    Thanks for your valuable support.

    Regards,

    A. Ajith Kumar