Zum Hauptinhalt Zur Navigation

Raspberry Pi Pico 2 im Test: Ein Traum für ambitionierte Bastler

Der RP2350 beerbt den ersten Raspberry-Pi -Mikrocontroller. Unser Test zeigt: Er ist nicht nur besser, sondern eröffnet ganz neue Möglichkeiten.
/ Johannes Hiltscher
48 Kommentare News folgen (öffnet im neuen Fenster)
Äußerlich identisch, aber mit verschiedenen inneren Werten: der Raspberry Pi Pico 2 neben seinem Vorgänger. (Bild: Johannes Hiltscher/Golem.de)
Äußerlich identisch, aber mit verschiedenen inneren Werten: der Raspberry Pi Pico 2 neben seinem Vorgänger. Bild: Johannes Hiltscher/Golem.de

Doppelt so viel Speicher, etwas höherer Takt, modernere ARM- sowie alternativ nutzbare RISC-V-Kerne: Der neue Mikrocontroller der Raspberry Pi Limited namens RP2350 klingt bereits spannend. Unser Test zeigt: Für diesen Chip verdienen die Entwickler ein großes Lob - entgegen unserer Kritik am Börsengang und dem Raspberry Pi 5.

Ein Blick in das mit 1.346 Seiten im Vergleich zum Vorgänger RP2040 mehr als doppelt so umfangreiche Datenblatt (PDF)(öffnet im neuen Fenster) zeigt, dass sich weitaus mehr getan hat. Der neue Mikrocontroller unterstützt ARMs Trustzone, über die sich ausschließlich signierte Software starten lässt. Ein Glitch Detector soll dafür sorgen, dass sich die Sicherheitsmaßnahmen nicht durch gängige Angriffsmethoden wie Voltage Glitching umgehen lassen.

Für Bastler und Hobbyentwickler dürfte das eher uninteressant sein, aber auch für sie hat der RP2350 spannende Neuerungen zu bieten. Die Prozessorkerne verfügen nun über eine Gleitkommarecheneinheit, sie sind zudem schneller als beim Vorgänger. Eine neue QSPI-Schnittstelle (Serial Peripheral Interface mit vier Datenleitungen) mit zwei Chip Selects kann nun zwei Chips ansprechen, um bis zu 16 MByte externen RAM anzubinden.

Der RP2350 spricht DVI

Noch aufregender finden wir ein Feature, das die Ausgabe digitaler Bildsignale radikal vereinfacht. Dass der Mikrocontroller ein DVI-Signal erzeugen kann, hat Luke Wren, ASIC-Entwickler bei der Raspberry Pi Foundation und Entwickler der Hazard3-RISC-V-Kerne des RP2350, bereits mit dem RP2040 demonstriert.

Der Aufwand ist allerdings hoch: Die TMDS(öffnet im neuen Fenster) -Symbole (Transition-Minimized Differential Signalling) werden in Software erzeugt, was einen ARM-Kern laut Beschreibung im Github-Repository(öffnet im neuen Fenster) trotz Assembler-Optimierung zu 60 Prozent auslastet. Außerdem muss der Mikrocontroller übertaktet werden, um die erzeugten Bits ausreichend schnell ausgeben zu können.

Mit dem RP2350 ist der Weg zum Bild einfacher: Die neu hinzugekommene Einheit HSTX (High-Speed Serial Transmit) erreicht mit DDR-Flip-Flops (Double Data Rate) an acht GPIO-Pins beim Standardtakt von 150 MHz eine Bitrate von 300 MBit/s pro Pin. Das ist für ein DVI-Signal mit 640 x 480 Pixel sogar schon zu viel, so dass der Takt des Mikrocontrollers reduziert werden muss.

Die Einheit hat zudem Logik zur Erzeugung von TMDS-Symbolen integriert, kann differentielle Signale ausgeben und ohne weitere Daten den Bittakt auf die Pins treiben. Um ein DVI-Signal auszugeben, muss die HSTX-Einheit nur passend konfiguriert und anschließend mit RGB-Daten versorgt werden.

