esructura interna del microcontrolador atmega 164p

17
ESRUCTURA INTERNA DEL MICROCONTROLADOR ATMEGA 164P El core (núcleo) AVR combina un conjunto de instrucciones RISC con 32 registros para uso de propósito general. Todos los 32 registros están directamente relacionados con la Unidad Aritmética Lógica (ALU), admitiendo dos registros independientes al ejecutarse una instrucción en un ciclo de máquina. El resultado de esta arquitectura es más eficiente, se consigue un caudal de flujo y transferencia hasta diez veces más rápido que microcontroladores CISC convencionales. El ATmega164P / 324P / 644P provee las siguientes características: 16/32 / 64K bytes en el sistema de Flash Programable con capacidad de lectura y escritura de 512B/1K/2K bytes en la EEPROM, 1/2/4K bytes en la SRAM, 32 pines de E/S para propósito general, 32 registros de propósito general, Contador en Tiempo real (RTC), tres

Upload: markitobp

Post on 02-Aug-2015

232 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Esructura Interna Del Microcontrolador Atmega 164p

ESRUCTURA INTERNA DEL MICROCONTROLADOR ATMEGA 164P

El core (núcleo) AVR combina un conjunto de instrucciones RISC con 32 registros para uso de propósito general. Todos los 32 registros están directamente relacionados con la Unidad Aritmética Lógica (ALU), admitiendo dos registros independientes al ejecutarse una instrucción en un ciclo de máquina. El resultado de esta arquitectura es más eficiente, se consigue un caudal de flujo y transferencia hasta diez veces más rápido que microcontroladores CISC convencionales.El ATmega164P / 324P / 644P provee las siguientes características: 16/32 / 64K bytes en el sistema de Flash Programable con capacidad de lectura y escritura de 512B/1K/2K bytes en la EEPROM, 1/2/4K bytes en la SRAM, 32 pines de E/S para propósito general, 32 registros de propósito general, Contador en Tiempo real (RTC), tres Timer/Contadores flexibles con modo de Comparación y PWM, 2 USARTs, un byte orientado a la Interfaz Serial de 2 hilos, 8 canales ADC de 10 bits con opción de entrada Diferencial con ganancia programable, Watchdog Timer programable con oscilador interno, un Puerto serial SPI, Interfase de prueba JTAG, también usado para acceder al sistema On-chip Debug y seis modos de programación seleccionable para ahorro de energía. El modo Idle detiene al CPU mientras permite a la SRAM, Timer/Contador, Puerto SPI y al sistema de interrupciones continuar funcionando.

Page 2: Esructura Interna Del Microcontrolador Atmega 164p

El Modo Power-down guarda el contenido de los registros pero paraliza al oscilador, desactiva todas las otras funciones de chip hasta la próxima interrupción o mediante reseteo por hardware. En el Modo Power-save, el reloj asincrónico continúa corriendo, permitiendo tener actualizado al reloj mientras el resto de dispositivos están descansando. El Modo de Reducción del Ruido del ADC detiene al CPU y a todos los módulos de E/S excepto al Reloj Asincrónico y al ADC, para minimizar el ruido durante la conversión. En el Modo Standby, el oscilador Cristal/Resonador está corriendo mientras el resto de dispositivos están descansando. Estos permiten comenzar una rápida combinación con el consumo de baja energía.

En el Modo de Standby extendido, corre el Oscilador principal y el Reloj Asincrónico. Este elemento es hecho usando tecnología de alta densidad de memoria no volátil de ATMEL. El chip interno ISP de la FLASH permite a la memoria de programa ser reprogramada a través del puerto interno ISP mediante un programador convencional no volátil o mediante un programa interno en el dispositivo AVR. El programa de inicialización puede usar cualquier interfaz para descargar el programa de aplicación en la memoria flash. El programa en la sección Flash Boot es actualizado mientras continúa corriendo la sección de aplicaciones de la Flash, proporcionando una escrituralectura verdadera de operación. Para combinar un CPU RISC de 8 bits en un sistema de Flash Auto-programable en un chip monolítico, el ATmega164P/324P/644P es un poderoso microcontrolador que provee una alta flexibilidad y solución de costos efectivos para cualquier aplicación de control.

