Вы находитесь на странице: 1из 100

INTRODUCCIN AL MICROCONTROLADOR

Sistemas Digitales I Ing. Luis Raymi

Introduccin al Microcontrolador
1.1 Controlador y microcontrolador. 1.2 Diferencias entre el microprocesador y microcontrolador. 1.3 Aplicaciones del microcontrolador. 1.4 El mercado de microcontroladores. 1.5 Qu microcontrolador emplear? 1.6 Recursos comunes de todos los microcontroladores.

Introduccin al Microcontrolador

Podemos encontrar microcontroladores a cada paso que damos. Estn presentes en nuestro trabajo, en nuestra casa y en general en nuestra vida.
Se

pueden encontrar controlando el funcionamiento de los ratones y teclados de las computadoras, en los telfonos celulares, en los hornos de microondas y en los televisores, por mencionar unos pocos.

Controlador y Microcontrolador

Recibe el nombre de controlador aquel dispositivo que se emplea para el gobierno de uno o varios procesos.
Por

ejemplo, el controlador que regula el funcionamiento de un horno dispone de un sensor que mide constantemente su temperatura interna y, cuando traspasa los lmites prefijados, genera las seales adecuadas que accionan los actuadores que intentan llevar el valor de la temperatura dentro del rango estipulado.

Controlador y Microcontrolador

Aunque el concepto de controlador ha permanecido invariable a travs del tiempo, su implementacin fsica ha variado frecuentemente.

Hace tres dcadas, los controladores se construan exclusivamente con componentes de lgica discreta, posteriormente se emplearon los microprocesadores, que se rodeaban con chips de memoria y E/S sobre una tarjeta de circuito impreso. En la actualidad, todos los elementos del controlador se han podido incluir en un nico chip, el cual recibe el nombre de microcontrolador.

Microcontrolador

Un microcontrolador es un circuito integrado de alta escala de integracin que incorpora la mayor parte de los elementos que conforman un controlador.

Microcontrolador

Un microcontrolador dispone normalmente de los siguientes componentes:


Procesador

o CPU (Unidad Central de Procesamiento). Memoria RAM para contener los datos. Memoria para el programa, generalmente de tipo ROM/PROM/EPROM. Lneas de E/S para comunicarse con el exterior.

Microcontrolador

Un microcontrolador dispone normalmente de los siguientes componentes:


Diversos

mdulos para el control de perifricos (temporizadores, Puertos Serie y Paralelo, Conversores Anlogo Digital, Conversores Digital Anlogo, etc.). Generador de pulsos de reloj que sincronizan el funcionamiento de todo el sistema.

Microcontrolador

Los productos que para su control incorporan un microcontrolador disponen de las siguientes ventajas:
Aumento

de prestaciones, un mayor control sobre un determinado elemento representa una mejora considerable en el mismo. Aumento de la fiabilidad al reemplazar el microcontrolador por un elevado nmero de elementos disminuye el riesgo de averas y se precisan menos ajustes.

Microcontrolador

Los productos que para su control incorporan un microcontrolador disponen de las siguientes ventajas:
Reduccin

final. La integracin del microcontrolador en un circuito integrado (chip) disminuye el volumen, la mano de obra y los stocks. Mayor flexibilidad: las caractersticas de control estn presentes por lo que su modificacin implica slo cambios en el programa que lo gobierna.

del tamao en el producto

Microcontrolador

Debido a su reducido tamao es posible montar el controlador en el propio dispositivo al que gobierna. En este caso el controlador recibe el nombre de controlador empotrado (embedded controller).

Diferencia entre microcontrolador y microprocesador

El microprocesador es un circuito integrado que contiene la Unidad Central de Procesamiento (CPU), tambin llamada procesador, de una computadora. La CPU est formada por la Unidad de Control, que interpreta las instrucciones, y la Unidad Aritmtico Lgica (ALU), que las ejecuta. Las patitas de un microprocesador sacan al exterior las lneas de sus buses de direcciones, datos y control, para permitir conectarle con la Memoria y los Mdulos de E/S y configurar una computadora implementada por varios circuitos integrados.

Diferencia entre microcontrolador y microprocesador

Se dice que un microprocesador es un sistema abierto porque su configuracin es variable de acuerdo con la aplicacin a la que se destine.
La

disponibilidad de los buses en el exterior permite que se configure a la medida de la aplicacin.

Diferencia entre microcontrolador y microprocesador


El microcontrolador, por otro lado, es un sistema cerrado. Todas las partes del microcontrolador estn contenidas en su interior y slo salen al exterior las lneas que gobiernan los perifricos.

Diferencia entre microcontrolador y microprocesador

En la prctica cada fabricante de microcontroladores oferta un elevado nmero de modelos diferentes, desde los ms sencillos hasta los ms poderosos.

Es posible seleccionar la capacidad de las memorias, el nmero de lneas de E/S, la cantidad y potencia de los elementos auxiliares, la velocidad de funcionamiento, etc.

Por todo ello, un aspecto muy destacado del diseo es la seleccin del microcontrolador a utilizar.

Diferencia entre microcontrolador y microprocesador


Microprocesador (P) Alta prestacin. Propsito general.


