Académique Documents
Professionnel Documents
Culture Documents
– CPU.
– Memoria RAM de datos.
– Memoria ROM/UVPROM/OTPROM de programa.
– Memoria EEPROM de datos.
– Puertos de entrada-salida. USART CAP
SPI EEPROM COMP
– Temporizadores/contadores. I2C PWM
– Sistemas de interrupción.
– Módulos auxiliares:
• Convertidores A/D. A/D D/A
• USART.
• Etc
Power
Drivers
FLASH Display
Drivers
• Características de los Microcontroladores
Tipo de Arquitectura
– 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 la 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 instrucción están separados
• Acceso en paralelo:
– Cuando se está leyendo una instrucción, la instrucción actual está utilizando el
bus de datos. Una vez finalizada la instrucción actual, la siguiente ya está
disponible en la CPU.
– Permite una ejecución más rápida.
INTRODUCCIÓN A LOS MICROCONTROLADORES
Arquitectura Von-Neumann
Program
CPU & Data
Memory • El programa de instrucciones y los datos
8=8 comparten la misma memoria
Arquitectura Harvard
Data CPU Program
Memory Memory
8 12 • Utiliza dos espacios de memoria distintos
16 14 para las instrucciones y los datos. Esto
16
24 permite utilizar distinto ancho de bus en
ambos buses.
3
• Características de los Microcontroladores
– CISC (Complex Instruction Set Computer)
– El conjunto de instrucciones es bastante heterogéneo:
• Instrucciones son muy potentes. En algunos casos equivalen a muchas
instrucciones simples.
• Instrucciones especializadas para una tarea concreta.
• Facilita la programación.
– RISC (Reduced Instruction Set Computers)
– Al tener un conjunto de instrucciones reducido:
• – El controlador es más sencillo y el chip es más pequeño.
• – Es más rápido.
• – Tiene un consumo menor.
3. Opciones de Memoria
– FLASH (EPROM)
• Son más rápidas que las memoria EEPROM.
• Permiten más ciclos de borrado/grabación.
• Características de los Microcontroladores
– Memoria RAM
• Útiles para programas de gran tamaño.
• Más rápida que las memorias no volátiles.
• Número ilimitado de veces que puede grabarse.
• Apropiada para aplicaciones con grandes cantidades de datos que
cambian contínuamente.
– Memoria Field programming/reprogramming
• Memoria no volátil.
• Puede reprogramase sin desconectar el microcontrolador.
• Permite actualizaciones remotas.
• Características de los Microcontroladores
– Salidas en paralelo.
• Son las más comunes y se suelen utilizar para controlar relés, led, displays,
LCD, transistores, etc.
– Se caracterízan por una corriente máxima individual y una máxima
común.
– Salidas de Potencia.
• Montaje Darlington.
• Control de relé.
• Control de triacs.
– Entradas en paralelo.
• Son las comunes y se utilizan para lectura de pulsadores, teclados, en
general para leer el nivel lógico de la entrada. Pueden estas optoaisladas.
– Entradas/Salidas.
– Permiten cambiar la patilla como salida o entrada en cada instante.
• Características de los Microcontroladores
6. Interrupciones y Polling
– Transferencia de E/S por consulta (Polling)
• El polling es una técnica software en la que el microcontrolador pregunta
constantemente al periférico si necesita ser atendido.
– Interrupciones
• Cuando los periféricos necesitan ser atendidos por el microcontrolador se
lo comunican; de esta forma el micro puede atender a un programa
principal (a diferencia del polling).
• Es una técnica más rápida en atender al periférico que el polling.
• El micro recibe la interrupción, identifica quién la ha provocado, ejecuta la
rutina para atenderla y vuelve al programa principal.
• Disparo de interrupciones:
– Por flanco (de subida o bajada).
– Por nivel.
• Características de los Microcontroladores
– Interrupciones (cont.)
• Interrupciones enmascarables
– Se pueden habilitar o inhibir de forma global o individual.
• Interrupciones No enmascarables
– No se pueden inhibir, son de obligada atención.
• Interrupciones vectorizadas
– Cuando se recibe una interrupción el micro debe localizar al periférico:
» Preguntando a cada uno (modo muy lento).
» Con las int. Vectorizadas donde cada uno se identifica por el bus
de datos.
» Los micros de 4 bits no tiene interrupciones vectorizadas, los de 8,
16 y 32 tienen vectorizadas con jerarquía de prioridad.º
• Características de los Microcontroladores
7. Reset y Reloj
– Inicialización o reset
• La mayoría de los micros disponen de un sistema de inicialización cuando
se conectan a alimentación.
• Poseen, además, de una entrada de reset sensible a nivel
– Reloj
• Todos los micros tienen integrado un oscilador y sólo necesitan un
elemento externo para fijar la frecuencia dentro del margen indicado.
• Puede ser interno o externo con ayuda de un cristal de cuarzo, resonador
cerámico o una red RC.
• Características de los Microcontroladores
8. Características especiales
– Watchdog (Perro Guardian).
• Un temporización que permite la recuperación del sistema ante un
bloqueo.
• Si el programa entra en bucle infinito o si deja de funcionar el watchdog
provoca un reset tras un tiempo predeterminado.
– Monitor de reloj (Clock Monitor).
• Permite apagar el micro si la señal de reloj varia.
– Cargador del programa residente.
• Al inicializar, el micro carga automáticamente el programa a ejecutar por
un puerto desde un lugar remoto (o desde el mismo micro).
– Programa Monitor.
• Un programa instalado en el micro que permite desarrollos básicos y
depuración de programas.
• Pueden comunicarse con un PC para ser ejecutado desde el mismo.
•• CONTADOR DE PROGRAMA (PC)
– A la memoria de programa de los PIC16 se accede
mediante un registro de 13 bits que actúa como puntero de
la instrucción que se debe ejecutar en el siguiente ciclo de
instrucción.
– Este registro de 13 bits se denomina Contador de
Programa (Program Counter) y su acrónimo es PC.
– Con este contador de programa de 13 bits se pueden
direccionar 8K posiciones de memoria de 14 bits cada una.
La memoria se organiza en páginas de 2K de tamaño.
– Como cada instrucción ocupa una posición de memoria
resulta mucho más fácil saber si un dispositivo tiene
memoria de programa suficiente para una aplicación.
•• CONTADOR DE PROGRAMA (PC)
– Los 8K de memoria de programa disponible están
divididos en 4 páginas de 2K cada una (0h–7FFh, 800h-FFFh,
1000h- 17FFh y 1800h-1FFFh). Esto es debido a que las
instrucciones de salto y llamada a subprograma permiten
cargar sólo 11 bits en el PC (desplazamiento en 211 = 2K)
– Si se están ejecutando instrucciones secuencialmente, el
contador de programa pasará de una página a otra sin
necesidad de intervención por parte del usuario o
programador.
– Para saltar entre páginas de la memoria de programa los
2 bits más altos del PC deben modificarse. Esto se realiza
escribiendo en el registro PCLATH (es un registro situado en
la memoria de datos).
– Los dispositivos con menos de 2K de memoria, como el
PIC16F84, no necesitan paginado.
CONTADOR DE PROGRAMA (PC)
– El PC de 13 bits se divide en dos registros: PCH (parte alta) y PCL (parte
baja).