Forum: Mikrocontroller und Digitale Elektronik STM32 Nucleo welches Board am besten?


von Johannes (Gast)


Lesenswert?

Guten Morgen,

ich würde mich gerne zukünftig in die Welt der STM32 einarbeiten.

Ich habe bisher gute AVR Kenntnisse aber STM32 sind ganz neu für mich.

Nun schwebt mir schon ein Projekt vor und ich suche daher nach einem 
NucleoBoard, dass eine Can und Ethernet Schnittstelle hat. Sowie die 
Möglichkeit eine SD Karte anzuschließen um große Datenmengen (ca 200MB) 
unterzubringen. Ich möchte damit eine Ansteuerung von HUB75 Panels 
bauen.

Nun bin ich etwas überfordert welches Board das beste für mich wäre. 
Haben die alten Hasen evtl. einen Tipp für mich welches aktuelle Board 
gut geeignet wäre?

von Johannes (Gast)


Lesenswert?

Achso noch als Ergänzung, es sollte kein STM mit BGA Gehäuse sein. Weil 
ich später gerne noch selbst Platinen mit dem Chip bestücken möchte und 
nach Möglichkeit sollte der Ram eher größer sein.

von STK500-Besitzer (Gast)


Lesenswert?

Johannes schrieb:
> dass eine Can und Ethernet Schnittstelle hat.

Gibt es nicht als Mucleo.
Es gibt ein Evaluationboard von STM mit dem STM32F429 und diversen 
Schnittstellen-Steckverbindern: STM32429I-EVAL1
Preislich recht weit von einem NUCLEO entfernt.

Johannes schrieb:
> kein STM mit BGA Gehäuse

Die Gehäuseform hängt nur mit der Anzahl der herausgeführten Pins 
zusammen.
Jeder F429 hat den gleiche Prozessor etc, nur sind unterschiedlich viele 
Pins herausgeführt.
Steht aber alles im Datenblatt.
Ich führe den F429 deswegen auf, weil das der Controller ist, den wir in 
verschiedenen (Gehäuse-) Varianten in der Firma nutzen.

von S.B.Z.ettler (Gast)


Lesenswert?

Fang mit dem kleinsten an. STM32F030.
Es wird nicht ruinieren und deinen Geist nicht ueberfordern.
Weil kleiner (minimaler) gibts die nicht.

von Johannes (Gast)


Lesenswert?

Ich denke wenn es kein Board mit Ethernet gibt kann ich auf Ethernet 
verzichten. Das wäre nur nur eine Kann Anforderung. CAN ist hingegen ein 
Muss.

Ich glaube dann wäre diese Board gut für mich geeignet oder?

https://www.reichelt.de/nucleo-144-arm-cortex-m4-stm32-l4-serie-nucleo-l496zg-p276496.html?&trstct=vrt_pdn&nbc=1

Gibt es dort evtl. noch soetwas wie ein Shield um das Board mit Ethernet 
erweitern zu können?

Mit dem kleinsten Board will ich nun wirklich nicht anfangen um dann 
direkt das nächst größere zu kaufen.

von STK500-Besitzer (Gast)


Lesenswert?


von user83u493 (Gast)


Lesenswert?

Ich würde es andersrum machen. Ein Nucleo Board mit Ethernet auswählen.
CAN haben die meisten Controller ja drinnen. Die RX und TX Leitung ist 
dann auch fast immer auf die Pinheader geführt. Da kannst du dann ein 
kleines Shield oder ähnliches anbringen.
CAN Shield ist sicher einfacher und weniger Aufwand wie Ethernet Shield.

Lad dir mal CubeMX von STM herunter. Dort gibt es einen Board Selector. 
Da bekommst du gleich vorgeschlagen, welche Nucleos Ethernet haben.

von Johannes S. (Gast)


Lesenswert?

https://os.mbed.com/platforms/?q=&Communication=CAN
Da sind dann auch zwei die auch Ethernet haben.

von PittyJ (Gast)


Lesenswert?

Ich habe gerade ein H743 Board.
Der hat einfach 'alles' drin. Allerdings ist die Komplexität auch sehr 
hoch. Das Referenz-Manual hat über 3000 Seiten. Wenn man vom AVR kommt, 
erschlägt einen das nur.
Und ich weiss nicht, ob ich ohne OS auch TCP machen wollen würde. Da 
darf man dann zu viel selber machen. Da würde ich dann eher den 
umgekehrten Weg nehmen: einen Raspi + AVR für Echtzeit-IO oder Can.

von Johannes (Gast)


Lesenswert?

Achso noch eine Frage, manche Nucleos scheinen 5V kompatible Ein und 
Augänge zu haben, andere hingegen wieder nicht.

Also fasse ich mal zusammen:

Can muss
SD-Karte muss (brauche ich da dann noch den passenden Connector?)
5V kompatibel muss
Viel Ram >=128KB

Ethernet gestrichen, scheint das ganze für den Anfang zu komplex zu 
machen und wird für die gedachte Anwendung auch nicht benötigt.

ST Link dabei um den Chip programmieren zu können.

Welches Board wäre da das beste?

von Johannes S. (Gast)


Lesenswert?

Für die nucleos gibt es ja ein OS das Ethernet und CAN unterstützt, 
steckt im Link den ich genannt habe.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

Johannes schrieb:
> Sowie die
> Möglichkeit eine SD Karte anzuschließen um große Datenmengen (ca 200MB)
> unterzubringen.

Achte darauf ein Board zu wählen wo die SD-Karte über 4bit-breiten 
SD-bus (auch fälschlich SDIO oder SDMMC genannt) angebunden ist, damit 
du diese großen Datenmengen auch mit einer anständigen garantierten 
Geschwindigkeit verwalten kannst. Bei Ansteuerung über SPI ist bei 
SD-Karten nur die Speed Class 0 gegeben, d.h. keinerlei garantierte 
Mindestgeschwindigkeit.

Wenn du einen Logger baust und kontinuierlich "lückenlos" Daten auf die 
SD-Karte mit hoher Geschwindigkeit aufzeichnen möchtest, brauchst du 
auch einen großen RAM, typischerweise als externer SD-RAM. Sag also mal 
was du mit der SD-Karte genau machen möchtest.

Ich hab sowas mit dem STM32F746NG-Discovery gemacht, das hat Ethernet 
und SD-Karte mit SD-bus und SD-RAM, aber keinen CAN, wobei der 
wahrscheinlich noch am Einfachsten nachzurüsten wäre. Besonders handlich 
oder einfach ist dieses Board allerdings nicht.

Btw: Auch wenn es "nur" 200 MB sind: SDHC-Karten (2-32 GB) sind am 
Einfachsten anzusteuern aufgrund der fixen Sektorgröße, SDSC-Karten (< 2 
GB) lohnen sich nicht wirklich.

Johannes schrieb:
> 5V kompatibel muss

Inwiefern? Viele, aber nicht alle, IOs der STM32 sind 5V tolerant, 
können aber nicht direkt 5V ausgeben.

: Bearbeitet durch User
von S.B.Z.ettler (Gast)


Lesenswert?

Gegenueber einem STM32F030 ist ein
> l496zg
sicher kaum
> das nächst größere

Vielleicht waere ein Board mit dem NXP LPC1768 fuer deine
> Ansteuerung von HUB75
deutlich geeigneter.
Da gibt es fertige Boards aus China mit Ethernet,
Host- und Client-USB, Display usw usf.
Einen CAN-Transceiver kann man problemlos extern nachruesten.
Wer das nicht schafft ist unfaehig.
Genau so ebenfalls die SD-Karte.

So ein LPC1768 (ARM-M3) ist deutlich einfacher zu handhaben
als ein ARM-M4 von ST.
Und da wuerden dir auch deine "guten" AVR-Kenntnisse
kaum bis nichts nuetzen.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

