Der RPi400 und die GPIOs -- ein Trauerspiel
Beim "normalen" RPi werden Erweiterungsplatinen (PiHATs) auf die stehende GPIO-Leiste des RPi aufgesteckt. Die Erweiterungsplatine ist also im angesteckten Zustand liegend über dem RPi. Deshalb sind vom Design her Bedienteile und/oder Steckverbinder meist auf der Oberseite der Erweiterungsplatine angebracht. Von der RPi-Foundation gibt es eine Spezifikation, an welche Regeln sich eine Aufsatzleiterplatte zu halten hat, um offiziell als PiHAT (HAT=Hardware Attached on Top) bezeichnet werden zu dürfen: Designing a HAT.
Am RPi400 ist die Stiftleiste waagerecht an der Rückseite herausgeführt, ein Anschluss ist damit zwar grundsätzlich möglich. Aber die meisten PiHATs lassen sich nicht vernünftig bzw. ergonomisch anschließen:
Bilderstrecke RPi400 mit SenseHAT
Anschluss des Sense-HAT-Moduls am RPi400:
Bilder 1 und 2:
bei richtigem Anschluss zeigen die LEDs und Taster nach hinten. Eine Bedienung ist damit extrem lästig und beinahe unmöglich.
Bild 3:
Mit einem Flachbandkabel wird's nicht wirklich besser: Die erforderliche Drehung der Zusatzleiterplatte bringt nicht viel.
...und das (für mich) Schlimmere: Wo bleibt der Sound?
Bezüglich der vier(?) Möglichkeiten der Audioausgabe am RPi sieht's beim 400er wie folgt aus:
* Klinkenbuchse: fehlt (ok, nicht schade darum)
* HDMI ist das einzige, was direkt funktioniert, aber viele PC-Bildschirme haben nach wie vor keine Lautsprecher
* USB-Soundkarte: geht, nimmt aber eine der ohnehin nur drei USB-Buchsen weg.
* I2S-Soundkarte an der GPIO-Leiste: kann man machen, sieht aber shice aus!
Deshalb habe ich eine Platine mit KiCad erstellt, die diese Probleme (hoffentlich) einigermaßen beseitigt:
Folgende Features hat die Leiterplatte:
* Die GPIOs vom RPi400 (im Bild unten) werden 1:1 auf die Stiftleiste auf der Oberseite durchgeführt (im Bild oben).
* Die Leiterplatte orientiert sich an der HAT-Konformität der RPi-Foundation bezüglich der Abmessungen und Montagebohrungen.
* In den hinteren beiden Montagelöchern können Abstandsbolzen montiert werden, damit die Leiterplatte sicher auf dem Tisch steht und der RPi400 nicht hochkippen kann.
* Multilayer-Platine mit vier Lagen (war notwendig, mir wären zwei Lagen auch lieber gewesen)
* Die Bauteile sind nur auf der Oberseite bestückt. Unten befindet sich optional nur ein Supercap oder ein Halter für eine CR2032-Knopfzelle zur Pufferung der RTC.
* Ausführung in 0603-SMD-Technik, eine Größe, die mit vernünftigem(!) Werkzeug gerade noch manuell bearbeitet werden kann. War aus Platzgründen erforderlich.
* Die UART-Pins an der GPIO-Leiste des RPi werden auf den FTDI-Chip FT32RL geführt, um eine serielle Schnittstelle (RS232) über USB zum PC umzusetzen (virtual COM port).
* Sockel für ein ID-EEPROM (z.B. 24LC32A) an den GPIO-Pins 27 und 28. Alternativ kann eine SMD-Variante bestückt werden.
* I2S-Soundkarte mit PCM5122 (BurrBrown bzw. mittlerweile Texas Instruments) auf Cinch, dem gleichen I2S-DAC, der auf dem Hifiberry DAC+ verwendet wird.
* Class-AB-Verstärker basierend auf dem LM4838, einem 2x2W (EDIT 16.07.2024: 2x1W) Stereoverstärker bei 4Ω-Lautsprechern. Damit hat man etwas Vergleichbares zum Hifiberry MiniAmp.
* Vernünftige(?) Power Rail mit klarer Trennung zwischen GNDD und GNDA (digitaler und analoger Masse), um Störungen zu minimieren.
Stromlaufplan:
RPi400extBrd_2022_01_schematic.pdf
Komponenten / Konfiguration:
Das Ganze habe ich so konzipiert, dass die einzelnen Teilkomponenten autark sind und ggf. auch weggelassen werden können. Dies reicht bis in die Soundkarte rein: Nur PCM5122 für Hifiberry-DAC+-Funktionalität oder mit Verstärkerteil LM4838, um die Soundkarte zu einer Art MiniAmp+ auszubauen. MiniAmp+ deswegen, weil hier der "bessere" I2C-Wandler PCM5122 und nicht der PCM5101A verwendet wird und anstelle des Class-D-Verstärkerbausteins PAM8403 ein echter Class-AB-Verstärker, der LM4838 zum Einsatz kommt.
* Der einfachste Fall wäre ein nacktes Board nur mit den beiden GPIO-Leisten für RPi400 und die klassische stehende Stiftleiste als mechanisches Aufsatzboard am RPi400
* ID-EEPROM
* UART
* RTC
* Hifiberry-kompatible Soundkarte, aufteilbar
Ich habe gestern ein ein paar Platinen bestellt. Sie sollten in 14 Tagen (07.-08.02.2022?) da sein. Dann muss ich sie noch bestücken (oder bestücken lassen).
Zwei Platinen sind schon für Interessenten hier im Forum reserviert, ich brauche selber natürlich auch mindestens eine
Bei Interesse einfach bei mir melden, zum Preis kann ich noch nichts Genaues sagen, ich werde heute noch die BOM (Stückliste) zusammenstellen und das Ganze mal ausrechnen. Nur so viel: das nackte Board kostet mich knapp 16€.
Wenn das Material da ist, werde ich die Boards aufbauen, testen und hier berichten. Stand heute ist alles noch graue Theorie.