Está en la página 1de 33

MICROCONTROLADORES

Referencia Histórica
1971 Intel fabrica el primer microprocesador (4004) de tecnología PMOS.

Memoria

Reloj p
I/O Periféricos

La implementación de una microcomputadora desarrollada alrededor de un


microprocesador trajo como consecuencia la fabricación de un conjunto de CI para
resolver las necesidades de memoria, entrada/salida, temporizadores, conversores,
etc. Familia microcomputadora (conjunto de circuitos integrados que facilitaban la
construcción del sistema).
Referencia Histórica

Memoria

Reloj p
I/O Periféricos

Dispositivo integrado digital, programable y de actuación secuencial. Funcionalmente


es un dispositivo lógico, que en conjunto con otros dispositivos, permite el tratamiento
de información almacenada en forma de programa de instrucciones.
Referencia Histórica
1976 Surgen las primeras microcomputadoras de un solo chip, que más
tarde se denominarán microcontroladores. Dos de los primeros
microcontroladores, son el 8048 de Intel y el 6805R2 de Motorola.

Memoria

p c
Reloj I/O Periféricos
Referencia Histórica
198X En la década de los 80's comienza la ruptura entre la evolución tecnológica de
los microprocesadores y la de los microcontroladores. Ya que los primeros han ido
incorporando cada vez más y mejores capacidades para las aplicaciones en donde
se requiere el manejo de grandes volúmenes de información y por otro lado, los
segundos han incorporado más capacidades que les permiten la interacción con el
mundo físico en tiempo real, además de mejores desempeños en ambientes de tipo
industrial.
¿Qué es que?
¿Qué es un microprocesador (μP)? Es una maquina de estados que interpreta
una serie de instrucciones almacenadas en una memoria y realiza
operaciones con ellas.

¿Qué es una microcomputadora? Es un sistema secuencial sincrónico


programable, el cual para desempeñar sus funciones debe poseer además
de un microprocesador, buses para el flujo de información, dispositivos para
almacenar información y dispositivos para comunicarse con el exterior.

¿Qué es un microcontrolador (μC)? Es un circuito integrado, de alta escala de


integración, que incorpora en un solo chip la mayor parte de los elementos
que configuran un controlador.
Microprocesador - Microcontrolador

Las principales características que diferencian a un microcontrolador de un


microprocesador son:

1. Son sistemas cerrados, ya que contiene todos los elementos de un


computador en un solo chip, frente a los microprocesadores que son sistemas
abiertos, ya que sacan las líneas de los buses de datos, direcciones y control al
exterior, para la conexión de memorias, interfaces de E/S, etc.

2. Son de propósito específico, es decir, son programados para realizar una


única tarea, mientras que los microprocesadores son de propósito general.
Estructura de un microcontrolador
Estructura de un microcontrolador

Un microcontrolador dispone normalmente de los siguientes componentes:

 Procesador o CPU (Unidad Central de Proceso).


 Memoria RAM para Contener los datos.
 Memoria para el programa tipo ROM/PROM/EPROM.
 Líneas de E/S para comunicarse con el exterior.
 Diversos módulos para el control de periféricos (temporizadores,
Puertas Serie y Paralelo, CAD: Conversores Analógico/Digital, CDA:
Conversores Digital/Analógico, etc.).
 Generador de impulsos de reloj que sincronizan el funcionamiento de todo
el sistema.
Estructura de un microcontrolador
Tipos de Arquitecturas
 Arquitectura Von-Neuman
 Un único bus de datos para instrucciones y datos.
 Las instrucciones del programa y los datos se guardan conjuntamente
en una memoria común.
 Cuando el CPU se dirige a la memoria principal, primero accede a la
instrucción y después a los datos necesarios para ejecutarla, esto
retarda el funcionamiento.
 Arquitectura Harvard
 El bus de datos y el bus de instrucciones están separados.
 Acceso paralelo:
 Cuando se esta leyendo una instrucción, la instrucción actual esta
