Está en la página 1de 30

Microprocesadores & Microcontroladores

Introducción ©ATE-Universidad de Oviedo


1
Microprocesadores & Microcontroladores

Preguntas claves (y sus respuestas)


¿Qué es un microprocesador?

Es un Circuito Integrado Secuencial Síncrono

¿Qué necesita para funcionar?

Una tensión continua estable (5V, 3.3V, 2.5V, 1.5V...)


Una señal de reloj (frecuencia del oscilador)
Otros circuitos digitales (sistema mínimo microprocesador)

¿Qué hace?

Interpreta (decodifica) combinaciones de bits (órdenes)


y genera señales digitales internas y/o externas para el
resto de circuitos

¿Para qué?

Para “ejecutar” de manera continua una secuencia de órdenes


(o programa)

Introducción ©ATE-Universidad de Oviedo


2
Microprocesadores & Microcontroladores

Sistema Mínimo Microprocesador

CU: Unidad de Control


Unidad Central de
Proceso (CPU) ALU: Unidad Aritmético-Lógica

Registros

Introducción ©ATE-Universidad de Oviedo


3
Microprocesadores & Microcontroladores

Buses: canales de comunicación entre unidades

Bus de Direcciones: selecciona origen o destino (unidireccional):


M líneas: capacidad de direccionar 2M posiciones/direcciones

Bus de Datos: transferencia de datos (bidireccional)


N líneas: bits transmitidos en paralelo (tamaño de los datos)

Bus de Control: heterogéneo, depende del microprocesador

Introducción ©ATE-Universidad de Oviedo


4
Microprocesadores & Microcontroladores

Comparativa de los Microprocesadores:

Tamaño de los datos

Frecuencia de trabajo

Capacidad de direccionamiento

Densidad de integración

Número de registros internos

Juego de instrucciones (CISC ó RISC)

Arquitectura interna y externa

Introducción ©ATE-Universidad de Oviedo


5
Microprocesadores & Microcontroladores

¿Dónde están los microprocesadores?

La asignatura se centra en el uso de Microcontroladores para el diseño de

“SISTEMAS EMPOTRADOS”:
Sistema que integra un Sistema Microprocesador para una tarea
específica pero no es “visible” ni “programable” por el usuario

Introducción ©ATE-Universidad de Oviedo


6
Microprocesadores & Microcontroladores

Sistemas microprocesadores para aplicaciones industriales

Cygnus-1 Single Board Computer (8 ó 16 MHz)

Introducción ©ATE-Universidad de Oviedo


7
Microprocesadores & Microcontroladores

Sistema Microprocesador (varios C.I. en una PCB)

Microcontrolador
(único C.I.)

Introducción ©ATE-Universidad de Oviedo


8
Microprocesadores & Microcontroladores

Ventajas del microcontrolador: mayor integración

Microcontrolador:

Circuito Integrado que incluye un microprocesador, memoria (de programa y datos)


y unidades de entrada/salida (puertos paralelo, temporizadores, módulos CCP,
conversores A/D, puertos serie,...) en un mismo encapsulado

Introducción ©ATE-Universidad de Oviedo


9
Microprocesadores & Microcontroladores

Tarjeta de Sistema
Microprocesador
para control

C.I. Microcontrolador
(“casi todo” ahí dentro)

Introducción ©ATE-Universidad de Oviedo


10
Microprocesadores & Microcontroladores

Clasificación por nº de bits /aplicaciones

•Gama baja: 4 y 8 bits

Aplicaciones de control
electrodomésticos, juguetes, smart-cards, periféricos,...

•Gama media: 16 y 32 bits

Procesamiento, automóviles, ...

•Gama alta: 32, 64 y 128 bits

Procesamiento, smartphones, computadores, videoconsolas,...

Introducción ©ATE-Universidad de Oviedo


11
Microprocesadores & Microcontroladores

Algún ejemplo: Arduino, sistema de desarrollo de aplicaciones


basado en microcontrolador Atmel AVR

Placas: Microcontrolador, entradas y salidas digitales,


salidas PWM, entradas analógicas, UART

Placas de expansión (shields):


Comunicaciones Wifi, USB, GSM,
Ethernet, control de motores, etc.

Accesorios:
LCD, adaptadores serie/USB,

