SlideShare una empresa de Scribd logo
NOTA DE APLICACIÓN
          AN-P002
 Programando Wiring con NXProg
AN-U002

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.0                                                                          Página 2
AN-U002

Índice de contenido
1.INTRODUCCIÓN......................................................................................4
2.RECURSOS.............................................................................................5
3.CONEXIÓN ENTRE NXPROG Y WIRING........................................................6
  Conectores ISP de Atmel..........................................................................6
  NXProg y el conector ISP de Atmel............................................................6
  Versiones de Wiring y sus conectores.........................................................7
  Conexión entre Wiring y NXProg................................................................9
4.PROGRAMANDO DESDE LA INTERFAZ WIRING...........................................11
  Selección de la plataforma Wiring............................................................11
  Selección del puerto de programación......................................................12
  Programando el bootloader.....................................................................14
  Mensajes durante el proceso...................................................................14
5.PROBLEMAS Y SOLUCIONES....................................................................16
6.AGRADECIMIENTOS...............................................................................17




Revisión 1.0                                                                               Página 3
AN-U002


1. INTRODUCCIÓN

      La tarjeta Wiring es una tarjeta de desarrollo comúnmente utilizada por
      diseñadores industriales y de medios interactivos, así como ingenieros
      electrónicos y de sistemas, como herramienta de prototipado rápido.
      Cuenta con una interfaz de programación basada en Processing, similar a la
      interfaz de Arduino (de hecho, Wiring fue la base de inspiración de
      Arduino), la cual utiliza un lenguaje similar a C++, pero simplificado, con el
      fin de facilitar la implementación de interfaces hardware. Más información
      sobre el proyecto en www.wiring.org.co.

      Las tarjetas Wiring se programan usando el puerto USB. Cuentan con el
      dispositivo FT232RL que realiza una conversión USB a serial, por lo que el
      microcontrolador de la tarjeta Wiring se programa a través de la UART
      (interfaz serial del dispositivo). El microcontrolador se encuentra
      previamente programado con un bootloader, esto es, un pequeño programa
      que reside en la memoria FLASH del microcontrolador. Este programa es el
      que permite que la tarjeta Wiring sea programada a través del puerto USB.
      El bootloader se ejecuta al momento de realizar un Reset sobre la tarjeta
      Wiring. Éste configura la UART para recibir comandos de programación, y de
      esta manera es posible programar el dispositivo. En ciertos casos, el
      bootloader se ve afectado debido a un mal manejo de la tarjeta o a una
      mala programación. Si el bootloader falla, no es posible volver a programar
      nuevamente el microcontrolador de la tarjeta, y por lo tanto, queda
      inutilizada la Wiring. Sin embargo, en gran parte de los casos esto se puede
      corregir reprogramando el bootloader en el microcontrolador de Wiring.

      Esta nota de aplicación se encarga de describir paso a paso como realizar
      este procedimiento de manera fácil utilizando el programador NXPRog.




Revisión 1.0                                                             Página 4
AN-U002


2. RECURSOS

      A continuación se describen los recursos necesarios para realizar la
      reprogramación de Wiring:

          •     Programador NXProg y su respectivo cable USB tipo B para conexión
                al computador.
          •     Tarjeta Wiring y su respectivo cable USB tipo B para conexión al
                computador.
          •     Software Wiring previamente instalado.
          •     Software Sinaprog, AVR Studio o Codevision, en caso de que el
                software Wiring no funcione correctamente (OPCIONAL).




                Programador NXProg                       Tarjeta Wiring




               Interfaz software Wiring            Interfaz Software Sinaprog



Revisión 1.0                                                                Página 5
AN-U002


