Sunteți pe pagina 1din 6

Campus Ciudad de Mxico Divisin de Ingeniera Arquitectura Departamento de Ingeniera Mecatrnica LABORATORIO DE MICROCONTROLADORES Practica 3.

Ensamble de un sistema mnimo basado en el microcontrolador ATMEGA16

Examen.
Estudiar pre-reporte e introduccin.

OBJETIVOS
Ensamblar un sistema mnimo para el ATMEGA16, que conste de un sistema de RESET, una seal de reloj y sistema de alimentacin. Comprender el funcionamiento del sistema de fusibles del ATMEGA16. Aprender a utilizar el programador universal o el Programador Serie/USB.

INTRODUCCIN.
Para hablar de los microcontroladores, primero debemos iniciar hablando de su predecesor el microprocesador. Un microprocesador es un dispositivo electrnico que es capaz de ejecutaran un conjunto de instrucciones de forma secuencial con un mnimo o nula intervencin humana. Un microprocesador contiene de manera genrica tres partes fundamentales: Unidad Lgica Aritmtica (ALU). Encargada de realizar operaciones lgicas (AND, OR, NEG, INC, DEC, etc.) y aritmticas (ADD, SUB, MUL, etc.) entre los registros del sistema. Unidad de Control (CU). Tiene a funcin de tomar instrucciones en lenguaje maquina, para decodificarlas y ejecutarlas. En el proceso de decodificacin, se determinan entre otras cosas: o o o o El nmero de ciclos maquina necesarios para la ejecucin de la instruccin. El tamao en bytes de la instruccin, La cantidad, tamao y ubicacin de los operadores. La direccin de memoria de programa de donde se extraer la siguiente instruccin (valor del Program Counter). Registros. Unidades de almacenamiento, que tienen conexin directa con la ALU, la UC y los canales de genricos de comunicacin. El microprocesador se comunica con su entorno mediante el uso de tres canales genricos control, datos y direcciones. Su entorno estar formado por aquellos dispositivos externos que no estn incluidos dentro del procesador, pero que deben ser comunicados a l. La comunicacin se realiza mediante los canales genricos. Estos dispositivos externos pueden ser memorias (permanentes o voltiles), teclados, ADC, relojes de tiempo real, sensores, pantallas LCD o de segmentos, etc. Cada dispositivo externo requiere de cierta cantidad de componentes electrnicos para ensamblarse al microprocesador.

Laboratrio de Microcontroladores

Genaro Sola Ortiz

Campus Ciudad de Mxico Divisin de Ingeniera Arquitectura Departamento de Ingeniera Mecatrnica LABORATORIO DE MICROCONTROLADORES MICROCONTROLADOR. Un microcontrolador, adems de realizar las tareas de un microprocesador, tiene incluidos una cierta cantidad de perifricos, osciladores, mdulos de entrada/salida, diferentes tipos de memoria y canales especficos de comunicacin. Es por lo anterior, que la cantidad de componentes externos necesarios para implementar una solucin con un microcontrolador, se reduce considerablemente. A pesar de lo anterior, es necesario adicionar un conjunto de circuitos electrnicos externos que permitan el funcionamiento del microcontrolador. Definiremos el trmino de SISTEMA MINIMO, como la cantidad de componentes estrictamente necesarios para que el sistema funcione. El sistema mnimo del microcontrolador ATMEGA16 para su operacin bsica estar comprendido por: 1. Sistema de Alimentacin. Trabajan dentro de un rango de voltaje desde +2.7V hasta +5.5V. Durante los presentes trabajos usaremos por convencin un VCC de 5.0V. Tenga presente que el nivel de voltaje en VCC, afecta directamente a todos los parmetros de voltaje y tiempo del micro. 2. Sistema de RESET. El sistema de RESET, permite que el microcontrolador se coloque en un estado inicial sin importar en qu punto o en que parte de procesamiento se encuentre. Cuando se cumple el tiempo mnimo necesario y las condiciones para el evento de RESET, el microcontrolador coloca todos sus puertos en tercer estado (alta impedancia), lleva los registros de I/O a su estado inicial y coloca la direccin especificada por el VECTOR DE RESET en el registro Program Counter y espera a que todas las fuentes de RESET pasen a estado inactivo. Al salir del estado de RESET, se invoca un retardo de tiempo antes de inicializar la ejecucin del programa, esto es necesario para lograr que el nivel de voltaje se estabilice. El retardo de tiempo es especificado y configurado mediante los fusibles del sistema CKSEL. El microcontrolador ATMEGA16 de ATMEL, cuenta con 5 fuentes de RESET, Power-On Reset, External Reset, Watchdog Reset, Brown-Out Detector, JTAG-AVR Reset. En esta prctica describiremos el sistema de RESET EXTERNO. RESET EXTERNO. ste evento se desencadena cuando el pin RESET (9), se mantiene en nivel cero lgico por al menos 1 ciclo de reloj. Es importante sealar que mientras la lnea RESET sea igual a 0, el microcontrolador se encuentra en estado de espera, hasta que la lnea RESET sea igual a 1. Por lo tanto, la condicin de NO RESET es equivalente a ESTADO DE EJECUCION. El sistema elctrico que permite el cambio de estado 1 a 0 y 0 a 1 debe eliminar las oscilaciones que se generan al liberar o presionar el botn que se utiliza para cambiar de estado lgico. Estas oscilaciones, pulsos o rebotes, se pueden ensamblar con elementos pasivos tan sencillos como un interruptor normalmente abierto, una resistencia y un capacitor.

