|
 |
Parallax Propeller P8X32A |
Il chip P8X32A (chiamato anche propeller) è un microcontrollore prodotto dalla Parallax. Al suo interno contiene otto (8) CPU indipendenti che possono eseguire programmi in modalità multitasking. Tra loro condividono le stesse risorse come le periferiche Input/Output e la memoria RAM/ROM principale.
Ciascuna CPU (o COG come viene chiamato nel datasheet) ha pochissime risorse hardware, come due contatori, un generatore video e 512x32 bit di RAM, ma in realtà questo strabiliante chip è in grado di fare moltissime cose, perché tutte le altre periferiche di comune utilizzo come ad esempio la USART, un bus SPI/I2C, convertitori A/D e D/A sono realizzate tutte con emulazioni software. In questo modo dovremmo semplicemente includere nel programma da eseguire il driver relativo alla periferica necessaria al nostro progetto e assegnare il compito ad una delle otto CPU. Quindi ecco perchè il "propeller" è un dispositivo molto flessibile, veloce (80 Mhz clock) e facile da programmare grazie anche ad un linguaggio ad alto livello (SPIN), simile al basic e disponibile gratuitamente, come strumento di sviluppo, dalla Parallax.

Nella figura è rappresentato solo un esempio di possibili applicazioni. le periferiche da utilizzare vengono decise in fase di sviluppo del programma. Per fare un esempio, se nel nostro progetto avessimo necessità di avere un output su VGA, un bus I2C e un input da tastiera PS/2, dovremmo solamente includere le tre librerie (driver) nel programma ed associare i pin di I/O del chip ai relativi segnali di input/output del driver. Il chip propeller assegnerà automaticamente i compiti da eseguire agli otto Cog (cpu). Quindi nel nostro esempio avremmo: 1 cog per la VGA + 1 cog per il bus I2C + 1 cog per l'input da tastiera PS/2. Quindi rimangono ancora a disposizione 5 cog per l'esecuzione del nostro programma.

Nota: Questo tutorial è ancora in fase di costruzione, verranno aggiunte nuove sezioni non appena disponibili.
|