Descargar

Introducción a los microcontroladores II

Enviado por Pablo Turmero


    edu.red

    Introducción a los Microcontroladores Introducción Arquitectura Memoria I/O Interrupciones Timers/PWM Interfaces y Otros Periféricos

    edu.red

    Introducción Uso de los microcontroladores Microondas, Lavarropas, Televisores, … Automóviles, aviones, barcos Teléfonos Automatización industrial Pequeños dispositivos ad-hoc …

    edu.red

    Introducción Ejemplo. Se quiere: Leer periódicamente una temperatura Prender y apagar un calefactor Mostrar en un display la temperatura Permitir al usuario ajustar la temperatura Posibilidad de actualizar la funcionalidad con un interfase serie

    edu.red

    Introducción Diseño discreto. Se requiere: Un microprocesador 20 líneas de I/O (2 chips de 16 c/u) 1 Interfaz serie (1 chip) 1 Timer (1 chip) Memoria SRAM (para variables) Memoria Flash (para programa) Memoria EEPROM (para constantes)

    edu.red

    Introducción Diseño discreto.

    edu.red

    Introducción Diseño Integrado. ATmega16 (atmel)

    edu.red

    Oferta de Microcontroladores Estructurada por “familias” y “subfamilias”. Por ejemplo, cada familia tiene el mismo nucleo del procesador (su código será compatible): 8051,PIC,HC,ARM O son familias orientadas a la aplicación O por performance (de diferente tipo)

    edu.red

    Oferta de Microcontroladores

    edu.red

    Oferta de Microcontroladores

    edu.red

    Oferta de Microcontroladores

    edu.red

    Oferta de Microcontroladores Dentro de cada “familia” hay mucha varidad de dispositivos Pueden estar agrupados en “subfamilias” Una forma de clasificación es en base a los perifericos que integran o memoria

    edu.red

    Oferta de Microcontroladores MC9RS08KA Family

    edu.red

    Arquitectura

    edu.red

    Arquitectura: Procesador

    edu.red

    Arquitectura Von Neuman vs. Hardvard CISC vs. RISC Tamaño/variedad de las instrucciones Velocidad: clock; 8/16/32 bits

    edu.red

    Arquitectura de las instrucciones Por stack Por acumulador Dos direcciones Tres direcciones

    edu.red

    Arquitectura Modos de direccionamiento

    edu.red

    Memoria Registros (memoria de corto plazo): Pequeña (relativamente) Almacenamiento temporario p/CPU Memoria de datos Relativamente Grande Almacena datos mientras el MCU funciona Memoria de programa Relativamente Grande De preferencia, mantiene el programa incluso con el MCU apagado.

    edu.red

    Memoria: Tipo físicos

    edu.red

    Memoria: Atención S/DRAM: sin limite de escrituras EEPROM: 100.000 ciclos de borrado Flash: 10.000 ciclos de borrado

    edu.red

    Memoria: Direccionamiento Separado: Cada tipo físico se direcciona por separado (por ejemplo, usando diferentes registros índices) Hay direcciones repetidas Contínuo: Se accede siempre igual y la logica interna accede a la memoria que corresponde No hay direcciones repetidas

    edu.red

    Memoria: Direccionamiento Separado

    edu.red

    Memoria: Direccionamiento Continuo

    edu.red

    Memoria: ejercicio For (i=100;i>=0;i–) Inadvertidamente i es almacenada en EEPROM Inadvertidamente i esta implementada como unsigned Como la EEPROM es lenta, cada iteración lleva, digamos, 10 ms ¿Que pasa al conectar el MCU?: el programa se cuelga Me doy cuenta, digamos, a los 10 segundos Empiezo a “debuggear” el programa (pero no apago el MCU) ¿En cuanto tiempo me quedo sin microcontrolador?

    edu.red

    Digital I/O Implementadas por pines de conexión directa al exterior: Los MCU tienen en general de 8 a 32 pines (o más). Se agrupan en “ports” de a 8 pines. En general, los pines se pueden configurar como entrada o salida La lógica puede ser positiva o negativa. Los pines pueden tener otras funciones alternativas.

    edu.red

    Digital I/O (Gp:) pin 1 del port B Módulo de Interrupción 1 – entrada 5 Pin Tx de puerto serie Conversor AD canal 5

    edu.red

    Digital I/O Los pines se controlan mediante 3 registros: Data Direction Register (DDR): hay uno por cada puerto y cada bit determina la dirección de un pin. Port Register (PORT): uno por cada puerto y cada bit controla el estado del puerto (si es de salida) Port Input Register (PIN): uno por cada puerto y cada bit da el estado de su respectivo pin, esté este configurado como entrada o salida.

    edu.red

    Digital I/O

    edu.red

    Digital I/O

    edu.red

    Digital I/O PTBDD = 0x80; // initialize PTB7 as output PTBD = 0; // initialize PTB to 0 PTBD_PTBD7 = ~PTBD_PTBD7; // invert the output

    (Gp:) 1 0 0 0 0 0 0 0

    Ejemplo: (Gp:) bit 7

    (Gp:) bit 0

    edu.red

    Digital I/O PORT Register: de preferencia debe escribirse con operaciones de escritura de bit, si estan disponibles Caso contrario usar : Read-Modify-Write con cuidado.

    edu.red

    Digital Input La entrada se muestrea con cada pulso (flanco ascendente normalmente) del clock, lo que ocasiona “metaestabilidad”:

    edu.red

    Digital Input Normalmente incorporan un Schmitt-trigger. Para reducir la “metaestabilidad” se introducen “sincronizadores”

    edu.red

    Digital Input Cancelación de ruidos Resistencias de pull-up/down en las entradas: puede (debe) programarse su conexión/desconexión (a veces mediante el registro PORT).

    edu.red

    Digital Output Apenas el DDR setea un pin como salida, el MCU excita el pin de acuerdo al contenido del registro PORT correspondiente. Cuidado con los cortocircuitos Orden de seteo de DDR y PORT

    edu.red

    Analog I/O Conversión DIGITAL a ANALOGICA: Usando un modulador de ancho de pulso

    edu.red

    Conversión DIGITAL a ANALOGICA: Por redes del tipo R-2R. Para r bits sería:

    edu.red

    Conversión Analógica-Digital (CAD) Comparador: determina si V1 >V2 y arroja 1, ó 0 en caso contrario.

    edu.red

    Conversión Analógica-Digital (CAD) Conversion de valor

    edu.red

    ESTA PRESENTACIÓN CONTIENE MAS DIAPOSITIVAS DISPONIBLES EN LA VERSIÓN DE DESCARGA