SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
NXProg
Hoja de datos
Programador de la familia AVR de Atmel
NXProg
Este documento se encuentra protegido por una licencia Creative Commons
Creative Commons: Atribution, Non-commercial, Share Alike
Atribución:
Puede copiar, distribuir y/o transmitir este trabajo siempre y cuando reconozca el
autor original del mismo, en este caso Naxus Sistemas Inteligentes.
No Comercial:
No puede utilizar este trabajo para propósitos comerciales.
Comparta igual:
Si realiza alguna modificación, alteración o construcción a partir de este trabajo,
puede distribuirlo únicamente usando la misma licencia o una similar.
Naxus Sistemas Inteligentes
Cra. 84A # 5 - 12
Cali, Colombia
www.naxuscolombia.com
contacto@naxuscolombia.com
Revisión 1.3 Página 2
NXProg
Índice de contenido
1. INTRODUCCIÓN.....................................................................................4
2. CARACTERÍSTICAS.................................................................................4
3. HARDWARE...........................................................................................5
3.1. CONECTOR ISP................................................................................7
3.2. ESTADOS DE NXPROG.....................................................................10
3.3. CONEXIÓN A MICROCONTROLADORES EN FORMATO DIP......................11
4. SOFTWARE..........................................................................................17
4.1. INSTALACIÓN DEL DRIVER...............................................................17
4.2. USO DE PROGRAMAS COMERCIALES.................................................21
4.2.1. Programando con WinAVR..........................................................22
4.2.2. Programando con CodeVisionAVR................................................23
4.2.3. Programando con AVRStudio 4....................................................29
5. TARJETAS DE EXPANSIÓN......................................................................40
6. LINKS.................................................................................................41
Revisión 1.3 Página 3
NXProg
1. INTRODUCCIÓN
NXProg es un programador versátil que le permite programar toda la gama
de dispositivos de la familia AVR de Atmel, que incluye las subfamilias
ATTiny, Atmega y AT90. Su puerto de programación ISP es compatible con
el puerto estándar ISP de 6 pines manejado por Atmel en sus tarjetas de
desarrollo. Por lo tanto puede utilizar NXProg para programar tarjetas que
incluyan este puerto como las conocidas STK500, AVR Butterfly, Arduino,
etc. Asimismo NXProg es compatible con otros productos de la marca, como
las tarjetas USBee, o AVR-Board. El programador es completamente
compatible con el software de programación más comercial, como el AVR
Studio de Atmel, el compilador CodeVisionAVR de HP Info Tech, o el
programador de software libre AVRDUDE, incluído en el framework WinAVR.
2. CARACTERÍSTICAS
○ Conexión por USB.
○ Detección de correcta conexión del programador.
○ Indicación de programación en curso.
○ Pinout del programador compatible con el estándar de 6 pines de Atmel.
○ Programación directamente en montajes de protoboard.
○ Protección de corto circuito en las señales del conector.
○ Programación en niveles de voltaje de 3.3V y 5V.
Revisión 1.3 Página 4
2. CARACTERÍSTICAS
1. INTRODUCCIÓN
NXProg
3. HARDWARE
NXProg es un programador versátil dirigido a desarrolladores que trabajan
con microcontroladores Atmel, arquitectura AVR. Es un programador rápido
y eficiente, que utiliza el protocolo estándarizado por Atmel STK500, por lo
que NXProg es completamente compatible con el software de programación
de Atmel y otros proveedores. Además existen drivers para sistemas
operativos Windows y Linux. El puerto de conexión al computador es USB,
con lo que se superan las limitaciones de otros programadores de bajo
costo que trabajan por serial o incluso por paralelo. El conector USB es tipo
B.
NXProg incluye el programador, claramente identificado por su puerto USB y
el puerto ISP de 10 pines (Figura 1.a), así como una tarjeta de expansión
para la programación In-Circuit en un protoboard (Figura 1.b).
(a) (b)
Figura 1: Programador NXProg (a) y tarjeta de expansión para conexión a protoboard (b)
Últimamente han ido cogiendo fuerza los dispositivos de bajo consumo, que
trabajan a 3.3V a diferencia de los típicos 5V de alimentación. Por tal razón,
NXProg permite configurar sus niveles de voltaje en 3.3V o en 5V a través
del jumper SJ0 (ver figura 2). NXProg cuenta además con dos LEDs (LD0 y
LD1) que definen el estado del programador, su correcta conexión al circuito
e incluso su reconocimiento por el sistema operativo, que establece si el
driver está o no correctamente instalado.
La figura 2 ilustra la cara posterior de NXProg.
Revisión 1.3 Página 5
3. HARDWARE
NXProg
Figura 2: Cara posterior de NXProg
Revisión 1.3 Página 6
LED de encendido
(PWR)
Selección de
voltaje (3.3V – 5V)
(SJ0)
Cristal
16MHz
LED de
programación
(LD1) Conector ISP
(10 pines)
LED de conexión
/desconexión
(LD0)
Microcontrolador
ATMega32U2
Puerto USB tipo B
NXProg
3.1. CONECTOR ISP
El conector ISP de NXProg está conformado por las señales presentes en la
figura 3, y éstas son descritas a continuación.
9 7 5 3 1
GND RESET SCK MISO CLK_G
VCC GND MOSI R_CLK
10 8 6 4 2
Figura 3: Conector ISP de NXProg
Descripción de pines:
1 CLK_GEN: Señal de reloj de 1 Mhz para rescate de
microcontroladores cuyos fuse bits han sido
incorrectamente programados.
2 RESCUE_CLK: Señal de reloj para recuperación del programador. Este
pin es exclusivamente de uso en fábrica, y no debe ser
conectado.
3 MISO: Señal MISO para conexión al pin MISO del
microcontrolador a programar. El pin MISO hace parte
del puerto SPI del microcontrolador.
4 NC: No conectar.
5 SCK: Señal SCK para conexión al pin SCK del
microcontrolador a programar. El pin SCK hace parte
del puerto SPI del microcontrolador.
6 MOSI: Señal MOSI para conexión al pin MOSI del
Revisión 1.3 Página 7
NXProg
microcontrolador a programar. El pin MOSI hace parte
del puerto SPI del microcontrolador.
7 RST: Señal de reset del microcontrolador. Es indispensable la
conexión de una resistencia de pull-up al voltaje de
alimentación. El valor de esta resistencia no debe ser
mayor a 10k ohms (ver figura para la conexión).
8 GND: Conexión a tierra o masa del circuito.
9 GND: Conexión a tierra o masa del circuito.
10 VCC: Voltaje de alimentación del circuito. Se establece a 5V o
3.3V dependiendo de la configuración en SJ0 (ver figura
1)
Esta misma numeración es la manejada por la tarjeta de expansión, con lo
que se facilita el cableado de la misma en el protoboard (ver figura 1.b).
Conexión de la señal de Reset
La conexión de la señal de reset del microcontrolador debe seguir el
montaje de la figura 4. Es importante la conexión del pull-up ya que de esta
manera el programador establece si el microcontrolador se encuentra
correctamente conectado al sistema. Los microcontroladores AVR
generalmente tienen incluída la resistencia de pull-up internamente, por lo
tanto puede obviarse el montaje externo de R1. Este montaje es una
versión sencilla de un circuito POWER-ON RESET, que implementa un
pequeño filtro que permite resetear el microcontrolador cuando ya se ha
alcanzado un voltaje estable en la alimentación.
Revisión 1.3 Página 8
NXProg
Figura 4: Conexión de la señal de reset en el
microcontrolador
Equivalencia con ISP de Atmel
Como se había mencionado anteriormente, el conector ISP del NXProg es
compatible con el conector ISP de 6 pines de los productos Atmel. Sin
embargo, el conector de NXPRog incluye 10 pines. Los pines adicionales son
características extendidas del programador. Los pines compatibles se
encuentran en las señales intermedias del conector. La figura 5 ilustra esta
compatibilidad.
(a) (b)
Figura 5: Conector ISP estándar Atmel vs. Conector ISP de NXPRog
Revisión 1.3 Página 9
Opcional
NXProg
3.2. ESTADOS DE NXPROG
El programador NXProg utiliza los dos leds LD0 y LD1 para señalar el estado
en el que se encuentra actualmente. Por lo general LD0 es de color naranja
o amarillo, mientras que LD1 es de color verde. La tabla resume los estados
posibles. La figura 6 ilustra los estados directamente observados en el
programador.
ESTADOS DESCRIPCIÓN
LD0 = OFF
LD1 = OFF
APAGADO/FALLA:
El programador se encuentra apagado o
presenta fallas.
LD0 = ON
LD1 = OFF
NO RECONOCIDO:
El programador está conectado pero no se han
instalado los drivers para que sea reconocido
por el sistema operativo.
LD0 = ON
LD1 = ON
CONEXIÓN ERRÓNEA:
El programador se encuentra reconocido por el
sistema, pero no se encuentra correctamente
conectado al microcontrolador (o simplemente
no se encuentra conectado).
LD0 = OFF
LD1 = ON
CONEXIÓN CORRECTA:
El programador se encuentra reconocido por el
sistema y correctamente conectado al
microcontrolador.
LD0 = OFF
LD1 = ON
(TITILANDO)
PROGRAMACIÓN:
El programador se encuentra comunicándose
con el microcontrolador.
Tabla 1: Estados del programador
(a) (b) (c)
Figura 6: Estados del programador: a) NO RECONOCIDO, b) CONEXIÓN ERRÓNEA, c) CONEXIÓN
CORRECTA
Revisión 1.3 Página 10
NXProg
Es importante señalar que el estado CONEXIÓN ERRÓNEA verifica
exclusivamente que la señal de reset se encuentre correctamente
conectada. Este estado es una simple ayuda para tarjeta que ya poseen un
conector ISP y se quiere verificar que el programador se encuentre en la
posición correcta. Por lo tanto, no se detectan errores debido a mal
cableado de las señales.
3.3. CONEXIÓN A MICROCONTROLADORES EN FORMATO DIP
Esta sección ilustra la manera de conectar NXProg a los microcontroladores
AVR en formato DIP. Recuerde que puede utilizar la tarjeta de conexión a
protoboard para facilitar el cableado. En la familia AVR de Atmel existen
hasta cinco configuraciones de pinout (distribución de pines) diferentes. Se
incluirán aquí las imagenes de conexión del programador junto con una lista
de los microcontroladores más comunes de cada formato. La línea punteada
de la señal CLK_G es opcional, y debe utilizarse únicamente si el dispositivo
no tiene conectado un cristal externo o no está trabajando con el oscilador
interno. La señal CLK_G es una señal de reloj de 1MHz generada por
NXProg. No es indispensable su conexión, ésta debe realizarse sólo si NO
está conectado al microcontrolador un cristal externo o no está configurado
para utilizar el oscilador interno (definido por los fusebits). Por esta razón,
se observa que en las imágenes su conexión aparece como una línea
punteada dando a entender que es ésta es opcional. Cuando se utilice
CLK_G como señal del reloj del microcontrolador, es indispensable modificar
la frecuencia SCK a la más baja. WinAVR o Codevision permiten configurar
la frecuencia de la señal SCK, AVR Studio por defecto trabaja con la
frecuencia más baja así que no hay necesidad de modifcarla con este
programa.
Microcontroladores de 8 pines
Microcontroladores soportados: AT90S2323 AT90LS2323 AT90S2343
AT90LS2343 ATtiny12 ATtiny12L ATtiny12V ATtiny15L ATtiny22L ATtiny25V
ATtiny45V ATtiny85V ATtiny13V ATtiny13 ATtiny25 ATtiny45 ATtiny85
Revisión 1.3 Página 11
NXProg
Figura 7: Conexión a un microcontrolador de 8 pines
Microcontroladores de 20 pines
Microcontroladores soportados: AT90S1200-4 AT90S1200-12 AT90S2313-4
AT90S2313-10 ATtiny24 ATtiny44 ATtiny84 ATtiny261 ATtiny461 ATtiny861
ATtiny2313 ATtiny2313V
Revisión 1.3 Página 12
NXProg
Figura 8: Conexión a un microcontrolador de 20 pines
Microcontroladores de 28 pines
Microcontroladores soportados: AT90S4433 AT90LS4433 AT90S2333
AT90LS2333 ATmega48 ATmega8 ATmega8L ATmega168V ATmega88V
ATmega48V ATmega88 Atmega168 ATmega328
Revisión 1.3 Página 13
NXProg
Figura 9: Conexión a un microcontrolador de 28 pines
Microcontroladores de 40 pines
Microcontroladores soportados: AT90S4414-8 AT90S4434 AT90LS4434
ATmega16 ATmega16L ATmega32 ATmega32L ATmega163 ATmega163L
ATmega323 ATmega323L ATmega644 ATmega644V ATmega324V
ATmega324 ATmega164V ATmega164
Revisión 1.3 Página 14
NXProg
Figura 10: Conexión a un microcontrolador de 40 pines, versión 1
Microcontroladores de 40 pines
Microcontroladores soportados: AT89S51 AT89S52 AT90S8515-4
AT90S8515-8 AT90S8535 AT90LS8535 ATmega8515 ATmega8515L
ATmega8535 ATmega8535L ATmega162 ATmega162L ATmega162V
ATmega161L ATmega161
Revisión 1.3 Página 15
NXProg
Figura 11: Conexión a un microcontrolador de 40 pines, versión 2
Revisión 1.3 Página 16
NXProg
4. SOFTWARE
4.1. INSTALACIÓN DEL DRIVER
El programador NXProg, al tener conectividad USB, necesita de un driver
para ser reconocido en el Sistema Operativo. En Linux el driver ya se
encuentra incluido a partir de la versión 2.6 del kernel. Para versiones más
antiguas por favor remitirse a nuestro correo de contacto. Para usuarios de
Windows (XP/Vista/7) se ha facilitado el driver en el archivo
AVR_NXprog.inf, que puede ser descargado desde nuestra página web en la
sección Descargas de NXProg. El driver incluído ha sido probado sobre las
siguientes versiones de Windows:
• Windows XP 32 bits.
• Windows Vista 32/64 bits.
• Windows 7 de 32 bits.
Para Windows 7 de 64 bits es necesario desactivar la verificación de
drivers firmados que hace el sistema operativo. Existen varias
maneras de realizar esta operación y en la red existe suficiente información
al respecto. Para sistemas operativos Linux NO se requiere ningún driver.
Primer paso
Conecte el programador a un puerto USB libre de su computador. Deberá
aparecer una alerta indicando que el programador NXProg ha sido
reconocido, tal y como se muestra en la figura 12. El programador debe
tener únicamente el led naranja encendido, indicando que aún no ha sido
reconocido por el sistema.
Figura 12: Programador reconocido por el
Sistema Operativo
Revisión 1.3 Página 17
4. SOFTWARE
NXProg
Segundo paso
Posteriormente aparece una ventana para establecer cómo instalar el driver
del dispositivo. La primera opción define si se desea que Windows Update
busque el driver por usted (Figura 13.a). Escoga la opción "No por el
momento" y pulse en Siguiente. En la siguiente ventana el asistente le
pedirá si desea que éste realice una búsqueda automática del driver (figura
13.b). Rechace también esta opción, seleccionando la opción "Instalar
desde una ubicación específica" y pulsando Siguiente. Luego aparece una
ventana en donde solicita la ubicación del driver (figura 13.c). Ingrese la
ubicación del archivo AVR_NXprog.inf en su sistema y pulse Siguiente. En
caso de que aparezca la ventana de la figura 13.d, pulse en Continuar. El
driver comenzará a ser instalado y aparecerá la ventana de finalización de
instalación (figuras 13.e y 13.f).
Revisión 1.3 Página 18
NXProg
(a) (b)
(c) (d)
(e) (f)
Figura 13: Instalación del driver en Windows
Revisión 1.3 Página 19
NXProg
Si todo ha salido correctamente, observará que aparece el mensaje de la
figura 14 en la barra de herramientas de Windows.
Figura 14: Driver correctamente instalado
Puerto serial del NXProg
Con el programador NXProg ya reconocido por el sistema es posible
comenzar a utilizar los programas comerciales para trabajo con la
arquitectura AVR. El programador es reconocido como un puerto serial
virtual, por lo que es necesario conocer el puerto serie que le ha asignado el
sistema operativo. En Linux el dispositivo es reconocido como un puerto de
comunicaciones CDC, por lo que el sistema operativo lo asigna en
/dev/ttyACM*, donde el asterisco denota el número de asignación, que
depende de cuantos dispositivos tipo CDC se encuentren conectados en el
sistema.
En Windows, el procedimiento para conocer el puerto asignado se describe
a continuación. Es necesario ingresar al Panel de Control (Menú Inicio,
Panel de Control), y en éste, seleccionar la opción Sistema (Figura 15.a). En
la nueva ventana, seleccionar la pestaña Hardware, y pulsar el botón
Administrador de dispositivos (Figura 15.b). Se despliega una nueva
ventana, donde se observan todos los dispositivos hardware reconocidos
por el sistema operativo (Figura 15.c). Buscar la sección de Puertos (COM &
LPT). En ésta debe aparecer un puerto denominado USB Virtual Serial Port
(COM*), en donde el valor en paréntesis indica el puerto asignado. En la
figura 15.c se observa que el puerto asignado al dispositivo ha sido el
puerto COM4.
Revisión 1.3 Página 20
NXProg
(a) (b)
(c)
Figura 15: Reconocimiento del dispositivo como un puerto serial virtual
Si desea ver las propiedades del driver, pulse sobre el ícono AVR NXProg el
botón derecho y seleccione la opción Propiedades. Se despliega la ventana
de la figura 16.
Revisión 1.3 Página 21
NXProg
Figura 16: Propiedades del driver de NXProg
4.2. USO DE PROGRAMAS COMERCIALES
En esta sección se describirá brevemente el uso del programador con
software comercial que lo soporta. No se dará una explicación exhaustiva
sobre el uso de las herramientas mencionadas, ya que para ello el
proveedor de cada una facilita sus respectivos manuales. Los programas
aquí descritos son los más comunes en el mercado para el trabajo con la
arquitectura AVR de Atmel, a saber, el AVR Studio 4, de la misma empresa,
el CodeVisionAVR de HP Info Tech y el WinAVR, que es completamente
gratuito y permite compilación en C. Cabe mencionar que el AVR Studio 4
permite la integración del compilador C de WinAVR a sus herramientas, con
lo cual se dispone de programación en C bajo la plataforma soportada por el
mismo proveedor.
Revisión 1.3 Página 22
NXProg
4.2.1. Programando con WinAVR
WinAVR es realmente un conjunto de herramientas para el trabajo con
microcontroladores AVR, completamente gratuito, licenciado bajo GPL y de
fácil consecución a través de la red internet. Incluye un editor de código
(Programmer's Notepad), un programa para edición de Makefiles (mfile), y
las herramientas de compilación, enlace y ensamble, basadas en el
conocido compilador GCC (AVR-GCC). La figura 17.a muestra las
herramientas que incluye WinAVR.
El archivo Makefile es el que establece todas las opciones de configuración
para el compilador y el programador. Por lo tanto, será la herramienta mfile
la que se utilizará para permitir el uso del programador NXProg como
herramienta hardware. Abrimos entonces mfile, y en el menú Makefile
seleccionamos la opción Programmer, en donde escogemos stk500v2
(Figura 17.b). Posteriormente seleccionamos la opción Port, en donde
escogemos el puerto en donde se encuentra el programador (ver sección
Driver), tal y como se muestra en la figura 17.c. Siguiendo el ejemplo de la
anterior sección, se asigna el puerto COM4 en Windows, mientras que en
Linux se elegiría el puerto /dev/ttyACM* (el asterisco representa el índice
del dispositivo). Las demás opciones que deban ser configuradas para la
aplicación ya corren por cuenta del usuario.
De esta manera, ya es posible utilizar el programador mediante la
herramienta make program incluída en la interfaz del editor Programmer's
Notepad. Para información más específica sobre la herramienta WinAVR, se
recomienda descargar la información recomendada en la bibliografía, que
corresponde directamente al proveedor y autor del software.
Revisión 1.3 Página 23
NXProg
(a)
(b) (c)
Figura 17: Configuración del archivo Makefile usando la herramienta mfile
4.2.2. Programando con CodeVisionAVR
Codevision es un programa que ha adquirido popularidad entre varios
círculos de desarrollo con microcontroladores Atmel. Entre sus
características está la de disponer de un Wizard o ayudante para la
generación de código automática. Esto acelera en gran medida el desarrollo
Revisión 1.3 Página 24
NXProg
con microcontroladores, al disponer rápidamente de librerías para el manejo
de periféricos. Codevision es comercializado por la empresa HP Info Tech.
Es un software de pago, que tiene una licencia de uso gratuito pero con
limitantes en cuanto a tamaño de código compilado (máximo 3KB). De
todas maneras con la versión freeware es posible utilizar las herramientas
de programación sin ninguna restricción. La versión estándar tiene un costo
de alrededor de 150 EUR. Es un software que tiene versiones únicamente
para el sistema operativo Windows. El procedimiento aquí descrito es válido
tanto en una versión freeware como en una versión de pago.
Configuración
El primer paso consiste en configurar el tipo de programador a utilizar y el
puerto de comunicación. Esto se realiza en el menú Settings de la barra de
menús, seleccionando la opción Programmer (Figura 18.a). Aparecerá una
nueva ventana que permite seleccionar entre diferentes programadores.
Escoja la opción Atmel ST500/AVRISP. Recuerde que NXProg utiliza el
protocolo de estos programadores. Elija asimismo el puerto que le fue
asignado al programador al momento de conectarlo. Si no lo recuerda, siga
el procedimiento descrito en la sección Driver. En este caso se ha
seleccionado el puerto COM4.
(a) (b)
Figura 18: Configuración del programador en CodeVisionAVR
Lanzamiento de la interfaz de programación
Posteriormente puede ya utilizarse la herramienta de programación, que se
ejecuta en el menú Tools → Programmer, y aparece la ventana de la figura
19.
Revisión 1.3 Página 25
NXProg
Figura 19: Interfaz de programación en
Codevision
Seleccione el microcontrolador que desee programar y seleccione asimismo
la frecuencia de la señal SCK. Esta frecuencia se debe modificar de acuerdo
al cristal conectado al microcontrolador a programar. Si la frecuencia del
cristal del microcontrolador es pequeña, o se está utilizando el cristal
interno, se recomienda utilizar una frecuencia de SCK baja. Por el contrario,
si se está utilizando un cristal de frecuencia alta, como 16 o 20 MHz, es
posible utilizar la frecuencia máxima de programación. Esto tiene un efecto
en el tiempo de programación. La figura 20.a ilustra la posición del menú
que permite configurar la frecuencia SCK. Para verificar que el programador
se encuentre bien configurado, se recomienda realizar una lectura del Chip
Signature, opción que se encuentra en el menú Read (Figura 20.b). De esta
manera, si el dispositivo se encuentra correctamente conectado y el
programador correctamente configurado, debe aparecer el tipo de
microcontrolador a programar. En caso negativo, se recomienda bajar la
frecuencia de la señal SCK y volver a intentar.
Revisión 1.3 Página 26
NXProg
(a) (b)
Figura 20: Herramienta de programación de CodeVisionAVR
Comandos de lectura
El primer paso para saber si NXProg se encuentra correctamente conectado
al microcontrolador es verificando la firma del dispositivo (Chip signature).
Esto se puede realizar a través del menú Read de la interfaz. Si Codevision
muestra correctamente la referencia del microcontrolador, se puede
proceder con las demás opciones. Entre los comandos de lectura se tienen
los siguientes:
• Lectura de Fusebits
• Lectura de Lockbits
• Lectura de byte de calibración
• Lectura de la Flash
• Lectura de la EEPROM
Revisión 1.3 Página 27
NXProg
Figura 21: Comandos de lectura de Codevision
Comandos de escritura (programación)
Para programar el dispositivo se accede al menú Program de la interfaz.
Éste tiene las siguientes opciones:
• Borrado de memoria Flash
• Verificación de borrado
• Programación de la Flash y de la EEPROM
• Programación de los fusebits
• Programación de los lockbits.
Revisión 1.3 Página 28
NXProg
Se recomienda siempre, antes de programar la Flash, realizar una etapa
previa de borrado y verificación de borrado.
Figura 22: Comandos de escritura de Codevision
Para mayor información en el manejo de la interfaz de Codevision, refiérase
al manual del proveedor del software.
Revisión 1.3 Página 29
NXProg
4.2.3. Programando con AVRStudio 4
AVR Studio 4 es la herramienta facilitada por Atmel para el trabajo con sus
microcontroladores de arquitectura AVR. Al ser la herramienta propia del
fabricante, cuenta con soporte para todos sus dispositivos y herramientas
hardware. Sin embargo, el lenguaje de programación que soporta es
únicamente ensamblador. Por fortuna, el compilador de WinAVR, el AVR-
GCC, puede ser utilizado con el software, lo que le permite programar en
lenguaje C. La última versión de AVR Studio 5 incluye el compilador AVR-
GCC, por lo que no es necesaria la instalación de WinAVR. La configuración
del programador para que sea utilizado en AVR Studio 4 se explica a
continuación.
Como primera medida, es necesario iniciar AVRStudio y crear un proyecto.
AVR Studio le pide que elija que tipo de proyecto desea crear, uno en
ensamblador o en código C, en caso de haber instalado previamente
WinAVR. Seleccione la opción deseada, complete los datos del proyecto y
continúe.
Figura 23: Selección del tipo de proyecto en AVR Studio
Revisión 1.3 Página 30
NXProg
Posteriormente AVR Studio le pide que seleccione la herramienta de
depuración. Si posee una herramienta para ello y desea utilizarla, elíjala de
la lista. En caso contrario elija alguno de los dos simuladores, y asegúrese
de seleccionar correctamente el microcontrolador con el que va a trabajar.
Figura 24: Selección de la herramienta de depuración
Con el proyecto ya creado puede comenzar a utilizar el software para editar
su archivo ASM o C. Al momento de programar, utilice el menú tools para
seleccionar la opción Program AVR, y elija la opción Connect... (Figura
26.a), o pulse el ícono Con en caso de que no haya seleccionado
programador previamente, o el ícono AVR, si para ese proyecto ya
seleccionó el programador en una anterior ocasión (Figura 25). En la
ventana que aparece, seleccionar el programador STK500, y el puerto
donde el NXProg se encuentra conectado (Figura 26.b). Se presiona
finalmente Connect...
Figura 25: Íconos Con
y AVR
Revisión 1.3 Página 31
NXProg
(a) (b)
Figura 26: Configuración del programador en AVRStudio 4
Si el programador se encuentra correctamente conectado y configurado, y
el microcontrolador ha sido correctamente reconocido, se desplegará la
ventana de la figura 27, que es la interfaz de programación del STK500 y se
describirá brevemente a continuación.
Figura 27: Herramienta de
programación de AVRStudio4
Revisión 1.3 Página 32
NXProg
Interfaz de programación STK500
La interfaz de programación se divide en ocho pestañas. Permite realizar
todas las operaciones necesarias para la programación de cualquier
dispositivo AVR.
Pestaña principal (main): En esta pestaña es posible reconocer si el
dispositivo se encuentra correctamente conectado, al evaluar la firma
("Signature") del microcontrolador. Seleccione el respectivo
microcontrolador del menú y pulse el botón Read Signature. También es
posible borrar la memoria Flash del dispositivo, pulsando el botón Erase
Device. Asimismo, se puede reprogramar la frecuencia ISP, que corresponde
a la frecuencia de reloj de la señal SCK. Recuerde que la frecuencia de esta
señal depende del cristal al cual esté conectado el microcontrolador a
programar. Entre más baja la frecuencia del cristal, más baja debe ser la
frecuencia ISP.
Figura 28: Pestaña principal de interfaz STK500
Pestaña de programación: En esta pestaña es posible borrar, programar y
Revisión 1.3 Página 33
NXProg
verificar la memoria Flash y EEPROM del dispositivo. Seleccione el archivo
HEX que desee programar, y pulse el botón Program. Para verificar que la
memoria Flash quedó correctamente programada, utilice el botón Verify.
Puede también leer la memoria Flash o EEPROM del dispositivo con el botón
Read.
Figura 29: Pestaña programación de interfaz STK500
Pestaña Fusebits: En esta pestaña es posible programar los FuseBits del
dispositivo. Al instante en que esta pestaña es seleccionada, el valor de los
FuseBits del microcontrolador es actualizado en la interfaz. Haga clic sobre
los FuseBits que desee programar (es decir, colocar a cero [0]). Utilice los
botones Program, Verify y Read para programar, verificar y leer
respectivamente los valores de los FuseBits.
Revisión 1.3 Página 34
NXProg
Figura 30: Pestaña Fusebits de interfaz STK500
Pestaña Lockbits: En esta pestaña es posible programar los LockBits del
dispositivo. Al instante en que esta pestaña es seleccionada, el valor de los
LockBits del microcontrolador es actualizado en la interfaz. Utilice los
botones Program, Verify y Read para programar, verificar y leer
respectivamente los valores de los LockBits.
Revisión 1.3 Página 35
NXProg
Figura 31: Pestaña Lockbits de interfaz STK500
Pestaña Avanzada: Las opciones de esta pestaña son utilizadas para la
calibración del sistema de reloj del programador STK500 original. NXProg
no requiere de esta calibración.
Revisión 1.3 Página 36
NXProg
Figura 32: Pestaña Avanzada de interfaz STK500
Pestaña de parámetros Hardware: Esta pestaña da información respectiva a
los voltajes de la tarjeta conectada al programador y de la señal de reloj
generada. NXProg no utiliza ninguno de estos parámetros y no deben
tomarse en cuenta los valores de esta pestaña.
Revisión 1.3 Página 37
NXProg
Figura 33: Pestaña Parámetros Hardware de Interfaz
STK500
Pestaña de información Hardware: Esta pestaña permite conocer la versión
hardware y firmware del programador STK500 original. No es utilizada en
NXProg.
Revisión 1.3 Página 38
NXProg
Figura 34: Pestaña Información Hardware de interfaz
STK500
Pestaña Auto: Esta pestaña permite automatizar varias tareas, para que
sean ejecutadas secuencialmente. De esta manera se acelera el proceso de
programación del dispositivo. Todas las opciones de esta pestaña son
compatibles con NXProg, a excepción de la opción Write osc. cal byte, que
se utiliza para la calibración del sistema de reloj. Como se había dicho
anteriormente, NXProg no requiere de esta calibración.
Revisión 1.3 Página 39
NXProg
Figura 35: Pestaña Auto de interfaz STK500
Para mayor información en el manejo de la interfaz de AVR Studio, refiérase
al manual del proveedor del software. La selección de una u otra
herramienta de trabajo depende exclusivamente del usuario, y Naxus
Sistemas Inteligentes garantiza el correcto trabajo del programador NXProg
en cualquiera de ellas.
Revisión 1.3 Página 40
NXProg
5. TARJETAS DE EXPANSIÓN
NXProg es compatible con nuestra tarjeta AVR-Board, la cual permite
acomodar cualquier microcontrolador AVR en formato DIP, sin importar el
número de pines, y programarlo con NXProg. Así como es posible
programar el dispositivo, se tiene también acceso a los pines del dispositivo,
lo que convierte a AVR-Board en una sencilla tarjeta de desarrollo. La figura
36 ilustra una imagen de la tarjeta.
Figura 36: AVR-Board
Revisión 1.3 Página 41
5. TARJETAS EXPANSIÓN
NXProg
6. LINKS
CodeVisionAVR
http://www.hpinfotech.ro/html/products.htm
http://www.codevision.be/
http://courses.cit.cornell.edu/ee476/codevisionC/CVAVRMAN.pdf
WinAVR
http://winavr.sourceforge.net/
http://www.nongnu.org/avrdude/
http://www.sax.de/~joerg/mfile/
http://winavr.sourceforge.net/WinAVR-user-manual.html
AVRStudio 4
http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725
http://courses.cit.cornell.edu/ee476/AtmelStuff/doc1019.pdf
Revisión 1.3 Página 42
6. LINKS

Más contenido relacionado

Similar a Programador AVR NXProg: Guía de uso y conexión

Programando Wiring con NXProg
Programando Wiring con NXProgProgramando Wiring con NXProg
Programando Wiring con NXProgalepusto
 
Programación de microcontrolador
Programación de microcontroladorProgramación de microcontrolador
Programación de microcontroladorVannesa Salazar
 
Programación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraProgramación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraLenin Jiménez
 
PLC y Electroneumática: Instalaciones básicas programadas
PLC y Electroneumática: Instalaciones básicas programadasPLC y Electroneumática: Instalaciones básicas programadas
PLC y Electroneumática: Instalaciones básicas programadasSANTIAGO PABLO ALBERTO
 
F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)edwin andres
 
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikxTutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikxUniversidad mariana
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con ArduinoJomicast
 