Wie einfach das geht, zeigt ein neu hinzugekommenes Code-Beispiel. Praktischerweise haben die Entwickler die Ausgabe der Einheit auf die GPIO-Pins 12 bis 19 gelegt. Die liegen beim Pico am freien Ende, hierfür wurden bereits Platinen mit HDMI-Buchse angeboten, die einfach angelötet werden. So eine hatten wir noch, die Ausgabe funktionierte, anders als beim FPGA-Board Sipeed Tang (g+) an zwei getesteten Monitoren problemlos.

Natürlich ist HSTX nicht auf DVI-Signale beschränkt. Die Einheit ist umfangreich konfigurierbar und kann auch mit den PIO-Einheiten (Programmable I/O) gekoppelt werden, von denen der RP2350 mit dreien eine mehr hat als der Vorgänger. Die Ausgabe des Bitstroms erfolgt über ein konfigurierbares Schieberegister, aus dem die acht Pins flexibel Bits herausgreifen. Damit ist auch frei konfigurierbar, wo welches Bit landet. Um beim Beispiel DVI zu bleiben: Es kann frei festgelegt werden, auf welchen Pins die drei Daten- und das Taktsignal ausgegeben werden.

Aber nicht nur die Hardware des RP2350 kann mehr als die des Vorgängers, auch die Leistung ist gestiegen.

Schneller, effizienter und hohes Übertaktungspotenzial

Um die Rechenleistung des RP2350 mit anderen Mikrocontrollern zu vergleichen, haben wir wieder auf unsere für den Test des Arduino Uno R4 entwickelten Benchmarks zurückgegriffen. Deren Quellcode stellen wir hier zur Verfügung(öffnet im neuen Fenster) .

Die Faltung(öffnet im neuen Fenster) eines Vektors mit einem Filter-Kernel testet die Gleitkommaleistung, Conway's Game of Life(öffnet im neuen Fenster) die Leistung bei Integer-Multiplikationen, Bitoperationen und Kontrollfluss.

In beiden Benchmarks glänzt der RP2350 dank der im Vergleich zu seinem Vorgänger und dem Renesas RA4M1 des Uno R4 moderneren Cortex-M33-Kerne. Im Game of Life wäre er, rechnen wir den mit 48 MHz deutlich geringeren Takt des RA4M1 heraus, 54 Prozent schneller als dieser. Gegenüber dem Vorgänger mit Cortex-M0+-Kernen sind es gar 94 Prozent, wobei wir wieder den Taktunterschied herausgerechnet haben. Die RISC-V-Kerne liegen lediglich rund acht Prozent hinter den ARM-Kernen. Um ehrlich zu sein, haben wir das nicht erwartet.

Noch deutlicher ist der Vorsprung bei der Gleitkommaleistung: Hier rechnet der RP2350 mehr als 2,5-mal so schnell wie der RA4M1. Beide verfügen über eine Gleitkommaeinheit für 32-Bit-Werte mit einfacher Genauigkeit (Single Precision), der RP2350 zudem über einen Beschleuniger für 64-Bit-Gleitkommazahlen. Der benötigt allerdings zusätzlichen Programmcode. Der RP2040 sowie die RISC-V-Kerne des RP2350 spielen hier in einer anderen Liga, da bei ihnen Gleitkommaberechnungen emuliert werden.

Sparsamer als der Vorgänger

Der RP2350 benötigt spürbar weniger Energie als sein Vorgänger. Ein Grund ist, dass der beim RP2040 integrierte Linearregler(öffnet im neuen Fenster) zur Erzeugung der Kernspannung von 1,1 Volt einem Schaltregler wich. Der ist nicht nur effizienter, sondern ermöglicht auch eine Reduzierung der Kernspannung. Da er mehr Pins benötigt, ist er einer der Gründe, weshalb der RP2350 im etwas größeren QFN-60-Package anstelle des zuvor verwendeten QFN-56 kommt. Lediglich für geringe Ströme bis 1 Milliampere (mA) arbeitet auch der neue Regler als Linearregler.