3. CONEXIÓN ENTRE NXPROG Y WIRING

      El primer paso es lograr una CORRECTA conexión entre NXProg y Wiring.
      Para ello, es necesario identificar el tipo de conector con el que cuenta la
      tarjeta Wiring, para establecer si es compatible o no con la disposición de
      pines del conector de NXProg. Tanto NXProg como Wiring manejan el
      estándar ISP de Atmel, sin embargo existen dos modos, uno de seis (6)
      pines y otro de diez (10) pines. En la figura 1 se muestra la distribución de
      pines en cada uno de estos conectores.

      Conectores ISP de Atmel




                   Figura 1: Tipos de pinout de conectores ISP de Atmel: (a) conector
                               ISP de 6 pines, (b) conector ISP de 10 pines


      Se puede observar que estos dos modos NO son COMPATIBLES.

      NXProg y el conector ISP de Atmel

      NXProg, a pesar de contar con 10 pines, es en realidad compatible con el
      estándar de seis (6) pines, puesto que es el más común. La relación entre
      el conector de 6 pines y el de NXProg se puede ver en la figura 2.




Revisión 1.0                                                                            Página 6
AN-U002




                        Figura 2: Estándar de 6 pines y el conector NXProg


      Se observa entonces que basta con conectar NXProg usando únicamente los
      seis pines de en medio del conector para cumplir con el estándar ISP de 6
      pines. NXProg cuenta con detección automática de conexión, por lo que la
      identificación de un correcto acople es sencillo, basta con ver el estado de
      los LEDs, tal como se muestra en la tabla 1 (tomado de la hoja de datos de
      NXProg):

                        Conexión incorrecta (LED Naranja y verde encendidos):

                        NXProg    establece  este estado      cuando    se    encuentra
                        INCORRECTAMENTE conectado a la tarjeta Wiring o simplemente no
                        se ha conectado aún.

                        Conexión correcta (LED verde encendido):

                        NXProg establece este estado cuando se encuentra CORRECTAMENTE
                        conectado a la tarjeta Wiring.


                        Tabla 1: Estados de conexión de NXProg



      Versiones de Wiring y sus conectores

      La gran mayoría de las tarjetas Wiring cumplen con el estándar de conexión
      ISP de 6 pines de Atmel (rev 0004 en adelante). Sin embargo, para

Revisión 1.0                                                                   Página 7
AN-U002
      versiones muy viejas de Wiring (< rev 0004) el conector era el estándar ISP
      de 10 pines. Por fortuna, la identificación del estándar es muy sencilla, ya
      que basta con identificar con cuántos pines cuenta el conector para
      establecer la diferencia. A continuación se dejan unas imágenes en la figura
      3, que permiten identificar claramente la ubicación del conector en las
      diferentes versiones de las tarjetas Wiring.




Wiring (<rev0004) con conector ISP de 10 pines     Wiring (rev0004) con conector ISP de 6 pines




  Wiring Sparkfun con conector ISP de 6 pines           Wiring S con conector ISP de 6 pines
                             Figura 3: Conector ISP en tarjetas Wiring




      Por lo tanto, en caso de contar con una tarjeta Wiring < rev 0004, es
      necesario hacer un cableado adicional para convertir el estándar de 6 pines
      a 10. La figura 4 ilustra la conexión necesaria entre el conector de NXProg
      (estándar de 6 pines) y el estándar ISP de 10 pines. La conexión entre las
      líneas VCC es opcional, si se desea alimentar la tarjeta Wiring desde
      NXProg. Únicamente en este caso NO es necesaria la conexión de Wiring al
      computador a través del cable USB.


Revisión 1.0                                                                          Página 8
AN-U002




                        Figura 4: Conversión del conector de NXProg al estándar
                                            ISP de 10 pines



      Conexión entre Wiring y NXProg
      Habiendo identificado la versión de su tarjeta Wiring, proceda a realizar la
      respectiva conexión con NXProg, teniendo en cuenta que es necesario que
      la tarjeta Wiring se encuentre CONECTADA al computador mediante el cable
      USB. Esto es debido a que NXProg no alimenta directamente la tarjeta
      Wiring desde el conector ISP.

      A continuación se muestra un ejemplo de una tarjeta Wiring < rev 0004
      conectada con NXProg realizando la anterior conexión planteada, en la
      figura 5.




                 Figura 5: Programando una Wiring con conector ISP de 10 pines: no se
                   puede realizar conexión directa, se cablean las respectivas señales.
                      NXProg avisa cuando se encuentra correctamente conectado
                                   (únicamente LED verde encendido)



