viernes, 9 de septiembre de 2016

Arquitectura interna y externa



En esta entrada hablare de cómo se compone la arquitectura de microcontroladores, antes de eso esta es una breve introducción sobre que son estos pequeños dispositivos. 

El microcontrolador es un dispositivo electrónico que se puede realizar proceso lógicos, estos son programados en lenguaje ensamblador y son introducidos a esto mediante un programador.



Microcontrolador:
Ø  Un microcontrolador requiere un chip de memoria para los periféricos que contiene.
Ø  El funcionamiento de un microcontrolador es de usos múltiples.
Ø  Reducción de la cantidad de espacio en la implementación de un diseño dado.
Ø  Reduce el costo de implementación.
Ø  Permite desarrollo de aplicaciones específicas de manera más rápida y eficiente.
Ø  Los fabricantes dan mucho soporte sobre las aplicaciones más comunes.
Ø  Se adaptan mejor a aplicaciones específicas.
Es el elemento más importante del microcontrolador y determina sus principales características, tanto a nivel hardware como software.
Se encarga de direccionar la memoria de instrucciones, recibir el código OP de la instrucción en curso, su decodificación y la ejecución de la operación que implica la instrucción, así como la búsqueda de los operandos y el almacenamiento del resultado.
Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales.
  • CISC: Un gran número de procesadores usados en los microcontroladores están basados en la filosofía CISC (Computadores de Juego de Instrucciones Complejo). Disponen de más de 80 instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecución. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actúan como macros.

Ø  Instrucciones especializadas
Ø  Se requieren un set de instrucciones amplio para dar soporte a una arquitectura.
Ø  Programas requieren menos código fuente.

RISC: Tanto la industria de los computadores comerciales como la de los microcontroladores están decantándose hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador. RISC (Reduced  Instruction Set Computer): 
Ø  Set de instrucciones reducido
Ø  Instrucciones de carácter general
Ø  Duración homogénea de la ejecución de las instrucciones.
Ø  Se requiere más código para describir una operación que con una arquitectura CISC.

  • SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, además de ser reducido, es "específico", o sea, las instrucciones se adaptan a las necesidades de la aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC (Computadores de Juego de Instrucciones Específico).

En los microcontroladores la memoria de instrucciones y datos está integrada en el propio circuito integrado. Una parte debe ser no volátil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicación. Otra parte de memoria será tipo RAM, volátil, y se destina a guardar las variables y los datos.
Hay dos peculiaridades que diferencian a los microcontroladores de los PC's:
1.   No existen sistemas de almacenamiento masivo como disco duro o disquetes.
2.   Como el microcontrolador sólo se destina a una tarea en la memoria de programa, sólo hay que almacenar un único programa de trabajo.
La memoria de datos (RAM) en estos dispositivos es de poca capacidad pues sólo debe contener las variables y los cambios de información que se produzcan en el transcurso del programa. Por otra parte, como sólo existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se ejecuta directamente desde la memoria de programa (ROM).
    El usuario de PC está habituados a manejar Megabytes de memoria, pero los diseñadores con microcontroladores trabajan con capacidades de memoria de programa de 512 bytes, 1K, 2K (hasta unos 64K) y de RAM de 20 bytes, 68 bytes, 512 bytes (hasta unos 4K).
    Según el tipo de memoria de programa que dispongan los microcontroladores, la aplicación y utilización de los mismos es diferente. Se describen las cinco versiones de memoria no volátil que se pueden encontrar en los microcontroladores del mercado:


1º. ROM con máscara
    Es una memoria no volátil de sólo lectura cuyo contenido se graba durante la fabricación del chip.
    Máscara viene de la forma cómo se fabrican los circuitos integrados. Estos se fabrican en obleas que contienen varias decenas de chips. Estas obleas se obtienen a partir de procesos fotoquímicos, donde se impregnan capas de silicio y oxido de silicio, y según convenga, se erosionan al exponerlos a la luz. Como no todos los puntos han de ser erosionados, se sitúa entre la luz y la oblea una máscara con agujeros, de manera que donde deba incidir la luz, esta pasará. Con varios procesos similares pero más complicados se consigue fabricar los transistores y diodos que componen un circuito integrado.
    El elevado coste del diseño de la máscara sólo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.

2ª. OTP
El microcontrolador contiene una memoria no volátil de sólo lectura "programable una sola vez" por el usuario. OTP (One Time Programmable). Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde un PC. La versión OTP es recomendable cuando es muy corto el ciclo de diseño del producto, o bien, en la construcción de prototipos y series muy pequeñas.
    Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptación mediante fusibles para proteger el código contenido.

