Ich erinnere mich, dass ich beim Bau eines Computers eine Reihe von S100-Boards verwendet habe. Dies waren 8-Bit-Maschinen, die ein Rack einnahmen und möglicherweise sogar eine Reihe von Kippschaltern und Lichtern zum Programmieren enthielten. Heutzutage kann man mit Brettern beginnen, die in die Hand passen.

Drei Plattformen haben eine bedeutende Anhängerschaft generiert, was Unterstützung, viel Software- und Hardware-Support bedeutet. Dazu gehören Arduino, Raspberry Pi und BeagleBone (Abb. 1). Die winzige Platine oben rechts ist eine drahtlose Erweiterungskarte für den Arduino. Es ist ähnlich groß wie die grundlegende Arduino-Plattform im Vergleich zum größeren Digilent-Board. Sie sind Open-Source-Hardware-Plattformen, die von Open-Source-Software unterstützt werden.

Electronicdesign Com Seiten Electronicdesign com Dateien Uploads 2013 06 67211 Fig1sm
Abbildung 1. Das chipKIT von Digilent verwendet die 32-Bit-MIPS-Plattform von Microchip in einem Arduino-Formfaktor.

Hardware für jede Plattform ist aus einer Vielzahl von Quellen verfügbar. Software ist von noch mehr Quellen verfügbar, die alles von einfachen seriellen Ports bis hin zu 3D-Sensoren wie Microsoft Kinect unterstützen. Diese Plattformen können für diejenigen verwendet werden, die neu in der Embedded-Entwicklung sind oder Anwendungen entwickeln oder die neueste Hardware ausprobieren möchten.

Inhaltsverzeichnis

  • Arduino
  • Raspberry Pi
  • BeagleBone
  • Und der Gewinner ist?

Arduino

Die Arduino-Plattform gibt es schon eine ganze Weile. It started with an 8-bit Atmel AVR processor but the platform has since expanded to include processors from Microchip’s 32-bit MIPS-based solution in Digilent’s chipKIT (Fig. 2) to the Arduino DUE (Fig. 3) is based on Atmel’s SAM3X8E Cortex-M3 microcontroller.

Electronicdesign Com Sites Electronicdesign com Files Uploads 2013 06 67211 Fig2sm Arduino Microchip
Figure 2. Digilent’s chipKit uses Microchip’s 32-bit MIPS platform in an Arduino form factor.
Electronicdesign Com Sites Electronicdesign com Files Uploads 2013 06 67211 Fig3 Arduino Due
Figure 3. The Arduino DUE is based on Atmel’s SAM3X8E with a Cortex-M3 processor.
  • Shielding Arduinos
  • PIC32 Arduino Modules

The two things Arduino platforms tend to have in common are Arduino shields and the software development tools. Von den drei Plattformen ist der Arduino einer eingebetteten Plattform am nächsten, da ein Display nicht unbedingt Teil der Lösung ist. Ebenso ist die Software auf niedrigem Niveau oft ohne jede Art von Betriebssystem zu tun. Anfangs beschränkte sich die Leistung des Mikrocontrollers auf das, was unterstützt werden konnte, aber die neuesten 32-Bit-Mikrocontroller, die jetzt die Arduino-Plattform dominieren, sind mehr als in der Lage, ein Betriebssystem zu handhaben.

Die Standard-Arduino-Software-Entwicklungsumgebung ist auf den Unterricht in Embedded-Programmierung ausgerichtet. Es hat seine eigene Terminologie mit Software namens Skizzen. Es ist im Wesentlichen C mit einer einfachen IDE, aber es hat sich deutlich von der Basis 8-Bit-AVR und grundlegende C-Unterstützung fortgeschritten.

Die meisten Plattformen unterstützen mehrere Entwicklungstools, einschließlich professioneller Tools von Mikrocontroller-Anbietern und deren Drittanbieter-Support. Einige Tools sind kostenlos. Ein Teil der Herausforderung besteht darin, die Hardwareunterstützung zu verwalten, da die meiste Software für Arduino-Shields auf die Arduino-Entwicklungsumgebung abzielt.

Die meisten E/A werden über Arduino-Shields abgewickelt. Die anschlüsse ring die meisten der bord und erlauben die meisten boards zu verwendet werden durch einstecken sie in. Ein Teil der Herausforderung für alle Plattformen besteht darin, wie die E / A zugeordnet werden, wenn mehrere Platinen verwendet werden. Zum Beispiel kann I2C viele Geräte unterstützen, aber sie benötigen jeweils ihre eigene E / A. Ebenso müssen SPI-Chip-Selects eindeutig sein.

