Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Propeller
El Propeller proporciona flexibilidad y potencia a travs de sus ochos procesadores, llamados Cogs,
que puede realizar simultneamente tareas independientes o cooperativas. Los Cogs comparten de
E/S y otros recursos.
Cada uno de estos ochos procesadores (Cogs) es de 32 bits, con una velocidad de procesos de 20
MIPS usando un pulso de reloj de 80 MHz. Es decir, en un momento en que estn trabajando todos
los Cogs, tenemos una capacidad de proceso de 160 MIPS.
Cada procesador tiene su propia RAM local de 2Kb (512 registros de 32 bits). Tambin existe una
memoria comn, compartida, que se divide en dos secciones: una RAM de 32 Kb y una ROM de 32
Kb.
Especificaciones
3. Controlar que el Cogs pueda tener acceso a los recursos comunes-exclusivos (mutuoexclusivo), tales como RAM/ROM principal, registros de configuracin, etc.
4. Proporcionar el acceso exclusivo a los recursos siguiendo el procedimiento Round
Robin, sin importar cuantos Cogs estn funcionando.
Los recursos compartidos:
El reloj del sistema es el oscilador principal o central para casi todos los componentes del
Propeller
La seal del reloj del sistema se proporciona a partir de una de las tres posibles fuentes:
o El oscilador interno de RC
o El circuito de PLL
o El oscilador de cristal
La fuente se determina en los ajustes del registro CLK, que es seleccionable en tiempo de
ejecucin.
Un oscilador externo puede usar el multiplicador PLL que puede ser de 1x, 2x, 4x, 8x, 16x y
puede ser modificado en tiempo de ejecucin.
El reloj puede ir de 32Khz hasta 80Mhz.
Cogs (procesadores).
El Hub
Para mantener la integridad del sistema, los recursos mutuo-exclusivos no debe ser accedido por
ms de un Cog a la vez. El Hub mantiene esta integridad controlando el acceso a los recursos
mutuo-exclusivos, dando a cada Cog un turno para acceder a ellos de forma Round Robin desde el
Cog 0 a el Cog 7 y volviendo al Cog 0
EL Hub y el bus que controla, funcionan la mitad de la frecuencia de reloj del sistema. Esto
significa que el Hub da acceso al Cog a los recursos mutuo-exclusivos una vez cada 16 ciclos de
reloj del sistema
Pines de E/S
El Propeller tiene 32 pines de E/S, 28 de los cuales estn destinados para fines de propsito
general. Cuatro pines de E/S (28-31) son de propsito especial durante el arranque y luego estn
disponibles para usos generales
Despus del arranque, cualquier pin de E/S se puede utilizar por cualquier Cog en cualquier
momento puesto que el conjunto de pines de E/S es un recurso comn.
Contador del Sistema (comn)
Semforos (mutex)
Hay ocho semforos disponibles para facilitar el acceso exclusivo a los recursos definidos
por el usuario entre los mltiples Cogs.
Los semforos son bits globales accedidos a travs del Hub con las siguientes instrucciones:
LOCKNEW, LOCKRET, LOCKSET y LOCKCLR.
Los semforos solo pueden ser accedidos a travs del Hub, slo un Cog a la vez puede
afectarlos
La memoria principal es un bloque de 64 K bytes que es accesible por todos los Cogs como
recurso mutuo-exclusivo a travs del Hub.
Est formada por 32 KB de RAM y 32 KB de ROM.
Los 32 KB de RAM principal son de propsito general y constituyen el destino de una
aplicacin Propeller, que puede ser descargada de un host o cargada de los 32 KB de
EEPROM externa.
La ROM se utiliza para almacenar la definicin de caracteres, funciones matemticas, el
Boot Loader y el intrprete Spin.
Definicin de caracteres
La primera mitad de la ROM contiene un sistema de 256 definiciones de carcter. Cada definicin
de carcter corresponde a 16 pxeles de ancho y 32 pxeles de alto. Estas definiciones de carcter
se pueden utilizar para las presentaciones de vdeo, LCD grfico, impresin, etc.
El arranque o reset
El proceso de encendido o reset se divide en las siguientes fases:
1. Carga el programa embebido del Boot Loader al Cog 0 y arranca.
2. El Boot loader realiza una o ms de las siguientes tareas en este orden:
a. Detecta la comunicacin de un host, en los pines P30 y P31. Si se detecta conversa con
el host para identificar el chip Propeller y posiblemente para descargar un programa
en RAM global y opcionalmente en la EEPROM externa de 32Kb.
Un archivo ejecutable
Unos archivos de ayuda on-line
Archivos de la biblioteca Propeller
Cada archivo de la biblioteca es un objeto independiente, disponible para utilizar en los proyectos
Propeller, con cdigo fuente y documentacin incorporada. Son realmente archivos de texto, que
pueden ser corregidos en cualquier editor de texto.
Documentacin
Es posible escribir la documentacin de usuario para un objeto dentro del archivo fuente del objeto.
Esto significa que habr menos archivos para mantener
Para permitir este proceso, sean creados dos tipos de comentarios en la fuente:
1. Los comentarios cdigo
2. Comentario de documento
El lenguaje Spin
El Propeller puede ser programado en asembler o en un lenguaje propio llamado Spin.
Bloques de cdigo
Control de Cog
Control de proceso
Control de flujo
Retrasos de tiempo
Los tres constructores de bloques bsicos para un evento de tiempo en Spin son:
_xinfreq = 5_000_000
_clkmode = xtal1 + pll16x
Comando Repeat
Existen diferentes formas de modificar el ciclo repeat para contar hasta cierto valor y parar.