Vor Kurzem hat Arrow Electronics das »JetCarrier96« vorgestellt. Es handelt sich um ein Carrier-Board-Referenzdesign, das auf Nvidias Jetson System-on-Modules basiert. Mit ihm lässt sich das Entwickeln von maßgeschneiderten Carrier-Board-Designs beschleunigen.
Zum Einsatz kommt das Carrier Board zum Beispiel in autonomen Maschinen, intelligenter Bildverarbeitung, diagnostischer Bildgebung im Gesundheitswesen oder Artificial Internet of Things (AIoT). Das JetCarrier96-Projekt verfolgt zwei Ziele. Zum einen soll ein für verschiedene Zwecke nutzbares Entwicklungssystem entstehen, das sich für Proof-of-Concept in einem breiten Anwendungsspektrum eignet. Zu dem Zweck wurde das JetCarrier96 mit zahlreichen Schnittstellen aller Art konzipiert (Bild 1).
Zum anderen möchte Arrow Electronics eine Design-Dokumentation sowie die Materialliste als Ressource verfügbar machen. Sie soll den Anwendern beim Implementieren ähnlicher Funktionen in kundenspezifischen Carrier Boards mit eigenem Design helfen. Es ist eher unwahrscheinlich, dass ein kundenspezifisches Carrier Board den gesamten Funktionsumfang von JetCarrier96 benötigt. Aus dem Grund hat das Designteam – wann immer es möglich war – in erster Linie die Modularität in den Vordergrund gestellt und das Minimieren der Materialliste als zweitrangig betrachtet.
Das JetCarrier96 verfügt über einen DDR4-SODIMM-Modulanschluss mit 260 Pins. Alle Nvidia-Jetson-Module mit einem 260-Pin-Adapter lassen sich direkt in das Modul einstecken. Passende Nvidia-Module sind zum Beispiel:
Die Module verfügen über einen kompatiblen Formfaktor, allerdings unterscheiden sie sich bei der Pinbelegung. Nvidia dokumentiert die Unterschiede in den jeweiligen Migrationsleitfäden, die über das Download Center abrufbar sind. Arrows Carrier Board unterstützt die meisten, jedoch nicht alle Peripherieschnittstellen der Jetson-Module.
Entwickler können die in den Referenzdesign-Schaltplänen enthaltenen Konzepte des Carrier Boards als Ausgangspunkt für ein kundenspezifisches Design übernehmen. Zudem unterstützt das Referenzdesign Nvidias »Jetson AGX Xavier« und das »Jetson AGX Orin«.
Auf dem Markt für Desktop-PCs zählt microATX, auch als µATX bekannt, zu den beliebtesten Formfaktoren. Es existiert ein komplettes Ökosystem an Komponenten, die nahezu alle Anforderungen von Entwicklern erfüllen. Um davon zu profitieren, orientiert sich das JetCarrier96 am microATX-Formfaktor. Sämtliche Montageöffnungen, Erweiterungssteckplätze und Input/Output (I/O)-Positionen an der Rückseite des JetCarrier96 entsprechen daher der Spezifikation. Anwender können ein Entwicklungssystem wahlweise mit einem Computergehäuse oder einem Open-Air-Prüfstand ihrer Wahl ausstatten.
Statt auf eine bestimmte Marke oder ein spezifisches AC/DC-Netzteil zu setzen, wird das Carrier Board über ein handelsübliches ATX-Desktop-Netzteil mit Strom versorgt – über einen 24-Pin-ATX-Netzanschluss mit 12 V und 2x2-4-Pin-Anschluss. Das bedeutet, ausgehend von der maximalen Leistungsaufnahme aller Peripherieanschlüsse, sollte somit jedes vernünftig ausgelegte ATX-Desktop-Netzteil mit einer Leistung von mindestens 500 W ausreichen. Jedoch hängt der tatsächliche Gesamtleistungsbedarf von der Leistungsaufnahme der vom Benutzer angeschlossenen Peripheriegeräte ab.
Embedded-Entwickler benötigen in der Regel eine große Anzahl an USB-Anschlüssen, um beispielsweise Maus und Tastatur anzuschließen. Außerdem benötigen Entwickler oftmals zusätzliche USB-Anschlüsse für Kameras, Kommunikationsmodule, Massenspeichergeräte sowie individuell entwickelte Geräte der Human Interface Device (HID)-Klasse.
Um allen Anforderungen gerecht zu werden, ist das JetCarrier96 mit insgesamt 12 USB-Anschlüssen ausgestattet. Vier davon sind USB-2.0-Anschlüsse, die über zwei 9-Pin-Motherboard-Stiftleisten zugänglich sind. Anwender können sie entweder an einen USB-2.0-Kabelbaum an der Frontblende des Computergehäuses oder über handelsübliche Verlängerungskabel anschließen. Die vier USB-Anschlüsse der Motherboard-Stiftleiste sind mit dem Hub Controller »USB2514B USB2.0« des Herstellers Microchip Technology ausgestattet. Ein »USB7206C USB 3.2 Gen 2« Controller Hub bietet zudem sechs zusätzliche USB-Anschlüsse. Vier der Anschlüsse sind USB-3.x-fähig und befinden sich an zwei doppelreihigen Typ-A I/O-Anschlüssen an der Rückseite. Ein Anschluss ist als USB-2.0-Anschluss am M.2-Key-E-Steckplatz ausgelegt. Ein USB-2.0-Anschluss ist des Weiteren mit dem 96Boards-Mezzanine-Anschluss verbunden.
Ein eigens auf der Rückseite verbauter »MCP2221A« USB-2.0-zu-UART-Protokollkonverter von Microchip Technology bietet außerdem direkten Debug-UART-Zugriff auf das Jetson-Modul. Somit sind keine externen Adapterkabel erforderlich. Ebenfalls auf der Rückseite haben die Arrow-Entwickler eine USB-2.0-Micro-B-Steckerbuchse untergebracht. Sie unterstützt das Implementieren der Jetson-Force-Recovery-Funktion (Bild 2).
Ein typisches Merkmal von Edge-Applikationen mit Funktionen der künstlichen Intelligenz (KI), ist die Fähigkeit, Entscheidungen allein auf Grundlage von lokaler »Intelligenz« zu treffen, ohne dafür eine Serververbindung zu benötigen. Jedoch impliziert diese Besonderheit nicht, dass Edge-Systeme Konnektivität scheuen. Tatsächlich ist vielmehr das Gegenteil der Fall. Der hohe Bedarf an Over-the-Air Software- und KI-Modell-Updates, Metadatenberichten, Echtzeit-Videostreaming sowie Flottenmanagementbefehlen erfordert definitiv externe Konnektivität.
Das Carrier Board unterstützt die für die Endgeräte der Benutzer geeigneten Verbindungsoptionen. Für die Anbindung von drahtlosen WiFi- und Bluetooth-Netzwerken steht den Entwicklern die M.2-Key-E-Buchse bereit. Stationäre Applikationen lassen sich über die RJ45-Buchse mit 1 Gbit/s für kabelgebundenes Ethernet an der Rückseite anschließen. Mobilfunkmodems und Global Navigation Satellite System (GNSS)-Entwicklungskits sind in der Regel über einen der zahlreich vorhandenen USB-Anschlüsse zugänglich.
Ebenso wie mobile oder »smarte« Geräte benötigen Edge-Applikationen schnelle und vor allem ausreichende Speicherressourcen. Speicher kommt zum Beispiel für folgende Bereiche zum Einsatz:
Angesichts der Tatsache, dass viele Gerätetypen wie autonome Maschinen mehrere Inferenz-Modelle gleichzeitig ausführen müssen oder die Flexibilität benötigen, bei Bedarf zusätzliche Modelle hinzufügen zu können, ist ein großzügig bemessener Speicher unverzichtbar. Redundante Dateisysteme und ausfallsichere Over-the-Air-Updates erfordern ebenfalls zusätzlichen Speicherplatz. Die gängigste Methode, Speicher zu integrieren, sind Solid-State-Medien mit branchenüblichen Formfaktoren.
Das JetCarrier96 unterstützt NVMe-SSD-Speicher mit einem M.2-Key-M-Anschluss. Außerdem sind Montageöffnungen für M.2-SSDs der Größe 2230, 2242, 2260 und 2280 vorhanden. Weiterhin kann das Board SSDs mit einer bis vier PCIe-Lanes verwenden.
Viele Applikationen erfordern kundenspezifische analoge Signalketten. Andere benötigen wiederum zusätzliche Standardschnittstellen, wie PCIe-basierte Ethernet-Controller und -Switches. So verfügt das JetCarrier96 über vier PCI-Express-Steckplätze – das entspricht der maximalen Anzahl an Steckplätzen, die auf einem Motherboard mit MicroATX-Formfaktor unterstützt werden. Insgesamt sind zwei x1-Steckplätze, ein x4-Steckplatz sowie ein x4-Steckplatz mit einem physischen x16-Anschluss verbaut. Ein »Switchtec PFX Gen 4« PCIe-Switch bietet einen passenden Lüfterausgang an einem x4-PCIe-Single-Root-Port am Jetson-Modul.
Embedded-Entwickler benötigen außerdem diverse Schnittstellen, die üblicherweise bei Halbleiter-Entwickler-Kits, Einplatinencomputern oder bei beliebten Open-Source-Bastlerprojekten zu finden sind. Diese Anforderungen erfüllt das Modul mit seiner Kompatibilität mit drei Standards: »96Boards CE 1.0 Mezzanine«, »mikroBUS«-Anschluss und »Sparkfun Qwiic Connect System«. Zudem bietet der USB-Hub-Controller »USB7206C« von Microchip Technology Onboard-Peripherie-Bridging. Weiterhin nutzt das Board die Technik, um sowohl die MikroBUS-Buchse als auch eine separate I2C-Digital-Audio-Codec-Stiftleiste zu implementieren. Ebenfalls bietet das Board neben einem am Mezzanine-High-Speed-Anschluss verbauten MIPI-CSI-Kamera-Port zwei zusätzliche MIPI-CSI-Kameraanschlüsse mit je 15 Pins.
Ein Großteil der Standard-GPIOs des Jetson-Moduls werden zunächst in ein »PolarFire MPF100« Field Programmable Gate Array (FPGA) geroutet, bevor sie an die zahlreichen Schnittstellen weitergeleitet werden. So ist das FPGA vom Entwickler komplett individuell programmierbar und enthält einen PCI-Express-Endpunkt, der mit dem PCIe-Switch verbunden ist. Auf die Weise können Entwickler kundenspezifische Logik- und Peripherieüberbrückungsfunktionen[DK1] über den PCIe-Bus erstellen. Außerdem unterstützt das JetCarrier96 PCI-Bridging-Funktionen über ein FPGA-Entwicklungsboard, das sich direkt in einen der PCIe-Steckplätze einstecken lässt.
Weiterhin sind insgesamt neun lokal erzeugte Onboard-Spannungsregler für verschiedene von den Onboard-Chipsätzen benötigte Kern- und I/O-Spannungen verbaut. Die Eingangsspannung für alle bis auf einen der Regler bezieht das Board aus den vom externen ATX-Netzteil bereitgestellten +12 V – die Versorgung aller Regler mit +12 V gewährleistet eine flexible und modulare Stromverteilung, verschachtelte Strukturen werden vermieden. Es vereinfacht das Wiederverwenden bei kundenspezifischen Designs. Eine Kombination aus Silent-Switcher-Reglern oder µModule-Reglern sind die bordeigenen Spannungsregler. Ein einzelner Low-Drop-Out-Regler von Analog Devices erzeugt aus dem +5 V SB-Pin der ATX-Stromversorgung eine ständig anliegende Hilfsspannung von 3,3 V. Sie versorgt wiederum die »PCI16F15244« MCU und dient dem Sequenzieren der Stromversorgung, dem Abschalten der MCU sowie der Tastenüberwachung.
Die meisten Jetson-Module sind mit einem CAN-Controller mit RX- und TX-Signalen ausgestattet, der externe CAN-Transceiver ist vom Benutzer bereitzustellen. JetCarrier96 enthält einen CAN-FD-kompatiblen Transceiver, der auf einer 10-Pin-Stiftleiste untergebracht ist – die Pinbelegung der Stiftleiste ist mit den meisten handelsüblichen 10-Pin- beziehungsweise 9-Pin-SUB-D-Flachkabeln kompatibel. Sie verfügen häufig über eine Halterung zur Montage an einem freien Erweiterungssteckplatz an der Rückseite. Das Jetson-Nano-Modul besitzt keinen Modul-internen CAN-Controller. Für solche Applikationen ist daher ein externer SPI-zu-CAN-Controller eine sinnvolle Alternative.
Das JetCarrier96 ist ein vielseitiges Entwicklungssystem für praktische Konzeptnachweise und ein Jetson-Carrier-Board-Referenzdesign mit umfangreichen Erweiterungsoptionen für professionelle Embedded-Entwickler. Allerdings sollte man im Hinterkopf behalten, dass das JetCarrier96-System nicht als produktionsreifes Carrier Board konzipiert ist. Arrow Electronics präsentiert das Board auf der embedded world 2023 in Halle 3A, an Stand 3A-135.