Ik heb de RP1-documentatie gelezen zodat jij dat niet hoeft te doen

Essenties van RP1 Titelafbeelding

Een van de meest opvallende kenmerken van de nieuwe Raspberry Pi 5 is de toevoeging van RP1 - de eerste zelf ontworpen siliciumchip op een Raspberry Pi vlaggenschip. In dit artikel wil ik de essentie van RP1 bespreken en je vertellen wat het zo revolutionair maakt.

Helaas kan dit artikel niet het equivalent zijn van een "Alles over RP1", omdat ze de volledige documentatie nog niet hebben vrijgegeven.

In plaats daarvan hebben ze een 90 pagina's ontwerpgegevensblad waarin een aantal basisprincipes van RP1 worden besproken.

Raspberry Pi 5 onderdelen

Laten we beginnen met de geschiedenis van RP1.

Geschiedenis

RP1 is dus het langst lopende interne siliciumproject van Raspberry Pi. Daarom heet het "RP1“.

In de aankondiging voor Raspberry Pi 5 schreef Eben Upton: "RP1, dat sinds 2016 in ontwikkeling is, is verreweg het langstlopende, meest complexe en (met $15 miljoen) duurste programma dat we hier bij Raspberry Pi ooit hebben uitgevoerd."

Het is de langstlopende, meest complexen duurst programma.

Het is echter niet het eerste zelf ontwikkelde silicium dat Raspberry Pi heeft uitgebracht. Daarvoor moet je je wenden tot RP2040, de microcontroller van de Pico en Pico W. Ze lanceerden RP2040 dus in 2021, hoewel het programma eigenlijk later van start ging.

Intern bij Raspberry Pi noemde iedereen RP1 "Project Y".

Laten we eens kijken waar de RP1 allemaal over gaat.

Kenmerken

Bij eerdere modellen was in principe alle I/O geïntegreerd in de hoofdprocessor.

Het belangrijkste idee achter RP1 is dus om I/O te scheiden van de hoofdprocessor - in dit geval de Broadcom BCM2712. Het is dus een southbridge die het overgrote deel van de I/O-functies van de Raspberry Pi 5 overneemt.

Dit heeft een aantal gevolgen, waaronder het aanbieden van processen met een kleinere geometrie voor de hoofdprocessor. De BCM2712 bevindt zich, zoals we al hebben besproken, op 16nm-procesnodes.

Ondertussen bevindt RP1 zich zelf op 40nm-procesnodes.

Hierdoor kan de hoofdprocessor zich ook richten op complexere taken.

Dus de BCM2712 neemt de snelste interfaces over en laat de langzamere interfaces over voor de RP1. Ik zal dat meer uitleggen in de volgende sectie.

Maar de twee chips - RP1 en BCM2712 - werken samen en maken verbinding via een 4-baans PCIe 2.0 bus. Het is een snelle verbinding, maar er is onvermijdelijk enige latentie tussen de twee.

De PCIe lanes tussen RP1 en BCM2712
De PCIe lanes tussen RP1 en BCM2712.

Laten we eens kijken naar de interne specificaties van de RP1.

Ik heb hieronder ter referentie een afbeelding van het schema van de RP1 bijgevoegd.

De RP1 bevat dus twee processorkernen gebaseerd op de Arm Cortex-M3 architectuur (Cortex M3 0 en Cortex M3 1 in de rode vakjes linksboven in het diagram).

Hij heeft ook een achtkanaals DMA-controller, waardoor de chip gegevensoverdrachten voor acht verschillende randapparaten tegelijk kan beheren.

De chip bevat drie geïntegreerde PLL's: 2 fractionele-N PLL's voor het genereren van onafhankelijke video- en audioklokken en 1 integer PLL voor het genereren van systeemklokken.

RP1 heeft ook een 12-bits resolutie, vijf-in-ingang successive-approximation analoog-digitaal (ADC) converter die werkt op 500kSPS, met vier externe ingangen en een interne temperatuursensor.

Als je naar het diagram hieronder kijkt, zie je linksonder een geel vak met de tekst "Shared SRAM 128bit 64kB) 4x 4kx32". Dit verwijst naar het feit dat er een 64kB gedeelte van het geheugen toegankelijk is voor zowel de BCM2712 als de RP1 bus masters.

Dit geheugen heeft vier afzonderlijke blokken, die elk uit 4 kilobytes bestaan en gegevensoverdrachten van 32 bits per keer bevatten.

Tenslotte heeft de RP1 tijdbasisgeneratoren die je kunt configureren om DMA te temporiseren. Ze zijn er in de eerste plaats voor het tempo van DMA en om GPIO ingangsgebeurtenissen te stabiliseren.

Hier is de afbeelding van de interne architectuur van de RP1 uit de datasheet:

Architectuur van RP1
Krediet: RP1 gegevensblad.

In die afbeelding kun je dus zien hoe de RP1 in het algemeen werkt, maar je kunt ook zien welke perifere functies hij aanstuurt.

Perifere besturingen

Rechts zie je het volgende, beginnend onderaan: GPIO, USB 3 PHY, USB 2 PHY, USB 3 PHY, USB 2 PHY, MIPI DPHY, MIPI DPHY, VDAC en RGMII.