Revisión 1.0                                                                              Página 9
AN-U002

      Si se cuenta con una tarjeta Wiring >= rev 0004, la conexión entre la
      tarjeta y NXProg es directa, como lo muestra la figura 6.




               Figura 6: Conexión de una Wiring con conector ISP de 6 pines: La conexión
               es directa, el NXProg avisa cuando se encuentra correctamente conectado el
                              programador (únicamente LED verde encendido)


      Se observa que en los dos casos de ejemplo NXProg señala que la conexión
      es correcta (LED verde encendido).




Revisión 1.0                                                                           Página 10
AN-U002


4. PROGRAMANDO DESDE LA INTERFAZ WIRING

      Ya habiendo conectado exitosamente NXProg con Wiring, se procede a
      realizar el proceso de programación del bootloader. Para ello, utilizaremos la
      misma interfaz de Wiring. Por lo tanto, proceda a abrir el programa.


      Selección de la plataforma Wiring
      El primer paso es seleccionar la versión de la tarjeta Wiring. Esto lo
      hacemos a través del menú Tools → Board → Wiring → Versión. En la figura 7
      se puede observar este procedimiento.




                     Figura 7: Selección de la versión de la tarjeta Wiring


      Este   procedimiento   también   puede   realizarse  para   diferentes
      microcontroladores Atmel, en caso de no poseer una tarjeta Wiring a la
      mano. Para ello, puede seleccionar el menú Tools → Board → Atmel →


Revisión 1.0                                                                    Página 11
AN-U002
      microcontrolador con el que cuente para el proyecto (Atmega168,
      Atmega328, Atmega644 y Atmega1284 son los únicos soportados por el
      momento). La figura 8 ilustra este procedimiento.




               Figura 8: Selección del microcontrolador que emula la tarjeta Wiring




      Selección del puerto de programación
      Se procede entonces a seleccionar el puerto de NXProg para realizar la
      programación. El puerto asignado a NXProg se puede consultar en el
      Administrador de Dispositivos de Windows, aparece bajo el nombre AVR
      NXPRog (ver figura 9). En la interfaz Wiring, el puerto se selección en el
      menú Tools → Serial Port → COMx (la x es el puerto donde quedó NXProg,
      en este ejemplo es el puerto 3, COM3). Este procedimiento se puede ver en
      la figura 10.




Revisión 1.0                                                                          Página 12
AN-U002




                 Figura 9: Puerto asignado a NXProg




               Figura 10: Selección del puerto en Wiring


Revisión 1.0                                                 Página 13
AN-U002
      Programando el bootloader
      Ya configurado el puerto, se procede a realizar la programación. NXProg
      emula el protocolo STK500, el mismo que utiliza el programador original de
      Atmel, el AVRISP. Por lo tanto, seleccionaremos esta opción en el menú
      Tools → Burn Bootloader → w/ AVR ISP . NO utilice la opción AVRISP mkII, ni
      ninguna otra opción diferente, ya que no se encuentran soportadas. Esto se
      observa en la figura 11.




                 Figura 11: Programación del bootloader con la interfaz AVRISP



      Mensajes durante el proceso
      La interfaz Wiring arroja diferentes mensajes durante el proceso de
      programación del bootloader. La tabla 2 es una guía para estos diferentes
      mensajes.


Revisión 1.0                                                                       Página 14
AN-U002


El procedimiento de programación del bootloader se está llevando a cabo. Espere
hasta que finalice.




El procedimiento de programación del bootloader ha finalizado correctamente. La
tarjeta Wiring ya debe estar respondiendo a comandos de programación.




Hubo un error durante la programación del bootloader. Inicie nuevamente el
procedimiento verificando que no cometió ningún error.
   Tabla 2: Mensajes de la interfaz Wiring durante el proceso de programación del bootloader




Revisión 1.0                                                                       Página 15
AN-U002


5. PROBLEMAS Y SOLUCIONES

En caso de que este proceso sea infructuoso, le recomendamos intentar la
reprogramación del bootloader usando la interfaz Sinaprog, software disponible
en nuestra página web, así como su respectivo manual de uso:

