cancel
Showing results for 
Search instead for 
Did you mean: 

NUCLEO-F439ZI BOARD - MAXIMUM ETHERNET DATA TRANSMIT SPEED

ajith1
Associate II

 

HI STM32 Team,

 

I am currently working in a ethernet based project on STM32-F439ZI Microcontroller and I am looking to transmit 100Mbps which mean 12.5 Mega-Bytes per sec. But practically I can't achieve that speed I was able to achieve 8.2MB per sec. This is because why?. In practically we cannot able to achieve Maximum speed?. What are the possible way to achieve the maximum transmit speed?. 

I have another doubt, There is any difference between integrated phy and mac microcontroller and only integrated mac and external mac. Which I means transmission speed varies because of this architecture changes?

I have attached the code for your reference,

 

Thanks and Regards,

A. Ajith Kumar

6 REPLIES 6
STea
ST Employee

Hello @ajith1 ,

Just need to clarify some points to help you further with your issue.
"I have another doubt, There is any difference between integrated phy and mac microcontroller and only integrated mac and external mac. Which I means transmission speed varies because of this architecture changes?"
I need to have a better understanding of your usecase.

are you implementing the F4 MCU in a custom board?

if yes what is the external Phy you are using?

in which mode you are implementing Ethernet MII or RMII can you share some info about your speed configuration GPIO settings schematics...?
BR 

In order to give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

@ajith1 wrote:

 I was able to achieve 8.2MB per sec.


How did you measure that, and in what network setup?

 


@ajith1 wrote:

In practically we cannot able to achieve Maximum speed?.


The 100Mbps is the raw signalling rate on the wire; there will always be overheads, so you will never achieve 100Mbps of payload throughput.

See, for example:

https://www.gigabit-wireless.com/gigabit-wireless/actual-maximum-throughput-gigabit-ethernet/

(it is talking about Gigabit Ethernet, but similar applies to 100Mbit)

 

Also, on a real network, there will also be other traffic consuming bandwidth.

And there may be delays (software & hardware) in the devices at each end of the link.

 

 

Hi BR,

 

Thanks for response,

"I have another doubt, There is any difference between integrated phy and mac microcontroller and only integrated mac and external mac. Which I means transmission speed varies because of this architecture changes?"

Sorry for the inconvenience, there is a typing mistake in the above sentences.

"I have another doubt, There is any difference between integrated phy and mac microcontroller and only integrated mac and external phy. Which I means transmission speed varies because of this architecture changes?"

In general, I need answer for the above question not referring to the specific microcontroller. 

"are you implementing the F4 MCU in a custom board?"

Yes , I am using Nucleo-F439ZI board and PHY to MAC connection is RMII mode.

The speed configuration is 100Mbps.

I have attached the project in attachments for your references,

 

Thanks and Regards,

A. Ajith Kumar

 

Hi Andrew Neil,

 

Thanks for responses,

"How did you measure that, and in what network setup?"

I have transmitted 5450 packets per sec(I cannot able to send more than that per sec). Each packets consists of data length of 1471 Bytes and the total packet length is 1514 Bytes. 5450 packets * 1514 Bytes = 8,251,300 Bytes . Which means 8.2MB per sec. 

I have verified that the 1514 bytes of data was transmitted in "Wireshark" software.

I have read the article you mentioned in the link. There may be a losses dues to consuming bandwidth and other real network delays.

But for 12.5 MB per sec to 8.2 MB per sec. I have only achieved only 65.6% efficiency. This is because why?

What are the main factors I need to check to get the maximum efficiency. 

I have attached the project in attachments for your reference.

 

Thanks and Regards,

A. Ajith Kumar

ajith1
Associate II

What is the maximum efficiency of Ethernet that we can achieve in practical.

LCE
Principal

I think I have seen users claiming to reach about 94 Mbit / s TX & RX each with the Nucleos.

But I don't know if that was possible using the ETH HAL stuff...

I'm using F7 and H7, and 90 Mbps is no problem. But not using ETH HAL...

One thing you might want to check:
Maybe the transfer is slowed by the PC / windows side. Somewhere in the Windows 10 registry there's a setting for TCP / MTU, that was set to 1200 on my computer.

Just found my notes: