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?
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.
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.
Fang mit dem kleinsten an. STM32F030. Es wird nicht ruinieren und deinen Geist nicht ueberfordern. Weil kleiner (minimaler) gibts die nicht.
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.
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.
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.
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?
Für die nucleos gibt es ja ein OS das Ethernet und CAN unterstützt, steckt im Link den ich genannt habe.
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
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.
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.
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
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
Johannes schrieb: > 5V kompatibel muss Die musst Du extern anschließen. Suche nach: 74LVC1T45 (1 bit) 74LVC2T45 (2 bit) 74LVC8T245 (8 bit) fchk
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.
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.
> 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.
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.
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.
> 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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.