De Raspberry Pi Compute Module 4 (CM4) is nu beschikbaar. Het heeft een nieuwe vormfactor en nieuwe periferie, maar zaten we hierop te wachten? In combinatie met de Raspberry Pi Compute Module IO Board geeft dit nieuwe mogelijkheden om op Raspberry Pi gebaseerde systemen te maken die met oudere modules niet mogelijk waren. Met de toegevoegde PCI Express interface kunt u nu kiezen uit high-speed randapparatuur die gecombineerd kan worden met de RPi.
 

Wat is de Raspberry Pi Compute Module 4?

Er gingen al een tijdje geruchten, en nu is er het officiële bewijs van een RPi-4 rekenmodule: de Raspberry Pi Compute Module 4. De Compute Module is een uitgeklede Raspberry Pi module die bedoeld is om te worden opgenomen in andere producten die meer ontwerpflexibiliteit nodig hebben dan de gebruikelijke Raspberry Pi kan bieden. Het stelt u ook in staat om op maat gemaakte elektronica rond de Raspberry Pi SOC te integreren (bijvoorbeeld voor industrieel gebruik of digital signage). De rekenmodules die de SoC's op Raspberry Pi Zero en Raspberry Pi 3B(+) hebben, zijn uitgebracht in een SO-DIMM vormfactor, zoals RAM in uw PC. Hoewel dit een grote flexibiliteit bood, had het ook enkele nadelen, omdat de Ethernet Phy en USB hub controller niet in de module waren opgenomen. Dit betekende dat je dit zelf moest toevoegen. Ook Wi-Fi was geen optie. Het moest worden geïnstalleerd op het eigen basisbord en worden toegevoegd aan de BOM-kosten. Hierdoor waren de Compute Module 3 en Compute Module 1 niet van toepassing voor sommige applicaties. En het ontbreken van een soort van high-speed interface, aangezien beide modules slechts één USB2.0-poort hadden, was niet handig voor het toevoegen van randapparatuur met hoge bandbreedte of lage latency. Gezien de prijzen van Compute Module 1 en Compute Module 3, zou je voor sommige projecten een gewone Raspberry Pi kunnen gebruiken, omdat alles wat nodig is al in een bekende vormfactor was geïnstalleerd. De Compute Module 4 verandert de zaken drastisch omdat er veel over nagedacht is om het beter te maken dan eerdere versies.

 

Een eerste blik op de printplaat

Figuur 1 en figuur 2 geven een eerste indruk van de print.

Figuur 1: De bovenkant van de Raspberry Pi Compute Module 4.
The bottom of the Raspberry Pi Compute Module 4
Figuur 2: De onderkant van de Raspberry Pi Compute Module 4.

De Compute Module 4 is nu verkrijgbaar in 32 varianten. U kunt kiezen uit een wel of niet draadloze variant, onboard EMMC met 8, 16 of 32 GB of zonder onboard EMMC en 1, 2, 4 en 8 GB RAM. Dit betekent dat u de versie kunt kiezen die precies bij u past. Raadpleeg het tekstvak Specificaties voor de specificaties, die dezelfde zijn als die voor de Raspberry Pi 4.

Specifications box

Figuur 3 toont de onderdelen in een draadloze Compute Module 4 zonder geïnstalleerde MMC.

Figuur 3: De onderdelen van de Raspberry Pi Compute Module 4.

Links staat de PMIC die verantwoordelijk is voor alle stroomvoorzieningen die de Compute Module 4 nodig heeft om te kunnen werken (figuur 4).

Figuur 4: PMIC.

Daarnaast bevindt zich de draadloze module die 5GHz en 2.4GHz Wi-Fi ondersteunt en ook Bluetooth-connectiviteit biedt. In het midden (figuur 5) vindt u de BCM2711, de SoC die het hart vormt van de Compute Module 4 en die vier Cortex-A72-kernen heeft.

Figuur 5: BCM2711 SOC.

Rechtsboven (figuur 6) een BCM54210PE die 1000Base-T Ethernet-ondersteuning biedt, inclusief IEEE1588-2008-ondersteuning voor precisietiming.

Figuur 6: Phy.

Dit betekent dat het enige wat u hoeft te doen voor uw eigen basisbord om Ethernet-ondersteuning te krijgen is gewoon een MagJack te monteren en het kan zeker geen kwaad om ESD-bescherming toe te voegen.

