Elan

Aus der Mikrocontroller.net Artikelsammlung, mit Beiträgen verschiedener Autoren (siehe Versionsgeschichte)
Wechseln zu: Navigation, Suche

AMD Élan Microcontroller

Manchmal kann es passieren, daß man (etwa wegen Treiberverfügbarkeit bestimmter Komponenten, leider gibt es Linuxtreiber oft nur binär für die x86-Architektur) auf eine x86-kompatible CPU angewiesen ist. Zum Glück gibt es Controller, die den Spagat zwischen Kompatibilität und der von Microcontrollern erwarteten Vielseitigkeit schaffen.

Der Élan SC520 von AMD ist ein solcher x86-kompatibler Microcontroller (das meiste gilt in ähnlicher Weise für den Eden von "VIA" oder den "Geode" von NS), der je nach Konfiguration ein MS Windows von der Stange laufen lassen kann, aber auch eine große IO- und Schnittstellenvielfalt erreicht, z. B.:

  • 32 5V-tolerante IO-Pins
  • Hardware-SSI (Zweidraht, Dreidraht)
  • 2 Hardware-UARTs
  • Watchdog
  • Mehrere Hard- und Softwaretimer
  • JTAG port zum Debuggen
  • ISA- und PCI-Bus

Das ganze mit weitem Temperaturbereich und sparsamen, lüfterlosen 133 MHz. Aber natürlich kann man nicht so schnell eine Platine aus dem Ärmel schütteln wie für übliche Microcontroller. Nicht nur, daß man RAM und Flash extern braucht, vor allem gibt es den Élan nur im BGA-Gehäuse, also nichts für Selbstlöter. Also greift man zu fertigen Modulen, die man auf das eigene Design aufsteckt (z. B. das SC520-Modul von http://www.phytec.de/), oder zu fertigen Platinen wie PC104-Boards, die die eigenen Bedürfnisse erfüllen (z. B. das MOPS/520 Board bei http://www.kontron.de/ mit LAN und CAN). Das wird preislich natürlich rasch dreistellig, ist aber allemal eine bessere Idee als die typischen Versuche, das alte PC-Mainboard zu verbasteln! Denn man hat nicht nur ein kompakteres, robusteres Board, sondern durch die Konfigurierbarkeit der Peripherie auch viel mehr Möglichkeiten. Einen AD-Wandler-Chip hat man schnell an die SSI angeschlossen, eine entsprechende ISA-Karte ist teuer, sperrig oder aufwendig (oder mehreres davon).

An Compilern gibt es natürlich keinen Mangel. Zu überlegen ist, ob man sich den "Luxus" eines Betriebssystems leistet. Es muß ja nicht für jede Anwendung gleich ein Echtzeitbetriebssystem sein, auch ein freies DOS-Derivat kann eine praktische Sache sein (keine FAT-Routinen selbst schreiben; Debuggen mit dem DOS-"debug"; nie wieder Kämpfe mit dem Bootloader ...). Und DOS pfuscht einem zum Glück nicht im Timing herum. Die fertigen Platinen, die man kaufen kann, haben in der Regel ein BIOS mit dabei, das ein Booten vom DOS im Flash erlaubt.

Nicht verschwiegen werden sollte, dass x86er-Code dazu neigt, unnötig groß zu sein und der Rechner leistungsmäßig von einem viel langsamer getakteten ARM abgehängt wird. Und: wer bei Kontron, Comp-Mall o.ä. das Board seiner Träume mit einer anderen CPU findet -- es muß kein Élan sein für Embedded x86! Das ist nur zufällig der, mit dem ich die meiste Erfahrung habe.

Manchem mag das Thema im mikrocontroller.net unpassend vorkommen, aber: "embedded" sind eben nicht nur 4-Bitter ... (-;

Anwendungsbeispiel

Bei mir ging es darum, einen Bordcomputer zu bauen, der

  1. Daten aus verschiedenen Quellen aufzeichnet: digitale (Geräte), analoge (z. B. Temperatur), Impulse (Wegeimpuls), Protokolldaten (GPS, Fahrzeug-CAN), Sprache
  2. Zustandsdaten auf einem Bildschirm ausgibt
  3. Anhand einer vorgegebenen Route eine Tourenführung in Anzeige und Sprachausgabe vornimmt
  4. Noch ein paar Kleinigkeiten wie Steuerung von Geräten übernimmt

Als Medium zum Datenaustausch (Tourvorgabe hin, Aufzeichnungen zurück) bot sich wegen des einfachen Handlings eine PCMCIA-Flash-Karte an. Wer sich schon mit PCMCIA-Controller, ATA-Befehlen und FAT-Dateisystem herumgeschlagen hat, wird nachvollziehen können, warum man sich das erspart mit einem Élan-Board wo man alles unterhalb des fwrite() und fread() dem DOS überläßt.

Die Rechenleistung für die Tourenführung (bei GPS wird halt viel mit long hantiert) bringt so ein Élan auch mit. Und wer mit so einem Board anfängt: neben "debug", mit dem man ja immerhin schonmal interaktiv IOs ansprechen kann, um die Hardware kennenzulernen, kann ich noch wärmsten FPC empfehlen, ein freies, auf Hardwarenähe zurechtgeschnittenes Forth, mit dem man schnell Sachen wie Probleme bei der LCD-Ansteuerung untersuchen kann, ohne dauernd Debugcode zu schreiben und neu zu kompilieren.


Erwähnt sollte in diesem Zusammenhang noch werden, daß der SC520 abgekündigt wurde und Elan 520 Boards nur noch als Restposten erhältlich sind.