Mikrocontroller

Parallax Propeller

aus Wikipedia, der freien Enzyklopädie

Wechseln zu: Navigation, Suche

Der Parallax Propeller ist ein paralleler Mikrokontroller mit acht 32-bit RISC-CPU-Kernen; er wurde im Jahre 2006 eingeführt.

Der Parallax Propeller, seine eingebaute SPIN-Programmiersprache, sein Byte-Code-Interpreter und die integrierte Entwicklungsumgebung „Propeller Tool“ wurden alle von einer einzigen Person entworfen: dem Co-Gründer und Vorsitzenden von Parallax, Chip Gracey.

Inhaltsverzeichnis

[Bearbeiten] Mehrkern-Architektur

Jeder der acht 32-Bit Kerne (bekannt als Cog) besitzt eine elementare ALU (Division wird nicht direkt unterstützt) sowie Zugriff auf 512 32-bit long words (2 KiB) an Instruktionen und Daten. Selbst-modifizierender Code ist möglich und wird intern verwendet, beispielsweise durch eine Anweisung, die verwendet wird, um einen Unterroutinen-Aufruf/-Rücksprung-Mechanismus zu schaffen, der ohne einen Stack auskommt. Der Zugriff auf den Speicher (32 KB RAM; 32 KB ROM) wird gesteuert nach round-robin-Algorithmus durch einen internen Bus-Controller, der Hub genannt wird. Jeder Cog hat ebenfalls Zugriff auf zwei fest zugeordnete Hardware-Zähler und zwei besondere "Video-Register" zur Verwendung für die Generierung von PAL, NTSC, VGA, Servo-Kontroll-, oder anderen Timing Signalen.

[Bearbeiten] Geschwindigkeit und Energiemanagement

Der Propeller kann auf zwei Weisen mit einem Systemtakt versorgt werden: entweder durch einen internen on-chip-Oszillator (wodurch eine geringere Gesamtzahl an Bauteilen nötig ist, aber etwas Genauigkeit und thermische Stabilität verloren geht) oder einen externen crystal- oder -resonator (woraus bei höheren Gesamtkosten größere Geschwindigkeit und erhöhte Genauigkeit resultieren). Jede dieser Taktquellen kann durch einen auf dem Chip integrierten PLL-Taktvervielfacher geleitet werden, welcher auf eine Vervielfachung von 1x, 2x, 4x, 8x, oder 16x eingestellt werden kann.

Sowohl die eingebaute Oszillatorfrequenz (sofern verwendet) als auch der PLL-Multiplikatorwert können zur Laufzeit verändert werden. Korrekt eingesetzt kann dies die Energieeffizienz erhöhen; zum Beispiel kann der PLL-Multiplikator verringert werden, bevor eine aus Timing-Gründen benötigte längere Wartezeit ohne Instruktionsausführung eingelegt wird; im Anschluss kann der Multiplikator wieder erhöht werden; der Prozessor nimmt somit weniger Energie auf. Die Anwendung dieser Technik ist jedoch auf Situationen beschränkt, in denen kein anderer Cog Timing-abhängigen Code ausführt (sofern dieser Code nicht sorgfältig dafür entworfen wurde, mit solchen Veränderungen zurecht zu kommen); der Grund hierfür liegt in der effektiven Taktrate, welche alle Cogs gemeinsam haben.

[Bearbeiten] ROM Erweiterungen

Im einbegauten ROM sind außer dem Spin-Interpreter und Bootloader noch einige Daten hinterlegt, die besonders für mathematische Berechnungen sowie für Audio- und Videoanwendungen hilfreich sein können.

  • ein Bitmap Font-Satz benutzbar für die Generation von Schriften an Bildschirmen,
  • eine logarithmische Tabelle (Basis 2, 2048 Einträge),
  • eine antilogarithmische Tabelle (Basis 2, 2048 Einträge) für Umrechnungen,
  • und eine Sinus-Tabelle (16-bit, 2049 Einträge).

[Bearbeiten] Bauformen

Der Parallax Propeller ist verfügbar in den Bauformen 40-pin DIP, 44-pin LQFP, oder als besonders platzsparender QFN. Besonders der DIP Bauform ist wegen der einfachen Handhabung bei Hobbyanwendern beliebt.

[Bearbeiten] Externer EEPROM

Der Propeller kann beim Aufstarten sein Programm aus einem externen seriellen EEPROM laden, nach Abschluss des Bootvorganges kann dieser Speicher für andere Aufgaben (etwa Speicherung von Meßwerten) verwendet werden.

[Bearbeiten] Weblinks

[Bearbeiten] Herstellerseiten

[Bearbeiten] Downloadseiten

[Bearbeiten] Weiterführende Links

Copyright © 2005-2010 Hardware-Aktuell. Alle Rechte vorbehalten.