Kits completos:
Placa Arduino y dispositivos de entrada/salida para
desarrollo de aplicaciones: led, pulsadores, sensores,
resistencias, transistores, etc.

Introducción ©ATE-Universidad de Oviedo


12
Microprocesadores & Microcontroladores

Ejemplos: Raspberry Pi, computador de placa única


basado en microprocesador de ARM

• System-on-a-chip BCM2835

• CPU ARM1176JZF
• GPU: Procesador gráfico
• DSP
• 512 MB de memoria RAM
• Puerto USB

• Almacenamiento en tarjeta SD

• Periféricos de bajo nivel

• Líneas E/S digitales


• SPI
• I2C
• UART

Introducción ©ATE-Universidad de Oviedo


13
Microprocesadores & Microcontroladores

Nuesto objetivo: “Diseño de SISTEMAS EMPOTRADOS” (Embedded systems):

• Sistemas que incorporan microcontroladores (o microprocesadores) para una tarea


específica pero que no son “visibles” ni “programables” directamente por el usuario.
“Empotrado” también quiere decir oculto o escondido. Cuando se usa un PC, uno es
consciente de que dentro está un microprocesador. Cuando usamos un teléfono
móvil, un reloj, una calculadora, una lavadora, un cargador de baterías, un mando
a distancia, un secador de pelo, un lavaplatos, un equipo de música,... no tanto.

• Los microcontroladores de 8 bits dominan en la mayoría de estas aplicaciones

• El microcontrolador es el núcleo del sistema electrónico versátil de bajo coste


y reducido tamaño que es capaz de detectar las señales de entrada y generar
las salidas de un equipo, sistema o instrumento

• Por su reducido tamaño y coste permiten la fácil implantación de sistemas de


“inteligencia” distribuída formando parte de sistemas más complejos

• Los microcontroladores son los semiconductores más abundantes de todos en la


actualidad.

Introducción ©ATE-Universidad de Oviedo


14
Microprocesadores & Microcontroladores

¡ Puede haber del orden de 50 microcontroladores en un automóvil !

Introducción ©ATE-Universidad de Oviedo


15
Microprocesadores & Microcontroladores

¿Por qué usaremos los Microcontroladores PIC de Microchip?

• Eficiencia del código: permiten una gran compactación de los programas

• Rapidez de ejecución: a frecuencia de 20MHz -> 5 MIPS (millones de instr./seg.)


• Seguridad en acceso por la separación de memoria de datos y de programa

• Juego reducido de instrucciones y de fácil aprendizaje

• Compatibilidad de pines y código entre dispositivos de la misma familia o


incluso de familias distintas

• Gran variedad de versiones en distintos encapsulados (desde 8 hasta 84 pines)


sin reducción de las prestaciones internas (muy versátiles)

• Posibilidad de protección del código muy fiable

• Herramientas de desarrollo software y hardware abundantes y de bajo coste

Introducción ©ATE-Universidad de Oviedo


16
Microprocesadores & Microcontroladores

Microcontroladores PIC

• Arquitectura Harvard: buses internos separados para memoria de datos


(8 bits) y de programa (12, 14 ó 16 bits depende de la familia)

• Microprocesador RISC: juego de intrucciones reducido

• Estructura pipe-line: durante la ejecución de una instrucción, se está


accediendo a la memoria de programa para traer la siguiente instrucción
a ejecutar. En cuanto se acaba una instrucción, ya se dispone de la
siguiente para ejecutar (salvo que se trate de un salto o llamada a subpr.)

• Todas las instrucciones ocupan una posición de memoria de programa

• Todas las instrucciones se ejecutan en un ciclo de instrucción = 4 ciclos de


reloj (salvo las instrucciones de salto)

• Ortogonalidad de los registros: se opera entre el registro de trabajo W


y cualquier otro registro, el resultado puede almacenarse en el citado
registro o en W

Introducción ©ATE-Universidad de Oviedo


17
Microprocesadores & Microcontroladores

La gama completa de Microchip

dsPIC
Microcontroladores
de 16 bits con
capacidades de DSP

Introducción ©ATE-Universidad de Oviedo


18
Microprocesadores & Microcontroladores

Módulos Internos Disponibles en la Familia Media (PIC16)

