Upload
phungkhanh
View
218
Download
0
Embed Size (px)
Citation preview
José H. Moyano Sistemas Embebidos 2016 2/22
Qué es Arduino
Arduino es una plataforma electrónica open-source basada en un microcontrolador simple, puertos de entrada/salida y un entorno de desarrollo.
– Económico.
– Hardware y software fácil de usar.
– Hardware y software open-source.
– Software multiplataforma
José H. Moyano Sistemas Embebidos 2016 3/22
Qué es Arduino
● Diagrama de bloques simple de entrada/salida
Arduino UnoATmega8U2
ATmega16U2 (R3) Arduino UnoATmega328P
José H. Moyano Sistemas Embebidos 2016 4/22
ATmega328P
● Alimentación (1.8V / 5.5V)
● Reloj (hasta 20MHz)
● Watchdog
José H. Moyano Sistemas Embebidos 2016 5/22
ATmega328P
● Memoria flash (programas) 32 KB
● SRAM (datos) 2 KB
● EEPROM (memoria a largo plazo) 1 KB
José H. Moyano Sistemas Embebidos 2016 6/22
ATmega328P
3 temporizadores/contadores
● Diferentes frecuencias de reloj
● Admiten comparación y overflow
● Generan interrupciones
José H. Moyano Sistemas Embebidos 2016 7/22
ATmega328P
3 puertos de I/O:
● 23 líneas programables de I/O
● 2 puertos de 8 bits, 1 de 7 bits
José H. Moyano Sistemas Embebidos 2016 9/22
ATmega328P
Conversor Analógico/Digital
● Resolución de 10 bits
● Genera una interrupción al terminar
José H. Moyano Sistemas Embebidos 2016 10/22
ATmega328P
CPU (Capítulo 7 datasheet)
● Memoria y buses separados para código y datos (arquitectura Harvard).
● Ejecuta instrucciones en cada ciclo de reloj (mientras una instrucción se ejecuta, se busca la próxima).
● 32 registros 8-bit de propósito general que se acceden en 1 ciclo de reloj. Incluye 3 registros 16-bit para direccionamiento indirecto a memoria de datos.
● La pila del sistema se almacena en la memoria de datos (SRAM).
José H. Moyano Sistemas Embebidos 2016 11/22
Arduino Uno
● ATmega328P (8-bits AVR)
● Reloj 16 MHz
● 14 pines de e/s digitales
– 6 pines con salida PWM
– 2 interrupciones externas
● 6 entradas analógicas
● Alimentación: 5 V/7-12 V
● Memoria de código 32 KB - 0.5KB (bootloader)
José H. Moyano Sistemas Embebidos 2016 12/22
Etapas
Diseño Codificación Compilación
Simulación yDebugging
FlashingTesteo
José H. Moyano Sistemas Embebidos 2016 13/22
Toolchain
● Diseño: Papel y lápiz. Hojas de datos. Imaginación.
● Codificación: Editor de texto | IDE (Atmel Studio)
● Compilación: avr-gcc
● Linkeo: avr-ld
● Traducción del ejecutable: avr-objcopy
● Simulación y Debugging: Atmel Studio
● Flashing: avrdude + [Atmel Studio | avrdudess]
José H. Moyano Sistemas Embebidos 2016 14/22
Software a instalar
● Arduino 1.6.1
– http://arduino.cc/en/Main/Software● Atmel Studio 6.2
– http://www.atmel.com/tools/atmelstudio.aspx● Terminal for Atmel Studio
– https://gallery.atmel.com/Products/Details/8491028b-e3a5-46fe-9449-dd22e7f59452
José H. Moyano Sistemas Embebidos 2016 15/22
Configuración de Atmel Studio
Crear un nuevo proyecto ”Executable C++”
Nombredel proyecto
José H. Moyano Sistemas Embebidos 2016 16/22
Configuración de Atmel Studio
Elegir el microcontrolador ATmega328P.
José H. Moyano Sistemas Embebidos 2016 17/22
Configuración de Atmel Studio
En las propiedades del proyecto, en la sección “Toolchain”, bajo “AVR/GNU C++ Compiler” agregar dos símbolos.
ARDUINO=100F_CPU=16000000L
José H. Moyano Sistemas Embebidos 2016 18/22
Configuración de Atmel Studio
● Setear la optimización para tamaño (-Os)
José H. Moyano Sistemas Embebidos 2016 19/22
Uploading con Atmel Studio
En el menú “Tools > External Tools...”
C:\Program Files\Arduino\hardware\tools\avr\bin\avrdude.exe
-C"C:\Program Files\Arduino\hardware\tools\avr\etc\avrdude.conf"-patmega328p -carduino -P\\.\COM3 -b115200 -Uflash:w:"$(ProjectDir)Debug\$(ItemFileName).hex":i
Tildar las opciones:● Prompt for arguments para modificar
COMX con el número de puerto COM correcto.
● Use Output window, para que los mensajes del avrdude aparezcan donde normalmente aparecen los mensajes del compilador.
José H. Moyano Sistemas Embebidos 2016 20/22
Uploading con Atmel Studio
Al guardar esta configuración aparece accesible una herramienta externa en el menú “Tools”. Antes de invocar esta herramienta se debe seleccionar el proyecto en la ventana “Solution Explorer” para que la variable $(ItemFilenName) se setee correctamente.
José H. Moyano Sistemas Embebidos 2016 21/22
Uploading con avrdudess
Homepage: http://blog.zakkemble.co.uk/avrdudess-a-gui-for-avrdude/
José H. Moyano Sistemas Embebidos 2016 22/22
Debugging
● Atmel Studio Simulator
– https://www.youtube.com/watch?v=9QlDSNeuAdY
– http://www.atmel.com/webdoc/simulator/simulator.wb_Simulator_Use.html
● Estímulos y logs
– https://www.youtube.com/watch?v=5kF-Y8q7e9k
– http://www.atmel.com/webdoc/simulator/simulator.wb_Simulator2_Stimuli.html