Zu den Zahlen: Mit unserem Faltungs-Benchmark messen wir bei Versorgung über USB (5 V) 16,3 mA bei Verwendung eines ARM-Kerns; rechnet einer der RISC-V-Kerne, liegt der Strom mit 16,6 mA minimal höher. Der Unterschied fällt jedoch in die Messungenauigkeit. Das entspricht rund 80 Milliwatt (mW). Der RP2040 hingegen benötigt bei 125 MHz im gleichen Test wenig mehr als 100 mW (20,7 mA).

Wegen verbesserter Stromsparmechanismen soll der RP2350 bei Inaktivität sparsamer sein. Es lassen sich fast alle Komponenten abschalten, lediglich der Always-on Timer (AON Timer) läuft immer. Er ersetzt die Echtzeituhr (Real-Time Clock, RTC) des RP2350 und kann den Mikrocontroller aus Schlafzuständen wecken.

Fast auf die doppelte Frequenz übertaktbar

Bereits vom RP2040 ist bekannt, dass der Standardtakt konservativ gewählt ist. Erreichbar waren mehr als 250 MHz, andernfalls hätte die DVI-Ausgabe nicht funktioniert. Wir wollten daher wissen, was mit dem RP2350 machbar ist.

Auch der enttäuscht nicht: Unser Testexemplar konnten wir stabil mit 288 MHz betreiben, wobei wir über die Berechnung der Skalarprodukte von jeweils zwei Integer- und Floating-Point-Vektoren prüften, ob Rechenfehler auftreten. Neben dem Testprogramm stellen wir ein Python-Script(öffnet im neuen Fenster) bereit, das für eine Zielfrequenz prüft, ob diese mit dem Taktgenerator des Mikrocontrollers erreicht werden kann und gegebenenfalls eine Alternative vorschlägt.

Erst bei knapp über 290 MHz funktionierte der Mikrocontroller nicht mehr zuverlässig, hier brach auch die Ausgabe über USB ab. Dieser Wert muss nicht repräsentativ sein, aufgrund von Prozessvariationen können sich einzelne Chips unterschiedlich verhalten. Auch können andere aktive Komponenten das Verhalten beeinflussen, in unserem Test rechnet nur ein ARM-Kern. Dennoch zeigt sich, dass beim RP2350 noch Luft nach oben ist, sollten die bereits großzügigen 150 MHz nicht ausreichen.

Selbstverständlich gibt es den fast verdoppelten Takt nicht umsonst: Bei unserem Faltungs-Benchmark steigt die Leistungsaufnahme auf rund 140 mW (27,9 mA bei 5 V). Den Schaltregler für die Kernspannung bringt das übrigens noch nicht ins Schwitzen: Laut Datenblatt kann der bis zu 200 mA bereitstellen.

Hardware-Bug bei Pull-Downs

Für die aktuelle A2-Revision des RP2350 listet das Datenblatt bereits eine Reihe von Fehlern. Einer davon (RP2350-E9) ist für Entwickler besonders unangenehm: Wird der integrierte Pull-Down-Widerstand eines GPIO-Pins aktiviert und dieser als Eingang genutzt, kann der Pin auf einem ungültigen Spannungspegel hängen bleiben. Zum Problem wird das bei Open-Drain-Bussen wie I 2 C, die hierdurch nicht korrekt funktionieren.

Vermeiden lässt sich der Fehler durch einen Software-Workaround. Einfacher erscheint uns aber, anstelle des integrierten Widerstands einen externen zu verwenden - auch wenn das ein Bauteil mehr bedeutet. Der Fehler wird hoffentlich in einer künftigen Revision des Dies korrigiert.

Kommen wir damit zum dennoch vermutlich absehbaren Fazit.

Raspberry Pi Pico 2 und RP2350: Verfügbarkeit und Fazit

Aktuell wird der RP2350 lediglich auf dem Raspberry Pi Pico 2 sowie diversen ähnlichen Boards anderer Hersteller angeboten. Wir haben den Pico 2 für 5 Euro gekauft, damit ist er marginal teurer als sein Vorgänger (4,50 Euro). Dafür gibt es neben dem besseren Mikrocontroller auch mit 4 MByte doppelt so viel Flash-Speicher. Allerdings scheint die Nachfrage hoch zu sein, bei deutschen Händlern ist der Pico 2 regelmäßig ausverkauft. Wie beim Vorgänger soll später eine W-Variante mit WLAN- und Bluetooth-Chip folgen.

