Blog

Neuigkeiten zum RED Brick

Es ist eine Weile vergangen, seitdem wir das RED Brick hier im Blog angekündigt haben. Wir sind nun ein ganzes Stück weiter und freuen uns euch ein Status-Update geben zu können:

Die Bestellung der Leiterplatten mit der Klärung der technischen Details, die Lieferzeit der Leiterplatten von einem Monat und die Planungen/Vorbereitungen beim Bestücker haben dazu geführt, dass wir erst letzten Freitag die ersten Prototypen “mit nach Hause” nehmen konnten.

RED Brick Prototyp verschiedene Ansichten

Basierend auf dem Sunxi Linux, dass sich der Unterstützung von Allwinner Prozessoren widmet, haben wir unser eigenes Debian Image entwickelt. Leider funktionierte dies nicht sofort auf dem Prototypen, so dass eine Fehlersuche angesagt war. Zum Glück bieten die Allwinner Prozessoren eine einfache Möglichkeit direkt mit dem Prozessor zu kommunizieren, die sogenannte FEL Schnittstelle. Damit konnten wir herausfinden, dass der Prozessor nicht von der SD Karte booten konnte. Nach längerer Suche war der Schuldige auch direkt gefunden: Der Prozessor besitzt eine JTAG Schnittstelle, welche ebenfalls zum Debuggen genutzt werden kann. Über zwei Prozessorpins kann festgelegt werden, auf welchen Pins dieses verfügbar ist. Die JTAG Schnittstelle wurde unglücklicherweise so konfiguriert, dass sie auf den Pins für die SD Karte läuft und somit die SD Karte nicht funktioniert. Der Prozessor bietet verschiedene Schnittstellen zum Anschließen einer SD Karte, diese wurden während der Designphase auch häufiger gewechselt. Leider wurde anschließend vergessen, die JTAG Schnittstelle anzupassen.

Die schuldigen Pins befinden sich direkt unter dem Prozessor, sind also von außen nicht mehr erreichbar. Daher haben wir Versuche unternommen eine andere SD Karten Schnittstelle zum laufen zu bekommen. Zum Glück befindet sich auf der “General Purpose”/Kamera Schnittstelle ebenfalls eine SD Karten Schnittstelle. Nach etwas fädeln hatten wir diese auch angeschlossen:

RED Brick Prototyp mit Fädeldraht

Die Schnittstelle haben wir nicht zum laufen bewegen können. Die Datenblätter des Prozessors sind leider nicht sonderlich aussagekräftig. Unter Umständen ist es unmöglich direkt von dieser SD Karten Schnittstelle zu booten. Alternativ sind es elektrische Probleme oder die Konfiguration unseres Images ist nicht korrekt gewesen.

Daher blieb uns nur die Möglichkeit irgendwie die Verbindung der JTAG-Konfigurations-Pins zu trennen und somit die korrekte JTAG Konfiguration herzustellen. Wir hatten alle bestellten Prozessoren bereits bestückt, so dass eine neue Bestückung, mit modifizierter Leiterplatte, nicht so schnell zu bewerkstelligen war. Auch ein Runterlöten des Prozessors (FBGA), Trennen der Verbindungen, Reballing und das erneute Drauflöten war so recht keine Option. Der Abstand zwischen RAM und Prozessor ist sehr gering, so dass dieses nicht so einfach möglich gewesen wäre. Daher haben wir die Durchkontaktierung, die einen der beiden Pins mit der Masselage verbindet, ausgebohrt und somit die Verbindung getrennt. Ein interner Pull-Up im Prozessor sorgt nun dafür, dass dieser Pin “High” ist.

Aber wie bohrt man eine Durchkontaktierung, die einen Außendurchmesser von 0,3mm und eine Bohrung von 0,15mm besitzt, aus?

RED Brick Prototyp, Aufbau Bohrmaschine

Mit diesem provisorischen Aufbau haben wir es versucht. Leider hatten wir nur einen 0,5mm Bohrer zur Hand, so dass wir sehr viel mehr wegnehmen mussten als notwendig. Den Bohrer überhaupt halbwegs passend über der Durchkontaktierung zu positionieren war schon nicht ganz einfach. Die Bohrtiefe konnten wir nur nach Gefühl ermitteln. Die besagte Masse-Lage besitzt zur Top-Lage (da wo der Prozessor drauf sitzt) einen Abstand von 0,2mm. Diese Verbindung musste aufgebohrt werden ohne all zu tief in den Prozessor zu bohren und diesen zu zerstören.

RED Brick Prototyp mit Bohrung

Das Ergebnis unserer destruktiven Arbeit seht ihr im obigen Bild. Unsere Anspannung, als wir das Brick an einem Rechner angeschlossen haben und auf die ersten Lebenszeichen warteten, könnt ihr euch vielleicht vorstellen. Umso größer war die Freude als wir die ersten Lebenszeichen sehen konnten:

RED Brick Prototyp Prompt

Wie geht es jetzt weiter?

Wir sind jetzt dabei das Brick zu testen. Es muss nun zeigen, dass es auch stabil funktioniert. Morgen kommen hoffentlich kleinere Bohrer an, so dass wir weitere Bricks zum leben erwecken wollen. Anschließend werden wir uns den Schnittstellen widmen und HDMI sowie USB Host testen. Als nächstes sind dann die Stapel-Schnittstellen zu den Bricks und Extensions dran. Unser Linux Image wird parallel weiterentwickelt, hier sind noch einige Anpassungen und Optimierungen durchzuführen. Eine große Aufgabe die dann wartet, ist die Implementierung eines Linux Kernel Treibers für SPI zur Stapelkommunikation und sofern notwendig, die Anpassung der Stapelkommunikation aller Bricks. Eine weitere große Aufgabe ist die Implementierung der Benutzerschnittstellen und der internen Programmausführung.

Mit den Prototypen sind wir sehr zufrieden. Die Fehler die wir bisher im Hardwaredesign gefunden haben lassen sich einfach beheben. Aktuell sieht es sogar so aus als würden wir die SMD-Rakelschablonen von den Prototypen in der Serienfertigung verwenden können, da keine Pads umgesetzt werden müssen.

Wir werden euch mit weiteren Blogeinträgen auf dem laufenden halten. Drückt uns bitte die Daumen, dass das RED Brick die weiteren Tests besteht ;-)