hoja de datos programador nxprog

42
NXProg Hoja de datos Programador de la familia AVR de Atmel

Upload: alepusto

Post on 06-Jul-2015

1.284 views

Category:

Technology


0 download

DESCRIPTION

Hoja de datos del programador NXProg ofrecido por la empresa Naxus Sistemas Inteligentes.

TRANSCRIPT

Page 1: Hoja de datos programador NXProg

NXProgHoja de datos

Programador de la familia AVR de Atmel

Page 2: Hoja de datos programador NXProg

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 InteligentesCra. 84A # 5 - 12Cali, Colombia

[email protected]

Revisión 1.3 Página 2

Page 3: Hoja de datos programador NXProg

NXProg

Índice de contenido1. INTRODUCCIÓN.....................................................................................42. CARACTERÍSTICAS.................................................................................43. HARDWARE...........................................................................................5

3.1. CONECTOR ISP................................................................................73.2. ESTADOS DE NXPROG.....................................................................103.3. CONEXIÓN A MICROCONTROLADORES EN FORMATO DIP......................11

4. SOFTWARE..........................................................................................174.1. INSTALACIÓN DEL DRIVER...............................................................174.2. USO DE PROGRAMAS COMERCIALES.................................................21

4.2.1. Programando con WinAVR..........................................................224.2.2. Programando con CodeVisionAVR................................................234.2.3. Programando con AVRStudio 4....................................................29

5. TARJETAS DE EXPANSIÓN......................................................................406. LINKS.................................................................................................41

Revisión 1.3 Página 3

Page 4: Hoja de datos programador NXProg

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

Page 5: Hoja de datos programador NXProg

NXProg

3. HARDWARENXProg 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

Page 6: Hoja de datos programador NXProg

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)

Cristal16MHz

LED de programación

(LD1) Conector ISP(10 pines)

LED de conexión/desconexión

(LD0)

MicrocontroladorATMega32U2

Puerto USB tipo B

Page 7: Hoja de datos programador NXProg

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 1GND RESET SCK MISO CLK_G

VCC GND MOSI R_CLK10 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

Page 8: Hoja de datos programador NXProg

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

Page 9: Hoja de datos programador NXProg

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

Page 10: Hoja de datos programador NXProg

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 = OFFLD1 = 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

Page 11: Hoja de datos programador NXProg

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

Page 12: Hoja de datos programador NXProg

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

Page 13: Hoja de datos programador NXProg

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

Page 14: Hoja de datos programador NXProg

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

Page 15: Hoja de datos programador NXProg

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

Page 16: Hoja de datos programador NXProg

NXProg

Figura 11: Conexión a un microcontrolador de 40 pines, versión 2

Revisión 1.3 Página 16

Page 17: Hoja de datos programador NXProg

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 pasoConecte 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

Page 18: Hoja de datos programador NXProg

NXProg

Segundo pasoPosteriormente 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

Page 19: Hoja de datos programador NXProg

NXProg

(a) (b)

(c) (d)

(e) (f)

Figura 13: Instalación del driver en Windows

Revisión 1.3 Página 19

Page 20: Hoja de datos programador NXProg

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 NXProgCon 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

Page 21: Hoja de datos programador NXProg

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

Page 22: Hoja de datos programador NXProg

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

Page 23: Hoja de datos programador NXProg

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

Page 24: Hoja de datos programador NXProg

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

Page 25: Hoja de datos programador NXProg

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ónEl 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ónPosteriormente 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

Page 26: Hoja de datos programador NXProg

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

Page 27: Hoja de datos programador NXProg

NXProg

(a) (b)

Figura 20: Herramienta de programación de CodeVisionAVR

Comandos de lecturaEl 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

Page 28: Hoja de datos programador NXProg

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

Page 29: Hoja de datos programador NXProg

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

Page 30: Hoja de datos programador NXProg

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

Page 31: Hoja de datos programador NXProg

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

Page 32: Hoja de datos programador NXProg

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

Page 33: Hoja de datos programador NXProg

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

Page 34: Hoja de datos programador NXProg

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

Page 35: Hoja de datos programador NXProg

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

Page 36: Hoja de datos programador NXProg

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

Page 37: Hoja de datos programador NXProg

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

Page 38: Hoja de datos programador NXProg

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

Page 39: Hoja de datos programador NXProg

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

Page 40: Hoja de datos programador NXProg

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

Page 41: Hoja de datos programador NXProg

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

Page 42: Hoja de datos programador NXProg

NXProg

6. LINKS

CodeVisionAVRhttp://www.hpinfotech.ro/html/products.htmhttp://www.codevision.be/http://courses.cit.cornell.edu/ee476/codevisionC/CVAVRMAN.pdf

WinAVRhttp://winavr.sourceforge.net/http://www.nongnu.org/avrdude/http://www.sax.de/~joerg/mfile/http://winavr.sourceforge.net/WinAVR-user-manual.html

AVRStudio 4http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725http://courses.cit.cornell.edu/ee476/AtmelStuff/doc1019.pdf

Revisión 1.3 Página 42

6. LINKS