• Puertos de Entrada/Salida
• Puerto Esclavo Paralelo (PSP)
• Temporizadores/contadores (TMR0, TMR1, TMR2)
• Captura / Comparación / PWM (CCP1 y CCP2)
• Conversión Analógica / Digital (A/D)
• Transmisor Receptor Asíncrono Síncrono Universal (USART ó SCI)
• Puerto Serie Síncrono Básico ó Maestro(BSSP ó MSSP)
• Memoria EEPROM de datos
• FLASH EEPROM de programa modificable desde el código
• Comparador analógico
• Referencia de tensión configurable

Introducción ©ATE-Universidad de Oviedo


19
Microprocesadores & Microcontroladores

8K x 14
368 x 8

Microcontrolador
PIC16F877A
(familia media)

Puertos de E/S
¡ Tiene de todo !

Temporizadores Conversor A/D Puerto Esclavo


Paralelo
Comp.Analógica
+ Ref. tensión

256 x 8
Introducción ©ATE-Universidad de Oviedo
20
Módulos CCP SSP USART
Microprocesadores & Microcontroladores
El Procedimiento de Diseño con Microcontroladores
• Diseño hardware: conectaremos al microcontrolador todo lo que necesita para funcionar y
todo lo que le permita interaccionar con el mundo exterior

 Definición de las señales de Entrada, Salida y Alimentaciones


 Etapas de Adaptación/Acondicionamiento Eléctrico de Señales
 Selección de los módulos del microcontrolador a utilizar y pines
 Diseño de la Placa de Circuito Impreso-PCI (Printed Circuit Board - PCB)
 Fabricación de la Placa de Circuito Impreso
 Montaje de los componentes, soldadura y ensamblado

Diseño Fabricación Montaje


CAD-CAE PCB componentes

Introducción ©ATE-Universidad de Oviedo


21
Microprocesadores & Microcontroladores
El Procedimiento de Diseño con Microcontroladores (II)

•Diseño software: el micro sin un programa cargado en su memoria de programa no hace


absolutamente nada, cuando el microcontrolador esté grabado con un programa eficiente
el conjunto empezará a funcionar

 Diseño del programa y escritura del código fuente en ensamblador o en C


 Pruebas, verificación y modificación del código:
* Simulación del Programa (puro software)
* Depuración dentro del Circuito de Aplicación (probar software sobre hardware)
 Grabación del código máquina en la memoria interna del microcontrolador

Depuración sobre microcontrolador


en la placa de circuito montada

Edición del código,


compilación y Grabación del micro
simulación

Introducción ©ATE-Universidad de Oviedo


22
Microprocesadores & Microcontroladores

Las herramientas para los microcontroladores PIC

• Entorno de Desarrollo: MPLAB X IDE (Integrated Development Environment)

• Herramientas para generar código máquina:


De Microchip:

• MPASM: Ensamblador para generar código máquina absoluto o reubicable


• MPLAB-XC8: Compilador de C para familia de 8 bits = PIC10/12/16/18
• MPLAB-XC16: Compilador de C para familia de 16 bits = PIC24/dsPIC
• MPLAB-XC32: Compilador de C para PIC32

De Otras compañías:

• CCS PIC C: Compilador de C para toda la familia de dispositivos


• MIKROC: Compilador de C
• SDCC: Compilador de C
• PICPAS: Compilador de Pascal
• PROTON IDE: Compilador para lenguaje Basic

Introducción ©ATE-Universidad de Oviedo


23
Microprocesadores & Microcontroladores

Las herramientas para los microcontroladores PIC (II)


• Simuladores: Proteus

Permite probar el programa escrito para el


microcontrolador PIC sin necesidad de realizar
la PCB. Sólo hay que “dibujar” el esquema con los
elementos de entrada y salida previstos

•Depuradores/Programadores en el Circuito:

Permiten probar el programa sobre la placa real. Se eliminan errores (bugs) y se hace
que funcione el código mediante el control de la ejecución con la posibilidad de iniciar,
detener y ver o modificar cualquier registro o posición de memoria. También permiten
la grabación final del microcontrolador.

Introducción ©ATE-Universidad de Oviedo


24
Microprocesadores & Microcontroladores

Hardware de Prácticas

Conectamos mediante USB el depurador PICkit 3 a nuestro PC en el que se está