Laboratrio de Microcontroladores

Genaro Sola Ortiz

Campus Ciudad de Mxico Divisin de Ingeniera Arquitectura Departamento de Ingeniera Mecatrnica LABORATORIO DE MICROCONTROLADORES 3. Sistema de Reloj. El ATMEGA16, puede tomar el sistema de sincronizacin de alguna de las siguientes fuentes: a. INTERNO. Oscilador Interno RC calibrado en frecuencias especficas: 1, 2, 4 y 8MHz. Usando esta opcin, es posible evitar el uso de elementos pasivos externos (Cristal, Capacitores, Resistencias, etc), la nica desventaja del oscilador interno, es que no existen variedad de frecuencias ya que solo se pueden usar 4 diferentes frecuencias fijas. b. EXTERNO. Es necesario utilizar las lneas de conexin externas XTAL1 y/o XTAL2 para introducir los pulsos de sincrona al microcontrolador, la generacin de estos pulsos o seales de reloj pueden ser implementados mediante un oscilador RC, un generador de seales o mediante un Cristal. El sistema interno de acondicionamiento de la seal de reloj, es elegido mediante la configuracin de los fusibles CKSEL, SUT y CKOPT. El ATMEGA16 viene configurado de fbrica con un oscilador RC interno de 1MHz. Los micros ATMEL cuentan con un conjunto de fusibles programables (1 sin programar, 0 programado), que modifican el comportamiento general del microcontrolador. A pesar de que stos no forman parte del sistema mnimo (esto de acuerdo a la definicin presentada en esta prctica), es necesario considerarlos, debido a que una mala configuracin, podra provocar que el microcontrolador no trabajara de manera adecuada. SISTEMA DE FUSIBLES Agrupando los fusibles de acuerdo a su funcionalidad, tendramos: 1. Programacin, depuracin y acceso a memoria (Programa/EEPROM) a. OCDEN On Chip Debug Enable. Habilita/Deshabilita todos los canales de comunicacin para eventos de depuracin. b. JTAGEN. Habilita/Deshabilita el canal JTAG para la Depuracin/Programacin/Lectura y acceso total a todas las memorias del microcontrolador. c. SPIEN. Habilita/Deshabilita el canal SPI para Programar/Leer la memoria de programa (Flash), datos (SRAM) y la EEPROM. d. Memoria EEPROM (EESAVE). Mantiene el contenido de la memoria EEPROM aun y cuando se haya realizado una operacin de borrado/programacin del microcontrolador. e. Bloqueo (LB, BLB). Protege a las memorias de programa y EEPROM, contra

Verificaciones/Lecturas/Escritura posteriores a la programacin. Prohbe el acceso a la memoria de programa (SPM, LPM) desde la memoria de Aplicacin/Arranque (boot memory).

Laboratrio de Microcontroladores

Genaro Sola Ortiz

