Fachbeitrag Offene Embedded-Vielfalt

mbed-Platine mit ARM-Cortex-M3-MCU LPC1768 von NXP

Bild: RS Components
18.10.2012

Der Wettkampf um Mitglieder in quelloffenen Embedded-Communities hält unvermindert an, da verschiedene Anbieter von Mikrocontrollern (MCUs) jeweils ihre eigenen Online-Communities fördern. Dabei ist die Auswahl eben so groß wie unterschiedlich.

Die vier hier vorgestellten Platinen bieten unterschiedliche Funktionalität und sind dementsprechend an verschiedenen Preispunkten positioniert.

Kinetis

Die Kinetis-Platinen basieren auf Freescales Halbleiterfamilien von MCUs auf der Basis von 32-Bit-ARM-Cortex-M4-Kernen. Es handelt sich dabei um universale Entwicklungssysteme, die auf eine Reihe unterschiedlicher Embedded-Anwendungen abzielen. Die Platinen sind als eigenständige Prozessormodule oder als Teil eines Kits erhältlich und sie werden zusammen mit verschiedenen Peripherieplatinen verwendet, wie zum Beispiel Module für serielle Konnektivität (USB, Ethernet RS232/485), 802.11b WLAN, Speicher und LCD. Die Kinetis-Platinen sind vollständig kompatibel mit der Tower-System-Plattform von Freescale, die den Anschluss von Peripheriemodulen an die Hauptplatine über zusätzliche „Heberplatinen“ an der Rückwand gestattet. Das TWR-K60N512-Modul ist beispielsweise ein Controller-Modul, das eigenständig verwendet oder an Peripheriemodule angeschlossen werden kann. Die Platine verwendet einen Kinetis-K60-MCU auf der Basis des stromsparenden 32-Bit Cortex-M4. Der Systemstrom kann über den Onboard-Mini-USB-Steckverbinder bereitgestellt werden, der auch die Debugging-Schnittstelle für einen quelloffenen Onboard-JTAG(OSJTAG)-IC bietet. Die Software und Schulungsmaterialien sind ebenfalls im Lieferumfang des grundlegenden Controller-Moduls enthalten. Diese Plattform ist für Nutzer attraktiv, die ein relativ leistungsfähiges Entwicklungssystem zu einem vertretbaren Preis benötigen, das aber dennoch flexibel ist und problemlos erweitert werden kann. Der modulare Ansatz der Plattform bedeutet, dass es sowohl die Anforderungen von Einsteigern erfüllt als auch die von kleineren Unternehmen, die zwar deutlich anspruchsvollere MCU-Entwicklungsaktivitäten durchführen, aber keinen Zugriff auf teure Entwicklungssysteme haben. Es bedeutet außerdem, dass nicht jedes Mal das ganze System ersetzt werden muss, wenn der Hersteller einen neuen MCU auf den Markt bringt. Da die Plattform von einem wichtigen Halbleiteranbieter stammt, ist der Support für Benutzer sehr gut und es sind außerdem viele zusätzliche Ressourcen über das Ökosystem von ARM-Drittanbietern verfügbar. Die Plattform hat eine wachsende Online-Community, die unter www.towergeeks.org erreichbar ist und die auch Zugriff auf Dokumentation und Benutzerforen bietet.

Arduino

Arduino war in vieler Hinsicht der Vorreiter für kostengünstige quelloffene Entwicklungsaktivitäten. Smart Projects, ein Hersteller von sehr kleinen, kostengünstigen Platinen, entwickelte einen Standard für Steckverbinder, der anfänglich auf den Hobbymarkt abzielte. Dieser ermöglichte die Montage verschiedener, „Shields“ genannter Peripherieplatinen auf der Arduino-Hauptleiterplatte, einschließlich des Motor Shield, das DC-Motoren und Lese-Encoder steuert und des Ethernet Shield für Konnektivität.Arduino entwickelte sich zu einem weltweiten Phänomen, und viele kleinere Firmen stellen mittlerweile ihre eigenen Arduino-kompatiblen Platinen her, die das gleiche Steckverbinder-Layout für den Anschluss von Shields verwenden. Arduino wird nicht von seinem Hersteller sondern von Benutzern und über Foren unterstützt, die unter arduino.cc zu finden sind. Dies bedeutet, dass nur sehr beschränkter Anwendungssupport verfügbar ist, was das Potenzial für den Einsatz der Platine in größeren Unternehmen stark begrenzt. Arduino basiert in erster Linie auf einfachen MCUs der Atmel 8-Bit-AVR-Familie, so dass es zwar Steuerfunktionen ausüben kann, aber nur eingeschränkte Speicherfähigkeit bietet. Die Arduino-Uno-Platine basiert zum Beispiel auf dem ATmega328- MCU. Sie enthält alles, was zur Unterstützung der MCU benötigt wird und kann über USB, eine Batterie oder einen externen Netzadapter mit Strom versorgt werden. Die quelloffene IDE-Software, die auch unter den Betriebssystemen MS Windows, Macintosh OSX und Linux läuft, kann kostenlos heruntergeladen werden. Arduino stellt insofern eine Ausnahme unter den vier Platinen dar, als es keine ARM-basierte MCU-Plattform ist.

mbed