ejecutando MPLAB X, el PICkit 3 también estará conectado a la tarjeta de prácticas
mediante conector ICSP con el que se accede a ciertos terminales del microcontrolador
presente en la placa

Placa alimentada

Depurador
PICkit 3

Conector tira de pines


(para ICSP)
añadido a PICDEM2 plus

Introducción ©ATE-Universidad de Oviedo


25
Microprocesadores & Microcontroladores
Herramientas

PICDEM 4

PICDEM USB

PICDEM 2

PICDEM: Tarjetas de Evaluación y Demostración


para entrenamiento sin necesidad de desarrollar hardware

PICDEM LIN

PICDEM Z PICDEM-net

Introducción ©ATE-Universidad de Oviedo


26
Microprocesadores & Microcontroladores

Placas de entrenamiento de Microchip PICDEM 2 plus

1.- Zócalos 18, 28 y 40 pines


para microcontroladores
2.- Alimentación
3.- Con. RS232 y adaptación
4.- Conector Debugger
5.- Pot. entrada analógica
6.- Pulsadores
7.- Led indicación alim.
8.- 4 leds rojos
9.- Jumper para desconectar leds rojos
10.- Zócalo para oscilador
11.- Hueco para cristal
12.- Cristal de 32,768kHz para Timer 1
13.- Jumper para desconectar
oscilador RC externo (2MHz aprox.)
14.- I2C EEPROM de 256K x 8
15.- Display LCD
16.- Zumbador piezoeléctrico
17.- Área libre para conexiones
PICDEM 2 Plus 18.- Sensor de Temperatura I2C
La placa dispone de un microcontrolador PIC16F877A
también dispone de zócalos de 28 y 18 pines para otro PIC

Introducción ©ATE-Universidad de Oviedo


27
Microprocesadores & Microcontroladores

Placas de entrenamiento Microchip

PICDEM Mechatronics

La placa dispone de un microcontrolador PIC16F917 con oscilador interno de 8 MHz


también dispone de un zócalo de 20 pines para otro PIC alternativo

Introducción ©ATE-Universidad de Oviedo 28


Microprocesadores & Microcontroladores

El Programador y los microcontroladores

• El programador para software en un PC, parte de un hardware completo


ya cableado, instalado y en funcionamiento: microprocesador, memoria y
dispositivos de E/S como el teclado, el ratón y el monitor. El desarrollo
de la aplicación obliga “únicamente” a tener que escribir el programa y
depurar los errores

• El programador para microcontroladores tiene que “diseñar y crear” todo


el interface de E/S con el mundo exterior antes de iniciar la escritura
del programa. La mayoría de los programas están hechos a medida de una
determinada aplicación y no son demasiado portables. Pero como todavía no
se hacen PCs del tamaño y coste de los microcontroladores (incluyendo el
teclado y el monitor), se utilizan los microcontroladores preferentemente
en los sistemas empotrados

• Las herramientas de desarrollo para diseños basados en micros serán


básicamente las mismas que para PC si sustituimos las librerías gráficas por
otras destinadas al manejo de los módulos del microcontrolador.

Introducción ©ATE-Universidad de Oviedo


29
Microprocesadores & Microcontroladores

¿Programar en lenguaje C o en ensamblador?

• La ventaja del C frente al ensamblador es la rapidez en el desarrollo de las


aplicaciones y la comodidad a la hora de utilizar las funciones de manejo de
los módulos internos (la diferencia entre 2 ó 3 días y 1 ó 2 semanas con
aplicaciones para el manejo de un LCD por ejemplo).

• Las ventajas del ensamblador sobre el C residen en la eficiencia y lo compacto


que resulta el código (entorno a un 80% menor en tamaño). En el ensamblador
de los microcontroladores PIC, una instrucción ocupa una única posición de la
memoria de programa. Una simple instrucción en C que nos ocupa una única línea
de nuestro código fuente puede traducirse en varias posiciones de memoria de
programa (como ejemplo se pueden probar unas cuantas condiciones en un “if...).

• Además, cuando uno utiliza la programación en ensamblador, se tiene un


control total sobre el tiempo de ejecución de las instrucciones, lo que puede
resultar especialmente importante en ciertas aplicaciones en tiempo real.

Introducción ©ATE-Universidad de Oviedo


30

También podría gustarte