Parallax Propeller
Der Propeller 1 von Parallax ist ein Mikrocontroller, der acht 32-Bit Prozessorkerne (genannt COG) enthält. Die Idee dahinter ist, dass statt spezialisierten IO-Komponenten (Timer, PWM, UART) einer der Kerne diese Aufgabe übernehmen kann, was mehr Flexibilität erlaubt, da man nicht auf die Funktionen angewiesen ist, die der Hersteller eingebaut hat. Die Kerne kommunizieren über einen gemeinsamen 32kb großen Speicherbereich, den Hub-RAM, auf den von allen Kernen reihum zugegriffen werden darf. Jeder Kern hat ausserdem einen eigenen, 2kb großen Speicherbereich, den COG-RAM, auf den der Kern exklusiven Zugriff hat. Maschinen-Code muß im COG-RAM des jeweiligen Kerns liegen um direkt ausgeführt zu werden.
Der Propeller besitzt einen internen Oszillator, kann jedoch auch extern mit Takt versorgt werden. Beide Taktquellen lassen sich durch die interne PLL vervielfachen. Somit kann der Chip mit bis zu 80 MHz (5 MHz * 16-fach PLL) stabil betrieben werden. Ein Übertakten des Chips ist in Grenzen möglich. Ein nettes Feature ist die Möglichkeit, die PLL mitten im Betrieb zu verändern. Dadurch steht bei Bedarf viel Rechenleistung zur Verfügung, in Ruhephasen dagegen kann der Stromverbauch optimiert werden.
Programmieren kann man den Propeller in Assembler und mit der Sprache Spin, die von einem im ROM des Controllers enthaltenen Interpreter ausgeführt wird. Im internen ROM sind noch weitere Daten, wie z. B. Fonts, 16-Bit Sinus- und Log-Tabellen enthalten. Der Sourcecode für den Spin-Intepreter ist hier frei verfügbar. Eine kostenlose IDE ("Propeller Tool") kann von der Parallax-Webseite runtergeladen werden, sie ist sowohl für Assembler wie auch für Spin geeignet.
Parallax bietet außerdem auf seiner Seite die Beta von Propeller GCC an, einem Port von GCC 4.6.1 inkl. einer einfachen IDE für Windows, Linux und OSX. Der Compiler erzeugt Maschinencode für die Propeller-CPU, der transparent aus dem COG-RAM, HUB-RAM sowie externen Speichermedien (EEPROM,SD-Card usw.) ausgeführt werden kann.
Das komplette Design des Propeller 1 (P8X32A) wurde von Parallax als Open Source Design veröffentlicht
Bezugsquellen
Bauteil | CSD-Electronics | Elektronikladen | Sander Electronic | Segor | Digikey | RS Components | Mouser |
---|---|---|---|---|---|---|---|
P8X32A-D40 | 10,95 | 12,90 | 9,35 | 16,90 | 10,33 | 10,57 | 10,41 |
P8X32A-Q44 | - | 12,90 | 9,35 | - | 10,33 | 10,51 | 10,41 |
SX28AC-D/P | - | - | - | - | - | - | - |
P2X8C4M64P | - | - | - | - | 20,72 | 22,30 | 21,70 |