Descarga de Sinaprog
www.naxuscolombia.com/descargas-comunes/

Manual de uso de Sinaprog
http://wwwnaxuscolombia.com/descargas-comunes/documentacion/

Recuerde que el proceso aquí descrito es sólo una guía de reprogramación de
bootloader de las tarjetas Wiring. En ningún caso pretende ser una guía de
recuperación completa de una tarjeta Wiring que pudiese estar quemada o
simplemente defectuosa. Recuerde que en caso de no funcionar el proceso, es
muy probable que su tarjeta Wiring presente otra falla diferente a la del
bootloader y no sea posible recuperarla. Esta situación depende de muchos
factores de acuerdo al manejo que se le haya dado a la tarjeta Wiring. Naxus
Sistemas Inteligentes no se responsabiliza por ningún accidente o problema que
se pudiese presentar al realizar este procedimiento, que afecte directa o
indirectamente su tarjeta Wiring.




Revisión 1.0                                                       Página 16
AN-U002

6. AGRADECIMIENTOS
      Naxus Sistemas Inteligentes agradece a los profesores de la Universidad
      ICESI de Cali, Colombia, Juan Carlos Muñoz y Jose Moncada, por facilitar el
      acceso a las tarjetas Wiring para realizar las respectivas pruebas de
      validación del procedimiento aquí descrito.




Revisión 1.0                                                          Página 17

Más contenido relacionado

PDF
12027 53
DOCX
Capítulo 8 ccent/ccna 1
DOCX
PPTX
Elimina los cuellos de botella con NETGEAR
DOCX
Taller vlan
PDF
Curso de plc cap 2
PDF
1.5.1
PDF
Prac 3.5 wha
12027 53
Capítulo 8 ccent/ccna 1
Elimina los cuellos de botella con NETGEAR
Taller vlan
Curso de plc cap 2
1.5.1
Prac 3.5 wha

La actualidad más candente (13)

PDF
Practica 2 routing_entre_vlan_basado_en_enlaces_troncales_802.1_q
PDF
35699430 ccna-4-0-labs-modulo-2-e routing-ilm-v40
PDF
Estandar de instalacion 5 g claro_v2 (1)
DOC
Conectores
PPT
Micro avanzados
PPTX
Proyecto
PDF
7.5.2.2 pract switcheo_wha
DOCX
Taller de intervlan
DOCX
Taller 11 redes ii stp e-switching jhon sandoval diego hernández carlos rugeles
PDF
11.6.2
PDF
Cableado estructurado y configuración de router
PDF
6.3.1.10 packet tracer exploring internetworking devices instructions
PDF
5.3.3.5 packet tracer configure layer 3 switches instructions
Practica 2 routing_entre_vlan_basado_en_enlaces_troncales_802.1_q
35699430 ccna-4-0-labs-modulo-2-e routing-ilm-v40
Estandar de instalacion 5 g claro_v2 (1)
Conectores
Micro avanzados
Proyecto
7.5.2.2 pract switcheo_wha
Taller de intervlan
Taller 11 redes ii stp e-switching jhon sandoval diego hernández carlos rugeles
11.6.2
Cableado estructurado y configuración de router
6.3.1.10 packet tracer exploring internetworking devices instructions
5.3.3.5 packet tracer configure layer 3 switches instructions
Publicidad

Similar a Programando Wiring con NXProg (20)

