Schneller 5V Mikrocontroller

Hallo,
Ich bin auf der Suche nach einem möglichst schnellen Mikrocontroller, welcher 5V beherrscht/verträgt, sich hoch Takten lässt und Arduino Kompatibel ist. Gibt es da solche? Wenn ja wäre ich froh über Antworten.
Kurz noch der Grund: ich möcht viele, wirklich viele LED streifen ansteuern und möchte dabei so viele wie nur möglich mit einem Arduino/Mikrocontroller steuern, da sind die 16 mHZ zu langsam, oder doch der Streifen?

Ausserdem noch: Wie viele Bit/s sind eigentlich mit SPI möglich?

Danke für die Antworten schon im Voraus

ich glaube nicht das die reine Taktrate der bestimmende Faktor für die Ansteuerung von LEDs ist.

10 Fragen zur Klärung an dich:

Was willst du genau ansteuern?
Welche LEDs?
Neopixel? Welche genau? Mit separater Clock und Data-in? Link auf Datenblatt?
Wie viele LEDs genau?
Mit welcher Refresh-Rate werden diese aktualisiert?
Was hat es mit 5V auf sich?
Schon mal über Level-Shifting nachgedacht?

Hallo,

die technische Grenze für den Takt ist die Strukturbreite der Schaltungen im Chip. Höherer Takt erfordert kleinere Strukturen im Chip. Damit geht niedrigere Betriebsspannung automatisch einher. Die schnellsten 32 Bit Controller arbeiten, glaube ich, intern schon mit 1,8 V und nur nach aussen mit 3,3 V.

Der schnellste 5 V Arduino ist der Nano 33 Every, der kann 20 MHz, die IDE setzt ihn aber standardmäßig auf 16. Vielleicht sind ein paar MHz Übertaktung möglich.

Eine Kompromisslösung könnte ein 5 V toleranter 3,3 V Controller sein, der gibt 3,3 V aus, kann aber 5 V an Eingängen vertragen. Da müsste der Teensy 3.5 im Moment die obere Grenze darstellen, mit 120 MHz.

Anzumerken wäre noch, dass die LED Libs auf ARM Boards oft mit DMA arbeiten und damit das Senden an die LEDs unabhängig vom Loop im Hintergrund erledigen.

SPI Maximalgeschwindigkeit müsste bei den großen 32 Bittern im mittleren zweistelligen MHz Bereich liegen. Auf dem Teensy 4.0 sollten mit FlexIO (konfigurierbares IO-System) eigentlich 120 MHz SPI möglich sein. 5 V SPI kann wegen der Höhe der Flanken wahrscheinlich nicht so schnell sein.

Das hier hatte ich schon mal gepostet, hier schreibt einer WS2812 mit 102,4 MHz über vier schnelle Schieberegister, die auch die 5 V Umsetzung machen.

Das hier hatte ich schon mal gepostet, hier schreibt einer WS2812 mit 102,4 MHz über vier schnelle Schieberegister, die auch die 5 V Umsetzung machen.

WS2812 und Konsorten haben einen Bus mit fix 800kHz Taktrate. Da geht nichts schneller.
Ok, Paralellisieren wie im Beispiel geht.
Grüße Uwe

uwefed:
Ok, Paralellisieren wie im Beispiel geht.

Ja, er verschachtelt quasi 32 Stück von den Signalen auf einer Leitung.

Für einen LED Strang kann man auf sehr rafinierte Weise eine hinreichend schnelle serielle Serial benutzen
https://www.pjrc.com/non-blocking-ws2812-led-library/
Das sollte sich mit einiger Programmiererfahrung auch auf den originalen 32 Bit Arduinos realisieren lassen. Auf dem Bild da ist der Teensy LC das ist ein ARM Cortex M0+ und damit recht ähnlich zu dem SAMD21 auf den neueren Arduino Boards (Zero, die meisten MKR, Nano 33 IOT).

Auch dieser Ansatz sollte sich auf die SAMD anpassen lassen
https://www.pjrc.com/teensy/td_libs_OctoWS2811.html

Vielleicht gibt es da bei Adafruit verwendbaren Code, schiesslich verkaufen die die Neopixel und Boards mit SAMD21.

Was spricht gegen einen 3,3 Volt Chip mit Pegelwandlern an den Ein-/Ausgängen? So mache ich das im Moment mit einem Atxmega32E5, der mit 32 MHz läuf. Allerdings programmiere ich den natürlich nicht über die Ardino IDE. Wenn Performance ein Thema ist, dann sollte man den Controller eh ohne Verwendung von Arduino Bibliotheks-Funktionen programmieren, da das die größten Bremsen sind. Ein einziges DigitalWrite() zum Beispiel ruft 4 bis 5 weitere Funktionen auf, die in sich selbst wiederum zum Teil andere aufrufen. Und das alles für etwas, das man in nativem C in eine einzige Anweisung packen kann. Das durch schnellere Hardware zu kompensieren ist meiner Meinung nach der falsche Weg.

Hallo, entschuldige für die lange Inaktivität :confused:

Die Posts die da gemacht wurden sind sehr interessant und haben mich zum Nachdenken gebracht. Allgemein nochmal:

-5V weil ich mir gedacht hab, das geht mit den Led Streifen M besten, lass mich aber auch gerne von anderen Ideen anregen :slight_smile:
-Ich habe mir nur gedacht wegen der Geschwindigkeit so schnell, weil ich mit diesem System eine große Anzahl an LED Streifen ansteuern will und dann dachte ich mir, der Bus muss sehr schnell sein
-Geht Ethernet eigentlich auch oder ist das beim Arduino zu langsam?
-Weis nicht, lass mich wie gesagt gerne von besseren Ansätzen beraten

Zudem möchte ich diese Lösung so aufbaun, dass sie sich auf selbst Designte PCBs übertragen lässt, daher auch der Chip

Danke für eure antworten :smiley:

Sieh Dir vielleicht auch mal den Nano Every an. 20 MHz Takt, 6 kB SRAM.

Gruß

Gregor