Sistemas de Reloj y sus Distribuciones

La Figura 8-1 presenta los principales sistemas de reloj en el AVR y su distribución. Todos los relojes no necesitan ser activados a un tiempo dado. Para reducir el consumo de energía, los relojes de los módulos no empiezan a ser usados cuando están detenidos por uso de diferentes modos sleep, como se describe en “Power Management and Sleep Modes” en la página 42 del datasheet. Los sistemas de relojes se describen a continuación en la figura 8-1.

Page 3: Esructura Interna Del Microcontrolador Atmega 164p

ARQUITECTURA INTERNA DE CPU DEL MICROCONTROLADOR ATMEGA164P

Page 4: Esructura Interna Del Microcontrolador Atmega 164p

Reset del JTAG. El MCU es reseteado si existe un uno lógico en elregistro del Reset:

Watchdog Timer:

Contador desde un Oscilador dentro del chip 3 Modos de Operación

– Interrupciones– Reinicio del Sistema– Reinicio de Interrupciones y del sistema

Periodo del Time-out seleccionable desde 16ms to 8s Possible Hardware fuse Watchdog always on (WDTON) for fail-safe mode

Vista Global:

El ATmega164P/324P/644P tiene un Watchdog timer mejorado (WDT). El WDT es un contador de ciclos de tiempos de un oscilador separador en el chip de 128Khz. El WDT produce una interrupción o un reset al sistema cuando el contador alcanza el valor dado en el time/out. En el modo de operación normal, esto requiere que el sistema use la instrucción WDR / Watchdog Timer Reset/ para reiniciar al contador antes de que alcance el valor del

Page 5: Esructura Interna Del Microcontrolador Atmega 164p

time/out. Si el sistema no reinicia el contador, se producirá una interrupción o se reiniciara el sistema.

Pórticos como E/S Generales Analógicas:

Los pórticos son E/S bi-direccionales con pull-up internas opcionales. La siguiente figura muestra la descripción de funcionamiento de un pin de E/S, generalmente llamado Pxn:

Diagrama de Bloques Timer/Contador 0 8-bits:

Page 6: Esructura Interna Del Microcontrolador Atmega 164p

Diagrama de bloque Timer/Contador1 16 –bits:

Diagrama en bloque del Timer/Counter2 de 8bits:

Page 7: Esructura Interna Del Microcontrolador Atmega 164p

USART1 y USART0:

El ATmega164P/324P/644P tiene dos USART’s, USART0 y USART1. La funcionalidad para todos los USART’s es descrito a continuación, la mayoría de registros y bits de referencia en esta sección son escritas en forma general. La letra minúscula “n” reemplaza el número USART.

Page 8: Esructura Interna Del Microcontrolador Atmega 164p

Diagrama de Bloques, Generación Lógica de Reloj:

Descripción de la Señal:

txclk Reloj de Transmisión (Señal Interna).rxclk Reloj Receptor (Señal Interna).

Page 9: Esructura Interna Del Microcontrolador Atmega 164p

xcki Entrada desde el pin XCK (Señal Interna). Usada para operación Esclavo sincrónica.xcko Salida desde el pin XCK (Señal Interna). Usada para operación Maestro sincrónica.fOSC Frecuencia del pin XTAL (Sistema de Reloj).

Modulo TWI:

TWAM: Mascara de Direcciones del TWI:

Page 10: Esructura Interna Del Microcontrolador Atmega 164p

Comparador Analógico –AC:

El Comparador Analógico comparara el valor de las entradas en el pin positivo AIN0 y pin negativo AIN1. Cuando el voltaje en el pin positivo AIN0 es más alto que el voltaje en el pin negativo AIN1, la salida del Comparador Analógico, ACO, es habilitada. La salida del comparador seria puesta para disparar el Timer/contador1 en función de captura de Entrada. Adicionalmente, el comparador puede disparar una interrupción separada, exclusiva al comparador Analógico. El usuario puede seleccionar el disparo de la interrupción en a la salida del comparador (subida, bajada, invertida). El diagrama de bloques del comparador es mostrado en la figura.

ADC – CONVERSOR ANÁLOGO A DIGITAL:

Especificaciones:

• Resolución de 10-bits• Integrador no Lineal 0.5 LSB• Presición Absoluta ±2 LSB• Tiempo de Conversión 13 - 260μs• Máxima Resolución por encima de 15 KSPS• 8 Canales Multiplexados Simples de Salida• Modo Diferencial con Ganancia Seleccionable: X1, X10 o X200• Ajuste opcional Izquierdo para lectura de salida del ADC• Rango de Voltaje de Entrada del ADC: 0 - VCC• Rango de Voltaje Diferencial del ADC: 2.7 - VCC• Voltaje de Referencia Seleccionable ADC: 2.5V o 1.1V• Modo de Simple Conversión (Free Running)• Inicio de Conversión ADC por Auto-disparo o Fuente de Interrupción• Activación de Interrupción al finalizar la Conversión ADC• En Modo Sleep se cancela el ruido

Page 11: Esructura Interna Del Microcontrolador Atmega 164p

Nota1. Los canales de entada diferencial no son probados para dispositivos depaquetes P DIP P. Este elemento esta garantizado para trabajar con dispositivosde paquetes TQFP y QFN/MLF.

TEST ACCESS PORT:

La interfase JTAG es accedida a través de cuatro pines del AVR. En la terminología JTAG, estos pines constituyen el Test Access Port-TAP. Estos pines son:• TMS: Test mode select. Este pin es usado para la navegación a través del estado de máquina del controlador TAP.• TCK: Test Clock. Operación JTAG es sincronizada con TCK.• TDI: Test Data In. Entrada de Datos serial a ser desplazada en el Registro de Instrucciones o Registro de Datos (Scan Chains).• TDO: Test Data Out. Salida de Datos Serial desde el Registro de Instrucciones o Registro de Datos.El IEEE std. 1149.1 también especifica una señal opcional TAP; TRST –Test ReSeT lo cual no esta provisto.

Page 12: Esructura Interna Del Microcontrolador Atmega 164p

Cuando el Fusible JTAGEN no es programado, estos cuatro pines TAP son pines de p´rotico, y el controlador TAP está en Reset. Cuando es programado, las señales de entrada TAP son pulled high internas y el JTAG es habilitado por Boundary-scan y programandolo. El dispositivo es desplazado con los fusibles programados. Para el On-chip Debug system, adicionalmente los pines de interfase JTAG, el pin RESET es monitoreado por el depurador que es capaza de detectar fuentes de reset externas. El depurador puede también pull low al pin a reset al sistema entero, asumiendo solo colector abierto en la línea reset son usados en la aplicación.

Registro Reset:

El Registro Reset es un Registro de Datos de Prueba usado para restablecer la parte. Desde los pines del Pórtico de 3-estados cuando es reseteado, el Registro Reset puede también reemplazar la función de la opción no implementada de la instrucción HIGHZ en el JTAG. Un valor en alto del Registro Reset corresponde a pulling the external Reset low.

Page 13: Esructura Interna Del Microcontrolador Atmega 164p

Escaneando Pines de los Pórticos Digitales:

Muestra la célula del Boundary-scan para pin de pórticos bidireccionales.La función pull-up es deshabilitada durante Boundary-scan cuando el JTAG IC contiene EXTEST o SAMPLE_PRELOAD. La célula consiste de pines bi-direccionales combinando las tres señales del Control de Salida OCxn, Datos de Salida ODxn, y Datos de Entrada IDxn, en solo dos fases del Registro de Desplazamiento.

Page 14: Esructura Interna Del Microcontrolador Atmega 164p