Es gibt tatsächlich eine Reihe von Arduino Shield-Formfaktoren, von denen einige proprietär sind. Die ursprüngliche Arduino-Plattform definiert die grundlegendste Version. Die erweiterten Versionen verwendeten mehr Anschlüsse, die mehr E / A verfügbar machen, die auf leistungsstärkeren Mikrocontrollern verfügbar sind, die auf neueren Arduino-kompatiblen Plattformen verwendet werden.

I/O-Software-Unterstützung kann ein Problem sein. Normalerweise wird grundlegende C-Unterstützung für die Arduino-Entwicklungsumgebungen bereitgestellt. Erweiterte Unterstützung für Geräte wie Wireless-Module sind in der Regel mehr Host-spezifisch. Nicht alle Kombinationen funktionieren zusammen, aber wenn Sie sich eine Hardware / Software-Kombination vorstellen können, kann wahrscheinlich eine Adrduino-Kombination gefunden werden.

Raspberry Pi

Die Raspberry Pi-Plattform ist von Unternehmen wie Element 14 erhältlich. Es wurde als kostengünstige Hochleistungsplattform entwickelt, auf der Linux ausgeführt werden kann.

Das $35 Modell B (Abb. 4) verdoppelt die Speichermenge auf 512 Mbyte. Es basiert auf einem Broadcom BCM2835 System-On-Chip (SoC) wie das $ 25 Model A. Der 700 MHz BCM2835 verfügt über einen ARM1176JZF-S-Kern.

Electronicdesign Com Websites Electronicdesign com Dateien Uploads 2013 06 67211 Fig4sm Raspberry Pi

  • Heißer Raspberry Pi
  • Ouya Bringt $99 Spiel Konsole Über Kickstarter

Es verwendet eine SD-Karte für die Speicherung und läuft in der Regel eine von einer Reihe von Linux-Varianten einschließlich Raspian, Bogen, Debian und Fedora. Es läuft auch RISC OS, FreeBSD, NetBSD und jemand hat Plan 9, um darauf zu laufen.

Das Board unterstützt USB und 10/100 Ethernet (Modell B). Es kann ein HDMI-Display, Composite-Video oder ein LCD-Panel ansteuern. Es verfügt über einen CSI-Anschluss für einen Kameraeingang. Es verfügt über HDMI-Audio sowie I2S und eine 3,5-mm-Buchse. Die Platinen benötigen 300 mA bzw. 700 mA bei 5V für die Modelle A und B.

Der Raspberry Pi verfügt über einen einzigen Erweiterungs-Header mit GPIO, serieller Schnittstelle, SPI, I2C, I2S, 3,3 V und 5V. Es gibt eine Reihe von Breakout-Boards, aber die Montage ist eine Herausforderung. Der Raspberry Pi hat zwei Befestigungslöcher, die sich jedoch nicht wie die meisten anderen Boards an den Ecken befinden. Es gibt auch eine Reihe von Fällen.

Einer der größten Vorteile des Raspberry Pi ist die Software. Die niedrigen Kosten und die Verfügbarkeit haben großes Interesse und eine Menge Software hervorgerufen.

BeagleBone

Die BeagleBone-Plattform ähnelt dem Raspberry Pi. Es läuft unter Linux und bietet Ethernet-, USB- und Grafikunterstützung als Teil seines Basispakets. Es hat jetzt eine neue Inkarnation namens BeagleBone Black (Abb. 5). Diese $ 45-Version verfügt über eine 2-Gbyte-eMMC, sodass die Software sofort einsatzbereit ist. Es hat auch eine microSD-Buchse wie der Raspberry Pi und das Original $ 89 BeagleBone. Letzteres kam mit ArchLinux auf einer microSD-Karte.

Electronicdesign Com Seiten Electronicdesign com Dateien Uploads 2013 06 67211 Fig5sm Beaglebone Schwarz
Abbildung 5. Das BeagleBone Black verwendet On-Board-eMMC, enthält jedoch einen microSD-Sockel, falls Sie Wechselspeicher wünschen. Dies bedeutet, dass es mit einer eigenen Software geliefert werden kann, die beim Anschließen ausgeführt werden kann.
  • Interview mit Sparkfuns Director Of Engineering
  • Kleines Board und kleine Module bei Design West

Das BeagleBone Black basiert auf dem AM335x 1GHz ARM Cortex-A8 von Texas Instrument. Es verfügt über einen 3D-Grafikbeschleuniger, einen Gleitkommabeschleuniger und enthält auch ein Paar programmierbare Echtzeiteinheiten (PRU), bei denen es sich um eigenständige 32-Bit-Mikrocontroller handelt. Der Cortex-A8 ist eine duale, superskalare Plattform, die im Vergleich zum ARM11 des Raspberry Pi den Leistungsvorsprung hat. Die Boards verfügen über Ethernet-, HDMI- und USB-Anschlüsse.

