Raspberry Pi hat sich mit seiner vielseitigen Palette an Einplatinencomputern (SBCs) eine Nische erschlossen, die ein breites Anwendungsspektrum abdeckt – von Hobby-Projekten bis hin zu Lösungen für den industriellen Einsatz. Herzstück der Produktfamilie sind die Compute Modules, kompakte und modulare Versionen der Raspberry Pi-Boards, die speziell für Embedded-Anwendungen entwickelt wurden. Diese Module verfügen über die volle Rechenleistung, denselben Speicher und die gleiche Konnektivität wie ihre größeren Pendants und ermöglichen es Entwicklern, Raspberry-Pi-Funktionen nahtlos in kundenspezifische Hardware-Designs zu integrieren.
Die erste Compute-Module-Version kam im April 2014 auf den Markt und wies bis zu ihrer dritten Version (CM 3+) einen 67,6 mm × 31,0 mm großen DDR2-SODIMM-Formfaktor auf. Im Oktober 2020 – 16 Monate nach der Vorstellung des SBC Raspberry Pi 4 Model B – wurde das CM4 vorgestellt, und zur Überraschung vieler hatte es einen neuen Formfaktor: eine 55 mm × 40 mm große Leiterplatte mit zwei 100-poligen High-Density-Anschlüssen.
Diese Änderung erschloss neue eingebettete Lösungen auf der Basis des Raspberry Pi CM, wurde jedoch auch für diejenigen interessant, die Produkte mit dem alten Formfaktor entwickelt hatten und daran gewöhnt waren, auf die jeweils neueste Version ohne Hardware-Redesign aufzurüsten. Glücklicherweise brachte Raspberry Pi Mitte 2022 ein Compute Module mit demselben Core wie das CM4, aber mit einem SODIMM-Formfaktor heraus: das Compute Module 4S (CM4S).
Aufgrund von Lieferkettenproblemen in der Industrie wurde die Beschaffung der CM3+ schwierig, sodass viele industrielle Anwender auf das CM4S umsteigen mussten.
Nachfolgend werden die wesentlichen Hardware-Unterschiede zwischen dem CM3+ und dem CM4S zusammengefasst.
Verarbeitungsleistung und Performance
Herzstück eines jeden Computermoduls ist seine Verarbeitungsleistung. Das CM3+ wird von dem Broadcom-Prozessor BCM2837B0 gespeist, der über vier ARM Cortex-A53 Cores verfügt, die mit 1,2 GHz getaktet sind. Im Gegensatz dazu ist das CM4S mit einem Broadcom BCM2711 als Prozessor ausgerüstet, der mit vier Core-Cortex-A72-Cores arbeitet und mit 1,5 GHz läuft. Dieser Zuwachs an Rechenleistung führt zu einer verbesserten Performance sowie zu einer beschleunigten Ausführung von Rechenaufgaben und macht das CM4S zu einem Kraftpaket in der Embedded-Computing-Landschaft.
Konfiguration von Arbeits- und Datenspeicher
Arbeitsspeicher genauso wie Datenspeicher spielen eine entscheidende Rolle bei der Bestimmung der Effizienz und Reaktionsfähigkeit eines Computersystems. Während das CM3+ mit 1 GB LPDDR2 SDRAM ausgestattet ist, bietet das CM4S eine überlegene Speicherkonfiguration mit 1 GB LPDDR4-3200 SDRAM samt ECC (Error-Correcting Code) für Datensicherheit. Sowohl das CM3+ als auch das CM4S bieten Optionen für 8 GB, 16 GB oder 32 GB eMMC-Flash-Speicher sowie die Lite-Version für eine benutzerdefinierte externe Speicherung.
Formfaktor und Verbindungsoptionen
Wie oben erwähnt, sind sowohl die CM3+ als auch die CM4S im SODIMM-Formfaktor konzipiert, was eine unkomplizierte Integration in kundenspezifische Systeme ermöglicht. Die Schnittstellen an den Anschlüssen sind gleich, mit dem wesentlichen Unterschied, dass HDMI V1.3a bei dem CM3+ auf HDMI 2.0 bei dem CM4S aktualisiert wurde.
Anforderungen an die Stromversorgung und Spannung
Das CM4S benötigt für den Betrieb eine VBAT (2,5 V bis 5 V) sowie eine Spannungsversorgung von +3,3 V. Die von älteren Compute-Modulen benötigte +1,8-V-Versorgung wird beim CM4S nicht mehr verwendet, kann aber aus Gründen der Abwärtskompatibilität weiterhin bereitgestellt werden. Diese optimierte Stromversorgungsarchitektur gewährleistet einen reibungslosen Betrieb und trägt gleichzeitig den unterschiedlichen Anforderungen der Entwickler von Embedded-Systemen Rechnung.
Video- und Multimedia-Fähigkeiten
Das CM4S verfügt über einen HDMI-2.0-Anschluss, der Auflösungen von bis zu 4 kp60 ermöglicht. Darüber hinaus wird die Dekodierung von H.265 (HEVC) mit bis zu 4 kp60 unterstützt, außerdem die Dekodierung von H.264 mit bis zu 1080 p60 und die Kodierung mit bis zu 1080 p30. In Verbindung mit der OpenGL-ES 3.0-Grafikunterstützung schafft das CM4S die Voraussetzungen für fortschrittliche Multimedia-Anwendungen in Embedded-Umgebungen.
Die Migration einer Anwendung vom Raspberry Pi Compute Module 3+ auf das Compute Module 4S macht einige Vorüberlegungen erforderlich.
Aus Sicht der Software ist der Wechsel vom 3+ zum 4S relativ unkompliziert, da die Raspberry Pi OS-Images auf allen Plattformen funktionieren sollten. Natürlich muss sie auf eine Version aktualisiert werden, die den 4S unterstützt. Insbesondere ist eine Linux-Kernel-Version 5.10 oder höher erforderlich. In jedem Fall ist es indes ratsam, das Betriebssystem auf dem neuesten Stand zu halten, auch wenn man denselben Kern verwendet.
In frühen Versionen des Betriebssystems, welche die 4S-Version unterstützen, war die USB-2.0-Schnittstelle, die von der I/O-Karte (und anderen Produkten, die das CM enthalten) verwendet wird, standardmäßig nicht aktiviert. Dies hatte zur Folge, dass Geräte beim Booten nicht im Netzwerk angezeigt wurden, da der Ethernet-Controller mit dem USB-Bus verbunden ist, und der Versuch, von USB zu booten, scheiterte.
Das Problem ließ sich indes leicht beheben, indem die folgende Zeile in /boot/config.txt eingefügt wurde:
dtoverlay=dwc2,dr_mode=host
A propos USB-Boot: Ein interessanter Unterschied beim CM4S liegt darin, dass USB- und Netzwerk-Boot standardmäßig aktiviert sind. Für die Gerätebereitstellung (insbesondere bei hohen Stückzahlen) ist dies ein sehr praktischer Zusatz, da zum Booten und/oder Flashen eines Geräts nicht mehr rpiboot und ein I/O-Board mit einer USB-Slave-Schnittstelle benötigt werden, wie sie hingegen für die CM3+ erforderlich sind.
So kann beispielsweise ein einfaches Strato Pi CM von Sfera Labs ohne installiertes Betriebssystem mit einem benutzerdefinierten Image geflasht werden, indem ein bootfähiger USB-Stick in einen der Ports gesteckt (das Gehäuse braucht nicht geöffnet zu werden), das Gerät eingeschaltet, über SSH auf das Gerät zugegriffen und auf die interne eMMC geschrieben wird.
Beim CM4S schließlich lassen sich die Boot-Optionen aktivieren und die Prioritätsreihenfolge ändern, indem man die Bootloader-Konfiguration bearbeitet, die in das EEPROM des Moduls geschrieben wird (siehe Befehl rpi-eeprom-config). Beim CM3+ muss dazu in den OTP- (One Time Programmable) -Speicher geschrieben werden, was nicht rückgängig gemacht werden kann, und möglicherweise müssen einige GPIOs mit externer Hardware umgeschaltet werden.
Mit der Einführung des Raspberry Pi Compute Module 4S wurde der Nachfrage nach einem Migrationspfad für industrielle Anwender Rechnung getragen, die mit dem CM3+ mit Lieferkettenproblemen konfrontiert sind. Mit seiner verbesserten Rechenleistung, Speicherkonfiguration und fortschrittlichen Multimedia-Funktionen bietet das CM4S ein bedeutendes Upgrade für Embedded-Computing-Anwendungen. Die Umstellung von CM3+ auf CM4S ist zwar mit einigem Aufwand verbunden, doch die Vorteile der verbesserten Leistung und der erweiterten Funktionen machen sie zu einer lohnenden Investition für Entwickler und Konstrukteure gleichermaßen.
Sfera Labs war der erste industrielle Hersteller, der im August 2022 die Unterstützung für den CM4S einführte, nur wenige Monate nach dessen Vorstellung durch Raspberry Pi.
Sfera Labs hat seinen ersten Server auf Basis des Compute Modules, den Strato Pi CM, im Jahr 2018 auf den Markt gebracht. Strato Pi CM ist ein kompakter Industrieserver, der CE/FCC/IC-konform ist und über eine Weitbereichsstromversorgung, eMMC-Flash, RTC, RS-485, Watchdog und ein Sicherheitselement verfügt. 2019 folgte der Strato Pi CM Duo, der erste Raspberry Pi-basierte Server, der einen dualen SD-Kartenslot bietet. Diese Funktion ist entscheidend für hochzuverlässige Systeme, die einen funktionalen Lebenszyklus von vielen Jahren garantieren müssen. Neben der Gewährleistung von Datenintegrität und Redundanz kann der Strato Pi CM Duo ein vollständiges System-Upgrade aus der Ferne durchführen.
Darüber hinaus brachte das Unternehmen im Jahr 2020 Iono Pi Max auf den Markt, eine All-in-One-Lösung für die industrielle Steuerung mit einem Raspberry-Pi-Kern. Iono Pi Max verfügt über eine breite Palette an analogen und digitalen Schnittstellen: vier galvanisch getrennte, hochpräzise Eingänge von 4 mA bis 20 mA und vier von 0 V bis 10 V zum Anschluss von Standard-Industriefühlern sowie zwei zusätzliche Eingänge speziell für Pt100- und Pt1000-Temperatursensoren. Sechs digitale Eingänge, die Signale von bis zu 30 V akzeptieren, ermöglichen dem Benutzer die Integration von digitalen Zählern und allgemeinen Statussignalen.
Strato Pi CM, Strato Pi CM Duo und Iono Pi Max unterstützen sämtliche Versionen der Raspberry-Pi-Compute-Module: 3, 3+, 4S, was die Tür für neue, fortschrittliche Anwendungen öffnet und gleichzeitig die bestehenden Entwicklungen schützt.
Exo Sense Pi von Sfera Labs basiert auf CM4. Dabei handelt es sich um ein Multisensormodul mit einer breiten Palette von Anschlussmöglichkeiten. Diese Optionen sind für private und gewerbliche Anwendungen geeignet, wie z. B. Umweltüberwachung und Datenerfassung, BLE-Standortverfolgung und Ortung, Tracking von Personen und Gegenständen in Innenräumen, Raummanagement und Zugangskontrolle, Sprachsteuerung und vieles mehr. (neu)
Autor
Giampiero Baggiani, Mitgründer und Leiter der Software-Entwicklung bei Sfera Labs