Forum: Mikrocontroller und Digitale Elektronik Controllerwahl für Lwip (STM32)


von Markus (Gast)


Lesenswert?

Hallo zusammen!

Ich möchte in einem nächsten Projekt gerne Lwip verwenden, um TCP-Daten 
von PC an den Controller und zurück zu übertragen.
Datenverkehr wäre sehr gering und Geschwindigkeit irrelevant.
Hauptaugenmerk liegt auf einem nicht zu überdimensionierten Controller 
ala STM32 F1 oder F4.

Kann man in etwa abschätzen, was man für Lwip für Speicher und 
Geschwindigkeitsanforderungen benötigt?
Ist es möglich mit diesem "gerade so passenden" Controller evtl. dann 
später doch noch eine mini-Weboberfläche haben zu können (Kein muß)?

Evtl. hat hier ja jemand schon mit dem Thema Erfahrung.

Danke erst einmal,
Tom

von ./. (Gast)


Lesenswert?

STM32F107VCT6

LwIP 1.0 HTTP+TFTP+DHCP+ICMP

Tasking VX:

* Memory usage in bytes
========================
+-------------------------------------------------------------------+
| Memory         | Code    | Data    | Reserved | Free    | Total   |
|===================================================================|
| stm32f107flash | 0x0a338 | 0x020d9 |      0x0 | 0x33bef | 0x40000 |
| stm32f107ram   |     0x0 | 0x07d2e |  0x082cf | 0x00003 | 0x10000 |
|-------------------------------------------------------------------|
| Total          | 0x0a338 | 0x09e07 |  0x082cf | 0x33bf2 | 0x50000 |
+-------------------------------------------------------------------+

von ./. (Gast)


Lesenswert?

Das oben ist ohne Optimierung zum Debuggen (und Zugucken).

Optimized: Aggressive (Level 4: fully optimized for size)

* Memory usage in bytes
========================
+-------------------------------------------------------------------+
| Memory         | Code    | Data    | Reserved | Free    | Total   |
|===================================================================|
| stm32f107flash | 0x065a4 | 0x01c1b |      0x0 | 0x37e41 | 0x40000 |
| stm32f107ram   |     0x0 | 0x07d12 |  0x082eb | 0x00003 | 0x10000 |
|-------------------------------------------------------------------|
| Total          | 0x065a4 | 0x0992d |  0x082eb | 0x37e44 | 0x50000 |
+-------------------------------------------------------------------+

von Markus (Gast)


Lesenswert?

Ah, supi - danke.
Wie sieht es mit der nötigen Geschwindigkeit aus?
Gibt es hier untere Grenzwerte ala 48MHz oder so?

von Markus (Gast)


Lesenswert?

:push:

von Dirk (Gast)


Lesenswert?

Markus schrieb:
> Wie sieht es mit der nötigen Geschwindigkeit aus?
> Gibt es hier untere Grenzwerte ala 48MHz oder so?
Der eigentliche Transfer ist über ein FIFO/DMA entkoppelt.
Je nach verwendetem Interface zum PHY hin brauchst Du dort 25MHz oder 
50MHz.

Im Datenblatt ist ein Beispiel (Figure 58, Seite 99):
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/datasheet/CD00220364.pdf
wie aus einem 25MHz Quarz über verschiedene PLLs und Teiler die Takte 
für System, Ethernet, USB und I2S generiert werden können.

Mit 100% Auslastung auf dem Ethernet wird das Kerlchen wahrscheinlich 
nicht klarkommen. Der Controller soll sicher in Deiner Applikation noch 
was anstellen, da kann er nicht die ganze Zeit Buttler für den PHY 
spielen.

VG, Dirk

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.