Plc 01
Plc 01Plc 01
Plc 01ostol
 
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptxCURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptxIngJorgeReyna
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte SANTIAGO PABLO ALBERTO
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteJose Alva
 
Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0SANTIAGO PABLO ALBERTO
 

Similar a Programador AVR NXProg: Guía de uso y conexión (20)

Programando Wiring con NXProg
Programando Wiring con NXProgProgramando Wiring con NXProg
Programando Wiring con NXProg
 
Programación de microcontrolador
Programación de microcontroladorProgramación de microcontrolador
Programación de microcontrolador
 
Programación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraProgramación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadora
 
PLC y Electroneumática: Instalaciones básicas programadas
PLC y Electroneumática: Instalaciones básicas programadasPLC y Electroneumática: Instalaciones básicas programadas
PLC y Electroneumática: Instalaciones básicas programadas
 
Curso-de-PLC.pdf
Curso-de-PLC.pdfCurso-de-PLC.pdf
Curso-de-PLC.pdf
 
F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)F3 edwin rodriguez_203055_3 (1)
F3 edwin rodriguez_203055_3 (1)
 
Curso integral pic_236
Curso integral pic_236Curso integral pic_236
Curso integral pic_236
 
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikxTutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
Tutorial comunicación bluetooth con módulos rn42 y rn41_by_ editronikx
 
