Compare las herramientas de programación de AVR

4

Estoy lidiando con los PIC por algún tiempo y ahora quiero aprender a usar un AVR. Tengo 2 MCU aquí, el AT32UC3C2512C-A2UT y el ATXMEGA32A4U-AU, pero todavía no tengo ninguna herramienta de programación.

En el PIC, las cosas son bastante simples: solo compras el PIC Kit 3 y puedes programar y depurar todos los PIC a un precio barato. Pero en AVR puedo ver tantas opciones en el sitio web de Atmel, y no solo en productos sino también en tecnologías (PDI, JTAG, etc.).

Ya que soy bastante novatada en este tema, quería una comparación rápida de las opciones disponibles, no solo de los programadores y depuradores, sino también de las tecnologías que contienen. Las opciones de bricolaje serán bienvenidas.

En Internet hay algunas guías de referencia rápida, like éste , pero tienen años y no comparan las tecnologías dentro de ellos (en ese enlace no dicen, por ejemplo, la diferencia entre TPI y PDI o JTAG y los beneficios de cada uno de ellos), Justo lo que hacen, por lo que es difícil elegir uno.

Por favor, tenga en cuenta que necesito una placa de programación para los MCU que mencioné. ¡Aprecio toda la ayuda!

EDITAR: creo que este enlace puede ayudar.

    
pregunta mFeinstein

2 respuestas

5

Hay docenas de programadores diferentes, pero todos caen en una o más de estas categorías:

  • JTAG. cualquier programador de JTAG puede programar cualquier dispositivo (no solo los AVR, y ni siquiera los micros) que acepte JTAG. Tengo varios programadores JTAG (Olimex AVR-JTAG-USB, Terasic's Blaster, Abatron BDI2000). Requiere 4 o 5 líneas.

  • PDI. Protocolo de 2 hilos específico de AVR para programación y depuración. Muchos programadores AVR admiten PDI (Dragon, AVRISP, JTAGMkII, etc.)

  • ISP. Protocolo de 5 hilos específico para AVR construido sobre SPI. La mayoría de los programadores AVR admiten esto y creo que todos los AVR lo admiten. El bus pirate también funciona como programador ISP AVR.

  • HVPP. Este modo usa una gran cantidad de pines y usa 12V para programar el dispositivo (a diferencia del suministro normal de 1.8-5V). Nunca he usado esto.

  • HVISP. Protocolo de 5 hilos específico de AVR que se puede usar en las partes de ATTiny u otros AVR a los que se les ha desactivado el pin de reinicio. Utiliza 12V como HVPP, pero con muchos menos pines. El Dragón es uno de los pocos programadores que admiten esta opción.

  • TPI. No sé mucho sobre este método, me parece muy similar al PDI. Se utiliza en los dispositivos ATTiny.

Para mis propias cosas, uso JTAG o ISP ya que ambos funcionan bien en el circuito, pero en un diseño reciente estoy usando ATTiny13A y necesito cada pin, así que uso un Dragón y HVISP para ese diseño. HVISP no está realmente destinado a la programación en circuito y hay algunas advertencias que he tenido que incorporar en el diseño para que funcione.

¿Qué programador es el adecuado para ti? Busque a su alrededor un programador ISP USB económico con un estuche. Obtén un Dragón si realmente necesitas los modos de programación HV, pero probablemente no los necesites en este momento. Digikey o Mouser son las fuentes habituales, pero puedes crear las tuyas propias, usar ebay o cualquier número de sitios como ladyada o sparkfun. Definitivamente no gastes más de $ 50, puedes obtener el Dragón por $ 56 de Digikey.

Quieres un caso para proteger al programador porque una cosa que no quieres es comenzar a adivinar si es tu diseño o el programador el que te está causando dolor. :-)

Editar 1

¿Qué programador usar para AVR32 y XMEGA? Ambos pueden usar JTAG, así que buscaría un programador JTAG. Los programadores de JTAG se pueden construir a partir de casi cualquier cosa, hay diseños caseros / "gratuitos" disponibles, e incluso se puede hacer uno desde un puerto paralelo. Sugiero mirar algo como AVR-JTAG-USB o ByteBlaster ya que ambos cuestan aproximadamente USD $ 50 y están bien soportados por avrdude (el software que programa los AVR en Linux y OSX), pero como dije, cualquier cable JTAG funcionará. Si está utilizando AVR Studio, verificaría su lista de programadores compatibles (un enlace que no pude encontrar, lamentablemente). Sé que sí es compatible con AVR-JTAG-USB, y creo que la recomendación oficial de Atmel es la JTAGICE3 .

Es posible que desee consultar Tutorial AVR de LadyAda : el enlace va a su " Elección de un programador ", pero todo el tutorial es bueno.

Editar 2

¿Por qué la disparidad de costos entre los programadores? Características en su mayoría. Algunos programadores solo pueden hacer ISP o JTAG. Algunos programadores solo trabajan con un VCC específico, o hacen suposiciones sobre si el dispositivo que está programando es alimentado por el programador o no. Algunos programadores no se preocupan por protegerse contra la desconexión, o tienen fuentes de alimentación "tontas" que no se apagan en el caso de cortocircuitos o sobrecargas. Ya mencioné que la mayoría de los programadores NO admiten la programación de alto voltaje (12V) que puede necesitar en algunos casos.

Para comenzar con XMEGA y AVR32, recomendaría el Olimex AVR-JTAG-USB o Terasic ByteBlaster como se mencionó anteriormente. Son razonablemente resistentes, tienen cambiadores de nivel para adaptarse a la fuente de alimentación del dispositivo que va a programar y tienen un precio razonable.

    
respondido por el akohlsmith
-1

XMEGA y UC3 (AVR32) no son realmente 'AVR', por lo que la mayoría de los programadores de AVR no trabajarán con ellos.

XMEGA necesita PDI (o JTAG). UC3, ni siquiera estoy seguro. Sin duda JTAG, posiblemente otro método sin embargo.

Hay un programador PDI en la biblioteca LUFA, que se ejecutará en cualquier AVR USB (como uno en teensy, o dongle chino para uh .. Playstation).

    
respondido por el Marko

Lea otras preguntas en las etiquetas