banner
Nachrichtenzentrum
Unser oberstes Ziel ist es, erstklassige Waren zu günstigen Preisen anzubieten.

Der Zustand des SBC-Schnittstellen-Ökosystems: Ist es an der Zeit, einen Standard zu entwerfen?

Nov 23, 2023

Wenn es um Einplatinencomputer geht, haben wir die Qual der Wahl, ob sie auf einem Mikrocontroller oder einem leistungsfähigeren SoC basieren, auf dem ein Betriebssystem wie GNU/Linux ausgeführt werden kann. Sie sind von etablierten Marken wie Arduino, Adafruit oder Raspberry Pi erhältlich oder aus dem Wilden Westen billigerer fernöstlicher Module mit einer Vielzahl unterschiedlicher Architekturen.

Jeder hat seinen eigenen Favoriten, und dazu gehört auch ein Ökosystem aus Betriebssystemen und Softwareentwicklungsumgebungen. Es gibt noch einen weiteren Aspekt dieser Boards, der sich weiterentwickelt hat; Einige davon sind zu De-facto-Standards für Schnittstellenanschlüsse für Hardware-Peripheriegeräte geworden. Sind diese Standards sinnvoll? Lass uns darüber reden.

In den meisten Fällen ist ein Schnittstellenstandard das Ergebnis einer spezifischen Anstrengung, ihn zu erstellen. Denken Sie zum Beispiel an den USB-C-Anschluss: Er entstand nicht nur, weil ein Hersteller beschloss, eine Maschine mit einem reversiblen Hochgeschwindigkeits-Datenanschluss mit Stromversorgung zu versehen, sondern war das Ergebnis langjähriger Erfahrung und Arbeit eines Industriekonsortiums .

Manchmal entsteht ein Schnittstellenstandard jedoch zufällig. Die Autozubehörsteckdose ist in jeder Hinsicht ein ziemlich schreckliches Stromanschlusssystem, das vor Jahrzehnten als Buchse für einen elektrischen Zigarettenanzünder entstand. Da es keine andere praktische Möglichkeit gab, in einem Auto auf eine 12-V-Stromversorgung zuzugreifen, wurde sie zur Stromquelle für die wenigen verfügbaren elektronischen Zubehörteile im Auto und hat sich seitdem zur Standard-Autosteckdose entwickelt. Seltsamerweise sind viele Autozubehörsteckdosen heute nicht mehr für ihren ursprünglichen Zweck geeignet, da sie nicht mehr dafür ausgelegt sind, der Hitze eines Zigarettenanzünderelements standzuhalten.

Und damit kommen wir zu den Anschlüssen an Einplatinencomputern. Fast alle verfügen über einen Erweiterungsanschluss, der dazu dient, möglichst viele der verfügbaren Schnittstellen an einer Stelle zur Verfügung zu stellen. Einige sind gut gestaltet, andere weniger, aber keine davon ist so konzipiert wie die USB-Buchse, um unabhängig von spezifischer Hardware zu sein und den Komfort für die gewünschte Anwendung zu gewährleisten. Stattdessen werden sie dem Designer des Boards überlassen, der möglicherweise nicht damit rechnet, dass das Gerät zu einem weit verbreiteten Standard wird, und daher möglicherweise nicht im Voraus darüber nachdenkt, wie seine Kreation verwendet werden könnte.

Wenn wir gebeten würden, einige Boards zu nennen, deren Schnittstellen zu unbeabsichtigten De-facto-Standards geworden sind, würden wir die meisten von Ihnen nicht überraschen. Der ursprüngliche Arduino, der Raspberry PI, der Adafruit Feather und vielleicht der Raspberry Pi Pico, vielleicht der BeagleBone und einer, den wir immer häufiger sehen, der BBC micro:bit. Es lohnt sich, einen kurzen Blick auf diese einzeln zu werfen, um herauszufinden, was uns an ihnen gefällt und was nicht.

Der Urvater von allen muss der Arduino sein. Wir wissen nicht, ob es das erste Board war, das uns auf die Idee der Schilde brachte, aber es war sicherlich das, das sie populär machte. Vor dem Arduino war es üblicher, dass eine Platine über einen Prototyping-Bereich neben einem Header mit den I/O-Leitungen verfügte, an die eine Tochterplatine angeschlossen werden konnte. Mit dem Arduino entstand die Idee einer Familie von Zusatzplatinen innerhalb eines definierten Ökosystems.

Uns gefällt die Arduino-Erweiterungs-Pinbelegung wegen der Anordnung der verschiedenen Schnittstellentypen nebeneinander und in numerischer Reihenfolge und die Verwendung kostengünstiger 0,1-Zoll-Pin-Header, aber die Größe des Dings und die Notwendigkeit von zwei Header-Sätzen schon weit auseinander sieht ausgesprochen unhandlich und altmodisch aus. Lassen Sie uns nicht mit dem ungeraden Zeilenversatz beginnen. Dennoch wird es wahrscheinlich noch lange dauern, bis wir vom klassischen Arduino-Shield befreit sind, weil es noch so viele davon gibt, aber wäre es hier im Jahr 2022 eine vernünftige Wahl für ein neues Design? Das glauben wir nicht.