Campus Ciudad de Mxico Divisin de Ingeniera Arquitectura Departamento de Ingeniera Mecatrnica LABORATORIO DE MICROCONTROLADORES 2. Deteccin de nivel de voltaje (BODLEVEL, BODEN). Activan y configuran el detector de nivel de voltaje, que desencadena el proceso de RESET interno, cuando VCC sea menor al voltaje programado, por al menos 2 s. BODLEVEL, BODEN 00 01 10 11 Sistema de Reloj (CKSEL, CKOPT, SUT) Detector de Nivel de Voltaje ACTIVADO A 4.0V DESACTIVADO ACTIVADO A 2.7V DESACTIVADO

3.

Device Clock Option External Crystal/Ceramic Resonator External Low-frequency Crystal External RC Oscilator Calibrated Internal RC Oscillator External Clock

CKSEL3..0 1111 1010 1001 1000 - 0101 0100 0001 0000

4.

CKSEL3..0 Nominal Frequency (MHz) 0001 1.0 0010 2.0 0011 4.0 0100 8.0 Memoria de inicio (BOOTSZ, BOOTRST). Permite mover el contenido del Vector de Reset de la posicin flash 0x0000 a la especificada por los fusibles BOOTSZ.

BOOTSZ1:0 00 01 10 11 MATERIAL Y EQUIPO Equipo: 1 Fuente de voltaje de CD triple. 1 Osciloscopio 4 Cables Banana-Caimn 1 Punta de prueba para el osciloscopio

Tamao de la memoria de arranque (words) 128 256 512 1024

# de pginas 2 4 8 16

Direccin de inicio de la memoria de arranque 0x1F80 0x1F00 0x1E00 0x1C00

Componentes 8 LEDs 1 Base DIP 40 2 Capacitores Cermicos 22pF 1 Cristal de 8 MHz 1 interruptor normalmente abierto 1 capacitor de 10uF 1 resistencia de 10Kohms 8 Resistencias de 330 Ohm 2 tiras de Headers dobles 1 Microcontrolador ATmega16 (encapsulado DIP). 1 tira de Headers dobles de ngulo Programador Serial (Practica 2) Matriz de LEDs (Practica 1)

Laboratrio de Microcontroladores

Genaro Sola Ortiz

Campus Ciudad de Mxico Divisin de Ingeniera Arquitectura Departamento de Ingeniera Mecatrnica LABORATORIO DE MICROCONTROLADORES

DESARROLLO
1. Utilizando una placa fenlica perforada, ensambla el siguiente circuito. Antes de conectar el sistema a alimentacin o al programador USB-SPI, revisa continuidad en tus conexiones.
SCK MISO VCC MOSI 1 3 5 7 9 ISP10 RESET PB0 PB2 PB4 PB6 GND 1 3 5 7 9 PTOB PD0 PD2 PD4 PD6 GND PD1 PD3 PD5 PD7 VCC 22pF BASE PARA CRISTAL 22pF PC0 PC2 PC4 PC6 GND 1 3 5 7 9 PTOC 2 4 6 8 10 PC1 PC3 PC5 PC7 VCC XTAL1 2 4 6 8 10 PB1 PB3 PB5 PB7 VCC 10uF VCC 10K RESET 2 4 6 8 10 GND RESET PA0 PA2 PA4 PA6 GND 1 3 5 7 9 PTOA 2 4 6 8 10 PA1 PA3 PA5 PA7 VCC MOSI MISO SCK 1 2 3 4 5 6 7 8 9 10 VCC GND 11 XTAL2 12 XTAL1 13 PD0 14 PD1 15 PD2 16 PD3 17 PD4 18 PD5 19 PD6 20 PB0 PB1 PB2 PB3 PB4 PB5 PB6 PB7 PB0 PA0 PB1 PA1 PB2 PA2 PB3 PA3 PB4 PA4 PB5 PA5 PB6 PA6 PB7 PA7 RESET AREF VCC AGND GND AVCC XTAL2 PC7 XTAL1 PC6 PD0 PC5 PD1 PC4 PD2 PC3 PD3 PC2 PD4 PC1 PD5 PC0 PD6 PD7 ATMEGA16 DIP40 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 PA0 PA1 PA2 PA3 PA4 PA5 PA6 PA7

1 1 1

1 1 1

AREF AGND AVCC

1 3 5 7 9 PTOD

2 4 6 8 10

PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PD7

XTAL2

2. 3.