Mis proyectos con Arduino
Mis proyectos con ArduinoMis proyectos con Arduino
Mis proyectos con Arduino
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
 
Lab 08 MotorAC-1.docx
Lab 08 MotorAC-1.docxLab 08 MotorAC-1.docx
Lab 08 MotorAC-1.docx
 
Plc 01
Plc 01Plc 01
Plc 01
 
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptxCURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
CURSO DEL CONTROLADOR LÓGICO PROGRAMABLE (PLC) SEMANA 4.pptx
 
Trabajo plus (1)
Trabajo plus (1)Trabajo plus (1)
Trabajo plus (1)
 
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
Microcontroladores: mikroBasic para microcontroladores PIC 2da parte
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
 
Manual win hprog_jm
Manual win hprog_jmManual win hprog_jm
Manual win hprog_jm
 
Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0Microcontroladores: Tutorial de microcontrolador AVR desde 0
Microcontroladores: Tutorial de microcontrolador AVR desde 0
 
Práctica no1.1
Práctica  no1.1Práctica  no1.1
Práctica no1.1
 

Más de alepusto

Manual del robot NXBOT
Manual del robot NXBOTManual del robot NXBOT
Manual del robot NXBOTalepusto
 
ParkNET - Testing Value Proposition
ParkNET - Testing Value PropositionParkNET - Testing Value Proposition
ParkNET - Testing Value Propositionalepusto
 