utilizando el bus de datos.
 Una vez finalizada la instrucción actual, la siguiente ya esta disponible en
el CPU.
 Mayor segmentación.
Ventajas
 Reúnen en un sólo circuito integrado varios elementos
 Disminución del hardware
 Menor complejidad de los circuitos impresos
 Mayor fiabilidad del sistema
 Al haber menor número de componentes disminuyen las conexiones y las
fuentes de error
 Tecnología MOS, CMOS o HCMOS
 Disminución del consumo
 Disminución de los costes
 Más barato que los componentes que reemplaza
 Simplificación en la fabricación (mano de obra)
 Válido para mayor número de aplicaciones (reducción de coste y
volumen)
Tipos de microcontroladores
 Según el ancho de palabra:
 Los hay de 4, 8, 16, y 32 bits
 Existen Microcontroladores/Procesadores
especializados para:
 Comunicaciones
 Manejo del teclado
 Procesamiento de la señal
 Proceso vídeo
 Otros
Unidad Central de proceso (CPU)
Unidad Central de Proceso (CPU).- Es el "cerebro" de una computadora,
de manera más precisa, es la parte de una computadora que se encarga de
controlar el proceso y la transferencia de información. La función de la CPU
es interpretar las instrucciones de un programa y coordinar su ejecución. La
CPU desde que es energizada realiza en forma repetitiva ciclos de
instrucción, los cuales se componen de las actividades descritas en la
siguiente figura:
Busca una
instrucción
Ejecuta la
instrucción
Unidad Central de proceso (CPU)
Para realizar este ciclo básico, la CPU debe ser capaz de coordinar
sus dispositivos internos y externos para realizar:

 Lecturas desde memoria interna (registros) y memoria externa

 Escrituras a memoria interna y externa

 Decodificación de instrucciones (basada en la consulta de una


unidad de microcódigo interna a la CPU)

 Operaciones de tipo aritmético y lógico.


Unidad Central de proceso (CPU)

Es un sistema combinacional. Acepta dos palabras de datos y una de


control la cual realiza operaciones, con uno o dos operando, tales como
suma, sustracción, NOT, OR, etc.
Unidad Central de proceso (CPU)

Son localizaciones que sirven para almacenar temporalmente datos, pueden ser 8 o
16 bit. Los tres registros mas usados son, el acumulador de propósito general, el
contador de programa y el registro de instrucciones que son de propósito especifico.
El Acc almacena temporalmente el resultado de las operaciones aritméticas y
lógicas. El DPTR es usado para almacenar la instrucción que se esta ejecutando en
ese momento por el procesador. El PC contiene la dirección de la siguiente
instrucción del programa.
Unidad Central de proceso (CPU)

 Decodificacion: involucra el proceso de trasladar un patrón binario en una operación


o secuencia de operaciones. Por ejemplo si el siguiente patrón binario 10111001
representa “ADD”, El circuito de descodificación lo reconoce y manda señales a
todas las otras partes del CPU para que ocurra la descodificación.
 Temporizacion y control: Es un sistema secuencial que acepta un codigo que define
la operación que se va a ejecutar y luego prosigue a traves de una secuencia de
estados, generando una correspondiente secuencia de señales de control.
Tipos de memorias

MEMORIA ROM. Es una memoria de sólo


lectura. Su contenido es absolutamente
inalterable desde el instante en que el
fabricante graba la información en el chip,
por lo tanto la escritura de este tipo de
memorias ocurre una sola vez y queda
grabado su contenido aunque se le retire la
energía debido a esto se dice que es
memoria no volátil. Su contenido se graba
durante su construcción y no se puede
cambiar. Son memorias excelentes para
guardar microprogramas, sistemas
operativos, tablas de conversión, codificación
de teclados, generación de caracteres para
displays etc.
MEMORIA PROM
Tal como indica su nombre (Programmable ROM) estas memorias son
programables, se entregan vírgenes al programador el cual mediante un dispositivo
especial (programador de memorias), las programará grabando en ellas los datos
que considera de interés para su trabajo. El proceso de programación es
destructivo: una vez grabada, es como si fuese una ROM normal a éstas también
se les llama memorias OTP (One Time Programmable).

 Memoria EPROM.- Se trata de una PROM, de la que