.Aan de rechterkant (figuur 7) hebben we een RAM-module en helemaal boven een kleine flashchip met standaard boot informatie.
 

Figuur 7: RAM-chip en EEPROM.

 

Aan de onderzijde (figuur 2) ziet u de benodigde condensatoren en oscillatoren voor de SoC. Ook ziet u twee 100-polige Hirose-connectoren waarmee de Compute Module 4 op een basisbord wordt bevestigd. Dit is een wijziging ten opzichte van de vorige Compute Module. Aan een kant van de connector zijn alle stroom- en lagesnelheidssignalen aangesloten; de andere kant heeft alle hogesnelheidssignalen, waardoor de routing minder lastig is. Voor de voeding hoeven we alleen maar 5 V aan de module te leveren; de onboard DC/DC converter zal alle benodigde spanningen voor de Compute Module 4 genereren.

Raadpleeg opnieuw het tekstvak Specificaties. De USB 3.0 interface op de Raspberry Pi 4B staat niet vermeld, en daar is een goede reden voor. Bij de Raspberry Pi 4B was er een USB 3.0 controller aangesloten op de BCM2711 via een PCI Express 2.0 single lane verbinding. Deze schakeling is niet opgenomen in de Compute Module 4 en maakt de PCI Express lane vrij voor eigen gebruik. Dit creëert nieuwe mogelijkheden om een Raspberry Pi te gebruiken waar de vorige versies niet bruikbaar waren. In de volgende sectie zal ik uitleggen hoe u aan de slag kunt met de module en hoe u uw eigen creaties kunt ontwikkelen.

Raspberry Pi Compute Module 4 I/O-board

Om te beginnen met de Raspberry Pi 4 Compute Module heeft de Raspberry Pi Foundation ook een I/O Board gemaakt (Figuur 8) dat alle goede eigenschappen heeft van de Compute Module en ook een PCI Express x1 slot bevat.

Compute Module IO Board
Figuur 8: I/O bord.

Het bord biedt meer connectiviteit dan je krijgt met de andere Raspberry Pi 4 producten, twee camera ingangen (CSI-2 interface met twee of vier kanalen, weergegeven in Figuur 9).

Figuur 9: CSI-poorten.

Twee displayaansluitingen (DSI met twee of vier kanalen, weergegeven in Figuur 10) maken meerdere monitoren en vision-processing mogelijk

Figuur 10: DSI-poorten.

Wilt u een muis en toetsenbord aansluiten? De interne USB 2.0-poort van de CM4 is uitgebreid met een USB 2.0 Hub op de I/O-kaart die tot vier USB 2.0-poorten biedt (Figuur 11).

Figuur 11: USB-poorten.

Het I/O-board bevat ook een RTC-module die kan worden gebruikt als watchdog of om het systeem op bepaalde momenten op te starten.

Voor de stroomtoevoer heeft u alleen een 12 V-voeding nodig (als u PCI Express-kaarten gebruikt). Als u geen gebruik maakt van het PCI Express-slot, kan de ingangsspanning maximaal 26 V zijn. Een welkome verandering zijn de twee gewone HDMI-poorten die op het I/O-bord te vinden zijn om normale HDMI-kabels te gebruiken (Figuur 12).

Figuur 12: HDMI-poorten.

Tot slot krijg je een LAN-poort en ook een microSD-kaartslot. Wat het I/O Board interessant maakt zijn de KiCad projectbestanden die openbaar zijn en die een snelle start mogelijk maken als je KiCad gebruikt. De Compute Module 4 is hier als component toegevoegd en kan eenvoudig aan je eigen boards en ontwerp worden toegevoegd zonder gedoe om een component in KiCad te maken (Figuur 13).

Figuur 13: Screenshot KiCad-component.

Alleen een 3D-model is niet inbegrepen.

Het in elkaar zetten van de onderdelen

