The ATmega164P/324P/644P is a low-power CMOS 8-bit
microcontroller based on the AVR enhanced RISC architecture.
By executing powerful instructions in a single clock cycle, the ATmega164P achieves throughputs approaching 1 MIPS per MHz allowing the system designer to optimize power consumption versus processing speed. Diagrama de bloques 3 ESTRUCTURA INTERNA ESTRUCTURA INTERNA DE LOS AVR In order to maximize performance and parallelism, the AVR uses a Harvard architecture with separate memories and buses for program and data.
ESTRUCTURA INTERNA DE LOS AVR
ALU Arithmetic Logic Unit
The high-performance AVR ALU operates in direct connection with all the 32 general purpose working registers.
The ALU operations are divided into three main categories: arithmetic, logical, and bit-functions. CARACTERSTICAS CARACTERSTICAS ENCAPSULADO ATMEGA 164P 9 TERMINALES DE POLARIZACIN Voltajes de funcionamiento 2.7 - 5.5V (ATmega164P) 200 mA es la corriente mxima en los terminales VCC y GND 10 ENTRADA PARA EL RESET Reset en el encendido y externo 11 TERMINALES PARA EL CRISTAL Rangos de velocidad 0 20 MHz (ATmega164P) 12 PRTICOS DE ENTRADA Y SALIDA I/O 32 lneas de E/S programables Prtico A (8 bits) Prtico B (8 bits) Prtico C (8 bits) Prtico D (8 bits) 13 CONVERSOR DE ANALGICO A DIGITAL ADC de 10 bits 8 canales 8 canales de un solo terminal 2 canales diferenciales con ganancia programable de x1, x10 y x200 14 COMPARADOR ANALGICO Incorporado en el mismo chip La entrada positiva es AIN0 La negativa es AIN1 Se puede reemplazar AIN1 por las entradas analgicas ADC0 .. ADC7 15 INTERFACE JTAG PARA SISTEMA DE DEPURACIN JTAG (IEEE std1149.1) En la depuracin se tiene acceso a todos perifricos Programacin de la Flash, EEPROM, Fusibles y Bits de seguridad Depuracin soportada por el AVR Studio 16 INTERRUPCIONES EXTERNAS INT0, INT1 e INT2 Pueden activarse por flanco de subida o de bajada, o por nivel de cero lgico Tambin se puede generar por software, si son configurados los terminales como salidas 17 TEMPORIZADORES / CONTADORES Timer0 y Timer2 de 8 bits Timer1 de 16 bits Dispone de unidades comparadoras Sirven como Generadores de Frecuencias Poseen relojes pre escalables de 10 bits Permiten implementar Moduladores por Ancho del Pulso 18 RECEPTORES / TRANSMISORES UNIVERSALES SINCRNICOS Y ASINCRNICOS USART0 y USART1 Full duplex Velocidad de alta resolucin Tramas de 5, 6, 7, 8 o 9 bits, con 1 o 2 bits de parada Detector de errores de velocidad y en la trama Operacin de maestro o esclavo en comunicaciones sincrnicas 19 INTERRUPCIONES POR CAMBIO DE ESTADO INTERRUPCIONES EXTERNAS ADICIONALES Cambios entre PCINT0 y PCINT7 se registra en PCI0 Cambios entre PCINT8 y PCINT15 se registra en PCI1 Cambios entre PCINT16 y PCINT23 se registra en PCI2 Cambios entre PCINT24 y PCINT31 se registra en PCI3 20 1280 BYTES DE LA SRAM LA SRAM CONTIENE 32 REGISTROS DE PROPSITO GENERAL, 64 REGISTROS DE ENTRADA / SALIDA, 160 REGISTROS ADICIONALES DE E/S y 1024 BYTE PARA DATOS, DESDE: 000 0000 0000 = $000 HASTA: 100 0101 1111 = $4FF INFORMACIN QUE SE EST PROCESANDO INFORMACIN DE E/S Y DE PERIFRICOS INFORMACIN DE NUEVOS PERIFRICOS REA PARA ALMACENAR DATOS DEL USUARIO 21 32 REGISTROS DE PROPSITO GENERAL LOS REGISTROS ESTN IDENTIFICADOS ENTRE R0 y R31 LOS LTIMOS 16 SE DIFERENCIAN ALGO EN LA FUNCIONALIDAD DE LOS PRIMEROS LOS SEIS LTIMOS AGREGAN A ESA FUNCIONALIDAD, LA DE SER PARTE DE LOS PUNTEROS 22 REGISTROS PUNTEROS LOS TRES PUNTEROS DE 16 BITS X, Y y Z PERMITEN ACCEDER A LOS CONTENIDOS DE LOS ESPACIOS DE MEMORIA UTILIZANDO EL DIRECCIONAMIENTO INDIRECTO 23 64 REGISTROS DE E/S LOS PRTICOS DE ENTRADA / SALIDA Y LOS PERIFRICOS ESTN UBICADOS EN ESTA REA CUANDO SE ACCEDEN COMO LOCALIDADES DE MEMORIA, LAS DIRECCIONES SON ENTRE $020 y $05F; PERO, SI SE ACCEDEN COMO REGISTROS DE E/S DEBEN SER ENTRE $000 y $03F DIRECCIN COMO E/S DIRECCIN COMO SRAM 24 REGISTRO DE ESTADO EL STATUS REGISTER O SREG CORRESPONDE AL REGISTRO DE BANDERAS, OCUPA LA LTIMA LOCALIDAD DE ESTA REA CADA UNO DE LOS BITS TIENE DIFERENTE FUNCIN Y PUEDEN SER ACCEDIDOS INDIVIDUALMENTE PARA LEER O MODIFICAR 25 BANDERAS DEL SREG BIT 0 = C BANDERA DEL LLEVO BIT 1 = Z BANDERA DE CERO BIT 2 = N BANDERA DE NEGACIN BIT 3 = V BANDERA DEL DESBORDAMIENTO BIT 4 = S BANDERA DEL SIGNO BIT 5 = H BANDERA DEL LLEVO INTERMEDIO BIT 6 = T BANDERA PARA COPIAR BITS BIT 7 = I BANDERA PARA HABILITAR GLOBALMENTE LAS INTERRUPCIONES 26 LA PILA O STACK ES UNA ZONA DE LA SRAM DONDE SE ALMACENAN MOMENTNEAMENTE DATOS EL STACK POINTER INDICA O APUNTA A LA DIRECCIN DEL LTIMO DATO ALMACENADO EL SP ESTA FORMADO POR DOS REGISTROS EL SPH y EL SPL, QUE INICIALMENTE TIENEN EL VALOR $00 PUNTERO DE LA PILA (STACK POINTER) 27 LAS 32 LNEAS DE E/S CONFORMAN LOS CUATRO PRTICOS DE 8 BITS CADA UNO: PRTICO A, B, C y D PARA OPERAR CADA PRTICO UTILIZA TRES REGISTROS: EL DE ENTRADA PINx, EL DEL SENTIDO O DIRECCIN DEL DATO DDRx Y EL DE SALIDA PORTx PRTICOS DE E/S PARALELAS 28 ESTOS REGISTROS ESTN DESDE $060 HASTA $0FF EL ACCESO SOLO REALIZA MEDIANTE LAS DIRECCIONES QUE OCUPAN DENTRO DE LA SRAM NO EST TOTALMENTE OCUPADOS. A ESTA ZONA, TAMBIN SE HAN MOVIDOS CIERTOS REGISTROS QUE EN LOS ATmega16 ESTABAN EN LA OTRA ZONA DE REGISTROS DE E/S 160 REGISTROS E/S ADICIONALES 29 DIFERENCIAS AL PROGRAMAR ATMEGA164P Y ATMEGA16 INICIO DEL SEGMENTO DE DATOS $100 PARA EL ATmega164P $60 PARA EL ATmega16 FINAL DE LA SRAM $4FF PARA EL ATmega164P $45F PARA EL ATmega16 REFERENCIAS - Presentacin Ingeniero Jaime E. Velarde, EPN. - Manual del microcontrolador Atmega 164p