se puede borrar (erasable PROM) la información
mediante luz ultravioleta. Para esta operación, es
necesario que el circuito integrado disponga de una
ventana de cuarzo transparente a la luz ultravioleta

 Memoria RPROM o EEPROM.- Los datos contenidos


en este circuito integrado se borran eléctricamente si se
aplican a las entradas valores de voltaje adecuados
(normalmente más elevados que los valores para
leerla).
MEMORIA RAM
Se le llama memoria de acceso aleatorio (Random Access Memory) no
porque se pueda leer y escribir, sino porque puede accederse de manera
no secuencial. Se dice que es memoria volátil porque la información
almacenada en ella se pierde al retirarle la energía, por ello en RAM sólo
se guarda información temporal.

 MEMORIA DRAM o RAM dinámica.- Este es el tipo de RAM


más comúnmente usado. Internamente está compuesto por
microcapacitores de pequeña capacidad, que almacenan la
información mediante la carga y la descarga. Son de bajo
costo, pero tienen el inconveniente de que pierden su carga, y
por tanto la información demasiado rápido, por lo que deben
ser constantemente "refrescados" con una nueva carga. Una
computadora puede perder un 7% de tiempo aproximadamente
en "refrescar" el contenido de la memoria DRAM.

 MEMORIA SRAM o RAM estática.- Su diseño interno está hecho en


base Flip Flops basados en transistores que almacenan un 1 o 0
cuando son polarizados en corte o saturación respectivamente
permaneciendo en esta condición hasta que se cambie la información.
No necesitan ser "refrescados", son muy veloces pero mucho más
costosos que los DRAM.
Interfaz Entrada / Salida
(Comunicación Serie)
 UART (Universal Asynchronous Receiver-Transmitter)

 Un UART es un adaptador serie para comunicaciones asincronas.

 Un USART (Unidad Universal de Transmisión Recepción Síncrona y Asíncrona)

 es un adaptador serie para comunicaciones asíncronas o síncronas


 Los dispositivos que usan un USART suelen ser más rápidos (hasta 16 veces) que un adaptador UART

 SPI (Serial Peripheral Interface. Motorola)

 El SPI permite la comunicación serie, duplex y asíncrona.


 Dispone de modo de bajo consumo.

 SCI (Serial Communications Interfaces)

 Un SCI es un UART reforzado


 Permite la comunicación serie asíncrona full-duplex
 Dispone de dos modos de bajo consumo: wait y stop
Interfaz Entrada / Salida
(Conversor Analogico Digital (A/D) )

 Convierte la tensión analógica a su valor digital, se utiliza para adquisición


de datos analógicos: temperatura, humedad, ...

 Habitualmente era un componente externo

 Existen varios tipos de conversores A/D:

 Conversores A/D de aproximaciones sucesivas:


 Toma cada muestra en periodos de tiempo siempre iguales
 Es muy común
 Es un sistema barato
 Es lento, para cada bit se necesita al menos un ciclo de Reloj
 Conversores A/D Delta-Sigma
 Se encuentra en la gama alta de los DSP
 Tiene unas excelentes prestaciones a un precio relativamente barato
Interfaz Entrada / Salida
(Conversor Digital Analógico (D/A) )

 Conversores D/A (Digitales/Analógicos)

 Obtienen una tensión analógica a partir de un valor


digital

 Conversor D/A con Modulador de anchura de Pulso

 Es una técnica usada frecuentemente en este tipo de


conversores.
Interfaz Entrada / Salida
(Otros dispositivos )

 Contador de pulsos
 Es un contador de eventos
 Cada pulso incrementa el registro contador, almacenando el número de veces