ParkNET - Opportunity Analysis Project
ParkNET - Opportunity Analysis ProjectParkNET - Opportunity Analysis Project
ParkNET - Opportunity Analysis Projectalepusto
 
Venture lab second assignment presentation
Venture lab second assignment presentationVenture lab second assignment presentation
Venture lab second assignment presentationalepusto
 
Manual SinaProg
Manual SinaProgManual SinaProg
Manual SinaProgalepusto
 
Hoja datos AVR-Board
Hoja datos AVR-BoardHoja datos AVR-Board
Hoja datos AVR-Boardalepusto
 
Hoja datos microSD
Hoja datos microSDHoja datos microSD
Hoja datos microSDalepusto
 
Manual Atmel FLIP
Manual Atmel FLIPManual Atmel FLIP
Manual Atmel FLIPalepusto
 
Nota de Aplicacion AN-U003
Nota de Aplicacion AN-U003Nota de Aplicacion AN-U003
Nota de Aplicacion AN-U003alepusto
 
Navegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaNavegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaalepusto
 
Hoja de datos USB2TTL
Hoja de datos USB2TTLHoja de datos USB2TTL
Hoja de datos USB2TTLalepusto
 
Hoja datos DP8
Hoja datos DP8Hoja datos DP8
Hoja datos DP8alepusto
 