Ich war wirklich beeindruckt von dem gesamten BeagleBone-Paket, weil es die einzige Plattform ist, die sofort funktioniert. Alles, was benötigt wird, ist ein PC mit USB und einem relativ neuen Betriebssystem. Letzteres ist erforderlich, um die RNDIS-Netzwerkunterstützung über die USB-Verbindung bereitzustellen.

Im Wesentlichen stecken Sie das USB-Kabel in den PC und den BeagleBone Black. Der BeagleBone Black erscheint als USB-Stick, stellt aber auch die Netzwerkverbindung her. Dies bietet eine Weboberfläche, die auf dem BeagleBone Black ausgeführt wird. Der Webbrowser auf dem PC startet mit einer HTML-Datei auf dem Flash-Laufwerk, die jedoch zur Weboberfläche umgeleitet wird.

Das Webinterface bietet tatsächlich eine webbasierte IDE und ein Toolset zusätzlich zu einer webbasierten SSH-Schnittstelle. Ich werde nicht auf alle Details eingehen, was der BeagleBone Black bietet, aber es ist beeindruckend. Dies ist der Vorteil der Verwendung des eMMC-Flash.

Der BeagleBone Black ist kompatibel mit den Erweiterungskarten, auch Capes genannt, die für den Original BeagleBone erhältlich sind. Diese verwenden das Paar 46-Pin-Header auf beiden Seiten des BeagleBone. Diese bieten Zugriff auf die I / O des Mikrocontrollers, einschließlich CAN, SPI und I2C sowie auf USB-zu-Seriell- und USB-zu-JTAG-Schnittstellen. Die Systeme haben auch vier Befestigungslöcher.

Und der Gewinner ist?

OK. Ich werde Waffel und sagen, dass die Wahl wirklich von Ihrem Hintergrund und Ihren Anforderungen abhängt. Wenn Sie C und Embedded-Programmierung lernen möchten, dann ist Arduino eine gute Wahl, weil es Sie in die Nähe der Hardware bringt. Es bietet auch eine gute Möglichkeit, einen Mikrocontroller zu bewerten, da viele Anbieter Boards liefern, die Arduino-Erweiterungsboards nutzen können.

Wenn Software, die auf Linux oder einem Betriebssystem läuft, mehr von dem ist, was Sie wollen, dann ist Raspberry Pi, BeagleBone oder eine dieser Varianten wahrscheinlich die bessere Wahl. Ebenso werden schwere Display- oder Audioarbeiten von diesen beiden Plattformen leichter gehandhabt.

Als Basisplattform neige ich mich zu BeagleBone Black. Der integrierte eMMC ist schnell und effizient. Es ist speicherbegrenzt, aber mehr als genug für die meisten Projekte. Ich bin auch sehr beeindruckt von der integrierten Entwicklungssoftware. Für einige ROS-Arbeiten (Robot Operating System) habe ich die Unterstützung für Raspberry Pi als gut empfunden.

Was heutzutage wirklich interessant ist, ist, wie sich diese Plattformen auf andere Designs auswirken. Zum Beispiel das UDOO (Abb. 6) ist ein Kickstarter-Projekt, das den Arduino-Erweiterungsformfaktor mit der Funktionalität von Raspberry Pi und im Wesentlichen dem BeagleBone kombiniert. Es ist eine Dual-Prozessor-Lösung, die mit dem Atmel Cortex-M3 im Arduino Due beginnt. Es hat auch einen Dual- oder Quad-Core-Freescale i.MX6. Definitiv eine Heavy-Duty-Plattform.

Electronicdesign Com Seiten Electronicdesign com Dateien Uploads 2013 06 67211 Abb 6 Udoo
Abbildung 6. Das UDOO Kickstarter-Projekt unterstützt die Arduino-Erweiterungskarten, verwendet jedoch einen Multicore-Freescale i.MX6-Prozessor sowie einen SAM3X-Prozessor für eine interessante Multichip-Kombination.

Die Art der Arbeit, für die Sie das System verwenden möchten, beeinflusst definitiv, welche Plattform Sie wählen. Übersehen Sie nicht andere Alternativen wie die $ 99 Ouya (siehe Ouya bringt $ 99 Spielkonsole über Kickstarter) basierend auf einem NVidia Tegra 3, wenn Software und Grafik sind, wo Sie sein wollen. Es läuft Android und hat WiFi und Ethernet-Unterstützung.