mbed wurde von ARM entwickelt, eingeführt und kontinuierlich unterstützt. Es ist ein kleines und kostengünstiges Modul, das auf quelloffener Software basiert und für das schnelle Erstellen von MCU-Prototypen konzipiert ist. Das Modul bietet eine schnelle und einfache Einführung in das normalerweise kostspielige Gebiet der ARM-Kernverarbeitung; es wird in erster Linie zu Schulungszwecken und für Einsteiger verwendet. Es ist auf die Anforderungen von Elektronikern zugeschnitten, die sich erstmalig mit Embedded-Entwicklung beschäftigen, obwohl es auch von professionellen Embedded-Entwicklern genutzt werden kann. Die aktuelle Implementierung der mbed-Platine basiert auf einer NXP-LPC1768-ARM-Cortex-M3-MCU mit Schnittstellen wie Ethernet, USB, CAN, SPI und I2C. Die Platine, die als 40-poliges DIP-Modul erhältlich ist, misst nur 44 x 26 mm und kann optional über den USB-Port mit Strom versorgt werden. Das mbed-Modul ist flexibel mit seinem relativ leistungsfähigen Cortex-M3-Kern, der sich mehr und mehr als Industriestandard für Universal-MCUs im niedrigen und mittleren Preissektor herausbildet. Das Modul selbst hat nur wenige Optionen für Peripherieschnittstellen, d. h. es handelt sich im Grunde genommen um einen Prozessor mit einer USB Schnittstelle zu einem PC. Das Besondere an mbed ist die Tatsache, dass die Entwicklungstools vollständig in der Cloud gespeichert sind. Sie sind effektiv, kostenlos und der Benutzercode wird in einer Online-IDE (Integrated Development Environment) geschrieben und kompiliert. Benutzer können das Kit erwerben, sich bei mbed.org registrieren und ihre Programme dann auf der Webseite speichern, die darüber hinaus Blogs, Foren, von Benutzern entwickelte Programmbibliotheken und andere Entwicklungsressourcen bietet. Ein weiterer Vorteil ist, dass das Modul an einen beliebigen Computer mit Internetanschluss angeschlossen werden kann, so dass Benutzer Programme herunterladen und bearbeiten können, ohne irgendwelche zusätzliche PC-Software zu installieren.Der Nachteil ist natürlich, dass Unternehmen nicht geneigt sein werden, ihre wertvolle Software kostenlos im Web verfügbar zu machen. Diese Methode kann daher nicht für die ernsthafte Produktentwicklung und für spätere Produktionsphasen empfohlen werden. In solchen Situationen müssen Unternehmen sich weiterhin auf hochwertige (und kostspielige) professionelle Entwicklungs- und Debugging-Tools verlassen.

BeagleBoard

Das BeagleBoard wurde ebenfalls für die Open-Source-Community entwickelt. Texas Instruments entwickelte die Platine ursprünglich für den Einsatz in Schulen und Universitäten, um Studenten mit den Fähigkeiten von quelloffener Hardware und Software vertraut zu machen. Das BeagleBoard wurde jedoch weiterentwickelt und liegt heute am oberen Ende des Spektrums mit hoher Leistung und weitreichender Erweiterbarkeit - aber dies ist auch mit einem entsprechend höheren Preis verbunden. Das neue BeagleBoard-xM-System basiert auf TIs digitalem Medienprozessor DaVinci DM3730, der mit den ARM-basierten Mikroprozessoren AM37x Sitara von TI kompatibel ist. Der DM3730 integriert einen hochwertigen super-skalaren 1-GHz-ARM-Cortex-A8-Kern sowie ein Hochleistungs-Subsystem für Audio/Video-Beschleunigung, das auf einem 800 MHz VLIW TMS320C64x+ DSP und Video-Hardwarebeschleunigern basiert. Der Chip enthält darüber hinaus einen 3D-Grafikbeschleuniger und umfassenden Speicher. Obwohl nicht alle Merkmale des Prozessors über das BeagleBoard zugänglich sind, kann das System um zusätzliche Funktionen und Schnittstellen erweitert werden. Die Platine, die optional über den USB OTG mit Strom versorgt werden kann, bietet einen Hochgeschwindigkeits-USB-2.0-Hub mit vier Ports, 10/100-Ethernet-Konnektivität sowie eine Vielzahl von Multimedia-Schnittstellen und -Anschlüssen, einschließlich DVI-D für digitale Computerbildschirme und HD-TVs, S-Video (TV out) und Stereo-Audio-E/A. Das BeagleBoard ist nicht als vollständige Embedded-Entwicklungsplattform konzipiert, sondern soll für Benutzer die Leistungsfähigkeit seiner Prozessoren demonstrieren und zu einer Ausdehnung der BeagleBoard-Community beitragen. Dank seiner hohen Leistung und seiner ausgereiften Funktionen (besonders seiner Fähigkeit zur A/V-Verarbeitung) kann es jedoch von Einsteigern bis hin zur einfachen industriellen Anwendungsentwicklung genutzt werden. Wie auch der Kinetis Tower wurde die Plattform von einem großen Chip-Hersteller entwickelt, so dass guter Benutzer-Support geboten wird und zusätzliche Ressourcen über das ARM-Ökosystem verfügbar sind. Die Online-Community findet man unter beagleboard.org.

Firmen zu diesem Artikel
Verwandte Artikel