|
|
WinAVR |
|||
Microcontroladores AVR
1. Introducciòn.- Un microcontrolador embebido es un microcomputador con CPU, todas las funciones de soporte (clock y reset), memoria (tanto de almacenamiento de código como RAM) y pines I/O (entrada/salida en algunos casos incluyendo bus) dentro de un solo circuito integrado. En otras palabras es un microcomputador dentro de chip. Todas estas cualidades hacen que se minimice la necesidad de circuitos externos en el circuiteria de la aplicación final.
Con el advenimiento de nuevas tecnologías y en plena revolución de la información, se hace necesario estar al día con conceptos comunes a esta época. Este es el caso de los microcontroladores o sistemas embebidos. En cada hogar se encuentra al menos uno, cada persona al menos posee uno, en la mayor parte de los casos imperceptible.
Además, los microcontroladores no requieren mucho tiempo en aprender, esto debido a las herramientas actuales existentes (debuggers, prototipos, emuladores, etc). Será por tanto gratificante para el lector que el primer ejemplo no le demandara mayor esfuerzo ponerlo en funcionamiento.
1.1 Por que un microcontralador AVR?
Ya sea que una aplicación requiera uno o varios circuitos integrados (ICs) o microprocesadores, es decisión del diseñador definir la solución final. Aunque por el propósito de esta pagina, muchas de las aplicaciones existentes con tecnologias anteriores puedes ser desarrolladas utilizando microcontroladores, y en este caso particular el microcontrolador ATMEL de la serie AVR. Por tanto se discute brevemente las características mas relevantes de la serie de microcontroladores AVR
- Arquitectura RISC con la mayoria de instrucciones de longitud fija
- 32 registros de proposito general de 8 bits
-  p; Ejecución de la mayoria de instrucciones en 1 ciclo de reloj, por ej si el (uc) microcontrolador funciona a 10 MHz, este trabajara a 10 MIPS (millones de instrucciones por segundo).
-  p; Gran variedad de perifericos I/O digitales, ADC, EEPROM, Timers, UART, RTC (reloj de tiempo real, PWM (Modulación de ancho de pulso).
-  p; Memoria RAM interna y externa.
-  p; Programación en sistema
-  p; Amplio rango de funcionamiento en voltaje 2.7 – 6 Volts.
2 Consideraciones de fuentes de alimentación
Desde la perspectiva de alimentación la conexión de energia es extremadamente simple, todo lo que se requiere es fuente positiva, tierra y un capacitor desacople en medio (ver Fig. 2-1)

Fig 2-1 Conexión de fuente al AVR AT90s2313
Ademas, AVR se alimenta en un amplio rango de voltaje de alimentación, el cual va desde 2.7 – 6.0 (Ver requerimiento de energia en hoja de datos de cada AVR). Esto da lugar al uso de baterias, siendo posible la alimentación con dos batertias alcalinas de 1.5V en serie (los que producen 3V), este podria ser el mejor metodo de prover energia al AVR. Algunos AVR operan incluso a voltajes tan bajos como 1.8 V, tal el caso del Atmega162V).
3 Reset
Se consigue reset en el AVR de tres formas a saber, reset
de encendido, reset externo, y watchdog reset. El reset de encendido se lleva a
cabo en forma transparente el momento de encendido del AVR. El reset externo se
lleva a cabo conectando el pin
a tierra por no menos de 50 ns. Como se nota el AVR se
encuentra activo mientras la linea
este an estado alto. Finalmente el reseteado watchdog
se logra activar mediante software (Ver watchdog mas adelante ).

Fig 3-1 Conexion de reset al AT90s2313
4 Fuentes de reloj para operacion del AVR
El oscilador del AVR es bastante simple y confiable, el reloj puede correr ya se por el oscilador interno o un circuito de reloj externo.

Fig 4-1 Circuito oscilador externo conectado a XTAL1 y XTAL2
5 Circuito basico de encendido y apagado de un led para AVR

Fig. 5-1 Circuito basico del AT90s2313 para control de un led.