S.B.Z.ettler schrieb:
> So ein LPC1768 (ARM-M3) ist deutlich einfacher zu handhaben
> als ein ARM-M4 von ST.

Der hat aber keine SD-bus ("SDIO"/"SDMMC") und SDRAM-Ansteuerung. Je 
nachdem was mit der SD-Karte gemacht werden soll reicht das eventuell 
nicht.

Vom Handling her ist der Cortex-M4-Kern einfacher weil er Floating-Point 
in Hardware kann; und wenn man das nicht braucht gibt es auch 
Cortex-M3-STM32. Hier geht es aber mehr um die Peripherie als den Kern.

von Johannes S. (Gast)


Angehängte Dateien:

Lesenswert?

dann gibt es noch diverse Chinaboards mit F407, die haben auch alles 
drauf was man brauchen kann. Da muss man nur etwas Detektivarbeit 
leisten, die Doku ist eben auch sehr chinesisch. Aber beide haben CAN, 
Ethernet und SD Slot.
https://de.aliexpress.com/item/32893391801.html
https://de.aliexpress.com/item/33013932875.html

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Johannes schrieb:
> Achso noch eine Frage, manche Nucleos scheinen 5V kompatible Ein und
> Augänge zu haben, andere hingegen wieder nicht.

"manche Nucleos" ist nicht die richtige Formulierung, ersetze dies durch 
"viele STM32-Pins". Ersetze ebenso "kompatible" durch "tolerante".

Das heißt: Viele STM32-Pins können als Eingang mit 5V-Pegeln umgehen und 
gehen damit nicht kaputt.

Das heißt aber nicht, dass sie als Ausgänge 5V-Pegel erzeugen können.

Welche Pins 5V-tolerant sind, steht im Datenblatt des jeweiligen µCs.

: Bearbeitet durch Moderator
von fchk (Gast)


Lesenswert?

Johannes schrieb:
> 5V kompatibel muss

Die musst Du extern anschließen. Suche nach:
74LVC1T45 (1 bit)
74LVC2T45 (2 bit)
74LVC8T245 (8 bit)

fchk

von W.S. (Gast)


Lesenswert?

Johannes schrieb:
> ich würde mich gerne zukünftig in die Welt der STM32 einarbeiten.
>
> Ich habe bisher gute AVR Kenntnisse aber STM32 sind ganz neu für mich.

Johannes schrieb:
> Also fasse ich mal zusammen:
>
> Can muss
> SD-Karte muss (brauche ich da dann noch den passenden Connector?)
> 5V kompatibel muss
> Viel Ram >=128KB

Ach so.

Und das alles zum "Einarbeiten".

Oh nein, du willst nicht mit den Grundkenntnissen anfangen, nicht 
erstmal mit einem überschaubareren kleineren Cortex anfangen, auch nicht 
dich darin üben, wie man eine Schaltung und daraus ein Gerät mit 
Controllern der 32 Bit Riege macht.

Nein, das alles wilst du nicht.

Stattdessen soll es das größte und dickste Fertig-Board sein, was es 
gibt - mit der Ausrede, daß du dich ja nicht zuerst mit etwas Kleinerem 
befassen willst, weil du anschließend was Größeres würdest kaufen 
müssen.

Freitagsthema.

W.S.

von PittyJ (Gast)


Lesenswert?

Johannes S. schrieb:
> Für die nucleos gibt es ja ein OS das Ethernet und CAN unterstützt,
> steckt im Link den ich genannt habe.

Nochmal die Frage: Ethernet oder TCP/IP?
Ethernet sind ja nur einfache Messages auf MAC-Ebene. Sobald man aber 
TCP/IP verschicken möchte, braucht man schon IP-Nummern und 
Namensauflösung etc.
Arp-Requests/Antworten würde ich nicht mehr händisch unter einem RTOS 
machen wollen. Da haben sich schon mehrere Lieferanten von uns die 
Finger verbrannt, weil sie in den Protokollen immer Fehler hatten. Das 
macht keinen Spass mehr.

von S.B.Z.ettler (Gast)


Lesenswert?