Als u van plan bent om ontwikkelingen te doen met de Raspberry Pi Compute Module 4, is het I/O Board een nuttig extra, omdat het alle interfaces op een bruikbare manier beschikbaar maakt en ook toegang geeft voor PCI Express apparaten. Aan de slag gaan is net zo eenvoudig als met een gewone Raspberry Pi 4: schrijf een image op een SD-kaart en start deze op. Als er een muis en toetsenbord op de USB-poorten zijn aangesloten, zullen deze niet verschijnen of werken zoals op de Raspberry Pi 4. Als u de USB-poorten met randapparatuur wilt gebruiken, moet u een regel toevoegen in de config.txt, die zich in de BOOT-partitie van de SD-kaart bevindt. Voeg dtoverlay=dwc2,dr_mode=host toe aan het einde van config.txt, om de volgende keer dat u opstart de USB-poorten beschikbaar te krijgen. Met het gemonteerde PCI Express x1 slot is het toevoegen van kaarten die x1 slot (een PCI Express lane) compatibel zijn geen probleem, maar je moet er wel rekening mee houden dat die kaarten gevoed worden vanuit de 12 V ingang, dus zorg ervoor dat er voldoende stroom kan worden geleverd. PCI Express heeft een mooi onderdeel in de specificatie dat kaarten die ontworpen zijn voor slots met x4, x8 of x16 configuratie ook kunnen werken met minder lanes - wat betekent dat ze in x1 slots moeten werken. Vanwege mechanische beperkingen kunnen we zo'n kaart niet direct in het Raspberry Pi I/O Board steken.

Gelukkig is dit probleem tijdens de toename van GPU-gebaseerde crypto-mining ook ontstaan op moderne PC-systemen en zijn er oplossingen ontwikkeld. Een geschikt adapterbord met een eigen voeding kan worden aangeschaft voor minder dan 10 dollar (Figuur 14) en worden bevestigd aan het I/O-board.
 

Figuur14: PCI Express-adapterbord.

Nadat de Raspberry Pi Compute Module 4 is opgestart en Linux draait, is met lspci een korte blik op de gedetecteerde PCI Express kaarten mogelijk. Zoals u kunt zien in Figuur 15, is er een Intel dual port netwerkkaart aangesloten.

Figuur 15: Samengestelde componenten.

Het is bekend dat deze een werkende Linux-driver heeft in de hoofdlijn en zou extra netwerkpoorten moeten toevoegen aan de Raspberry Pi Compute Module 4. De output van lspci ziet er veelbelovend uit, de kaart wordt herkend, maar er is geen driver geladen. De reden daarvoor is vrij eenvoudig: de standaard Kernel die met het Raspberry Pi OS wordt geleverd heeft alleen drivers ingebouwd die nodig zijn voor het dagelijkse gebruik.

Vraag je je af of het aansluiten van een GPU met deze methode zou werken? Verbinding maken is mogelijk, maar het zal niet werken zoals je in deze video kunt zien. Voor een Ethernet controller en andere PCI Express apparaten zoals SATA kaarten, moet je de Kernel voor de Raspberry Pi 4 hercompileren om ze aan de praat te krijgen. Aangezien dit een softwareprobleem is, kan het worden opgelost; maar het is op dit moment niet mogelijk om een nieuwe kernel te bouwen voor de basisdriver. Software, kernelbouw en driver zijn een apart onderwerp dat in de toekomst aan de orde zal komen. Ook werken sommige PCI Express apparaten helemaal niet met de Raspberry Pi Compute Module 4 omdat het stuurprogramma uitgaat van iets dat alleen in de X86/AMD64 wereld te vinden is, zoals momenteel het geval is met het GPU-stuurprogramma.
 

Klaar om te innoveren?

De Compute Module komt nu in een nieuwe vormfactor en maakt een eerste bordontwerp eenvoudig. Voorzien van KiCad-symbolen en schema's voor het I/O-bord, vereenvoudigt het de productontwikkeling. Waarom geen Raspberry Pi Compute Module 4 toepassen in een set-top box of een zelfgebouwde handheld? Met de vrij beschikbare PCI Express lane, kunnen we quad-poort ethernetkaarten toevoegen om in totaal vijf poorten op gigabit snelheid te verkrijgen. Dat klinkt als de ingrediënten voor een Raspberry Pi Compute Module 4 gebaseerde router.

Gezien de prijs voor de Raspberry Pi Compute Module 4 en het I/O Board is ermee aan de slag gaan niet te duur, omdat de componenten redelijk geprijsd zijn. Als je iets rond de Raspberry Pi wilt bouwen, is dat met de huidige generatie Compute Modules eenvoudiger dan ooit.


Vertaling: Hans Adams


Wil je meer geweldige Elektor-inhoud als deze?

Neem vandaag nog een Elektor-lidmaatschap en mis nooit meer een artikel, project of tutorial.