Endlich ist er da, ein Raspberry Pi Zero zum Testen! Genau wie beim ersten Test am Laptop wurde die Erweiterung problemlos erkannt und bekam durch Raspbian sogar eine MAC-Adresse aus dem Bereich der Raspberry Pi Foundation zugewiesen (B8:27:EB:…).
Vielen Dank an Christian Mallas, der mir freundlicherweise einen Pi Zero für die Tests zu Verfügung stellt!
Nach einer kleinen Anpassung am „Device Tree Blob“ (und Fehlersuche auf der Platine) funktioniert auch der Audio-Ausgang. Leider nimmt aufgrund der PWM-Technik beim Verringern der Lautstärke auch die Klangqualität ab bis nur noch Rauschen übrig bleibt. Immerhin liefert die vom Pi B+ übernommene Treiberschaltung auch für Kopfhörer mehr als ausreichend Leistung.
Stromaufnahme
- Pi Zero: Boot ~120mA, Idle ~80mA
- mit PIOstack: Idle ~ 265mA, LAN 100M ~316mA, LAN 100M + Traffic ~395mA
- MP3 Wiedergabe (mpg123, 32Ω Kopfhörer): ~346mA
Damit wäre dann auch geklärt welcher Chip auf den Pi’s den ganzen Strom verbraucht. Leider ist der LAN9514 Chipsatz nicht mehr der aktuellste (verfügbar seit ca. 2009) und muss einige Schnittstellen bedienen. Die (zugegeben, unnötig hellen) Status-LEDs genehmigen sich noch zusätzliche 15mA.
Spiegelverkehrt 🔧
Wie es sich für einen Prototyp gehört haben sich zwei kleine Fehler eingeschlichen. Beim Zeichnen der Buchse habe ich den rechten Audio-Kanal und Masse vertauscht. Dadurch klang der Ton absolut furchtbar, obwohl der Ausgang eine eigene Stromversorgung und Filter enthält. Daran ist auch der Hersteller nicht ganz unschuldig, im Datenblatt weißt bloß eine kleine Fußnote auf die spiegelverkehrte Darstellung hin. Nachdem man tagelang nur SMD-Bauteile anlegt kommt es doch überraschend wenn das Datenblatt plötzlich die Unterseite der Platine zeigt!
Dieser Fehler ist zum Glück einfach zu beheben: Da die Buchse symmetrisch ist könnte man sie einfach auf der gegenüberliegenden Seite einlöten. Weil die Unterseite von SMD Teilen blockiert wird habe ich die Seite beibehalten, die vertauschten Pins gekürzt und mit etwas Lackdraht korrekt verbunden.
Etwas besser hat sich der zweite Fehler in der Stromversorgung der USB Buchsen versteckt. Mein erster Raspberry Pi stürzte gerne mal ab wenn beim anschließen von stromhungrigen USB Geräten die Versorgung zusammenbricht. Damit der PIOstack nicht dieselben Probleme mitbringt habe ich für die USB Anschlüsse High-Side Schalter mit Strombegrenzung eingeplant. Dadurch wird nicht nur der Einschaltstrom begrenzt, zusätzlich schützen die Schalter auch vor zurück fließendem Strom (damit die Platine nicht „rückwärts“ von einem USB Gerät versorgt wird). Außerdem kann so der LAN9514 Chip bei Kurzschlüssen den Port deaktivieren und eine Meldung zum Betriebssystem schicken.
Aus Platzgründen sind jeweils zwei Buchsen zusammengefasst und werden von einem mit 1A belastbaren Schalter versorgt (STMPS2171). Der Controller unterstützt grundsätzlich eine so zusammengefasste Stromversorgung („ganged mode“). Allerdings kann man die Ports nicht beliebig zusammenfassen, wie es z.B. bei manchen USB Hubs von TI möglich ist. Entweder müssen individuelle Schalter für jeden Anschluss vorhanden sein, oder sämtliche Buchsen zentral versorgt werden. Mit meiner Schaltung erscheint die Überstrom-Meldung für zwei Ports gleichzeitig. Da nur jeweils ein Port ausgewählt und wieder aktiviert werden kann, blockieren sich die Anschlüsse gegenseitig und können nicht zurückgesetzt werden.
Mit dem „LAN95xx Utility“ kann der „ganged mode“ für die Stromversorgung aktiviert und im EEPROM gespeichert werden. Dadurch gilt eine Überstrom-Meldung für den gesamten USB Hub und wird auf allen Ports zeitgleich zurückgesetzt. Um den zweiten Fehler auch in der Hardware zu beheben, müsste man in der nächsten Version z.B. alle Buchsen zusammenfassen und über einen 2A Schalter versorgen.
Fazit 👍
Abgesehen von den kleinen Fehlern und zu wenig bestellten Kerkos (zum Glück gibt es den HBE-Shop) ist die Hardware ein voller Erfolg!
Das Layout wurde anstandslos produziert und die doppelseitige Bestückung hat wunderbar funktioniert. Schwere Kerkos auf der Unterseite und ein QFN-64 auf der Oberseite waren doch ein kleines Abenteuer, ich hatte schon befürchtet die Hälfte der Teile aus dem Reflow-Ofen kratzen zu müssen oder viel Ausschuss zu produzieren.
Damit ist das Projekt wahrscheinlich auch schon an seinem Ende angelangt. Ich hatte auf ein größeres Interesse gehofft und die Platine dann in kleiner Stückzahl herausbringen wollen, um zumindest die Entwicklungskosten wieder reinholen zu können.
Leider ist der Raspberry Pi Zero noch immer nicht lieferbar oder muss deutlich teurer aus dem Ausland importiert werden. Es soll auch Unstimmigkeiten mit den großen Distributoren gegeben haben, wodurch die deutschen Kunden auf der Warteliste noch weiter nach hinten rutschten. Weil mit dem Pi 3 inzwischen ein Modell mit WLAN, Bluetooth und schnellerem Prozessor verfügbar (und scheinbar auch lieferbar) ist, dürfte der Zero kaum mehr neues Interesse wecken können.
Weitere Informationen und die Fertigungsdaten (Schaltpläne, Layout, Stückliste) stehen auf der Projektseite „PIOstack“ zum Download bereit!