Hoja de datos LD8
Hoja de datos LD8Hoja de datos LD8
Hoja de datos LD8alepusto
 
Nota de aplicación AN-U001 de USBee
Nota de aplicación AN-U001 de USBeeNota de aplicación AN-U001 de USBee
Nota de aplicación AN-U001 de USBeealepusto
 
Hoja de datos tarjeta de desarrollo USBee Duo
Hoja de datos tarjeta de desarrollo USBee DuoHoja de datos tarjeta de desarrollo USBee Duo
Hoja de datos tarjeta de desarrollo USBee Duoalepusto
 

Más de alepusto (15)

Manual del robot NXBOT
Manual del robot NXBOTManual del robot NXBOT
Manual del robot NXBOT
 
ParkNET - Testing Value Proposition
ParkNET - Testing Value PropositionParkNET - Testing Value Proposition
ParkNET - Testing Value Proposition
 
ParkNET - Opportunity Analysis Project
ParkNET - Opportunity Analysis ProjectParkNET - Opportunity Analysis Project
ParkNET - Opportunity Analysis Project
 
Venture lab second assignment presentation
Venture lab second assignment presentationVenture lab second assignment presentation
Venture lab second assignment presentation
 
Manual SinaProg
Manual SinaProgManual SinaProg
Manual SinaProg
 
Hoja datos AVR-Board
Hoja datos AVR-BoardHoja datos AVR-Board
Hoja datos AVR-Board
 
Hoja datos microSD
Hoja datos microSDHoja datos microSD
Hoja datos microSD
 
Manual Atmel FLIP
Manual Atmel FLIPManual Atmel FLIP
Manual Atmel FLIP
 
Nota de Aplicacion AN-U003
Nota de Aplicacion AN-U003Nota de Aplicacion AN-U003
Nota de Aplicacion AN-U003
 
Navegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fugaNavegacion autonoma reactiva en pasillos usando el punto de fuga
Navegacion autonoma reactiva en pasillos usando el punto de fuga
 
Hoja de datos USB2TTL
Hoja de datos USB2TTLHoja de datos USB2TTL
Hoja de datos USB2TTL
 
Hoja datos DP8
Hoja datos DP8Hoja datos DP8
Hoja datos DP8
 
Hoja de datos LD8
Hoja de datos LD8Hoja de datos LD8
Hoja de datos LD8
 
Nota de aplicación AN-U001 de USBee
Nota de aplicación AN-U001 de USBeeNota de aplicación AN-U001 de USBee
Nota de aplicación AN-U001 de USBee
 
Hoja de datos tarjeta de desarrollo USBee Duo
Hoja de datos tarjeta de desarrollo USBee DuoHoja de datos tarjeta de desarrollo USBee Duo
Hoja de datos tarjeta de desarrollo USBee Duo
 