RP1 bestuurt dus de GPIO-pinnen en hun bijbehorende perifere interfaces: SPI, UART, I2C, PWM, I2S. Het regelt ook de Delta Sigma PWM audio-uitgang, maar je kunt geen typische analoge audio krijgen, omdat de Raspberry Pi 5 geen audio-aansluiting heeft.

Het bestuurt ook de USB 2.0 en USB 3.0 poorten - elke hostcontroller beheert een downstream USB 2.0 en USB 3.0 poort. Zoals de datasheet het zegt, betekent dit dat "elke downstream poort een onafhankelijke en niet-gecontroleerde bandbreedte heeft".

Volgens Liam Fraser "[B]ecause of the bandwidth of the PCIe link, we should be able to run both USB 3 ports at full bandwidth." Dit is een enorme upgrade ten opzichte van Raspberry Pi 4!

PCIe van RP1 naar USB
Wat een prachtige lanen.

De RP1 is verantwoordelijk voor de MIPI transceivers, vier lanes die DSI en CSI-2 ondersteunen.

Het heeft een 3-kanaals video digitaal-naar-analoog omzetter die PAL/NTSC en VGA ondersteunt.

En tenslotte is het ook de verantwoordelijkheid van de RP1 om de Gigabit Ethernet MAC aan te sturen.

Op dit moment vraag je je misschien af hoe het zit met PIO. Helaas is er veel informatie die we op dit moment nog niet hebben, omdat ze nog niet alle documentatie voor de RP1 hebben vrijgegeven.

Wat we wel weten is dat het PIO-blok in RP1 een beetje anders werkt dan in RP2040. Er is dus weliswaar één PIO-blok met vier toestandsmachines (zoals in de RP2040), maar het heeft een dubbele FIFO-diepte. Bekijk dit commentaar van Luke Wren:

Dit is wat we op dit moment weten over perifere controles.

Blijf kijken, want in de loop van de tijd zullen ze zeker veel informatie vrijgeven over de RP1.

Nadelen

We hebben het gehad over een aantal coole dingen van de RP1, maar het is niet allemaal rozengeur en maneschijn.

Het is duidelijk dat de PIO op RP1 anders werkt dan op RP2040. Bekijk deze opmerking van Phil:

Een ander nadeel van het scheiden van de I/O-controller van de hoofd-SoC is dat je een bepaalde latentie introduceert.

Volgens de datasheet is deze latentie "typisch 1μs bij de ontwerplinkbreedte en -snelheid", wat een probleem kan zijn "voor toepassingen die afhankelijk zijn van snelle maar tijdige schrijfreeksen, bijvoorbeeld bit-bashed protocollen, of toepassingen die snel moeten reageren op de toestandsverandering van een pin".

Wat heeft de toekomst in petto?

Een van de grote vragen is of Raspberry Pi de RP1 apart gaat verkopen. Immers, ze verkopen de RP2040 apart. In een reactie een paar dagen geleden gaf Alasdair Allan op Raspberry Pi het volgende antwoord:

Dat kan natuurlijk een afleidingsmanoeuvre zijn of een echt antwoord dat we geen aparte RP1 hoeven te verwachten. Met die vraag zal alleen de tijd het leren.

Ik zou het fantastisch vinden als ze de RP1 apart zouden verkopen.

Een van de interessantste alternatieven komt echter van Jeff Geerling:

Misschien geeft Raspberry Pi ons op een gegeven moment beide - een aparte RP1 chip en een PCIe bord!

We zullen moeten afwachten.

Wedstrijd & nieuwsbrief

We weten hoe frustrerend het is om tot 23 oktober te moeten wachten op een Raspberry Pi 5.

Daarom wilden we het voor jou mogelijk maken om er zo snel mogelijk mee te spelen.

Dus hebben we een wedstrijd opgezet: Wat is het gekste dat je kunt bedenken voor Raspberry Pi 5?

Raspberr Pi 5 Wedstrijd

Op voorwaarde dat je idee het niet verpest, kun je ons jouw idee sturen en zullen we het op het onze toepassen - en er een artikel over schrijven!

We maken de winnaar hier en op buyzero.de op 23 oktober.

Het winnende idee (door ons bepaald) wint een volledige Raspberry Pi 5 kit - inclusief een 27W USB-C Power Delivery (PD) voeding, een Raspberry Pi 5 behuizing, een SD-kaart en een Raspberry Pi 5. Alles met gratis verzending binnen de EU.

De runner-up wint een Raspberry Pi 5 met gratis verzending binnen de EU.

Stuur dus zeker je ideeën in - je kunt naar de volgende link gaan voor meer informatie: WIN EEN GRATIS RASPBERRY PI 5!

Conclusie

Zo zie je maar: de hoofdzaken van RP1.

Zoals ik in het begin al benadrukte, kan sommige informatie nog veranderen. We zullen zeker een nieuw artikel publiceren zodra Raspberry Pi meer permanente documentatie uitbrengt.

Bekijk ondertussen ook onze andere artikelen over de Raspberry Pi 5:

Wil je dat RP1 apart wordt verkocht? Of misschien een PCIe-bord zoals Jeff Geerling?

Laat het ons weten in de reacties hieronder!

1 Commentaar

  1. Renato op oktober 15, 2023 op 5:36 pm

    Het is interessant om de hoofdprocessor te scheiden van alle E/S-perifericos van de hoofdchip,
    quizas no desean vender por separado al RP1 por tener solo nucleos M3, y que tendrian que competir con nucleos M4 y M7

Laat een reactie achter