Академический Документы
Профессиональный Документы
Культура Документы
MICROCONTROLADORES
SEMANA 6
JUEGO DE INSTRUCCIONES Y PROGRAMACIÓN
DELMicrocontroladores
MICROCONTROLADOR PIC
Atmel
Todos los derechos de autor son de la exclusiva propiedad de IACC o de los otorgantes de sus licencias. No está
IACC-2019
permitido copiar, reproducir, reeditar, descargar, publicar, emitir, difundir, poner a disposición del público ni
utilizar los contenidos para fines comerciales de ninguna clase.
1
SEMANA 6 – MICROCONTROLADORES
APRENDIZAJE ESPERADO
• Caracterizar microcontroladores Atmel
y sus variantes.
IACC-2019
2
SEMANA 6 – MICROCONTROLADORES
APRENDIZAJE ESPERADO..................................................................................................................... 2
INTRODUCCIÓN ................................................................................................................................... 4
1. MICROCONTROLADORES ATMEL ................................................................................................ 5
1.1. FAMILIA AVR........................................................................................................................ 6
1.2. ARQUITECTURA ................................................................................................................... 7
1.2.1. CPU .................................................................................................................................. 8
1.2.2. MEMORIA DE PROGRAMA .............................................................................................. 9
1.2.3. MEMORIA DE DATOS....................................................................................................... 9
1.2.4. INICIALIZACIÓN.............................................................................................................. 10
1.2.5. PILA DE PROGRAMA ...................................................................................................... 11
1.2.6. REGISTROS DE ESTADO ................................................................................................. 11
1.2.7. RELOJ ............................................................................................................................. 12
1.3. HERRAMIENTAS DE ATMEL AVR........................................................................................ 13
1.3.1. SOFTWARE AVR-STUDIO ............................................................................................... 13
1.3.2. TÁCTIL CAPACITIVA ....................................................................................................... 15
1.3.3. INTELIGENCIA PERIFÉRICA ............................................................................................. 16
COMENTARIO FINAL.......................................................................................................................... 17
IACC-2019
3
SEMANA 6 – MICROCONTROLADORES
INTRODUCCIÓN
La arquitectura y el concepto de los núcleo AVR, bajo costo y profusa
microcontroladores AVR de Atmel fue creado disponibilidad en el mercado.
por dos estudiantes para desarrollar una
familia capaz de competir con los Al igual que los PIC, los AVR cuentan con una
microcontroladores PIC, líderes del mercado comunidad de seguidores, gracias a la
para entonces, consiguiendo con el tiempo existencia de herramientas de desarrollo de
bajo costo o gratuitas y la existencia de una
una familia de 8 bits y otra de 32 bits. En 2016
esta empresa fue absorbida por los versión de software libre de las herramientas.
fabricantes de los PIC, Microchip Esta semana se abordará la familia de
Technologies. microcontroladores AVR, del fabricante
En la actualidad, los AVR, junto con los PIC, Atmel, conociendo su arquitectura y algunas
son los microcontroladores más utilizados a de las herramientas de desarrollo disponibles
nivel mundial, gracias a la facilidad de uso del en el mercado.
“El ATmega328P tiene una arquitectura de tipo AVR, arquitectura desarrollada por Atmel y en
cierta medida ´competencia´ de otras arquitecturas como por ejemplo la PIC del fabricante”
Microchip (Torrente, 1996, p. 3).
IACC-2019
4
SEMANA 6 – MICROCONTROLADORES
1. MICROCONTROLADORES ATMEL
Los microcontroladores AVR1 fueron desarrollados por la empresa Atmel Corp. Esta empresa
incluye, dentro de su línea de productos, un conjunto de microcontroladores, muchos de ellos
derivados del 8051, que incluyen dispositivos de arquitectura ARM2 y otras arquitecturas propias.
Son utilizados cada vez más en aplicaciones de vanguardia, tales como, telefonía inteligente,
dispositivos médicos avanzados, periféricos de videojuegos, accesorios de audio, entre otras. Sus
características más destacadas son:
Arquitectura Harvard, con memoria EEPROM para datos, flash para código y SRAM.
Arquitectura de 8 bits, tipo RISC.
Arquitectura tipo Registro-Registro para la operación con los datos.
Arquitectura cerrada.
Lo anterior permite el desarrollo de prototipos de menor costo, más pequeños y más fiables. En la
figura se presenta un gráfico de tamaño versus características, donde se visualiza el modelo de
microcontrolador a utilizar en función de los requerimientos.
IACC-2019
5
SEMANA 6 – MICROCONTROLADORES
Microcontrolador Atmel
Fuente: https://bit.ly/2vKASnh
Los AVR3 son una de las familias más populares del fabricante Atmel4, concebida por dos estudiantes
del Norwegian Institute of Technology y desarrollado desde 1996. Constituyó un microcontrolador
de 8 bits, en una única pastilla, con arquitectura Harvard y memoria flash5 para almacenamiento de
programa. Se hizo muy popular por su incorporación en la línea Arduino6 y placas de desarrollo de
hardware libre.
Además de los listados en la tabla a continuación, se cuenta con algunas variantes, con las siguientes
características:
3 Aunque Atmel explica que el término AVR no es un acrónimo, tampoco explica las razones de este nombre, por lo que
comúnmente se acepta que AVR significa Alf Vegard´s RISC (RISC de Alf y Vegard, estos últimos son los creadores de esta
familia de microcontroladores).
4 Adquirida por Microchip Technology en 2016.
5 Derivada de las EEPROM, que permite la lectura y escritura de múltiples posiciones de memoria en la misma operación.
6 Placa de desarrollo de hardware, con software y hardware libre, y que utiliza esta marca de microprocesadores.
IACC-2019
6
SEMANA 6 – MICROCONTROLADORES
1.2. ARQUITECTURA
Uno de los aspectos más interesantes dentro de la arquitectura de esta familia de
microcontroladores, está en el hecho de contar con memoria flash y EEPROM, así como una
memoria RAM estática (SRAM), todo en un mismo chip. Algunos dispositivos cuentan con un bus
paralelo externo, lo cual permite añadir memoria extra de datos o dispositivos periféricos mapeados
a memoria. A excepción de los TinyAVR, todos estos cuentan con interfaces seriales, que pueden
ser utilizados para conectar memorias EEPROM seriales o integrados tipo flash.
Tal como se mencionó, la arquitectura de los AVR es del tipo es del tipo Registro – Registro, es decir,
el juego de instrucciones está orientado hacia el uso directo de registros. Por otra parte, la
información contenida en la SRAM únicamente puede operarse cuando se encuentra en un registro
y cuenta con diversas instrucciones para almacenamiento o cargas, tanto directas como indirectas.
IACC-2019
7
SEMANA 6 – MICROCONTROLADORES
1.2.1. CPU
La línea AVR puede soportar velocidades de reloj desde 0 MHz a 20 MHz, aunque algunos
dispositivos pueden alcanzar los 32 MHz. Otras variantes presentan osciladores en el mismo chip, lo
que evita la necesidad de circuitos resonadores o relojes externos. En general, todas las
instrucciones se ejecutan en un único ciclo, excepto las instrucciones de bifurcamiento y de carga o
almacenamiento desde o hacia la memoria que se ejecuta en dos ciclos.
Núcleo AVR
Fuente: http://www.utm.mx/~fsantiag/Micros/0_Presentacion_Elect.pdf
Como es de esperarse, la CPU garantiza la correcta ejecución del programa almacenado en memoria.
La CPU accesa las diferentes memorias, realiza cálculos, maneja interrupciones y controla
periféricos. Utiliza una arquitectura Harvard (buses y memoria separados para datos e
instrucciones) a fin de hacer posible la segmentación y llevar al máximo el rendimiento. Soporta
operaciones lógicas y aritméticas entre un registro y una constante o entre registros, aunque
también se dispone de operaciones de un único registro.
IACC-2019
8
SEMANA 6 – MICROCONTROLADORES
Está constituida por una memoria tipo flash, cuyo tamaño depende directamente del modelo en
particular considerado. Es capaz de soportar hasta 10,000 ciclos de borrado/escritura/borrado. Es
posible dividirla en una sección para arranque y una para aplicación. Es interesante observar que los
vectores de interrupción forman parte de la memoria de programa, iniciando en la dirección 0.
Memoria de programa
Fuente: http://www.utm.mx/~fsantiag/Micros/0_Presentacion_Elect.pdf
IACC-2019
9
SEMANA 6 – MICROCONTROLADORES
Memoria de datos
Fuente: http://www.utm.mx/~fsantiag/Micros/0_Presentacion_Elect.pdf
1.2.4. INICIALIZACIÓN
La inicialización del microcontrolador tiene lugar cuando se energiza el dispositivo o cuando ha
recibido una señal interna o externa para hacerlo, momento en el cual inicia o continúa con la
ejecución del programa almacenado en memoria. Esta inicialización es conocida normalmente como
reset.
Una vez que el dispositivo se recupera de una situación de reset, este espera un tiempo de
establecimiento típicamente de 65 ms, previa a la recuperación del sistema, lo que garantiza que
los registros cuenten con su valor inicial. Existen varias condiciones en las cuales puede ocurrir un
Reset:
IACC-2019
10
SEMANA 6 – MICROCONTROLADORES
Se compone de dos registros llamados SPH y SPL, a fin de direccionar al espacio completo de
memoria. Posterior a un reset, el apuntador de pila cuenta con un valor de 0x0000.
El microcontrolador cuenta con 32 registros de 8 bits de propósito general, seis de estos pueden ser
utilizados como apuntadores de 16 bit, los cuales van desde el registro R26 al registro R31, desde la
dirección de memoria 0x1A hasta 0x1F.
7 Se define la
pila como la lista ordenada que permite el almacenamiento y recuperación de datos en una estructura donde
el último dato en entrar es el primero en salir.
IACC-2019
11
SEMANA 6 – MICROCONTROLADORES
7 0 Dir.
R0 0x00
R1 0x01
R2 0x02
…
R13 0x0D
R14 0x0E
R15 0x0F
R16 0x10
R17 0x11
…
R26 (XL) 0x1A
X{
R27 (XH) 0x1B
R28 (YL) 0x1C
Y{
R29 (YH) 0x1D
R30 (ZL) 0x1E
Z{
R31 (ZH) 0x1F
1.2.7. RELOJ
La línea de microcontroladores AVR trabaja con una velocidad de reloj de 0 a 20 MHz, con varios
dispositivos de 32 MHz. Algunos modelos también tienen un preescalador de ajuste de reloj que
puede dividir el sistema de reloj hasta por 1024, y se puede reconfigurar por software durante la
ejecución. Las opciones para la señal de reloj son las siguientes:
IACC-2019
12
SEMANA 6 – MICROCONTROLADORES
El dispositivo cuenta con múltiples fuentes para generar la señal de reloj y simultáneamente la señal
de reloj es distribuida en diferentes módulos. La unidad de control del reloj es la encargada de la
generación de múltiples señales que son distribuidas a los múltiples módulos, estas son:
clkCPU: dirigido al núcleo AVR, incluyendo al registro de estado, archivo de registros, apuntador
de pila y memoria de datos, entre otras.
clkFLASH: dirigida a las memorias EEPROM y flash.
clkADC: reloj dedicado al convertidor analógico-digital.
clkI/O: utilizado por los módulos de interfaces SPI y USART, temporizadores y el módulo de
interrupciones externas.
clkASY: utilizada para sincronizar al temporizador 2, el cual permite utilizar al temporizador
como un contador de tiempo real.
A continuación, se tratarán las dos más utilizadas y populares dentro del ecosistema de trabajo de
este microcontrolador.
Constituye el software de desarrollo oficial de Atmel, contando con múltiples herramientas útiles
para poder escribir, hacer la compilación, la depuración, y finalmente, programar los diferentes
modelos de microcontroladores AVR, utilizando para ello una misma interface gráfica. Este software
incluye un simulador a través del cual se puede observar el estado de registros y puertos mientras
tiene lugar la ejecución de un programa.
IACC-2019
13
SEMANA 6 – MICROCONTROLADORES
En el siguiente link se dispone una guía para la descarga para este tipo de
microcontrolador:
http://www.coffeebrain.org/wiki/index.php?title=Instalaci%C3%B3n_y_
Configuraci%C3%B3n_Atmel_Studio
IACC-2019
14
SEMANA 6 – MICROCONTROLADORES
Es interesante observar que esta tecnología permite detectar y eliminar falsos toques, uso con
dedos mojados, guantes o lápices tipo stylus. Dentro de esta familia se cuenta con muchas
categorías no descritas aquí como, por ejemplo, la capacidad de ofrecer respuesta sin necesidad de
hacer un toque sobre la pantalla, a distancias de entre 20 y 30mm.
IACC-2019
15
SEMANA 6 – MICROCONTROLADORES
También constituyen una excelente opción para aplicaciones alimentadas a batería y portátiles. Esta
familia integra una unidad de punto flotante, la cual incrementa el rendimiento aritmético en
números decimales, con un rango dinámico más amplio y mayor precisión. Cuenta con las siguientes
características:
8
Sigla de Direct Access Memory (Acceso Directo a Memoria).
IACC-2019
16
SEMANA 6 – MICROCONTROLADORES
COMENTARIO FINAL
Los microcontroladores AVR cuentan con una arquitectura de alto rendimiento, simplicidad de uso
y uno de los consumos energéticos más bajos de la industria. Todo ello convierte a esta familia en
una excelente opción para desarrolladores de las más variadas aplicaciones, siendo una de las más
interesantes opciones para mercados nacientes como el del internet de las cosas.
ATMEL Corp. ofrece una amplia y gama de microcontroladores, tanto de 8 como de 32 bits. Esta
semana se abordaron tópicos tales como la organización de la memoria, de datos y de programa,
componentes internos complementarios, así como la herramienta de desarrollo de software que
ofrece al fabricante, junto con algunos modelos particulares.
IACC-2019
17
SEMANA 6 – MICROCONTROLADORES
REFERENCIAS
IACC-2019
18
SEMANA 6 – MICROCONTROLADORES
IACC-2019
19