Último

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (10)

Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Programador AVR NXProg: Guía de uso y conexión

  • 1. NXProg Hoja de datos Programador de la familia AVR de Atmel
  • 2. NXProg Este documento se encuentra protegido por una licencia Creative Commons Creative Commons: Atribution, Non-commercial, Share Alike Atribución: Puede copiar, distribuir y/o transmitir este trabajo siempre y cuando reconozca el autor original del mismo, en este caso Naxus Sistemas Inteligentes. No Comercial: No puede utilizar este trabajo para propósitos comerciales. Comparta igual: Si realiza alguna modificación, alteración o construcción a partir de este trabajo, puede distribuirlo únicamente usando la misma licencia o una similar. Naxus Sistemas Inteligentes Cra. 84A # 5 - 12 Cali, Colombia www.naxuscolombia.com contacto@naxuscolombia.com Revisión 1.3 Página 2
  • 3. NXProg Índice de contenido 1. INTRODUCCIÓN.....................................................................................4 2. CARACTERÍSTICAS.................................................................................4 3. HARDWARE...........................................................................................5 3.1. CONECTOR ISP................................................................................7 3.2. ESTADOS DE NXPROG.....................................................................10 3.3. CONEXIÓN A MICROCONTROLADORES EN FORMATO DIP......................11 4. SOFTWARE..........................................................................................17 4.1. INSTALACIÓN DEL DRIVER...............................................................17 4.2. USO DE PROGRAMAS COMERCIALES.................................................21 4.2.1. Programando con WinAVR..........................................................22 4.2.2. Programando con CodeVisionAVR................................................23 4.2.3. Programando con AVRStudio 4....................................................29 5. TARJETAS DE EXPANSIÓN......................................................................40 6. LINKS.................................................................................................41 Revisión 1.3 Página 3
  • 4. NXProg 1. INTRODUCCIÓN NXProg es un programador versátil que le permite programar toda la gama de dispositivos de la familia AVR de Atmel, que incluye las subfamilias ATTiny, Atmega y AT90. Su puerto de programación ISP es compatible con el puerto estándar ISP de 6 pines manejado por Atmel en sus tarjetas de desarrollo. Por lo tanto puede utilizar NXProg para programar tarjetas que incluyan este puerto como las conocidas STK500, AVR Butterfly, Arduino, etc. Asimismo NXProg es compatible con otros productos de la marca, como las tarjetas USBee, o AVR-Board. El programador es completamente compatible con el software de programación más comercial, como el AVR Studio de Atmel, el compilador CodeVisionAVR de HP Info Tech, o el programador de software libre AVRDUDE, incluído en el framework WinAVR. 2. CARACTERÍSTICAS ○ Conexión por USB. ○ Detección de correcta conexión del programador. ○ Indicación de programación en curso. ○ Pinout del programador compatible con el estándar de 6 pines de Atmel. ○ Programación directamente en montajes de protoboard. ○ Protección de corto circuito en las señales del conector. ○ Programación en niveles de voltaje de 3.3V y 5V. Revisión 1.3 Página 4 2. CARACTERÍSTICAS 1. INTRODUCCIÓN
  • 5. NXProg 3. HARDWARE NXProg es un programador versátil dirigido a desarrolladores que trabajan con microcontroladores Atmel, arquitectura AVR. Es un programador rápido y eficiente, que utiliza el protocolo estándarizado por Atmel STK500, por lo que NXProg es completamente compatible con el software de programación de Atmel y otros proveedores. Además existen drivers para sistemas operativos Windows y Linux. El puerto de conexión al computador es USB, con lo que se superan las limitaciones de otros programadores de bajo costo que trabajan por serial o incluso por paralelo. El conector USB es tipo B. NXProg incluye el programador, claramente identificado por su puerto USB y el puerto ISP de 10 pines (Figura 1.a), así como una tarjeta de expansión para la programación In-Circuit en un protoboard (Figura 1.b). (a) (b) Figura 1: Programador NXProg (a) y tarjeta de expansión para conexión a protoboard (b) Últimamente han ido cogiendo fuerza los dispositivos de bajo consumo, que trabajan a 3.3V a diferencia de los típicos 5V de alimentación. Por tal razón, NXProg permite configurar sus niveles de voltaje en 3.3V o en 5V a través del jumper SJ0 (ver figura 2). NXProg cuenta además con dos LEDs (LD0 y LD1) que definen el estado del programador, su correcta conexión al circuito e incluso su reconocimiento por el sistema operativo, que establece si el driver está o no correctamente instalado. La figura 2 ilustra la cara posterior de NXProg. Revisión 1.3 Página 5 3. HARDWARE
  • 6. NXProg Figura 2: Cara posterior de NXProg Revisión 1.3 Página 6 LED de encendido (PWR) Selección de voltaje (3.3V – 5V) (SJ0) Cristal 16MHz LED de programación (LD1) Conector ISP (10 pines) LED de conexión /desconexión (LD0) Microcontrolador ATMega32U2 Puerto USB tipo B
  • 7. NXProg 3.1. CONECTOR ISP El conector ISP de NXProg está conformado por las señales presentes en la figura 3, y éstas son descritas a continuación. 9 7 5 3 1 GND RESET SCK MISO CLK_G VCC GND MOSI R_CLK 10 8 6 4 2 Figura 3: Conector ISP de NXProg Descripción de pines: 1 CLK_GEN: Señal de reloj de 1 Mhz para rescate de microcontroladores cuyos fuse bits han sido incorrectamente programados. 2 RESCUE_CLK: Señal de reloj para recuperación del programador. Este pin es exclusivamente de uso en fábrica, y no debe ser conectado. 3 MISO: Señal MISO para conexión al pin MISO del microcontrolador a programar. El pin MISO hace parte del puerto SPI del microcontrolador. 4 NC: No conectar. 5 SCK: Señal SCK para conexión al pin SCK del microcontrolador a programar. El pin SCK hace parte del puerto SPI del microcontrolador. 6 MOSI: Señal MOSI para conexión al pin MOSI del Revisión 1.3 Página 7
  • 8. NXProg microcontrolador a programar. El pin MOSI hace parte del puerto SPI del microcontrolador. 7 RST: Señal de reset del microcontrolador. Es indispensable la conexión de una resistencia de pull-up al voltaje de alimentación. El valor de esta resistencia no debe ser mayor a 10k ohms (ver figura para la conexión). 8 GND: Conexión a tierra o masa del circuito. 9 GND: Conexión a tierra o masa del circuito. 10 VCC: Voltaje de alimentación del circuito. Se establece a 5V o 3.3V dependiendo de la configuración en SJ0 (ver figura 1) Esta misma numeración es la manejada por la tarjeta de expansión, con lo que se facilita el cableado de la misma en el protoboard (ver figura 1.b). Conexión de la señal de Reset La conexión de la señal de reset del microcontrolador debe seguir el montaje de la figura 4. Es importante la conexión del pull-up ya que de esta manera el programador establece si el microcontrolador se encuentra correctamente conectado al sistema. Los microcontroladores AVR generalmente tienen incluída la resistencia de pull-up internamente, por lo tanto puede obviarse el montaje externo de R1. Este montaje es una versión sencilla de un circuito POWER-ON RESET, que implementa un pequeño filtro que permite resetear el microcontrolador cuando ya se ha alcanzado un voltaje estable en la alimentación. Revisión 1.3 Página 8
  • 9. NXProg Figura 4: Conexión de la señal de reset en el microcontrolador Equivalencia con ISP de Atmel Como se había mencionado anteriormente, el conector ISP del NXProg es compatible con el conector ISP de 6 pines de los productos Atmel. Sin embargo, el conector de NXPRog incluye 10 pines. Los pines adicionales son características extendidas del programador. Los pines compatibles se encuentran en las señales intermedias del conector. La figura 5 ilustra esta compatibilidad. (a) (b) Figura 5: Conector ISP estándar Atmel vs. Conector ISP de NXPRog Revisión 1.3 Página 9 Opcional
  • 10. NXProg 3.2. ESTADOS DE NXPROG El programador NXProg utiliza los dos leds LD0 y LD1 para señalar el estado en el que se encuentra actualmente. Por lo general LD0 es de color naranja o amarillo, mientras que LD1 es de color verde. La tabla resume los estados posibles. La figura 6 ilustra los estados directamente observados en el programador. ESTADOS DESCRIPCIÓN LD0 = OFF LD1 = OFF APAGADO/FALLA: El programador se encuentra apagado o presenta fallas. LD0 = ON LD1 = OFF NO RECONOCIDO: El programador está conectado pero no se han instalado los drivers para que sea reconocido por el sistema operativo. LD0 = ON LD1 = ON CONEXIÓN ERRÓNEA: El programador se encuentra reconocido por el sistema, pero no se encuentra correctamente conectado al microcontrolador (o simplemente no se encuentra conectado). LD0 = OFF LD1 = ON CONEXIÓN CORRECTA: El programador se encuentra reconocido por el sistema y correctamente conectado al microcontrolador. LD0 = OFF LD1 = ON (TITILANDO) PROGRAMACIÓN: El programador se encuentra comunicándose con el microcontrolador. Tabla 1: Estados del programador (a) (b) (c) Figura 6: Estados del programador: a) NO RECONOCIDO, b) CONEXIÓN ERRÓNEA, c) CONEXIÓN CORRECTA Revisión 1.3 Página 10
  • 11. NXProg Es importante señalar que el estado CONEXIÓN ERRÓNEA verifica exclusivamente que la señal de reset se encuentre correctamente conectada. Este estado es una simple ayuda para tarjeta que ya poseen un conector ISP y se quiere verificar que el programador se encuentre en la posición correcta. Por lo tanto, no se detectan errores debido a mal cableado de las señales. 3.3. CONEXIÓN A MICROCONTROLADORES EN FORMATO DIP Esta sección ilustra la manera de conectar NXProg a los microcontroladores AVR en formato DIP. Recuerde que puede utilizar la tarjeta de conexión a protoboard para facilitar el cableado. En la familia AVR de Atmel existen hasta cinco configuraciones de pinout (distribución de pines) diferentes. Se incluirán aquí las imagenes de conexión del programador junto con una lista de los microcontroladores más comunes de cada formato. La línea punteada de la señal CLK_G es opcional, y debe utilizarse únicamente si el dispositivo no tiene conectado un cristal externo o no está trabajando con el oscilador interno. La señal CLK_G es una señal de reloj de 1MHz generada por NXProg. No es indispensable su conexión, ésta debe realizarse sólo si NO está conectado al microcontrolador un cristal externo o no está configurado para utilizar el oscilador interno (definido por los fusebits). Por esta razón, se observa que en las imágenes su conexión aparece como una línea punteada dando a entender que es ésta es opcional. Cuando se utilice CLK_G como señal del reloj del microcontrolador, es indispensable modificar la frecuencia SCK a la más baja. WinAVR o Codevision permiten configurar la frecuencia de la señal SCK, AVR Studio por defecto trabaja con la frecuencia más baja así que no hay necesidad de modifcarla con este programa. Microcontroladores de 8 pines Microcontroladores soportados: AT90S2323 AT90LS2323 AT90S2343 AT90LS2343 ATtiny12 ATtiny12L ATtiny12V ATtiny15L ATtiny22L ATtiny25V ATtiny45V ATtiny85V ATtiny13V ATtiny13 ATtiny25 ATtiny45 ATtiny85 Revisión 1.3 Página 11
  • 12. NXProg Figura 7: Conexión a un microcontrolador de 8 pines Microcontroladores de 20 pines Microcontroladores soportados: AT90S1200-4 AT90S1200-12 AT90S2313-4 AT90S2313-10 ATtiny24 ATtiny44 ATtiny84 ATtiny261 ATtiny461 ATtiny861 ATtiny2313 ATtiny2313V Revisión 1.3 Página 12
  • 13. NXProg Figura 8: Conexión a un microcontrolador de 20 pines Microcontroladores de 28 pines Microcontroladores soportados: AT90S4433 AT90LS4433 AT90S2333 AT90LS2333 ATmega48 ATmega8 ATmega8L ATmega168V ATmega88V ATmega48V ATmega88 Atmega168 ATmega328 Revisión 1.3 Página 13
  • 14. NXProg Figura 9: Conexión a un microcontrolador de 28 pines Microcontroladores de 40 pines Microcontroladores soportados: AT90S4414-8 AT90S4434 AT90LS4434 ATmega16 ATmega16L ATmega32 ATmega32L ATmega163 ATmega163L ATmega323 ATmega323L ATmega644 ATmega644V ATmega324V ATmega324 ATmega164V ATmega164 Revisión 1.3 Página 14
  • 15. NXProg Figura 10: Conexión a un microcontrolador de 40 pines, versión 1 Microcontroladores de 40 pines Microcontroladores soportados: AT89S51 AT89S52 AT90S8515-4 AT90S8515-8 AT90S8535 AT90LS8535 ATmega8515 ATmega8515L ATmega8535 ATmega8535L ATmega162 ATmega162L ATmega162V ATmega161L ATmega161 Revisión 1.3 Página 15
  • 16. NXProg Figura 11: Conexión a un microcontrolador de 40 pines, versión 2 Revisión 1.3 Página 16
  • 17. NXProg 4. SOFTWARE 4.1. INSTALACIÓN DEL DRIVER El programador NXProg, al tener conectividad USB, necesita de un driver para ser reconocido en el Sistema Operativo. En Linux el driver ya se encuentra incluido a partir de la versión 2.6 del kernel. Para versiones más antiguas por favor remitirse a nuestro correo de contacto. Para usuarios de Windows (XP/Vista/7) se ha facilitado el driver en el archivo AVR_NXprog.inf, que puede ser descargado desde nuestra página web en la sección Descargas de NXProg. El driver incluído ha sido probado sobre las siguientes versiones de Windows: • Windows XP 32 bits. • Windows Vista 32/64 bits. • Windows 7 de 32 bits. Para Windows 7 de 64 bits es necesario desactivar la verificación de drivers firmados que hace el sistema operativo. Existen varias maneras de realizar esta operación y en la red existe suficiente información al respecto. Para sistemas operativos Linux NO se requiere ningún driver. Primer paso Conecte el programador a un puerto USB libre de su computador. Deberá aparecer una alerta indicando que el programador NXProg ha sido reconocido, tal y como se muestra en la figura 12. El programador debe tener únicamente el led naranja encendido, indicando que aún no ha sido reconocido por el sistema. Figura 12: Programador reconocido por el Sistema Operativo Revisión 1.3 Página 17 4. SOFTWARE
  • 18. NXProg Segundo paso Posteriormente aparece una ventana para establecer cómo instalar el driver del dispositivo. La primera opción define si se desea que Windows Update busque el driver por usted (Figura 13.a). Escoga la opción "No por el momento" y pulse en Siguiente. En la siguiente ventana el asistente le pedirá si desea que éste realice una búsqueda automática del driver (figura 13.b). Rechace también esta opción, seleccionando la opción "Instalar desde una ubicación específica" y pulsando Siguiente. Luego aparece una ventana en donde solicita la ubicación del driver (figura 13.c). Ingrese la ubicación del archivo AVR_NXprog.inf en su sistema y pulse Siguiente. En caso de que aparezca la ventana de la figura 13.d, pulse en Continuar. El driver comenzará a ser instalado y aparecerá la ventana de finalización de instalación (figuras 13.e y 13.f). Revisión 1.3 Página 18
  • 19. NXProg (a) (b) (c) (d) (e) (f) Figura 13: Instalación del driver en Windows Revisión 1.3 Página 19
  • 20. NXProg Si todo ha salido correctamente, observará que aparece el mensaje de la figura 14 en la barra de herramientas de Windows. Figura 14: Driver correctamente instalado Puerto serial del NXProg Con el programador NXProg ya reconocido por el sistema es posible comenzar a utilizar los programas comerciales para trabajo con la arquitectura AVR. El programador es reconocido como un puerto serial virtual, por lo que es necesario conocer el puerto serie que le ha asignado el sistema operativo. En Linux el dispositivo es reconocido como un puerto de comunicaciones CDC, por lo que el sistema operativo lo asigna en /dev/ttyACM*, donde el asterisco denota el número de asignación, que depende de cuantos dispositivos tipo CDC se encuentren conectados en el sistema. En Windows, el procedimiento para conocer el puerto asignado se describe a continuación. Es necesario ingresar al Panel de Control (Menú Inicio, Panel de Control), y en éste, seleccionar la opción Sistema (Figura 15.a). En la nueva ventana, seleccionar la pestaña Hardware, y pulsar el botón Administrador de dispositivos (Figura 15.b). Se despliega una nueva ventana, donde se observan todos los dispositivos hardware reconocidos por el sistema operativo (Figura 15.c). Buscar la sección de Puertos (COM & LPT). En ésta debe aparecer un puerto denominado USB Virtual Serial Port (COM*), en donde el valor en paréntesis indica el puerto asignado. En la figura 15.c se observa que el puerto asignado al dispositivo ha sido el puerto COM4. Revisión 1.3 Página 20
  • 21. NXProg (a) (b) (c) Figura 15: Reconocimiento del dispositivo como un puerto serial virtual Si desea ver las propiedades del driver, pulse sobre el ícono AVR NXProg el botón derecho y seleccione la opción Propiedades. Se despliega la ventana de la figura 16. Revisión 1.3 Página 21
  • 22. NXProg Figura 16: Propiedades del driver de NXProg 4.2. USO DE PROGRAMAS COMERCIALES En esta sección se describirá brevemente el uso del programador con software comercial que lo soporta. No se dará una explicación exhaustiva sobre el uso de las herramientas mencionadas, ya que para ello el proveedor de cada una facilita sus respectivos manuales. Los programas aquí descritos son los más comunes en el mercado para el trabajo con la arquitectura AVR de Atmel, a saber, el AVR Studio 4, de la misma empresa, el CodeVisionAVR de HP Info Tech y el WinAVR, que es completamente gratuito y permite compilación en C. Cabe mencionar que el AVR Studio 4 permite la integración del compilador C de WinAVR a sus herramientas, con lo cual se dispone de programación en C bajo la plataforma soportada por el mismo proveedor. Revisión 1.3 Página 22
  • 23. NXProg 4.2.1. Programando con WinAVR WinAVR es realmente un conjunto de herramientas para el trabajo con microcontroladores AVR, completamente gratuito, licenciado bajo GPL y de fácil consecución a través de la red internet. Incluye un editor de código (Programmer's Notepad), un programa para edición de Makefiles (mfile), y las herramientas de compilación, enlace y ensamble, basadas en el conocido compilador GCC (AVR-GCC). La figura 17.a muestra las herramientas que incluye WinAVR. El archivo Makefile es el que establece todas las opciones de configuración para el compilador y el programador. Por lo tanto, será la herramienta mfile la que se utilizará para permitir el uso del programador NXProg como herramienta hardware. Abrimos entonces mfile, y en el menú Makefile seleccionamos la opción Programmer, en donde escogemos stk500v2 (Figura 17.b). Posteriormente seleccionamos la opción Port, en donde escogemos el puerto en donde se encuentra el programador (ver sección Driver), tal y como se muestra en la figura 17.c. Siguiendo el ejemplo de la anterior sección, se asigna el puerto COM4 en Windows, mientras que en Linux se elegiría el puerto /dev/ttyACM* (el asterisco representa el índice del dispositivo). Las demás opciones que deban ser configuradas para la aplicación ya corren por cuenta del usuario. De esta manera, ya es posible utilizar el programador mediante la herramienta make program incluída en la interfaz del editor Programmer's Notepad. Para información más específica sobre la herramienta WinAVR, se recomienda descargar la información recomendada en la bibliografía, que corresponde directamente al proveedor y autor del software. Revisión 1.3 Página 23
  • 24. NXProg (a) (b) (c) Figura 17: Configuración del archivo Makefile usando la herramienta mfile 4.2.2. Programando con CodeVisionAVR Codevision es un programa que ha adquirido popularidad entre varios círculos de desarrollo con microcontroladores Atmel. Entre sus características está la de disponer de un Wizard o ayudante para la generación de código automática. Esto acelera en gran medida el desarrollo Revisión 1.3 Página 24
  • 25. NXProg con microcontroladores, al disponer rápidamente de librerías para el manejo de periféricos. Codevision es comercializado por la empresa HP Info Tech. Es un software de pago, que tiene una licencia de uso gratuito pero con limitantes en cuanto a tamaño de código compilado (máximo 3KB). De todas maneras con la versión freeware es posible utilizar las herramientas de programación sin ninguna restricción. La versión estándar tiene un costo de alrededor de 150 EUR. Es un software que tiene versiones únicamente para el sistema operativo Windows. El procedimiento aquí descrito es válido tanto en una versión freeware como en una versión de pago. Configuración El primer paso consiste en configurar el tipo de programador a utilizar y el puerto de comunicación. Esto se realiza en el menú Settings de la barra de menús, seleccionando la opción Programmer (Figura 18.a). Aparecerá una nueva ventana que permite seleccionar entre diferentes programadores. Escoja la opción Atmel ST500/AVRISP. Recuerde que NXProg utiliza el protocolo de estos programadores. Elija asimismo el puerto que le fue asignado al programador al momento de conectarlo. Si no lo recuerda, siga el procedimiento descrito en la sección Driver. En este caso se ha seleccionado el puerto COM4. (a) (b) Figura 18: Configuración del programador en CodeVisionAVR Lanzamiento de la interfaz de programación Posteriormente puede ya utilizarse la herramienta de programación, que se ejecuta en el menú Tools → Programmer, y aparece la ventana de la figura 19. Revisión 1.3 Página 25
  • 26. NXProg Figura 19: Interfaz de programación en Codevision Seleccione el microcontrolador que desee programar y seleccione asimismo la frecuencia de la señal SCK. Esta frecuencia se debe modificar de acuerdo al cristal conectado al microcontrolador a programar. Si la frecuencia del cristal del microcontrolador es pequeña, o se está utilizando el cristal interno, se recomienda utilizar una frecuencia de SCK baja. Por el contrario, si se está utilizando un cristal de frecuencia alta, como 16 o 20 MHz, es posible utilizar la frecuencia máxima de programación. Esto tiene un efecto en el tiempo de programación. La figura 20.a ilustra la posición del menú que permite configurar la frecuencia SCK. Para verificar que el programador se encuentre bien configurado, se recomienda realizar una lectura del Chip Signature, opción que se encuentra en el menú Read (Figura 20.b). De esta manera, si el dispositivo se encuentra correctamente conectado y el programador correctamente configurado, debe aparecer el tipo de microcontrolador a programar. En caso negativo, se recomienda bajar la frecuencia de la señal SCK y volver a intentar. Revisión 1.3 Página 26
  • 27. NXProg (a) (b) Figura 20: Herramienta de programación de CodeVisionAVR Comandos de lectura El primer paso para saber si NXProg se encuentra correctamente conectado al microcontrolador es verificando la firma del dispositivo (Chip signature). Esto se puede realizar a través del menú Read de la interfaz. Si Codevision muestra correctamente la referencia del microcontrolador, se puede proceder con las demás opciones. Entre los comandos de lectura se tienen los siguientes: • Lectura de Fusebits • Lectura de Lockbits • Lectura de byte de calibración • Lectura de la Flash • Lectura de la EEPROM Revisión 1.3 Página 27
  • 28. NXProg Figura 21: Comandos de lectura de Codevision Comandos de escritura (programación) Para programar el dispositivo se accede al menú Program de la interfaz. Éste tiene las siguientes opciones: • Borrado de memoria Flash • Verificación de borrado • Programación de la Flash y de la EEPROM • Programación de los fusebits • Programación de los lockbits. Revisión 1.3 Página 28
  • 29. NXProg Se recomienda siempre, antes de programar la Flash, realizar una etapa previa de borrado y verificación de borrado. Figura 22: Comandos de escritura de Codevision Para mayor información en el manejo de la interfaz de Codevision, refiérase al manual del proveedor del software. Revisión 1.3 Página 29
  • 30. NXProg 4.2.3. Programando con AVRStudio 4 AVR Studio 4 es la herramienta facilitada por Atmel para el trabajo con sus microcontroladores de arquitectura AVR. Al ser la herramienta propia del fabricante, cuenta con soporte para todos sus dispositivos y herramientas hardware. Sin embargo, el lenguaje de programación que soporta es únicamente ensamblador. Por fortuna, el compilador de WinAVR, el AVR- GCC, puede ser utilizado con el software, lo que le permite programar en lenguaje C. La última versión de AVR Studio 5 incluye el compilador AVR- GCC, por lo que no es necesaria la instalación de WinAVR. La configuración del programador para que sea utilizado en AVR Studio 4 se explica a continuación. Como primera medida, es necesario iniciar AVRStudio y crear un proyecto. AVR Studio le pide que elija que tipo de proyecto desea crear, uno en ensamblador o en código C, en caso de haber instalado previamente WinAVR. Seleccione la opción deseada, complete los datos del proyecto y continúe. Figura 23: Selección del tipo de proyecto en AVR Studio Revisión 1.3 Página 30
  • 31. NXProg Posteriormente AVR Studio le pide que seleccione la herramienta de depuración. Si posee una herramienta para ello y desea utilizarla, elíjala de la lista. En caso contrario elija alguno de los dos simuladores, y asegúrese de seleccionar correctamente el microcontrolador con el que va a trabajar. Figura 24: Selección de la herramienta de depuración Con el proyecto ya creado puede comenzar a utilizar el software para editar su archivo ASM o C. Al momento de programar, utilice el menú tools para seleccionar la opción Program AVR, y elija la opción Connect... (Figura 26.a), o pulse el ícono Con en caso de que no haya seleccionado programador previamente, o el ícono AVR, si para ese proyecto ya seleccionó el programador en una anterior ocasión (Figura 25). En la ventana que aparece, seleccionar el programador STK500, y el puerto donde el NXProg se encuentra conectado (Figura 26.b). Se presiona finalmente Connect... Figura 25: Íconos Con y AVR Revisión 1.3 Página 31
  • 32. NXProg (a) (b) Figura 26: Configuración del programador en AVRStudio 4 Si el programador se encuentra correctamente conectado y configurado, y el microcontrolador ha sido correctamente reconocido, se desplegará la ventana de la figura 27, que es la interfaz de programación del STK500 y se describirá brevemente a continuación. Figura 27: Herramienta de programación de AVRStudio4 Revisión 1.3 Página 32
  • 33. NXProg Interfaz de programación STK500 La interfaz de programación se divide en ocho pestañas. Permite realizar todas las operaciones necesarias para la programación de cualquier dispositivo AVR. Pestaña principal (main): En esta pestaña es posible reconocer si el dispositivo se encuentra correctamente conectado, al evaluar la firma ("Signature") del microcontrolador. Seleccione el respectivo microcontrolador del menú y pulse el botón Read Signature. También es posible borrar la memoria Flash del dispositivo, pulsando el botón Erase Device. Asimismo, se puede reprogramar la frecuencia ISP, que corresponde a la frecuencia de reloj de la señal SCK. Recuerde que la frecuencia de esta señal depende del cristal al cual esté conectado el microcontrolador a programar. Entre más baja la frecuencia del cristal, más baja debe ser la frecuencia ISP. Figura 28: Pestaña principal de interfaz STK500 Pestaña de programación: En esta pestaña es posible borrar, programar y Revisión 1.3 Página 33
  • 34. NXProg verificar la memoria Flash y EEPROM del dispositivo. Seleccione el archivo HEX que desee programar, y pulse el botón Program. Para verificar que la memoria Flash quedó correctamente programada, utilice el botón Verify. Puede también leer la memoria Flash o EEPROM del dispositivo con el botón Read. Figura 29: Pestaña programación de interfaz STK500 Pestaña Fusebits: En esta pestaña es posible programar los FuseBits del dispositivo. Al instante en que esta pestaña es seleccionada, el valor de los FuseBits del microcontrolador es actualizado en la interfaz. Haga clic sobre los FuseBits que desee programar (es decir, colocar a cero [0]). Utilice los botones Program, Verify y Read para programar, verificar y leer respectivamente los valores de los FuseBits. Revisión 1.3 Página 34
  • 35. NXProg Figura 30: Pestaña Fusebits de interfaz STK500 Pestaña Lockbits: En esta pestaña es posible programar los LockBits del dispositivo. Al instante en que esta pestaña es seleccionada, el valor de los LockBits del microcontrolador es actualizado en la interfaz. Utilice los botones Program, Verify y Read para programar, verificar y leer respectivamente los valores de los LockBits. Revisión 1.3 Página 35
  • 36. NXProg Figura 31: Pestaña Lockbits de interfaz STK500 Pestaña Avanzada: Las opciones de esta pestaña son utilizadas para la calibración del sistema de reloj del programador STK500 original. NXProg no requiere de esta calibración. Revisión 1.3 Página 36
  • 37. NXProg Figura 32: Pestaña Avanzada de interfaz STK500 Pestaña de parámetros Hardware: Esta pestaña da información respectiva a los voltajes de la tarjeta conectada al programador y de la señal de reloj generada. NXProg no utiliza ninguno de estos parámetros y no deben tomarse en cuenta los valores de esta pestaña. Revisión 1.3 Página 37
  • 38. NXProg Figura 33: Pestaña Parámetros Hardware de Interfaz STK500 Pestaña de información Hardware: Esta pestaña permite conocer la versión hardware y firmware del programador STK500 original. No es utilizada en NXProg. Revisión 1.3 Página 38
  • 39. NXProg Figura 34: Pestaña Información Hardware de interfaz STK500 Pestaña Auto: Esta pestaña permite automatizar varias tareas, para que sean ejecutadas secuencialmente. De esta manera se acelera el proceso de programación del dispositivo. Todas las opciones de esta pestaña son compatibles con NXProg, a excepción de la opción Write osc. cal byte, que se utiliza para la calibración del sistema de reloj. Como se había dicho anteriormente, NXProg no requiere de esta calibración. Revisión 1.3 Página 39
  • 40. NXProg Figura 35: Pestaña Auto de interfaz STK500 Para mayor información en el manejo de la interfaz de AVR Studio, refiérase al manual del proveedor del software. La selección de una u otra herramienta de trabajo depende exclusivamente del usuario, y Naxus Sistemas Inteligentes garantiza el correcto trabajo del programador NXProg en cualquiera de ellas. Revisión 1.3 Página 40
  • 41. NXProg 5. TARJETAS DE EXPANSIÓN NXProg es compatible con nuestra tarjeta AVR-Board, la cual permite acomodar cualquier microcontrolador AVR en formato DIP, sin importar el número de pines, y programarlo con NXProg. Así como es posible programar el dispositivo, se tiene también acceso a los pines del dispositivo, lo que convierte a AVR-Board en una sencilla tarjeta de desarrollo. La figura 36 ilustra una imagen de la tarjeta. Figura 36: AVR-Board Revisión 1.3 Página 41 5. TARJETAS EXPANSIÓN