1 / 104

Introducción a los Microcontroladores

Introducción a los Microcontroladores. Introducción a los Microcontroladores. Introducción Arquitectura Memoria I/O Interrupciones Timers/PWM Interfaces y Otros Periféricos. Introducción. Uso de los microcontroladores Microondas, Lavarropas, Televisores, ...

chul
Download Presentation

Introducción a los Microcontroladores

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introducción a los Microcontroladores

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

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

  4. 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

  5. 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)

  6. Introducción Diseño discreto.

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

  8. 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)

  9. Oferta de Microcontroladores

  10. Oferta de Microcontroladores

  11. Oferta de Microcontroladores

  12. 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

  13. Oferta de Microcontroladores • MC9RS08KA Family

  14. Arquitectura

  15. REPASO Arquitectura: Procesador

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

  17. REPASO Arquitectura • de las instrucciones • Por stack • Por acumulador • Dos direcciones • Tres direcciones

  18. REPASO Arquitectura • Modos de direccionamiento

  19. 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.

  20. REPASO Memoria: Tipo físicos

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

  22. 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

  23. Memoria: Direccionamiento • Separado

  24. Memoria: Direccionamiento • Continuo

  25. 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?

  26. I/O

  27. 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.

  28. pin 1 del port B • Módulo de Interrupción 1 - entrada 5 • Pin Tx de puerto serie • Conversor AD canal 5 Digital I/O

  29. 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.

  30. Digital I/O

  31. Digital I/O

  32. bit 7 bit 0 1 0 0 0 0 0 0 0 Digital I/O Ejemplo: PTBDD = 0x80; // initialize PTB7 as output PTBD = 0; // initialize PTB to 0 PTBD_PTBD7 = ~PTBD_PTBD7; // invert the output

  33. 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.

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

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

  36. 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).

  37. 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

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

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

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

  41. REPASO Conversión Analógica-Digital (CAD) • Conversion de valor

  42. REPASO Conversión Analógica-Digital (CAD) • La velocidad de muestreo determina la máxima frecuencia posible de muestrear (fmax<fs/2). Además, hay que tener en cuenta el tiempo que puede llevar la conversión. • La conversion lleva tiempo: para asegurar la estabilidad se usa una etapa de retención (sample-hold)

  43. REPASO Conversión Analógica-Digital (CAD) • Directa (flash): muy rápida (1 bit time); muy cara Este modo de conversión rápido es utilizado en algunos MCU y por lo general, no hay mas de 1 o 2 canales “rápidos”.

  44. REPASO Conversión Analógica-Digital (CAD) • Seguidor (tracking): muy lenta (2r bit times) y variable; barata.

  45. REPASO Conversión Analógica-Digital (CAD) • Aproximaciones sucesivas: velocidad media y fija en r+1 Este es el modo mas utilizado

  46. Tensión de Referencia Salida (registro) Entrada Start Conversion Conversion Complete Habilitación Conversión Analógica-Digital (CAD) • Control del CAD

  47. Conversión Analógica-Digital (CAD) • Los MCU pueden tener de 4 a 16 o más entradas (canales) y un solo CAD, de 8 a 12 bits de precisión. • Se multiplexan los canales (aumentan los tiempos) • Autoincremento: al leer un canal, se pasa al siguiente y se efectúa un SC automáticamente. • Existe el “modo contínuo” y de disparos sucesivos mediante el RTC • Una conversión puede “dispararse” por eventos como un timer, una variación de una entrada digital o una señal externa.

  48. CAD: Ejemplo de características en un MCU • Linear successive approximation algorithm with 12 bits resolution. • Up to 28 analog inputs. • Output formatted in 12-, 10- or 8-bit right-justified format. • Single or continuous conversion (automatic return to idle after single conversion). • Configurable sample time and conversion speed/power. • Conversion complete flag and interrupt. • Input clock selectable from up to four sources. • Operation in wait or stop3 modes for lower noise operation. • Asynchronous clock source for lower noise operation. • Selectable asynchronous hardware conversion trigger. • Automatic compare with interrupt for less-than, or greater-than or equal-to, programmable value.

  49. Estado, control y configuración reloj multiplexor comparador CAD: Ejemplo de implementación en un MCU

  50. CAD: Ejemplo de un registro de configuración

More Related