PDF
Hoja de datos programador NXProg
PDF
Hoja datos AVR-Board
PDF
Hardware Hacking con Arduino y RAD
PDF
Practicas con arduino UPVM
DOCX
Tipos de arduino y sus caracteristicas
PDF
Conexion wi fi_con_un_modulo_esp8266
PDF
Hardware Hacking Rad
PPTX
Como controlar una carga con un Arduino
PDF
Los Diferentes Arduinos y Sus Caracteristicas
PPSX
Tarjetas de arduino
PDF
USBee_datasheet
PPSX
Ethernet
DOCX
Estrategias de apoyo arduino uno
PDF
Ethernet Shield
PDF
LA ELECTRICIDAD Y LA ELECTRONIC1.pdf
PDF
LA ELECTRICIDAD Y LA ELECTRONIC1.pdf
PDF
curso-arduino.pdf
DOCX
Investigación sobre usb
PDF
El USB
PDF
ACTIVIDAD GRUPAL mayo.pdf
Hoja de datos programador NXProg
Hoja datos AVR-Board
Hardware Hacking con Arduino y RAD
Practicas con arduino UPVM
Tipos de arduino y sus caracteristicas
Conexion wi fi_con_un_modulo_esp8266
Hardware Hacking Rad
Como controlar una carga con un Arduino
Los Diferentes Arduinos y Sus Caracteristicas
Tarjetas de arduino
USBee_datasheet
Ethernet
Estrategias de apoyo arduino uno
Ethernet Shield
LA ELECTRICIDAD Y LA ELECTRONIC1.pdf
LA ELECTRICIDAD Y LA ELECTRONIC1.pdf
curso-arduino.pdf
Investigación sobre usb
El USB
ACTIVIDAD GRUPAL mayo.pdf
Publicidad

Más de alepusto (14)

PDF
Manual del robot NXBOT
PPTX
ParkNET - Testing Value Proposition
PDF
ParkNET - Opportunity Analysis Project
PPTX
Venture lab second assignment presentation
PDF
Manual SinaProg
PDF
Hoja datos microSD
PDF
Manual Atmel FLIP
PDF
Nota de Aplicacion AN-U003
PDF
Navegacion autonoma reactiva en pasillos usando el punto de fuga
PDF
Hoja de datos USB2TTL
PDF
Hoja datos DP8
PDF
Hoja de datos LD8
PDF
Nota de aplicación AN-U001 de USBee
PDF
Hoja de datos tarjeta de desarrollo USBee Duo
Manual del robot NXBOT
ParkNET - Testing Value Proposition
ParkNET - Opportunity Analysis Project
Venture lab second assignment presentation
Manual SinaProg
Hoja datos microSD
Manual Atmel FLIP
Nota de Aplicacion AN-U003
Navegacion autonoma reactiva en pasillos usando el punto de fuga
Hoja de datos USB2TTL
Hoja datos DP8
Hoja de datos LD8
Nota de aplicación AN-U001 de USBee
Hoja de datos tarjeta de desarrollo USBee Duo

Último (20)

PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
modulo seguimiento 1 para iniciantes del
PDF
Maste clas de estructura metálica y arquitectura
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PDF
Diapositiva proyecto de vida, materia catedra
PPTX
Curso de generación de energía mediante sistemas solares
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
SAP Transportation Management para LSP, TM140 Col18
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Presentación de Redes de Datos modelo osi
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PDF
capacitación de aire acondicionado Bgh r 410
PDF
CyberOps Associate - Cisco Networking Academy
PDF
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
modulo seguimiento 1 para iniciantes del
Maste clas de estructura metálica y arquitectura
Propuesta BKP servidores con Acronis1.pptx
Presentación PASANTIAS AuditorioOO..pptx
TRABAJO DE TECNOLOGIA.pdf...........................
Diapositiva proyecto de vida, materia catedra
Curso de generación de energía mediante sistemas solares
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
SAP Transportation Management para LSP, TM140 Col18
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Presentación de Redes de Datos modelo osi
informe_fichas1y2_corregido.docx (2) (1).pdf
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Presentacion de Alba Curso Auditores Internos ISO 19011
capacitación de aire acondicionado Bgh r 410
CyberOps Associate - Cisco Networking Academy
PRESENTACIÓN GENERAL MIPIG - MODELO INTEGRADO DE PLANEACIÓN