Cerebro de la PC en las estaciones de trabajo. Encargado de las funciones de decodificacin y ejecucin de instrucciones, control del mundo exterior.

Microcontrolador (C) Alto nivel de integracin. Utilizado para control embebido.

Efecta las funciones de un P ms el de la memoria, E/S, temporizador, ADC, USART, etc. Costo: $1 - $25.

Costo: $75 - $500.

Diferencia entre microcontrolador y microprocesador

Microprocesador (P). Contiene una unidad de gestin de la memoria interna y externa adems de estar provisto de memoria cach. El desempeo (nmero de instrucciones ejecutadas por unidad de tiempo) es la caracterstica ms importante; el costo es secundario. Microcontrolador (C) Tiene RAM y ROM integrada y est desprovisto de cach.. Tiene integrado mltiples perifricos y se viene usando en aplicaciones embebidas. Usado tambin en aplicaciones de control en tiempo real. Bajo costo y bajo consumo de potencia.

Aplicaciones de los microcontroladores

Cada vez existen ms productos que incorporan un microcontrolador con el fin de aumentar sustancialmente sus prestaciones, reducir su tamao y costo, mejorar su fiabilidad y disminuir el consumo. Algunos fabricantes de microcontroladores superan el milln de unidades de un modelo determinado producidas en una semana. Este dato puede darnos una idea de la masiva utilizacin de estos dispositivos.

Aplicaciones de los microcontroladores

Los microcontroladores estn siendo empleados en multitud de sistemas presentes en nuestra vida diaria, como pueden ser juguetes, horno microondas, frigorficos, televisores, computadoras, impresoras, mdems, el sistema de arranque de un automvil, etc., y en otras aplicaciones menos conocidas como instrumentacin electrnica, control de sistemas en una nave espacial, etc.

Aplicaciones de los microcontroladores

Una aplicacin tpica podra emplear varios microcontroladores para controlar pequeas partes del sistema. Estos pequeos controladores podran comunicarse entre si y con un procesador central, probablemente ms potente, para compartir la informacin y coordinar sus acciones, como, de hecho, ocurre ya habitualmente en cualquier PC.

El mercado de microcontroladores

Aunque en el mercado de la informtica la mayor atencin la acaparan los desarrollos de los microprocesadores, lo cierto es que se venden cientos de microcontroladores por cada uno de aqullos. Existe una gran diversidad de microcontroladores. Quiz la clasificacin ms importante sea entre microcontroladores de 4, 8, 16 32 bits.

Aunque las prestaciones de los microcontroladores de 16 y 32 bits son superiores a los de 4 y 8 bits, la realidad es que los microcontroladores de 8 bits dominan el mercado y los de 4 bits se resisten a desaparecer. La razn de esta tendencia es que los microcontroladores de 4 y 8 bits son apropiados para la gran mayora de las aplicaciones, lo que hace absurdo emplear micros ms potentes y consecuentemente ms caros.

El mercado de microcontroladores

Uno de los sectores que ms tira del mercado del microcontrolador es el mercado automovilstico.

De hecho, algunas de las familias de microcontroladores actuales se desarrollaron pensando en este sector, siendo modificadas posteriormente para adaptarse a sistemas ms genricos. El mercado del automvil es adems uno de los ms exigentes: los componentes electrnicos deben operar bajo condiciones extremas de vibraciones, choques, ruido, etc. y seguir siendo fiables. El fallo de cualquier componente en un automvil puede ser el origen de un accidente.

El mercado de microcontroladores

En cuanto a las tcnicas de fabricacin, prcticamente la totalidad de los microcontroladores actuales se fabrican con tecnologa CMOS (Complementary Metal Oxide Semiconductor). Esta tecnologa supera las tcnicas anteriores por su bajo consumo y alta inmunidad al ruido.

El mercado de microcontroladores

Los modernos microcontroladores de 32 bits van afianzando sus posiciones en el mercado, siendo las reas de ms inters el procesamiento de imgenes, las comunicaciones, las aplicaciones militares, los procesos industriales y el control de los dispositivos de almacenamiento masivo de datos.

Qu microcontrolador emplear?

A la hora de escoger el microcontrolador a emplear en un diseo concreto hay que tener en cuenta una multitud de factores, como la documentacin y herramientas de desarrollo disponibles y su precio, la cantidad de fabricantes que lo producen y, por supuesto, las caractersticas del microcontrolador (tipo de memoria de programa, nmero de temporizadores, interrupciones, etc.).

Qu microcontrolador emplear?
Antes de seleccionar un microcontrolador es imprescindible analizar los requisitos de la aplicacin.

Qu microcontrolador emplear?

Procesamiento de datos. Puede ser necesario que el microcontrolador realice clculos crticos en un tiempo limitado. En ese caso debemos asegurarnos de seleccionar un dispositivo suficientemente rpido para ello. Por otro lado, habra que tener en cuenta la precisin de los datos a manejar: si no es suficiente con un microcontrolador de 8 bits, puede ser necesario acudir a microcontroladores de 16 32 bits, o incluso a hardware de punto flotante. Una alternativa ms barata y quiz suficiente es usar libreras para manejar los datos de alta precisin.