Die hohe Nachfrage dürfte auch der Grund sein, weshalb der RP2350 aktuell nicht einzeln angeboten wird. Das ist noch für 2024 geplant, er wird ebenfalls nur wenig teurer sein als der RP2040, der über Distributoren derzeit für rund 75 Cent verkauft wird. Zudem soll neben der auf dem Pico 2 verbauten A- eine B-Variante mit 48 statt 30 GPIOs angeboten werden, von denen sind acht statt vier an den Analog-Digital-Wandler (ADC) angebunden. Diese kommt in einem größeren QFN-80-Package.

Beide Varianten des RP2350 sollen als RP2354 mit im Package integriertem 2-MB-Flash-Chip angeboten werden. Die Raspberry Pi Limited nennt für die vier Varianten Stückpreise von 80 US-Cent (RP2350A), 90 US-Cent (RP2350B), 1 US-Dollar (RP2354A) und 1,10 US-Dollar (RP2354B).

Fazit

Der RP2350 ist eine hervorragende Weiterentwicklung des bereits guten RP2040. Die neuen Features und Verbesserungen machen ihn attraktiver, die genannten Preise sind fair. Leistung und Funktionsumfang sind in diesem Preissegment einfach unschlagbar, auch viele deutlich teurere Mikrocontroller schlägt der RP2350. Einziger Wermutstropfen: Auch der Pico 2 kommt mit Micro-USB- statt USB-C-Buchse.

Ein Umstieg vom RP2040 ist für Entwickler einfach, trotz all der Neuerungen: Wir mussten für unsere Benchmarks lediglich mittels Cmake neue Makefiles erstellen, wobei Plattform und Board angegeben werden müssen:
cmake -DPICO_PLATFORM=rp2350 -DPICO_BOARD=pico2 ..

Auch die RISC-V-Kerne sind einfach zu nutzen, da der Bootloader automatisch erkennt, für welche Architektur das Programmabbild im Flash-Speicher gedacht ist. Um ein Abbild für die RISC-V-Kerne zu erstellen, müssen wir nur eine entsprechende Compiler-Toolchain installieren - empfohlen wird die von Embecosm(öffnet im neuen Fenster) - oder sie selbst kompilieren. Cmake müssen wir dann mitteilen, dass wir ein RISC-V-Abbild möchten, und wo die Toolchain zu finden ist:
cmake -DPICO_TOOLCHAIN_PATH=/path/to/corev-openhw-gcc-ubuntu2204-20240530 -DPICO_PLATFORM=rp2350-riscv -DPICO_BOARD=pico2 ..

Für Bastler sind Raspberry Pi Pico 2 und RP2350 unserer Meinung nach die beste Wahl. Vergleichbare Leistung zu einem auch nur annähernd so günstigen Preis gibt es bei keinem anderen Mikrocontroller. Und die Verbesserungen gegenüber dem RP2040 eröffnen ganz neue Möglichkeiten - wir träumen noch immer von unserer Spielekonsole.

Die Hürden für Neueinsteiger oder Umsteiger sind mittlerweile niedrig: Mit Plug-ins für die Arduino IDE(öffnet im neuen Fenster) und Visual Studio Code sowie den Python-Interpreter Micropython sind die Picos auch ohne umfangreiche Programmier- und Linux-Kenntnisse einfach zu benutzen.

Auch für den professionellen Einsatz dürften aufgrund der neuen Sicherheits-Features viele Entwickler Gefallen am RP2350 finden. Laut eigener Aussage(öffnet im neuen Fenster) haben die Entwickler mit dem RP2350 jenen "Chip gebaut, den wir immer wollten" . Dem schließen wir uns an: So einen Chip wollten wir auch immer.

Update, 09.09.2024, 12:14 Uhr:

Nach Hinweisen im Forum haben wir ergänzt, dass die aktuelle Revision des RP2350 einen Hardwarefehler hat.


Relevante Themen