RS08 es una familia de microcontroladores de 8 bits de NXP Semiconductors . Lanzada originalmente por Freescale en 2006, la arquitectura RS08 es una versión de recursos reducidos de la unidad de procesamiento central (CPU) Freescale MC68HCS08 , un miembro de la familia de microprocesadores 6800 . Se ha implementado en varios dispositivos microcontroladores para sistemas embebidos .
En comparación con sus partes hermanas HC08 y Freescale S08 , tiene un diseño mucho más simplificado. La 'R' en sus números de pieza sugiere "Reducida"; La propia Freescale describe el núcleo como "ultra-low-end". Las implementaciones típicas incluyen menos periféricos integrados y recursos de memoria, tienen paquetes más pequeños (el más pequeño es el paquete QFN 6, de 3 mm x 3 mm x 1 mm) y tienen un precio inferior a 1 dólar estadounidense. Los objetivos del diseño simplificado incluyen una mayor eficiencia, una mayor rentabilidad para piezas de tamaño de memoria pequeño y un tamaño de matriz más pequeño .
El RS08 emplea una arquitectura von Neumann con programa compartido y bus de datos; es posible ejecutar instrucciones desde la memoria de datos. El dispositivo no es compatible binariamente con el núcleo S08, aunque los códigos de operación de instrucción y los modos de direccionamiento son un subconjunto del S08. Esto permite una fácil transición del núcleo S08 al núcleo RS08 para diseñadores e ingenieros.
Los modos de direccionamiento Short y Tiny permiten un acceso y manipulación más eficientes de las variables y registros más utilizados. Estas instrucciones tienen códigos de operación de instrucción de un solo byte, lo que reduce la cantidad de memoria del programa requerida por su uso frecuente.
El tamaño de la matriz es un 30% más pequeño que el núcleo S08. El núcleo RS08 utiliza la misma estructura de bus que S08, lo que hace posible la reutilización del módulo periférico y de memoria. Ofrece una interfaz de modo de depuración en segundo plano , una interfaz de depuración de un solo cable que permite el control interactivo sobre el procesador cuando se instala en un sistema de destino.
Dispositivos
Dispositivos (a partir de julio de 2010):
- MC9RS08KA1: 1 kB de memoria de programa programable Flash .
- MC9RS08KA2: 2 kB de memoria de programa programable Flash.
- MC9RS08LE4: 4 kB de memoria de programa programable Flash, SCI.
- MC9RS08LA8: 8 kB de memoria de programa programable Flash, SCI, SPI.
- MC9RS08KB12: 12 kB de memoria de programa programable Flash, I2C, SCI.
Características arquitectonicas
- El núcleo RS08 no gestiona una pila . Durante las llamadas de subrutina , conserva una dirección de retorno en un registro de enlace de contador de programa en sombra . Si una subrutina a su vez llama a otra subrutina, puede conservar la dirección de retorno en una variable local, llamar a las subrutinas según sea necesario y restaurar la dirección guardada justo antes de regresar.
- El registro de estado del núcleo tiene bits de bandera de acarreo y cero. Overflow y Negative, que generalmente se encuentran en otros núcleos, no están presentes.
Interrumpir el manejo
Las interrupciones no se distribuyen a través de vectores de interrupción, como ocurre con casi todos los demás procesadores Freescale. Las interrupciones RS08 pueden despertar al procesador de una condición de ESPERA o DETENCIÓN (donde la ejecución se detiene temporalmente), pero de lo contrario no cambian el flujo del programa. En esencia, RS08 ejecuta cualquier hilo de programación hasta su finalización. El efecto es vagamente similar a la multitarea cooperativa en los sistemas operativos.
Aunque el manejo de eventos externos es síncrono, no se requiere sobrecarga debido a la conmutación de contexto y es posible el funcionamiento con bajo consumo de energía . El arbitraje de interrupción está controlado exclusivamente por software.
Bibliografía
- Semiconductor de Freescale. RS08 Core Reference Manual (RS08RM). Rev. 1.0, 4/2006.
- Semiconductor de Freescale. Hoja de datos del MC9RS08KA2 (MC9RS08KA2). Rev. 1.0, 4/2006