Programando Wiring con NXProg

  • 1. NOTA DE APLICACIÓN AN-P002 Programando Wiring con NXProg
  • 2. AN-U002 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.0 Página 2
  • 3. AN-U002 Índice de contenido 1.INTRODUCCIÓN......................................................................................4 2.RECURSOS.............................................................................................5 3.CONEXIÓN ENTRE NXPROG Y WIRING........................................................6 Conectores ISP de Atmel..........................................................................6 NXProg y el conector ISP de Atmel............................................................6 Versiones de Wiring y sus conectores.........................................................7 Conexión entre Wiring y NXProg................................................................9 4.PROGRAMANDO DESDE LA INTERFAZ WIRING...........................................11 Selección de la plataforma Wiring............................................................11 Selección del puerto de programación......................................................12 Programando el bootloader.....................................................................14 Mensajes durante el proceso...................................................................14 5.PROBLEMAS Y SOLUCIONES....................................................................16 6.AGRADECIMIENTOS...............................................................................17 Revisión 1.0 Página 3
  • 4. AN-U002 1. INTRODUCCIÓN La tarjeta Wiring es una tarjeta de desarrollo comúnmente utilizada por diseñadores industriales y de medios interactivos, así como ingenieros electrónicos y de sistemas, como herramienta de prototipado rápido. Cuenta con una interfaz de programación basada en Processing, similar a la interfaz de Arduino (de hecho, Wiring fue la base de inspiración de Arduino), la cual utiliza un lenguaje similar a C++, pero simplificado, con el fin de facilitar la implementación de interfaces hardware. Más información sobre el proyecto en www.wiring.org.co. Las tarjetas Wiring se programan usando el puerto USB. Cuentan con el dispositivo FT232RL que realiza una conversión USB a serial, por lo que el microcontrolador de la tarjeta Wiring se programa a través de la UART (interfaz serial del dispositivo). El microcontrolador se encuentra previamente programado con un bootloader, esto es, un pequeño programa que reside en la memoria FLASH del microcontrolador. Este programa es el que permite que la tarjeta Wiring sea programada a través del puerto USB. El bootloader se ejecuta al momento de realizar un Reset sobre la tarjeta Wiring. Éste configura la UART para recibir comandos de programación, y de esta manera es posible programar el dispositivo. En ciertos casos, el bootloader se ve afectado debido a un mal manejo de la tarjeta o a una mala programación. Si el bootloader falla, no es posible volver a programar nuevamente el microcontrolador de la tarjeta, y por lo tanto, queda inutilizada la Wiring. Sin embargo, en gran parte de los casos esto se puede corregir reprogramando el bootloader en el microcontrolador de Wiring. Esta nota de aplicación se encarga de describir paso a paso como realizar este procedimiento de manera fácil utilizando el programador NXPRog. Revisión 1.0 Página 4
  • 5. AN-U002 2. RECURSOS A continuación se describen los recursos necesarios para realizar la reprogramación de Wiring: • Programador NXProg y su respectivo cable USB tipo B para conexión al computador. • Tarjeta Wiring y su respectivo cable USB tipo B para conexión al computador. • Software Wiring previamente instalado. • Software Sinaprog, AVR Studio o Codevision, en caso de que el software Wiring no funcione correctamente (OPCIONAL). Programador NXProg Tarjeta Wiring Interfaz software Wiring Interfaz Software Sinaprog Revisión 1.0 Página 5
  • 6. AN-U002 3. CONEXIÓN ENTRE NXPROG Y WIRING El primer paso es lograr una CORRECTA conexión entre NXProg y Wiring. Para ello, es necesario identificar el tipo de conector con el que cuenta la tarjeta Wiring, para establecer si es compatible o no con la disposición de pines del conector de NXProg. Tanto NXProg como Wiring manejan el estándar ISP de Atmel, sin embargo existen dos modos, uno de seis (6) pines y otro de diez (10) pines. En la figura 1 se muestra la distribución de pines en cada uno de estos conectores. Conectores ISP de Atmel Figura 1: Tipos de pinout de conectores ISP de Atmel: (a) conector ISP de 6 pines, (b) conector ISP de 10 pines Se puede observar que estos dos modos NO son COMPATIBLES. NXProg y el conector ISP de Atmel NXProg, a pesar de contar con 10 pines, es en realidad compatible con el estándar de seis (6) pines, puesto que es el más común. La relación entre el conector de 6 pines y el de NXProg se puede ver en la figura 2. Revisión 1.0 Página 6
  • 7. AN-U002 Figura 2: Estándar de 6 pines y el conector NXProg Se observa entonces que basta con conectar NXProg usando únicamente los seis pines de en medio del conector para cumplir con el estándar ISP de 6 pines. NXProg cuenta con detección automática de conexión, por lo que la identificación de un correcto acople es sencillo, basta con ver el estado de los LEDs, tal como se muestra en la tabla 1 (tomado de la hoja de datos de NXProg): Conexión incorrecta (LED Naranja y verde encendidos): NXProg establece este estado cuando se encuentra INCORRECTAMENTE conectado a la tarjeta Wiring o simplemente no se ha conectado aún. Conexión correcta (LED verde encendido): NXProg establece este estado cuando se encuentra CORRECTAMENTE conectado a la tarjeta Wiring. Tabla 1: Estados de conexión de NXProg Versiones de Wiring y sus conectores La gran mayoría de las tarjetas Wiring cumplen con el estándar de conexión ISP de 6 pines de Atmel (rev 0004 en adelante). Sin embargo, para Revisión 1.0 Página 7
  • 8. AN-U002 versiones muy viejas de Wiring (< rev 0004) el conector era el estándar ISP de 10 pines. Por fortuna, la identificación del estándar es muy sencilla, ya que basta con identificar con cuántos pines cuenta el conector para establecer la diferencia. A continuación se dejan unas imágenes en la figura 3, que permiten identificar claramente la ubicación del conector en las diferentes versiones de las tarjetas Wiring. Wiring (<rev0004) con conector ISP de 10 pines Wiring (rev0004) con conector ISP de 6 pines Wiring Sparkfun con conector ISP de 6 pines Wiring S con conector ISP de 6 pines Figura 3: Conector ISP en tarjetas Wiring Por lo tanto, en caso de contar con una tarjeta Wiring < rev 0004, es necesario hacer un cableado adicional para convertir el estándar de 6 pines a 10. La figura 4 ilustra la conexión necesaria entre el conector de NXProg (estándar de 6 pines) y el estándar ISP de 10 pines. La conexión entre las líneas VCC es opcional, si se desea alimentar la tarjeta Wiring desde NXProg. Únicamente en este caso NO es necesaria la conexión de Wiring al computador a través del cable USB. Revisión 1.0 Página 8
  • 9. AN-U002 Figura 4: Conversión del conector de NXProg al estándar ISP de 10 pines Conexión entre Wiring y NXProg Habiendo identificado la versión de su tarjeta Wiring, proceda a realizar la respectiva conexión con NXProg, teniendo en cuenta que es necesario que la tarjeta Wiring se encuentre CONECTADA al computador mediante el cable USB. Esto es debido a que NXProg no alimenta directamente la tarjeta Wiring desde el conector ISP. A continuación se muestra un ejemplo de una tarjeta Wiring < rev 0004 conectada con NXProg realizando la anterior conexión planteada, en la figura 5. Figura 5: Programando una Wiring con conector ISP de 10 pines: no se puede realizar conexión directa, se cablean las respectivas señales. NXProg avisa cuando se encuentra correctamente conectado (únicamente LED verde encendido) Revisión 1.0 Página 9
  • 10. AN-U002 Si se cuenta con una tarjeta Wiring >= rev 0004, la conexión entre la tarjeta y NXProg es directa, como lo muestra la figura 6. Figura 6: Conexión de una Wiring con conector ISP de 6 pines: La conexión es directa, el NXProg avisa cuando se encuentra correctamente conectado el programador (únicamente LED verde encendido) Se observa que en los dos casos de ejemplo NXProg señala que la conexión es correcta (LED verde encendido). Revisión 1.0 Página 10
  • 11. AN-U002 4. PROGRAMANDO DESDE LA INTERFAZ WIRING Ya habiendo conectado exitosamente NXProg con Wiring, se procede a realizar el proceso de programación del bootloader. Para ello, utilizaremos la misma interfaz de Wiring. Por lo tanto, proceda a abrir el programa. Selección de la plataforma Wiring El primer paso es seleccionar la versión de la tarjeta Wiring. Esto lo hacemos a través del menú Tools → Board → Wiring → Versión. En la figura 7 se puede observar este procedimiento. Figura 7: Selección de la versión de la tarjeta Wiring Este procedimiento también puede realizarse para diferentes microcontroladores Atmel, en caso de no poseer una tarjeta Wiring a la mano. Para ello, puede seleccionar el menú Tools → Board → Atmel → Revisión 1.0 Página 11
  • 12. AN-U002 microcontrolador con el que cuente para el proyecto (Atmega168, Atmega328, Atmega644 y Atmega1284 son los únicos soportados por el momento). La figura 8 ilustra este procedimiento. Figura 8: Selección del microcontrolador que emula la tarjeta Wiring Selección del puerto de programación Se procede entonces a seleccionar el puerto de NXProg para realizar la programación. El puerto asignado a NXProg se puede consultar en el Administrador de Dispositivos de Windows, aparece bajo el nombre AVR NXPRog (ver figura 9). En la interfaz Wiring, el puerto se selección en el menú Tools → Serial Port → COMx (la x es el puerto donde quedó NXProg, en este ejemplo es el puerto 3, COM3). Este procedimiento se puede ver en la figura 10. Revisión 1.0 Página 12
  • 13. AN-U002 Figura 9: Puerto asignado a NXProg Figura 10: Selección del puerto en Wiring Revisión 1.0 Página 13
  • 14. AN-U002 Programando el bootloader Ya configurado el puerto, se procede a realizar la programación. NXProg emula el protocolo STK500, el mismo que utiliza el programador original de Atmel, el AVRISP. Por lo tanto, seleccionaremos esta opción en el menú Tools → Burn Bootloader → w/ AVR ISP . NO utilice la opción AVRISP mkII, ni ninguna otra opción diferente, ya que no se encuentran soportadas. Esto se observa en la figura 11. Figura 11: Programación del bootloader con la interfaz AVRISP Mensajes durante el proceso La interfaz Wiring arroja diferentes mensajes durante el proceso de programación del bootloader. La tabla 2 es una guía para estos diferentes mensajes. Revisión 1.0 Página 14
  • 15. AN-U002 El procedimiento de programación del bootloader se está llevando a cabo. Espere hasta que finalice. El procedimiento de programación del bootloader ha finalizado correctamente. La tarjeta Wiring ya debe estar respondiendo a comandos de programación. Hubo un error durante la programación del bootloader. Inicie nuevamente el procedimiento verificando que no cometió ningún error. Tabla 2: Mensajes de la interfaz Wiring durante el proceso de programación del bootloader Revisión 1.0 Página 15
  • 16. AN-U002 5. PROBLEMAS Y SOLUCIONES En caso de que este proceso sea infructuoso, le recomendamos intentar la reprogramación del bootloader usando la interfaz Sinaprog, software disponible en nuestra página web, así como su respectivo manual de uso: Descarga de Sinaprog www.naxuscolombia.com/descargas-comunes/ Manual de uso de Sinaprog http://wwwnaxuscolombia.com/descargas-comunes/documentacion/ Recuerde que el proceso aquí descrito es sólo una guía de reprogramación de bootloader de las tarjetas Wiring. En ningún caso pretende ser una guía de recuperación completa de una tarjeta Wiring que pudiese estar quemada o simplemente defectuosa. Recuerde que en caso de no funcionar el proceso, es muy probable que su tarjeta Wiring presente otra falla diferente a la del bootloader y no sea posible recuperarla. Esta situación depende de muchos factores de acuerdo al manejo que se le haya dado a la tarjeta Wiring. Naxus Sistemas Inteligentes no se responsabiliza por ningún accidente o problema que se pudiese presentar al realizar este procedimiento, que afecte directa o indirectamente su tarjeta Wiring. Revisión 1.0 Página 16
  • 17. AN-U002 6. AGRADECIMIENTOS Naxus Sistemas Inteligentes agradece a los profesores de la Universidad ICESI de Cali, Colombia, Juan Carlos Muñoz y Jose Moncada, por facilitar el acceso a las tarjetas Wiring para realizar las respectivas pruebas de validación del procedimiento aquí descrito. Revisión 1.0 Página 17