3ª EPROM 
    Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces. La grabación se realiza, como en el caso de los OTP, con un grabador gobernado desde un PC. Si, posteriormente, se desea borrar el contenido, disponen de una ventana de cristal en su superficie por la que se somete a la EPROM a rayos ultravioleta durante varios minutos. Las cápsulas son de material cerámico y son más caros que los microcontroladores con memoria OTP que están hechos con material plástico. Hoy día se utilizan poco, siendo sustituidas por memorias EEPROM o Flash.
4ª EEPROM 
    Se trata de memorias de sólo lectura, programables y borrables eléctricamente EEPROM (Electrical Erasable Programmable Read OnIy Memory). Tanto la programación como el borrado, se realizan eléctricamente desde el propio grabador y bajo el control programado de un PC. Es muy cómoda y rápida la operación de grabado y la de borrado. No disponen de ventana de cristal en la superficie.
    Los microcontroladores dotados de memoria EEPROM una vez instalados en el circuito, pueden grabarse y borrarse cuantas veces se quiera sin ser retirados de dicho circuito. Para ello se usan "grabadores en circuito" que confieren una gran flexibilidad y rapidez a la hora de realizar modificaciones en el programa de trabajo.
    El número de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es recomendable una reprogramación continua. Hoy día están siendo sustituidas por memorias de tipo Flash.
    Se va extendiendo en los fabricantes la tendencia de incluir una pequeña zona de memoria EEPROM en los circuitos programables para guardar y modificar cómodamente una serie de parámetros que adecuan el dispositivo a las condiciones del entorno.
    


5ª FLASH
    Se trata de una memoria no volátil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es más pequeña.
    A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es más rápida y de mayor densidad que la EEPROM.
    La alternativa FLASH está recomendada frente a la EEPROM cuando se precisa gran cantidad de memoria de programa no volátil. Es más veloz y tolera más ciclos de escritura/borrado. Son idóneas para la enseñanza y la Ingeniería de diseño.
    Las memorias EEPROM y FLASH son muy útiles al permitir que los microcontroladores que las incorporan puedan ser reprogramados "en circuito", es decir, sin tener que sacar el circuito integrado de la tarjeta. Así, un dispositivo con este tipo de memoria incorporado al control del motor de un automóvil permite que pueda modificarse el programa durante la rutina de mantenimiento periódico, compensando los desgastes y otros factores tales como la compresión, la instalación de nuevas piezas, etc. La reprogramación del microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto.


Arquitectura externa de microcontroladores




Von Neumann
La arquitectura de von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos y control) mientras que la arquitectura Harvard dispone de dos memorias independientes, una que contiene sólo instrucciones y otra sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultáneamente en ambas memorias.      
Ø  Ejecución secuencial de las instrucciones
Ø  Existe solo una unidad de búsqueda y una unidad de ejecución.
Ø  La instrucción siguiente se busca hasta que se ejecute la instrucción actual.

Segmentada
 Esta arquitectura es similar al uso de una cadena de montaje en una fábrica de manufacturación. Una cadena de montaje saca partida del hecho de que el producto pasa atreves de varias etapas de producción. Extendiendo el proceso de producción de una cadena de montaje se puede trabajar sobre los productos en varias etapas como segmentación porque como en una tubería o cause en un extremo nuevo entradas se aceptan antes de que algunas entradas aceptadas con anterioridad aparezcan como salidas en el otro extremo.
Divide la búsqueda de las instrucciones de manera cuando se ejecute la instrucción actual ya se está ejecutando la siguiente.
Multiplica la velocidad de ejecución al doble que la Von Newman.


Los microcontroladores PIC responden a la arquitectura Harvard.
·                     Se conoce como arquitectura de ejecución paralela.
·                     Divide los procesos
·                     Bus de direcciones y de datos separados en la arquitectura. 




Podemos encontrar elementos comunes en los microcontroladores
ADC (convertidor Analogico Digital)
USART
RTC es un reloj de ordenador.
Puertos entrada/salida paralelos
PWM
USB


Los microcontroladores están siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigoríficos, televisores, ordenadores, impresoras, módems, el sistema de arranque de nuestro coche, etc.
 

Existen diferentes aplicaciones de los microcontroladores (µcc) donde cualquier problema en el cual se requiera un instrumento digital compacto que sea capaz de realizar funciones como las siguientes, es posible pensar en sistema basado en un µcc: 
Ø  secuenciamiento
Ø  codificación/decodificación
Ø  monitoreo
Ø  procesamiento de señales
Ø  control retroalimentado 
Ø  temporización
Ø  cálculos aritméticos sencillos
Ø  comunicaciones
Ø  automatización
Ø  despliegue digital 

Ø  control on - off etc 

No hay comentarios.:

Publicar un comentario