Vistas de página en total

lunes, 11 de junio de 2018

RECURSOS COMUNES A TODOS LOS MICROCONTROLADORES


Figura Recursos microcontroladores (imagen tomada de aprendiendoarduino.wordpress.com)

Al estar todos los microcontroladores integrados en un chip, su estructura fundamental y sus características básicas son muy parecidas. Todos deben disponer de los bloques esenciales Procesador, memoria de datos y de instrucciones, líneas de E/S, oscilador de reloj y módulos controladores de periféricos. Sin embargo, cada fabricante intenta enfatizar los recursos más idóneos para las aplicaciones a las que se destinan preferentemente. En este apartado se hace un recorrido de todos los recursos que se hallan en todos los microcontroladores describiendo las diversas alternativas y opciones que pueden encontrarse según el modelo seleccionado.

ARQUITECTURA BÁSICA, Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clásica de von Neumann, en el momento presente se impone la arquitectura Harvard. 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). 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.

RESOURCES COMMON TO ALL MICROCONTROLLERS

Since all the microcontrollers are integrated in a chip, their fundamental structure and basic characteristics are very similar. All must have the essential blocks Processor, data and instruction memory, I / O lines, clock oscillator and peripheral controller modules. However, each manufacturer tries to emphasize the most suitable resources for the applications to which they are destined preferably. In this section a tour of all the resources found in all the microcontrollers is made, describing the different alternatives and options that can be found according to the selected model.

BASIC ARCHITECTURE, Although initially all microcontrollers adopted the classic architecture of von Neumann, at the present time the Harvard architecture is imposed. The architecture of von Neumann is characterized by having a single main memory where data and instructions are stored interchangeably. This memory is accessed through a unique bus system (addresses, data and control). The Harvard architecture has two independent memories, one that contains only instructions and another, only data. Both have their respective access bus systems and it is possible to perform access operations (read or write) simultaneously in both memories.


La arquitectura Harvard dispone de dos memorias independientes para datos y para instrucciones, permitiendo accesos simultáneos

 EL PROCESADOR O CPU 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.

MEMORIA En los microcontroladores la memoria de instrucciones o programa y la memoria de datos RAM está integrada en el propio chip. Una parte debe ser no volátil, tipo PROM ó EEPROM, 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 computadores personales:

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 (no es multitarea como windows, linux u otro sistema operativo).

RAM ESTATICA La 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 EEPROM de programa. Los usuarios de computadores personales están habituados a manejar Megabytes Y GigaBytes de memoria, pero, los diseñadores con microcontroladores trabajan con capacidades de memoria de programa EEPROM comprendidas entre 512 bytes y 32 k bytes y de RAM comprendidas entre 20 y 1536 bytes aproximadamente.

 TIPOS DE MEMORIA DE PROGRAMA EN LOS MICROCONTROLADORES 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 de programa no volátil que se pueden encontrar en los microcontroladores del mercado.

ROM CON MÁSCARA: Es una memoria no volátil de sólo lectura cuyo contenido se graba durante la fabricación del chip. 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.

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.

UV-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.

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. Son muy idóneos para la enseñanza y la Ingeniería de diseño. 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. Este tipo de memoria es relativamente lenta. Por ejemplo, el PIC 16C84.

EEPROM FLASH: son muy útiles al permitir que los microcontroladores que las incorporan puedan ser reprogramados “In Circuit”, es decir, sin tener que retirar 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. Entre los Microcontroladores de este tipo se puede mencionar el 16F84, 16F628, 18F452.

Aparte de que las memorias EPROM "Flash" tienen una entrada de escritura, mientras están funcionando se comportan como las EPROM normales. La única diferencia se encuentra en cómo se cargan y se borran los datos en la memoria. Mientras que durante el proceso de programación de las memorias EPROM convencionales se necesita una tensión bien definida durante cierto intervalo de tiempo, y para borrar el componente hay que exponerlo a luz ultravioleta, en las E.Flash ambos procesos están controlados y se llevan a cabo internamente. Para tal efecto la memoria recibe una secuencia de comandos predefinida (borrar, programar) que incluye algunas precauciones especiales (determinadas por el fabricante) destinadas a evitar que se borre cualquier dato por error.

El comando se transfiere a la memoria EPROM "Flash" mediante una serie de operaciones de escritura, como se indica en la tabla 1. Los dos primeros comandos "Lectura/Reset" preparan la memoria para operaciones de lectura. El comando "Autoselección" permite leer el código del fabricante y el tipo de dispositivo. El comando "Byte" carga el programa dentro de la memoria EPROM, mientras que "Borrar Chip" actúa durante el proceso de borrado, que no dura más de un minuto. Desde el punto de vista lógico podemos afirmar que la memoria EPROM "Flash" está dividida en sectores que se pueden borrar individualmente con la ayuda del comando "Borrar Sector".

Las memorias EPROM "Flash" disponen de otro mecanismo, basado en la división en sectores, que las protege de acciones de escritura o lectura no deseadas. Cuando un sector está protegido de esta forma no se puede realizar una operación de lectura o sobre escritura con una tensión de 5V. Este hecho es muy importante y se debe tener siempre presente cuando se utilicen estos dispositivos. Solamente se puede eliminar esta protección con la ayuda de un programador especial.

Durante el proceso de programación o borrado se puede leer, mediante un comando de acceso en "lectura", el estado de la memoria EPROM "Flash" en la misma posición que el byte de programado o borrado. Mientras se borra un sector se puede leer cualquier dirección que pertenezca al sector.

Durante la secuencia de programación, el bit de orden superior (DQ7) del byte que se está leyendo toma el valor negado del bit que se esté programando, mientras que DQ5 se mantiene a 0. Cuando el ciclo de programación termina correctamente se deshace esta inversión y los bits 5 y 7 toman los valores planeados.

Como durante una secuencia de borrado parece que todas las posiciones de la memoria están programadas con el valor FFH, el bit 7 permanece invariablemente a cero durante este proceso. Cuando alguno de los dos procesos excede cierto límite de tiempo, que está determinado internamente, se produce un "error de temporización", entonces el bit 5 toma el valor 1 mientras que el bit 7 se mantiene invertido. La función que implementa el bit 6 está condicionada por el requisito de compatibilidad. El bit 3 se utiliza cuando se borran simultáneamente varios sectores. Sin embargo, el emulador descrito no tiene estas características.

PUERTOS DE ENTRADA / SALIDA (Input / Output) La principal utilidad de los pines que posee la cápsula que contiene un microcontrolador es soportar las líneas de E/S que comunican al computador interno con los periféricos exteriores. Según los controladores de periféricos que posea cada modelo de microcontrolador, las líneas de E/S se destinan a proporcionar el soporte a las señales de entrada, salida y control. Se conocen como puerto A, B, C, D, E.

RELOJ PRINCIPAL Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los impulsos de reloj usados en la sincronización de todas las operaciones del sistema. Generalmente, el circuito de reloj está incorporado en el microcontrolador y sólo se necesitan unos pocos componentes exteriores para seleccionar y estabilizar la frecuencia de trabajo. Dichos componentes suelen consistir en un cristal de cuarzo junto a elementos pasivos o bien un resonador cerámico o una red R-C. Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones, pero también implica un incremento del consumo de energía. Algunos μC (18F2550, por ejemplo) disponen de oscilador interno programable desde 31KHz hasta 8 MHz, es decir, no se requiere comprar cristal, la desventaja es que no suelen ser tan preciso como un cristal externo.





No hay comentarios:

Publicar un comentario