Qu microcontrolador emplear?

Entrada/Salida Para determinar las necesidades de Entrada/Salida del sistema es conveniente dibujar un diagrama de bloques del mismo, de tal forma que sea sencillo identificar la cantidad y tipo de seales a controlar. Una vez realizado este anlisis puede ser necesario aadir perifricos hardware externos o cambiar a otro microcontrolador ms adecuado a ese sistema.

Qu microcontrolador emplear?

Consumo Algunos productos que incorporan microcontroladores estn alimentados con bateras y su funcionamiento puede ser tan vital como activar una alarma antirrobo. Lo ms conveniente en un caso como ste puede ser que el microcontrolador est en estado de bajo consumo pero que despierte ante la activacin de una seal (una interrupcin) y ejecute el programa adecuado para procesarla.

Qu microcontrolador emplear?
Memoria Para detectar las necesidades de memoria de nuestra aplicacin debemos separarla en memoria voltil (RAM), memoria no voltil (ROM, EPROM, etc.) y memoria no voltil modificable (EEPROM). Este ltimo tipo de memoria puede ser til para incluir informacin especfica de la aplicacin como un nmero de serie o parmetros de calibracin.

Qu microcontrolador emplear?

Memoria El tipo de memoria a emplear vendra determinado por el volumen de ventas previsto del producto: de menor a mayor volumen sera conveniente emplear EPROM, OTP (One Time Pro- grammable) y ROM. En cuanto a la cantidad de memoria necesaria puede ser imprescindible realizar una versin preliminar, aunque sea en pseudo-cdigo, de la aplicacin y a partir de ella hacer una estimacin de cunta memoria voltil y no voltil es necesaria y si es conveniente disponer de memoria no voltil modificable.

Qu microcontrolador emplear?

Ancho de palabra El criterio de diseo debe ser seleccionar el microcontrolador de menor ancho de palabra que satisfaga los requerimientos de la aplicacin. Usar un microcontrolador de 4 bits supondra una reduccin en los costos importante, mientras que uno de 8 bits puede ser el ms adecuado si el ancho de los datos es de un byte. Los microcontroladores de 16 y 32 bits, debido a su elevado costo, deben reservarse para aplicaciones que requieran sus altas prestaciones (Entrada/Salida potente o espacio de direccionamiento muy elevado).

Qu microcontrolador emplear?
Diseo de la placa La seleccin de un microcontrolador concreto condicionara el diseo de la placa de circuitos. Debe tenerse en cuenta que quiz usar un microcontrolador barato encarezca el resto de componentes del diseo.

Qu microcontrolador emplear?

Diseo de la placa Los microcontroladores ms populares se encuentran, sin duda, entre las mejores elecciones:

8048 (Intel). Es el antecesor de los microcontroladores actuales, el primero de todos. Su precio, disponibilidad y herramientas de desarrollo hacen que todava sea muy popular. 8051 (Intel y otros). Es sin duda el microcontrolador ms popular. Fcil de programar, pero potente. Est bien documentado y posee cientos de variantes e incontables herramientas de desarrollo. 80186, 80188 y 80386EX (Intel). Versiones en microcontrolador de los populares microprocesadores 8086 y 8088. Su principal ventaja es que permiten aprovecharlas herramientas de desarrollo para PC.

Qu microcontrolador emplear?
Diseo de la placa Los microcontroladores ms populares se encuentran, sin duda, entre las mejores elecciones:
68HC11

(Motorola y Toshiba). Es un microcontrolador de 8 bits potente y popular con gran cantidad de variantes. 683xx (Motorola). Surgido a partir de la popular familia 68k, a la que se incorporan algunos perifricos. Son microcontroladores de altsimas prestaciones.

Qu microcontrolador emplear?

Diseo de la placa Los microcontroladores ms populares se encuentran, sin duda, entre las mejores elecciones:

PIC (MicroChip) familia de microcontroladores que gana popularidad da a da. Fueron los primeros microcontroladores RISC. Es preciso resaltar en este punto que existen innumerables familias de microcontroladores, cada una de las cuales posee un gran nmero de variantes.

Recursos comunes de todos los microcontroladores

Al estar todos los microcontroladores integrados en un chip, su estructura fundamental y sus caractersticas bsicas son muy parecidas. Todos deben disponer de los bloques esenciales: Procesador, memoria de datos y de instrucciones, lneas de E/S, oscilador de reloj y mdulos controladores de perifricos. Sin embargo, cada fabricante intenta enfatizar los recursos ms idneos para las aplicaciones a las que se destinan preferentemente.

Recursos comunes de todos los microcontroladores


ARQUITECTURA BSICA Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clsica 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 travs de un sistema de buses nico (direcciones, datos y control). La arquitectura Harvard dispone de dos memorias independientes, una que contiene slo instrucciones y otra, slo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones de acceso (lectura o escritura) simultneamente en ambas memorias.

Recursos comunes de todos los microcontroladores


ARQUITECTURA HARVARD ARQUITECTURA VON NEUMANN

Memoria de Datos

CPU n

CPU

Memoria de Memoria de Datos y Programa m Programa

Recursos comunes de todos los microcontroladores