Der 40-Pin-Header und HAT-Formfaktor des Raspberry Pi scheint zum De-facto-Standard für leistungsstärkere Boards geworden zu sein, typischerweise solche, auf denen Linux läuft. Es ist eine Anspielung auf den Erfolg des kleinen Boards aus Cambridge, aber trotz all der guten Dinge, die uns der Pi gebracht hat, würden wir sagen, dass der Erweiterungsanschluss nicht dazu gehört. Es ist ein Opfer der Entstehung des Pi im Jahr 2012 aus einer damals noch winzigen Organisation, die ihrer Meinung nach eine relativ kleine Auflage eines Boards herstellte, das damals gerade erst den Prototypenstatus erreicht hatte.

Die ersten Raspberry-Pi-Boards verfügten über Komponenten- und Routing-Auswahlmöglichkeiten, die auf der Zweckmäßigkeit und den ihnen zur Verfügung stehenden Ressourcen basierten. Das Wichtigste war, dass die Leitungen überhaupt zu einem Header geführt wurden, und sie für ein Board, das den Massenmarkt dominieren würde, nicht schön anzuordnen der Sektor ein Jahrzehnt später. So sind bei der ursprünglichen 26-Pin-Schnittstelle und der darauffolgenden 40-Pin-Erweiterung die verschiedenen Schnittstellen willkürlich verstreut, und wir sind sicher, dass sie etwas Ordnung schaffen würden, wenn sie heute die gleiche Aufgabe übernehmen würden. Wir mögen die Verwendung eines einzelnen 0,1-Zoll-Headers, aber obwohl wir verstehen, warum das so ist, können wir das Gleiche nicht von der Anordnung der Pins sagen.

Die Dual-In-Line-Boards wie das Feather, das Pi Pico und die verschiedenen kleineren Arduinos verfügen über einen sehr bequemen Erweiterungsansatz und folgen dem gleichen Weg wie die größeren DIP-ICs der Vergangenheit. Daher ist ein Arduino Nano häufig auf einem Stück Stripboard oder einer Leiterplatte montiert oder in ein Steckbrett eingesteckt. Der Feather und der Pico gehen noch einen Schritt weiter und verfügen beide über Sortierzusatzplatinen, die als Ergänzung dazu dienen. Wir mögen sie wegen ihrer gut durchdachten Pinbelegung, sind aber der Meinung, dass ein einzelner Anschluss mehr Flexibilität bietet.

Endlich gibt es in unserer Liste von Boards eines, das einen völlig anderen Ansatz verfolgt. Das BBC micro:bit ist ein Mikrocontroller-Board für den Bildungsbereich, das ursprünglich für britische Schulen entwickelt wurde. Der Erweiterungsstecker ist ein PCB-Randstecker mit fünf großen Pads für Krokodilklemmen und 4-mm-Steckern, um Kindern das Leben zu erleichtern Schnittstellen. Es hat ein gutes Design und ist so attraktiv, dass es auf vielen konkurrierenden Boards zu finden ist, aber es basiert auf einer teureren, speziellen Randsteckverbinder-Buchse. Wir mögen Randverbinder, aber keine, die einen teuren Verbinder benötigen.

Nachdem wir uns also auf diesem Gebiet umgesehen haben, verfügen wir über eine Reihe von im Wesentlichen proprietären Standards, die von anderen übernommen wurden. Keines davon ist die perfekte Lösung für die SBC-Schnittstelle, daher lautet unsere nächste Frage: Welche Eigenschaften würden wir bei etwas Besserem suchen? Wir sind der Meinung, dass sich die Branche mit dieser Diskussion befassen sollte, aber wie sollten sie unserer Meinung nach damit umgehen?

Der beste Ausgangspunkt ist vielleicht der Stecker selbst. Hier macht der Raspberry Pi mit zweireihigen Standard-Stiftleisten alles richtig: Sie sind günstig und leicht verfügbar, ohne dass ein Board-Formfaktor erzwungen wird, wie es bei Arduino- oder DIP-Format-Boards der Fall ist, oder dass ein spezieller Anschluss erforderlich ist, wie es beim micro:bit-Ökosystem der Fall ist. Der nächste zu berücksichtigende Bereich ist dann die Pinbelegung. Es gibt keinen Grund, warum digitale GPIO-, analoge Leitungen und Schnittstellen wie SPI oder I2C für eine einfache Anbindung nicht auf fortlaufend nummerierten Pins angeordnet werden können.

Wir glauben, dass die Mikrocontroller- und SoC-Schnittstellen alle so ähnlich sind, dass dies erreicht werden könnte. Wir glauben auch nicht, dass es für Hersteller einen besonderen kommerziellen Vorteil bietet, über eine eigene proprietäre Pinbelegung zu verfügen, da Exklusivität in diesem Zusammenhang kaum einen Wert hat. Eine gemeinsame Pinbelegung auf mehreren Platinen sollte nicht wie bei USB ein Multimillionen-Dollar-Industriekonsortium erfordern, sondern ein einfacher Satz I/O-Leitungen muss mit einem Satz Stiftleisten verdrahtet werden.

Der Grund dafür, dass dies noch nicht geschehen ist, ist wahrscheinlich, dass es für sie keinen unmittelbaren Verkaufsanreiz dafür gab, aber wir glauben, dass es einen Aspekt gibt, der sich als überzeugend erweisen könnte. Hardwarehersteller sollten sich eine Welt vorstellen, in der neben allen SBCs auch alle Erweiterungskarten, Shields, HATs oder Wings über dieselbe Schnittstelle verfügen. Plötzlich wird der potenzielle Markt für eine Karte viel lukrativer, und da alle großen SBC-Hersteller auch Karten verkaufen, hoffen wir, dass auch sie das Potenzial erkennen.

Wir wären daran interessiert, von unseren Lesern zu diesem Thema zu hören. Was denken Sie?