> Vom Handling her ist der Cortex-M4-Kern einfacher weil er Floating-Point
> in Hardware kann

Ja wer weiss schon was HUB75 so braucht :-).

Ich brauche fuer mein Zeug z.B. viele 100 Mio MAC-OP/s.
Da nuetzt dann ein M4 Kern auch nichts.
Und wenn die Hardware tatsaechlich nur einen daven haette,
waere er fuer mich sogar voellig nutzlos.

> Ethernet oder TCP/IP?

Die Frage ist in dem Sinne irrelevant, als das der TO nicht
vor dem Jahr 2022 einen RJ-45 Stecker in sein Board stecken wird.
Und das ist eine optimistische Prognose.

von Johannes S. (Gast)


Lesenswert?

PittyJ schrieb:
> Nochmal die Frage: Ethernet oder TCP/IP?

TCP oder UDP geht beides recht einfach, z.B.
https://github.com/ARMmbed/mbed-os-snippet-TCPSocket/blob/v6.0/main.cpp

Einen httpd mit WebSockets habe ich auch schon gebaut, das läuft sehr 
robust. Basis ist lwIP, da kann man viel einstellen wenn man tunen 
möchte. Aber man muss nicht, mit den defaults läuft das auch.

Und wenn das Ziel ist, auch TCP/IP zu verwenden, dann macht so ein Brett 
trotzdem Sinn. Man kann ja die nötigen Features Stück für Stück 
einbauen. Mit einem komplett anderen µC zu starten macht keinen Sinn 
wenn das Ziel feststeht.

von Niklas G. (erlkoenig) Benutzerseite


Lesenswert?

S.B.Z.ettler schrieb:
> Ja wer weiss schon was HUB75 so braucht :-).

Oh, das hab ich irgendwie überlesen... Äh ja, den SD-RAM braucht's dann 
wohl nicht. Aber den SD-bus würd ich trotzdem nehmen, hat auch z.B. auch 
den Vorteil dass der die CRC in Hardware macht.

von S.B.Z.ettler (Gast)


Lesenswert?

> den SD-RAM

Schon ulkig das 256 GB muehelos auf einen kleinen Plastegnubbel passen.
Aber wenn man schnell und random zugreifen will, es mit der winzigen 
Herrlichkeit wieder vorbei ist.

von Christopher J. (christopher_j23)


Lesenswert?

Wenn es unbedingt ein Nucleo mit CAN Ethernet sein muss, dann würde ich 
zum F446 greifen, da gibts mit dem F446ZE auch ein Nucleo, welches mit 
RJ45-Buchse daherkommt. Den CAN-Transceiver kannst du dir als 
"Breakout"-Board günstig dazukaufen oder lötest dir selbst was zusammen.

Wenn es nicht unbedingt mit Ethernet sein muss, dann würde ich 
wahrscheinlich zu einem F072 greifen, wobei der "nur" 16kB RAM hat. Ist 
aber für den Anfang deutlich aufgeräumter als so ein F446 und mit den 
STM32F0-Snippets gibts direkt von ST ordentlich dokumentierten 
Beispielcode, wie man die Teile ohne HAL bespielt. Ist für jemanden der 
aus der AVR-Welt kommt sicher ganz nützlich.

Wenn ich das richtig sehe, dann sind diese HUB75-Dinger ganz einfache 
64x64 LED-Panels, da würden also 4096 Bit für einen Framebuffer reichen. 
Weiß aber nicht was du mit denen so vorhast.

von Harry L. (mysth)


Lesenswert?

Johannes schrieb:
> Ich möchte damit eine Ansteuerung von HUB75 Panels
> bauen.

Dann solltest du einen Controller mit FSMC wählen.
Das macht vieles bei diesen Panels sehr viel einfacher.

von Stefan F. (Gast)


Lesenswert?

Ich glaube du hast dir da für den Einstieg zu viel vorgenommen. Fange 
erst einmal mit einem kleinen Nucleo-L053 oder einem Nucleo-F303 an.

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.