EL PROCESADOR (CPU) Es el elemento ms importante del microcontrolador y determina sus principales caractersticas, tanto a nivel hardware como software. Se encarga de direccionar la memoria de instrucciones, recibir el cdigo de la instruccin en curso, su decodificacin y la ejecucin de la operacin que implica la instruccin, as como la bsqueda de los operandos y el almacenamiento del resultado.

Recursos comunes de todos los microcontroladores

EL PROCESADOR (CPU) Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales. CISC Un gran nmero de procesadores usados en los microcontroladores estn basados en la filosofa CISC (Computadoras de Juego de Instrucciones Complejo). Disponen de ms de 80 instrucciones mquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecucin. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actan como macros.

Recursos comunes de todos los microcontroladores

EL PROCESADOR (CPU) Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales. RISC Tanto la industria de los computadores comerciales como la de los microcontroladores estn decantndose hacia la filosofa RISC (Computadoras de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones mquina 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.

Recursos comunes de todos los microcontroladores

EL PROCESADOR (CPU) Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales. SISC En los microcontroladores destinados a aplicaciones muy concretas, el juego de instrucciones, adems de ser reducido, es especfico, o sea, las instrucciones se adaptan a las necesidades de la aplicacin prevista. Esta filosofa se ha bautizado con el nombre de SISC (Computadoras de Juego de Instrucciones Especfico).

Recursos comunes de todos los microcontroladores


MEMORIA En los microcontroladores la memoria de instrucciones y datos est integrada en el propio chip.
Una

parte debe ser no voltil, tipo ROM, y se destina a contener el programa de instrucciones que gobierna la aplicacin. Otra parte de memoria sera tipo RAM, voltil, y se destina a guardar las variables y los datos.

Recursos comunes de todos los microcontroladores

MEMORIA Hay dos peculiaridades que diferencian a los microcontroladores de las computadoras personales:

No existen sistemas de almacenamiento masivo como disco duro o disquetes. Como el microcontrolador slo se destina a una tarea en la memoria ROM, slo hay que almacenar un nico programa de trabajo. La RAM en estos dispositivos es de poca capacidad pues slo debe contener las variables y los cambios de informacin que se produzcan en el transcurso del programa.

Recursos comunes de todos los microcontroladores

MEMORIA Por otra parte, como slo existe un programa activo, no se requiere guardar una copia del mismo en la RAM pues se ejecuta directamente desde la ROM. Los usuarios de computadoras personales estn habituados a manejar megabytes (MB) de memoria, pero, los diseadores con microcontroladores trabajan con capacidades de ROM comprendidas entre 512 Bytes y 8 KB y de RAM comprendidas entre 20 y 512 Bytes.

Recursos comunes de todos los microcontroladores


MEMORIA Segn el tipo de memoria ROM que dispongan los microcontroladores, la aplicacin y utilizacin de los mismos es diferente. Se describen las cinco versiones de memoria no voltil que se pueden encontrar en los microcontroladores del mercado.

Recursos comunes de todos los microcontroladores


MEMORIA ROM con mscara Es una memoria no voltil de slo lectura cuyo contenido se graba durante la fabricacin del chip. El elevado costo del diseo de la mscara slo hace aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se precisan cantidades superiores a varios miles de unidades.

Recursos comunes de todos los microcontroladores

MEMORIA OTP El microcontrolador contiene una memoria no voltil de slo lectura "programable una sola vez por el usuario.

Es el usuario quien puede escribir el programa en el chip mediante un sencillo grabador controlado por un programa desde una PC.

La versin OTP es recomendable cuando es muy corto el ciclo de diseo del producto, o bien, en la construccin de prototipos y series muy pequeas. Tanto en este tipo de memoria como en la EPROM, se suele usar la encriptacin mediante fusibles para proteger el cdigo contenido.

Recursos comunes de todos los microcontroladores

MEMORIA EPROM Los microcontroladores que disponen de memoria EPROM (Erasable Programmable Read OnIy Memory) pueden borrarse y grabarse muchas veces.

La grabacin se realiza, como en el caso de los OTP, con un grabador gobernado desde una 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 cpsulas son de material cermico y son ms caros que los microcontroladores con memoria OTP que estn hechos con material plstico.

Recursos comunes de todos los microcontroladores

MEMORIA EEPROM Se trata de memorias de slo lectura, programables y borrables elctricamente (EEPROM, Electrical Erasable Programmable Read Only Memory). Tanto la programacin como el borrado, se realizan elctricamente desde el propio grabador y bajo el control programado de una PC. Es muy cmoda y rpida la operacin de grabado y la de borrado.

No disponen de ventana de cristal en la superficie.

Recursos comunes de todos los microcontroladores

MEMORIA EEPROM 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 nmero de veces que puede grabarse y borrarse una memoria EEPROM es finito, por lo que no es recomendable una reprogramacin continua. Son muy idneos para la enseanza y la Ingeniera de diseo.

Recursos comunes de todos los microcontroladores


MEMORIA EEPROM Se va extendiendo en los fabricantes la tendencia de incluir una pequea zona de memoria EEPROM en los circuitos programables para guardar y modificar cmodamente una serie de parmetros que adecuan el dispositivo a las condiciones del entorno. Este tipo de memoria es relativamente lenta.

Recursos comunes de todos los microcontroladores

MEMORIA FLASH Se trata de una memoria no voltil, de bajo consumo, que se puede escribir y borrar. Funciona como una ROM y una RAM pero consume menos y es ms pequea. A diferencia de la ROM, la memoria FLASH es programable en el circuito. Es ms rpida 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 voltil. Es ms veloz, pero tolera menos ciclos de escritura/borrado.

Recursos comunes de todos los microcontroladores

MEMORIA 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 automvil permite que pueda modificarse el programa durante la rutina de mantenimiento peridico, compensando los desgastes y otros factores tales como la compresin, la instalacin de nuevas piezas, etc. La reprogramacin del microcontrolador puede convertirse en una labor rutinaria dentro de la puesta a punto.

Recursos comunes de todos los microcontroladores

PUERTOS DE ENTRADA/SALIDA La principal utilidad de las patitas que posee la cpsula que contiene un microcontrolador es soportar las lneas de E/S que comunican al computador interno con los perifricos exteriores. Segn los controladores de perifricos que posea cada modelo de microcontrolador, las lneas de E/S se destinan a proporcionar el soporte a las seales de entrada, salida y control.

Recursos comunes de todos los microcontroladores

RELOJ PRINCIPAL Todos los microcontroladores disponen de un circuito oscilador que genera una onda cuadrada de alta frecuencia, que configura los pulsos de reloj usados en la sincronizacin de todas las operaciones del sistema.

Aumentar la frecuencia de reloj supone disminuir el tiempo en que se ejecutan las instrucciones pero lleva de la mano un incremento del consumo de energa.

Generalmente, el circuito de reloj est incorporado en el microcontrolador y slo 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 cermico o una red RC.

Recursos comunes de todos los microcontroladores

RECURSOS ESPECIALES Cada fabricante oferta numerosas versiones de una arquitectura bsica de microcontrolador.

En algunas ampla las capacidades de las memorias, en otras incorpora nuevos recursos, en otras reduce las prestaciones al mnimo para aplicaciones muy simples, etc.

La labor del diseador es encontrar el modelo mnimo que satisfaga todos los requerimientos de su aplicacin. De esta forma, minimizara el coste, el hardware y el software.

Recursos comunes de todos los microcontroladores

RECURSOS ESPECIALES Los principales recursos especficos que incorporan los microcontroladores son:

Temporizadores o "Timers". Perro guardin o "Watchdog". Proteccin ante fallo de alimentacin o "Brownout". Estado de reposo o de bajo consumo. Conversor A/D o Conversor D/A. Comparador analgico. Modulador de ancho de pulsos o PWM. Puertos de E/S digitales. Puertos de comunicacin.

Recursos comunes de todos los microcontroladores

Temporizadores o Timers Se emplean para controlar periodos de tiempo (temporizadores) y para llevar la cuenta de acontecimientos que suceden en el exterior (contadores). Para la medida de tiempos se carga un registro con el valor adecuado y a continuacin dicho valor se va incrementando o decrementando al ritmo de los pulsos de reloj o un mltiplo de ste hasta que se desborde y llegue a 0, momento en el que se produce un aviso.

Recursos comunes de todos los microcontroladores


Temporizadores o Timers Cuando se desean contar acontecimientos estos estarn relacionados, y por ende, detectados por cambios de nivel o flancos en alguna de las patitas del microcontrolador. El registro asociado se va incrementando o decrementando al ritmo de dichos pulsos.

Recursos comunes de todos los microcontroladores

Perro guardin o Watchdog Timer Cuando una computadora personal se bloquea por un fallo del software u otra causa, se suele recurrir al botn de reset para reinicializar el sistema. Un microcontrolador en cambio funciona sin el control de un supervisor y de forma continua las 24 horas del da. El perro guardin consiste en un temporizador que, cuando se desborda y pasa por 0, provoca un reset automticamente en el sistema.

Recursos comunes de todos los microcontroladores


Perro guardin o Watchdog Timer Al utilizar esta caracterstica de un microcontrolador se debe disear el programa para que refresque o inicialice al perro guardin antes de que ste provoque un reset.
Si

falla el programa o se bloquea, no se refrescar al perro guardin y, al completar su temporizacin, ladrar y ladrar hasta provocar el reset.

Recursos comunes de todos los microcontroladores

Proteccin ante fallo de alimentacin o Brownout Se trata de un circuito que resetea el microcontrolador cuando el voltaje de alimentacin es inferior a un voltaje mnimo ("brownout"). Mientras el voltaje de alimentacin sea inferior al de brownout el dispositivo se mantiene reseteado, comenzando a funcionar normalmente cuando sobrepasa dicho valor.

Recursos comunes de todos los microcontroladores


Estado de reposo o de bajo consumo Son abundantes las situaciones reales de trabajo en que el microcontrolador debe esperar, sin hacer nada, a que se produzca algn acontecimiento externo que le ponga de nuevo en funcionamiento.

Recursos comunes de todos los microcontroladores

Estado de reposo o de bajo consumo Para ahorrar energa, (factor clave en los aparatos porttiles), los microcontroladores disponen de una instruccin especial (SLEEP en los PIC), que les pasa al estado de reposo o de bajo consumo, en el cual los requerimientos de potencia son mnimos.

En dicho estado se detiene el reloj principal y se detienen sus circuitos asociados, quedando el microcontrolador sumido en un profundo sueo. Al activarse una interrupcin ocasionada por el acontecimiento esperado, el microcontrolador se despierta y reanuda su trabajo.

Recursos comunes de todos los microcontroladores


Conversor A/D (CAD) Los microcontroladores que incorporan un Conversor A/D (Analgico/Digital) pueden procesar seales analgicas, tan abundantes en las aplicaciones. Suelen disponer de un multiplexor que permite aplicar a la entrada del CAD diversas seales analgicas desde las patitas del circuito integrado.

Recursos comunes de todos los microcontroladores


Conversor D/A (CDA) Transforma los datos digitales obtenidos del procesamiento de una computadora en su correspondiente seal analgica que saca al exterior por una de las patitas de la cpsula. Existen muchos dispositivos que trabajan con seales analgicas.

Recursos comunes de todos los microcontroladores

Comparador analgico Algunos modelos de microcontroladores disponen internamente de un Amplificador Operacional que acta como comparador entre una seal fija de referencia y otra variable que se aplica por una de las patitas del encapsulado. La salida del comparador proporciona un nivel lgico 1 0 segn una seal sea mayor o menor que la otra. Tambin hay modelos de microcontroladores con un mdulo de tensin de referencia que proporciona diversas tensiones de referencia que se pueden aplicar en los comparadores.

Recursos comunes de todos los microcontroladores


Modulador por ancho de pulso o PWM Son circuitos que proporcionan en su salida pulsos de anchura variable, que se ofrecen al exterior a travs de las patitas del encapsulado.

Recursos comunes de todos los microcontroladores

Puertos de E/S digitales Todos los microcontroladores destinan algunas de sus patitas a soportar lneas de E/S digitales. Por lo general, estas lneas se agrupan, tpicamente de ocho en ocho, formando Puertos. Las lneas digitales de los Puertos pueden configurarse como Entrada o como Salida cargando un 1 un 0 en el bit correspondiente de un registro destinado a su configuracin.

Recursos comunes de todos los microcontroladores


Puertos de comunicacin Con objeto de dotar al microcontrolador de la posibilidad de comunicarse con otros dispositivos externos, otros buses de microprocesadores, buses de sistemas, buses de redes y poder adaptarlos con otros elementos bajo otras normas y protocolos.

Recursos comunes de todos los microcontroladores


Puertos de comunicacin Algunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan:
UART:

adaptador de comunicacin serie asncrona. USART: adaptador de comunicacin serie sncrona y asncrona Bus SPI: usado principalmente para la transferencia de informacin entre microontroladores.

Recursos comunes de todos los microcontroladores

Puertos de comunicacin Algunos modelos disponen de recursos que permiten directamente esta tarea, entre los que destacan:

USB: (Universal Serial Bus), que es un moderno bus serie para las PC. Bus I2C: que es un interfaz serie de dos hilos desarrollado por Philips. CAN(Controller Area Network): para permitir la adaptacin con redes de conexionado multiplexado desarrollado conjuntamente por Bosch e Intel para el cableado de dispositivos en automviles. En EEUU se usa el J185O.

Herramientas para el desarrollo de aplicaciones

Uno de los factores que ms importancia tiene a la hora de seleccionar un microcontrolador entre todos los dems es el soporte software y hardware de que dispone. Un buen conjunto de herramientas de desarrollo puede ser decisivo en la eleccin, ya que pueden suponer una ayuda inestimable en el desarrollo del proyecto. La principal herramienta de ayuda al desarrollo de sistemas basados en microcontroladores es el Ensamblador.

Herramientas para el desarrollo de aplicaciones

Ensamblador La programacin en lenguaje ensamblador puede resultar un tanto difcil para el principiante, pero permite desarrollar programas muy eficientes, ya que otorga al programador el dominio absoluto del sistema. Los fabricantes suelen proporcionar el programa ensamblador de forma gratuita y en cualquier caso siempre se puede encontrar una versin gratuita para los microcontroladores ms populares.

Herramientas para el desarrollo de aplicaciones

Compilador La programacin en un lenguaje de alto nivel (como el C o el Basic) permite disminuir el tiempo de desarrollo de un producto. No obstante, si no se programa con cuidado, el cdigo resultante puede ser mucho ms ineficiente que el programado en ensamblador.

Las versiones ms potentes suelen ser muy caras, aunque para los microcontroladores ms populares pueden encontrarse versiones demo limitadas e incluso compiladores gratuitos.

Herramientas para el desarrollo de aplicaciones


Depuradores Debido a que los microcontroladores van a controlar dispositivos fsicos, los desarrolladores necesitan herramientas que les permitan comprobar el buen funcionamiento del microcontrolador cuando es conectado al resto de circuitos.

Herramientas para el desarrollo de aplicaciones


Simulador Los simuladores son capaces de ejecutar en una PC programas realizados para el microcontrolador. Los simuladores permiten tener un control absoluto sobre la ejecucin de un programa, siendo ideales para la depuracin de los mismos.

Su gran inconveniente es que es difcil simular la entrada y salida de datos del microcontrolador. Tampoco cuentan con los posibles ruidos en las entradas, pero, al menos, permiten el paso fsico de la implementacin de un modo ms seguro y menos costoso, puesto que ahorraremos en grabaciones de chips para la prueba in-situ.

Herramientas para el desarrollo de aplicaciones


Placas de evaluacin Se trata de pequeos sistemas con un microcontrolador ya montado y que suelen conectarse a una PC desde el que se cargan los programas que se ejecutan en el microcontrolador. Las placas suelen incluir visualizadores LCD, teclados, LEDs, fcil acceso a los pines de E/S, etc.

Herramientas para el desarrollo de aplicaciones


Placas de evaluacin El sistema operativo de la placa recibe el nombre de programa monitor. El programa monitor de algunas placas de evaluacin, aparte de permitir cargar programas y datos en la memoria del microcontrolador, puede permitir en cualquier momento realizar la ejecucin paso a paso, monitorear el estado del microcontrolador o modificar los valores almacenados en los registros o en la memoria.

Herramientas para el desarrollo de aplicaciones

Emuladores en circuito Se trata de un instrumento que se coloca entre una PC anfitrin y el zcalo de la tarjeta de circuito impreso donde se alojara el microcontrolador definitivo. El programa es ejecutado desde una PC, pero para la tarjeta de aplicacin es como si lo hiciese el mismo microcontrolador que luego ir en el zcalo. Presenta en pantalla toda la informacin tal y como luego suceder cuando se coloque el encapsulado.

Lenguaje mquina y lenguaje de ensamblaje.


Una instruccin de computador es un cdigo binario que especifica una secuencia de micro-operaciones para el computador. La unidad de control del CPU interpreta el cdigo binario de la instruccin y procede a ejecutarla emitiendo una secuencia de funciones de control. Cada computador de propsito general tiene su propio repertorio nico de instrucciones.

Lenguaje mquina y lenguaje de ensamblaje.

Un cdigo de instruccin es un grupo de bits que le dice al computador que realice una operacin especfica.
Op Code Operando Instruccin

La parte bsica de un cdigo de instruccin es su cdigo de operacin.

Lenguaje mquina y lenguaje de ensamblaje.

El cdigo de operacin de una instruccin es un grupo de bits que define una accin a realizar. En general esta accin cae en alguna de las siguientes categoras: Procesador-memoria: Los datos pueden ser transferidos del procesador a la memoria o de la memoria al procesador. Procesador-E/S: Los datos pueden ser transferidos a o desde un perifrico mediante la transferencia entre el procesador y un mdulo de E/S. Procesamiento de datos: El procesador puede ejecutar alguna operacin aritmtica o lgica sobre los datos. Control: Una instruccin puede especificar que la secuencia de ejecucin sea alterada.

Lenguaje mquina y lenguaje de ensamblaje.


Relacin entre operacin y micro-operacin. Una operacin es parte de una instruccin almacenada en memoria del computador. Para cada cdigo de operacin, la unidad de control de la CPU emite una secuencia de micro-operaciones para la implementacin en hardware de la operacin a realizar. Al cdigo de operacin algunas veces se le suele denominar macro-operacin debido a que especifica un conjunto de microoperaciones.

Lenguaje mquina y lenguaje de ensamblaje.

Generalmente la operacin especificada por el cdigo de instruccin debe ejecutarse sobre algunos datos almacenados en la memoria del computador y/o registros del computador. Por consiguiente, un cdigo de instruccin debe especificar, adems de la operacin, los registros y/o las palabras de memoria en donde los operandos se deben encontrar, como tambin los registros y/o palabras de memoria en donde el resultado se debe almacenar.

Lenguaje mquina y lenguaje de ensamblaje.


Existen muchas variantes para formar el cdigo binario de las instrucciones. Cada computador tiene su propio formato particular de cdigo de instruccin.

Lenguaje mquina y lenguaje de ensamblaje.


Un programa es una lista de instrucciones o enunciados para dirigir al computador en la tarea de procesamiento de datos. Los programas escritos para un computador deben estar en una de las siguientes categoras:

Cdigo

binario: Esta es una secuencia de instrucciones y operandos en binario que enumera la representacin exacta de instrucciones como aparecen en la memoria del computador.

Lenguaje mquina y lenguaje de ensamblaje.

Cdigo octal o hexadecimal: Esta es una traduccin equivalente del cdigo binario a representacin octal o hexadecimal. Cdigo simblico: El usuario emplea smbolos (letras, nmeros, o caracteres especiales) para la parte de operacin, la parte de direccin, y otras partes del cdigo de instruccin. Cada instruccin simblica puede traducirse en una instruccin codificada en binario. Un programa simblico se conoce como un programa en lenguaje de ensamblaje y el programa encargado de la traduccin se denomina ensamblador.

Lenguaje mquina y lenguaje de ensamblaje.


Lenguaje

de programacin de alto nivel: Estos son lenguajes especiales desarrollados para reflejar los procedimientos utilizados en la solucin de un problema antes que preocuparse por el comportamiento del hardware del computador. Cada enunciado de este lenguaje se traduce en una secuencia de instrucciones binarias. Slo entonces el programa puede ser ejecutado en un computador. El programa encargado de esta traduccin se denomina compilador.

Lenguaje mquina y lenguaje de ensamblaje.

Un lenguaje de programacin es definido como un conjunto de reglas. La unidad bsica de un programa de lenguaje ensamblador es una lnea de cdigo. Cada lnea de un programa de lenguaje ensamblador se arregla en tres columnas denominadas campos. Los campos especifican la siguiente informacin:

El campo de rtulo (etiqueta) que puede ser vaco o puede especificar una direccin simblica. El campo de instruccin especifica una instruccin de mquina o una pseudo instruccin. El campo de comentario puede estar vaco o puede incluir un comentario.

Lenguaje mquina y lenguaje de ensamblaje.

El campo de instruccin en un programa de lenguaje ensamblador puede especificar uno de los siguientes tems:

Un instruccin de referencia a memoria. Una instruccin de referencia a registro o E/S. Una pseudo instruccin con o sin un operando.

Una pseudo instruccin (directiva) no es una instruccin de mquina sino una instruccin al ensamblador dando informacin sobre alguna fase de la traduccin.

Modos de direccionamiento.

El modo de direccionamiento especifica una regla para interpretar o modificar el campo de direccin de la instruccin antes de que el operando sea en realidad referenciado. Los computadores utilizan tcnicas de modo de direccionamiento con el fin de acomodar una o ambas de las siguientes provisiones:

La disponibilidad de diferentes esquemas de direccionamiento le da al programador experimentado flexibilidad para escribir programas que son ms eficientes con respecto al nmero de instrucciones y tiempos de ejecucin.

Dar versatilidad de programacin al usuario proporcionando facilidades tales como indicadores, contadores, ndices, y relocalizadores de programa. Reducir el nmero de bits en el campo de direccin de la instruccin.

Modos de direccionamiento.
Aunque la mayora de modos de direccionamiento modifican el campo de direcciones de la instruccin, hay dos modos que no necesitan ningn campo de direccin. Estos son el modo implicado (inherente) y el modo inmediato. Modo implicado. En este modo los operandos son especificados implcitamente en la definicin de la instruccin.
Op Code Instruccin

Modo inmediato. En este modo el operando es especificado en la instruccin misma. Es decir, una instruccin en modo inmediato tiene un campo de operando en vez de un campo de direccin.
Op Code Operando Instruccin

Modos de direccionamiento.
El campo de direccin puede ser usado para especificar o una palabra de memoria o un registro del procesador. Cuando el campo de direccin especifica un registro del procesador, la instruccin se dice que est en el modo de registro.

Modo de registro. En este modo los operandos estn en los registros que residen dentro de la CPU. Op Code R1 R2 R3 Instruccin Modo de registro indirecto. En este modo la instruccin especifica un registro en la CPU cuyos contenidos dan la direccin del operando en la memoria. En otras palabras, el registro seleccionado contiene la direccin del operando en vez del operando mismo.

Instruccin Op Code R1 Modo de autoincremento o autodecremento. Este es similar al modo de registro indirecto excepto que el registro es incrementado o decrementado despus (o antes) de que su valor sea utilizado para acceder a la memoria.
Op Code R1 Instruccin

Modos de direccionamiento.
Cuando el campo de direccin ya especifica una direccin, es necesario distinguir entre la parte de la direccin de la instruccin y la direccin efectiva del operando.
Op Code Direccin

Instruccin

Modo de direccionamiento directo. En este modo la direccin efectiva es igual a la parte de direccin de la instruccin. Modo de direccionamiento indirecto. En este modo el campo de direccin de la instruccin da la direccin donde la direccin efectiva se almacena en la memoria.

Modos de direccionamiento.
Unos pocos modos de direccionamiento requieren que el campo de direccin de la instruccin sea sumado a un registro de la CPU para obtener la direccin efectiva del operando.

Modo de direccionamiento relativo. En este modo el contenido del contador de programa se suma a la parte de la direccin de la instruccin para obtener una direccin efectiva. La parte de direccin de la instruccin es usualmente un nmero con signo (en la representacin del complemento a 2) que puede ser positivo o negativo.

Op Code

Offset

Instruccin

Modo de direccionamiento con ndice. En este modo el contenido de un registro ndice es agregado a la parte de la direccin de la instruccin para obtener la direccin efectiva.

Instruccin Op Code RI Offset Modo de direccionamiento con registro base. En este modo el contenido de un registro base es sumado a la parte de direccin de la instruccin para obtener la direccin efectiva. Op Code RB Offset
Instruccin

Modos de direccionamiento.

En algunos computadores, el modo de direccionamiento de la instruccin es especificado con un cdigo binario distinto, justamente como es especificado el cdigo de operacin. Otros computadores utilizan un solo cdigo binario que designa tanto la operacin como el modo. Las instrucciones pueden definirse con una variedad de modos de direccionamiento. Algunas veces dos o ms modos de direccionamiento son combinados en una instruccin.

Fin
Ing. Luis Raymi Romn

Вам также может понравиться