Forum: Mikrocontroller und Digitale Elektronik ENC424J600 Durchsatz


von Georg (Gast)


Lesenswert?

Hallo,

ich will für ein Projekt Daten vom Mikrocontroller (STM32F747) per 
Ethernet und UDP an einen PC übertragen.
Dabei bin ich auf den ENC424J600 gestoßen.
Sehe ich es richtig, dass dieser 100MB/s Ethernet unterstützt?
Mit was für einem Durchsatz kann ich in der Praxis rechnen wenn ich die 
Verbindung zwischen dem ENC424J600 und dem Mikrocontroller nicht per SPI 
sondern über die parallele Schnittstelle mache?

Hat da jemand Erfahrungswerte?

Vielen Dank im Voraus!

von jo mei (Gast)


Lesenswert?

Georg schrieb:
> ich will für ein Projekt Daten vom Mikrocontroller (STM32F747) per
> Ethernet und UDP an einen PC übertragen.
> Dabei bin ich auf den ENC424J600 gestoßen.

Es gibt keinen STM32F747.

Was auch immer du für einen "grossen" STM32 meinst:

Das passt nicht zusammen, denn ein STM32x7xx hat bereits einen
Ethernet-Controller eingebaut, was sicherlich die bessere
Lösung gegenüber einem externen ist.

Also was wären deine speziellen Beweggründe einen Ethernet-
Controller an einen Mikrocontroller anzuschliessen der
schon "alles" eingebaut hat was für Ethernet nötig ist?

von jo mei (Gast)


Lesenswert?

Nachdem die Themenstellung etwas skurril erscheint muss man sich
schon die Frage stellen ob hier nicht doch der Freitag mit seinen
üblichen Besonderheiten zugeschlagen hat ...

Aber das klärt sich schnell wenn man vom vermuteten TO als Troll
nichts mehr hört oder er saudumme Erklärungsversuche bringt.

von Georg (Gast)


Lesenswert?

Guten Morgen,

also dann versuche ich mal eine saudumme Erklärung:
Tut mir leid, ich habe den falschen Prozessor genannt. Es geht um den 
STM32G474.

Daher ist die Frage noch relevant.
Ich lese einige Sensoren ein und möchte die Daten per Ethernet zum PC 
übertragen, um sie dort auszuwerten. Konkret fallen 8 mal 8bit pro us 
an, also 64bit/us = ~64Mbit/s. Die Frage ist nun, ob ich eine Chance 
habe, diese Datenmenge kontinuierlich mit dem STM32G474 + ENC424J600 per 
UDP abzusenden?

von MiWi (Gast)


Lesenswert?

Schafft es Deine SW am STM32 die Daten ausreichend schnell als Byte oder 
Wort dem ENC zu übergeben und auch UDP anzuwickeln?

170 Taktzyklen erscheinen mir da ein bischen wenig Resourcen um das 
alles ordentlich und vor allem stabil durchzuschaufeln, selbst wenn Du 
da was mit DMA machst

von jo mei (Gast)


Lesenswert?

Georg schrieb:
> Die Frage ist nun, ob ich eine Chance
> habe, diese Datenmenge kontinuierlich mit dem STM32G474 + ENC424J600 per
> UDP abzusenden?

Nö, geht nicht. UDP braucht einen TCP Stack, und der (egal welcher)
hat einen Overhead der weit weg von "ganz wenig" ist.

Frames zusammenbauen, umkopieren und Checksums bilden kostet alles
Rechenzeit. Zudem ist der STM32G474 mit seinen 170 MHz nicht der
schnellste.

Ich würde da eher an die Verwendung eines STM32F7xx oder H7xx
denken (wollen/müssen). Und da wäre dann auch gleich der Ethernet-
Controller eingebaut was den Entwicklungsaufwand reduziert und
auch die Übertragungsgeschwindigkeit verbessert.

von Frank K. (fchk)


Lesenswert?

jo mei schrieb:

> Ich würde da eher an die Verwendung eines STM32F7xx oder H7xx
> denken (wollen/müssen). Und da wäre dann auch gleich der Ethernet-
> Controller eingebaut was den Entwicklungsaufwand reduziert und
> auch die Übertragungsgeschwindigkeit verbessert.

Ich stimme dem voll und ganz zu. Diese externen Ethernet-Controller sind 
immer nur die zweitbeste Wahl und nur für geringe Datenmengen gedacht. 
Du hast Dir einfach den falschen Prozessor ausgesucht. Es gibt genügend 
STM32, die einen eingebauten Ethernet MAC haben, und die sind 
Größenordungen effizienter.

Ein STM32H743 wäre das geeignete für Dich.

fchk

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.