Sistema Mnimo ISP-ATMEGA16 DIP Energiza y conecta el programador a tu computadora. Inicia AVR Studio. RECUERDA que normalmente el programa inicia con una sub-ventana denominada WIZZARD, cierra esta ventana. Ubique el icono , que inicia la comunicacin con el programa AVRSTUDIO con el programador AVRISP Si tu programador NO es detectado por el sistema, te aparecer la siguiente ventana:

4. 5.

Si el programador AVRISP es detectado por el AVRSTUDIO, deber aparecerte la ventana de la derecha: 7. Conecta el programador al sistema mnimo va el HEADER 2x5 ISP10. 8. Selecciona la pestaa Main. En el grupo Device and Signature Bytes, selecciona el microcontrolador ATMEGA16. 9. Presiona el botn Read Signature, para probar comunicacin entre el IDE AVRSTUDIO, tu programador y el sistema mnimo. Si existiera comunicacin, en el recuadro a la izquierda del botn Read, aparecer la cadena que define la firma nica del microcontrolador (0x1E 0x94 0x03). 10. Selecciona la pestaa Program. En el grupo Flash, presiona el botn Browse , y ubica el archivo TestLedMatrixSIPOasm.hex. Presiona el botn Program de ste grupo. Si todo sigue funcionando adecuadamente, en la parte inferior de esta ventana, aparecer la leyenda de Programacin . OK.

6.

Laboratrio de Microcontroladores

Genaro Sola Ortiz

Campus Ciudad de Mxico Divisin de Ingeniera Arquitectura Departamento de Ingeniera Mecatrnica LABORATORIO DE MICROCONTROLADORES 11. Conecta la matriz de LEDs al puerto A del sistema mnimo y verifica que funcione adecuadamente. MUESTRA RESULTADOS. 12. Cambia a la pestaa fuses. 13. Active el circuito de deteccin de nivel de voltaje (Brown-out Detector) en 4.0V, usando los fusibles BODEN y BODLEVEL. Usando la fuente variable de voltaje, reduzca el voltaje lentamente, reporte el nivel real de voltaje al cual los LEDs conectados al sistema dejan de oscilar. 14. Incremente el nivel de voltaje hasta que los LEDs inicien nuevamente la oscilacin. Reporte dicho nivel. 15. Active el circuito de deteccin de nivel de voltaje (Brown-out Detector) en 2.7V, usando los fusibles BODEN y BODLEVEL. Usando la fuente variable de voltaje, reduzca el voltaje lentamente, reporte el nivel real de voltaje al cual los LEDs conectados al sistema dejan de oscilar. 16. Incremente nuevamente el nivel de voltaje hasta que los LEDs inicien nuevamente la oscilacin. Reporte dicho nivel. 17. Desactive el circuito de deteccin de nivel de voltaje. 18. Con el osciloscopio, mida y reporte los niveles de voltaje y la frecuencia de las lneas XTAL1 y XTAL2. 19. Modifique los fusibles del sistema para cambiar el oscilador a RC INTERNO 2, 4, y 8 MHz. Muestre el funcionamiento en cada una de las frecuencias nominales. Todas estas frecuencias se encuentran dentro del modo Calibrated Internal RC Oscillator. 20. Cambie la configuracin de reloj a Reloj Cristal Externo / Resonador Cermico alta frecuencia y vuelva a medir el valor de frecuencia y voltaje en XTAL1 y XAL2. Reporte el comportamiento de los LEDs y las diferencias en las lneas XTAL1 y XTAL2. Explique. 21. Configure el reloj del microcontrolador en modo Oscilador Interno RC 8MHz. Y retire el sistema de reloj del sistema mnimo. Revise que los LEDs siguen oscilando. Esta ser la configuracin utilizada de aqu en adelante.

CUESTIONARIO
1. 2. 3. 4. 5. Cules son las frecuencias mnima, mxima y tpica con las que puede operar el microcontrolador ATMEGA16? Cul es la forma de onda de la seal del circuito oscilador externo? Cual son las diferencias ms relevantes entre un microcontrolador y un microprocesador (aparte de la capacidad)? Dibuja el circuito interno de un pin de un puerto del ATMEGA16 y explica su funcionamiento. Investiga las caractersticas elctricas del microcontrolador que ests utilizando. Cul es la corriente mxima de salida para 1 lgico?, y para 0 lgico? Como referencia, experimenta y determina cuanta corriente se necesita para prender un led a una intensidad normal.

Laboratrio de Microcontroladores

Genaro Sola Ortiz

S-ar putea să vă placă și