INTRODUCCIÓN 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
Diagrama de bloques
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. –
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.
CARACTERÍSTICAS
CARACTERÍSTICAS
ENCAPSULADO ATMEGA 164P
TERMINALES DE POLARIZACIÓN
Voltajes de funcionamiento
2.7 - 5.5V (ATmega164P) 200 mA es la corriente máxima en los terminales VCC y GND
9
ENTRADA PARA EL RESET
Reset en el encendido y externo
10
TERMINALES PARA EL CRISTAL
Rangos de velocidad
0 20 MHz (ATmega164P) –
11
PÓRTICOS DE ENTRADA Y SALIDA
I/O 32 líneas de E/S programables
Pórtico A (8 bits) Pórtico B (8 bits) Pórtico C (8 bits) Pórtico D (8 bits)
12
CONVERSOR DE ANALÓGICO 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
13
COMPARADOR ANALÓGICO
Incorporado en el mismo chip La entrada positiva es AIN0 La negativa es AIN1 Se puede reemplazar AIN1 por las entradas analógicas ADC0 .. ADC7
14
INTERFACE JTAG PARA SISTEMA DE DEPURACIÓN
JTAG (IEEE std1149.1)
En la depuración se tiene acceso a todos periféricos Programación de la Flash, EEPROM, Fusibles y Bits de seguridad Depuración soportada por el AVR Studio®
15
INTERRUPCIONES EXTERNAS
INT0, INT1 e INT2
Pueden activarse por flanco de subida o de bajada, o por nivel de cero lógico También se puede generar por software, si son configurados los terminales como salidas
16
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
17
RECEPTORES / TRANSMISORES UNIVERSALES SINCRÓNICOS Y ASINCRÓNICOS
USART0 y USART1
Full duplex Velocidad de alta resolución 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 Operación de maestro o esclavo en comunicaciones sincrónicas 18
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 19
1280 BYTES DE LA SRAM INFORMACIÓN QUE SE ESTÁ PROCESANDO
LA SRAM CONTIENE 32 REGISTROS DE PROPÓSITO GENERAL, 64 REGISTROS DE ENTRADA / SALIDA, 160 REGISTROS ADICIONALES DE E/S y 1024 BYTE PARA INFORMACIÓN DATOS, DESDE: DE E/S Y DE 000 0000 0000 = $000 PERIFÉRICOS HASTA: ÁREA PARA 100 0101 1111 = $4FF ALMACENAR DATOS DEL USUARIO
INFORMACIÓN DE NUEVOS PERIFÉRICOS
32 REGISTROS DE PROPÓSITO GENERAL LOS REGISTROS ESTÁN 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
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
64 REGISTROS DE E/S LOS PÓRTICOS DE ENTRADA / SALIDA Y LOS PERIFÉRICOS ESTÁN 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
DIRECCIÓN COMO SRAM
DIRECCIÓN COMO E/S
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 FUNCIÓN Y PUEDEN SER ACCEDIDOS INDIVIDUALMENTE PARA LEER O MODIFICAR
BANDERAS DEL SREG BIT 0 = C BANDERA DEL LLEVO BIT 1 = Z BANDERA DE CERO BIT 2 = N BANDERA DE NEGACIÓN 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
PUNTERO DE LA PILA (STACK POINTER) LA PILA O STACK ES UNA ZONA DE LA SRAM DONDE SE ALMACENAN MOMENTÁNEAMENTE DATOS EL “STACK POINTER”
INDICA O APUNTA A LA DIRECCIÓN DEL ÚLTIMO DATO ALMACENADO EL SP ESTA FORMADO POR DOS REGISTROS EL SPH y EL SPL, QUE INICIALMENTE TIENEN EL VALOR $00
PÓRTICOS DE E/S PARALELAS LAS 32 LÍNEAS DE E/S CONFORMAN LOS CUATRO PÓRTICOS DE 8 BITS CADA UNO: PÓRTICO A, B, C y D PARA OPERAR CADA PÓRTICO UTILIZA TRES REGISTROS: EL DE ENTRADA “PINx”, EL DEL
SENTIDO O DIRECCIÓN DEL DATO “DDRx” Y EL DE SALIDA “PORTx”
160 REGISTROS E/S ADICIONALES ESTOS REGISTROS ESTÁN DESDE $060 HASTA $0FF EL ACCESO SOLO REALIZA MEDIANTE LAS DIRECCIONES QUE OCUPAN DENTRO DE LA SRAM NO ESTÁ TOTALMENTE OCUPADOS. A ESTA ZONA, TAMBIÉN SE HAN MOVIDOS CIERTOS REGISTROS QUE EN LOS ATmega16 ESTABAN EN LA OTRA ZONA DE REGISTROS DE E/S
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
•