que ha ocurrido un evento

 Entrada de Captura
 Sirve para medir intervalos de tiempo (o frecuencias) entre eventos
 Guarda el valor un temporizador cuando ocurre el evento

 Comparadores
 A veces se colocan uno o más comparadores dentro del microcontrolador
 Los valores de entrada y de salida del comparador están disponibles en el bus
de datos analógicas).
Interfaz Entrada / Salida
(salidas en paralelo)
 Son las más comunes y se utilizan para:
 Controlar relés, triacs, LEDs, displays, ...
 Control de leds
 Se conectan directamente al puerto de “alta” corriente (10 mA)
interponiendo una resistencia serie
 Si no existen puertos de “alta” corriente se utiliza un transistor
amplificador
Lenguajes de programación
Lenguaje máquina/ensamblador

 El lenguaje máquina (o código máquina) es la representación del programa


tal como la entiende el microcontrolador
 El lenguaje ensamblador es una representación alfanumérica del lenguaje
máquina, lo que facilita su lectura:
 cada instrucción en lenguaje ensamblador se corresponde con una instrucción
en código máquina, por ejemplo:
OR P1,#04 91 04 10 (H)
 Un programa en lenguaje ensamblador es rápido y corto
 El programador genera el código más óptimo posible, adaptado al
microcontrolador
 Para programar en ensamblador se requiere un mayor conocimiento tanto
de la arquitectura como de la estructura del microcontrolador.
Lenguajes de programación
Tipos de instrucciones:
 De transferencia de datos
 De entrada/salida
 Aritméticas
 Lógicas
 De tratamiento de bloques
 De salto (condicionales/incondicionales)
 De control de interrupciones
 De control del microcontrolador
 De control de contadores
Lenguajes de programación
Intérprete

 Un Intérprete es un traductor de un lenguaje de alto nivel (próximo al lenguaje natural) a código


máquina.

 El Intérprete está residente en el microcontrolador.

 Ejecuta el programa leyendo cada sentencia en alto nivel traduciéndolas y ejecutándolas

 Una cosa interesante de los Intérpretes es que se puede construir y desarrollar un programa
interactivamente:

 se escribe primero un trozo pequeño de programa,


 a continuación se puede probar para ver inmediatamente como funciona
 Cuando los resultados son satisfactorios, se puede agregar las partes adicionales que se
necesiten y así sucesivamente
Lenguajes de programación
Los Compiladores

 Se encargan de traducir todo el programa de alto nivel directamente


a código máquina

 El código máquina se pasa a la memoria del microcontrolador.

 El microcontrolador ejecuta el programa directamente, sin interpretarlo.


Herramientas de desarrollo
Simuladores

 Un simulador ejecuta el programa de un microcontrolador en un computador:


 Se puede ejecutar el programa paso a paso y ver exactamente qué pasa según el
programa se ejecuta

 Permiten ver y modificar el contenido de los registros, memoria, variables y ver


como responde el programa

 No soporta interrupciones reales

 Evita el ciclo borrado/programado de la EPROM en el desarrollo de programas de


microcontrolador
 Se puede aprender experimentando con pequeños trozos de código y observar en
pantalla los resultados
Herramientas de desarrollo
Un debbuger residente
 Un debbuger residente corre su programa dentro del propio
microcontrolador, al mismo tiempo muestra el progreso de depuración en
una máquina host (como por ejemplo un PC)
 Tiene las mismas características que un simulador normal, con la ventaja
adicional de que el programa corre en un microcontrolador real.
 Un debbuger residente, utiliza los siguientes recursos del microcontrolador:
 Un puerto de comunicaciones, para comunicarse con el host

 Una interrupción, para generar programas paso a paso

 Memoria para almacenar el programa residente


Herramientas de desarrollo
Emuladores

Un emulador es dispositivo que sustituye al


microcontrolador al mismo tiempo que está captando
información

También podría gustarte