Interfaz JTAG del microcontrolador y PCB

Estoy a punto de comenzar a hacer mi propio circuito de microcontrolador (usando una MCU de la serie Atmega, al menos al principio) y creo que voy a obtener el depurador y programador AVR JTAGICE JTAG. También planeo hacer mi propio laboratorio de PCB en casa, así que me preguntaba, según su experiencia, si era mejor usar paquetes DIP o SMD (SOIC, TSSOP, TQFP/LQFP).

Por lo que entendí, los paquetes DIP son los preferidos en el sector del bricolaje, mientras que los SMD son mejores porque ocupan menos espacio y deberían ser menos sensibles a las interferencias electromagnéticas (por ejemplo, con otros circuitos integrados).

Ahora a la pregunta: si necesita (re) programar el microcontrolador, ¿cuál usaría? AFAIK hay dos alternativas:

  1. Use un zócalo DIP soldado a la PCB y coloque la MCU DIP allí. Cada vez que necesito reprogramarlo, lo saco del zócalo, lo coloco en una placa tipo adaptador a JTAG, lo reprogramo y lo transfiero de nuevo al zócalo.
  2. Coloque un componente SMD en la PCB y deje que un puerto JTAG sea accesible desde el exterior (debería ser de 20 pines, ¿no?). También me gustaría mantener el circuito lo más pequeño posible, entonces, ¿hay encabezados de baja huella con 20 pines? Lo siento, pero no sé cómo se llaman exactamente. No es necesario que sea JTAG realmente: puedo dejar un encabezado de huella pequeña allí, ir a un PCB adaptador con un cable e ir al depurador a través del cable JTAG oficial.

Creo que la primera solución es la más simple y probablemente un poco más barata. Incluso debería ser más fácil de soldar. Que sugieres ?

No desea mover su microcontrolador DIP de un zócalo a otro muy a menudo, solo para programarlo. Después de un tiempo, podrías doblar o incluso romper los pines del uC..

Respuestas (4)

Hay enchufes disponibles tanto para paquetes DIP como para paquetes SMD. No importa qué dirección tome, le sugiero que use un enchufe. De esa manera, si deja salir el humo, reemplazar el chip no requiere desoldar y volver a soldar.

La elección entre DIP y SMD tiene que ver con lo que se sienta más cómodo. Por lo general, hay una mayor variedad de microcontroladores disponibles en SMD. Pero también son más frágiles. Especialmente cuando se usa con un enchufe. Si metes y sacas mucho el chip, lo más probable es que dobles o rompas algunos pines. Los pines en un DIP son mucho más indulgentes a este respecto.

Es raro que encuentre a alguien sacando un chip del circuito y colocándolo en un programador externo en estos días. Tuve que hacerlo con los PROM de la vieja escuela en la universidad. Pero no lo he hecho desde entonces. Es mucho mejor tener el JTAG en el propio tablero. @ i.amniels mencionó que la depuración en circuito es una gran ventaja. Me haré eco de ese sentimiento, ya que no se puede decir lo suficiente.

Hay muchas configuraciones diferentes de conectores JTAG. El AVR usa 10 pines. Y realmente no tienes mucho que decir en la huella del encabezado que puedes elegir. Tienes que hacer coincidir el tamaño del pin y el tono con tu JTAGICE. Atmel tiene una recomendación para el número de pieza que se debe usar para interactuar con JTAGICE. Me quedaría con eso.

http://support.atmel.com/bin/customer.exe?=&action=viewKbEntry&id=2

El número de pieza sugerido en el sitio de Atmel ahora está obsoleto (Digikey y Mouser). ¿Qué quiere decir que hay enchufes para paquetes SMD? Si mal no recuerdo hay, pero cuestan como 50$ cada uno.
Lo siento, no verifiqué la disponibilidad. Lo bueno de DigiKey es que se vinculan al reemplazo cuando algo se vuelve obsoleto: digikey.com/product-detail/en/10-89-7102/WM26810-ND/851737 . O aquí hay otra opción: digikey.com/product-detail/en/5103308-1/A33159-ND/1114897 .
No dijiste qué Atmega estabas usando (a menos que lo pasé por alto), así que no puedo dar un ejemplo específico. Pero sí, los enchufes SMD cuestan entre $50 y $100 o más. Pero si te encuentras con un problema y cambias los chips con frecuencia, vas a eliminar rastros. Entonces, debe sopesar ese costo único de $ 50 versus el tiempo y el costo para obtener una PCB completamente nueva. El zócalo le ahorrará dinero y frustraciones a largo plazo.
Estaba hablando de la serie Atmega "estándar" que cuesta menos de 3 $ por pieza (no estoy seguro de cuál exactamente todavía). Creo que en este caso el zócalo es demasiado caro (> 15 veces el costo de la MCU). Con los procesadores ARM que cuestan> 10 $, el zócalo sería definitivamente una opción (especialmente para un prototipo).
Si te entiendo correctamente, estarás grabando tus propios tableros como en casa. Dices que el ATmega se funde y le levantas un rastro desoldandolo. $3 por el Atmega, $10-$15 por el PCB + suministros para grabarlo, su tiempo para grabarlo, su tiempo para desoldar y volver a soldar todos los demás componentes a la nueva placa. Si tiras a la basura tu tablero dos veces, el zócalo se habría pagado solo. No puedo decirle cuántas tablas de $ 5000 he tirado a la basura cuando un enchufe de $ 1000 las habría salvado. Pero mi jefe no mordería el costo inicial. Sí, es caro. Pero piensa a largo plazo. Me lo agradecerás más tarde.
Si está buscando ahorrar dinero, opte por el orificio pasante. Los enchufes son una fracción del costo. Pero toda la asamblea es mucho más grande. Parece que también te preocupa el tamaño. Más pequeño puede ser más caro cuando miras el panorama general y no los componentes individuales. Siempre habrá una compensación de algún tipo. Bienvenido al mundo de la electrónica.
Estoy de acuerdo contigo en que tiene que haber un compromiso. Creo que en este punto, para cosas simples, usar un conector DIP sería la solución menos costosa y permitiría reparar y volver a soldar (ya que ese conector cuesta 0.2 $ como máximo). Probablemente, para procesadores / MCU costosos, su solución sea mucho mejor, pero no estoy tan seguro de usarlo con un Atmega. Aunque tendré en cuenta tu consejo para el futuro. Gracias.

Cuando agrega un puerto JTAG a su PCB, puede usar el JTAG para depurar su software mientras el microcontrolador está en su PCB. Esta es una gran ventaja y acelerará la depuración.

La elección entre DIP y SMD depende de sus habilidades de soldadura. Si puede soldar SMD, elija SMD. Es más pequeño y hay más microcontroladores diferentes disponibles con un paquete SMD.

Sí, pero quiero decir: ¿hay un encabezado de 20 pines de tamaño pequeño (no el paso estándar de 2,54 mm) que pueda soldar en la placa como una interfaz de acceso JTAG? Me gustaría evitar el uso de encabezados de paso de 2,54 mm porque ocupan mucho lugar por nada en este caso.
@ user51166 Es posible que desee algo como esto .
Está bien, gracias. Supongo que existen incluso aquellos con el "marco de plástico" para que el cable JTAG solo pueda conectarse de la manera correcta.

La primera solución es torpe. Te cansarás de sacar el chip, programarlo y luego volverlo a poner.

La mejor solución es usar programación en circuito, ya sea que use o no DIP, es irrelevante. Para AVR, puede usar JTAG o ISP. La implementación de JTAG de Atmel requiere solo 10 pines, no 20. La ventaja sobre el ISP es que puede depurar su circuito.

Si tiene mucho espacio en su PCB, puede utilizar un encabezado de 2x5 0.1 "y listo. Normalmente uso un conector polarizado para asegurarme de no enchufar el programador al revés.

Si tiene poco espacio, puede sacar algunos pads y usar pines pogo para conectar el AVR a su programador/depurador. Consulte esta respuesta para obtener más información sobre pogo-pins.

Gracias. Leí la respuesta pero realmente no puedo entender qué ventaja pueden ofrecer. Al ver el artículo en adafruit.com (como se dice en el artículo), me parece que esta solución se usa para construir tableros de varios niveles (muy útil para muchos componentes, donde podemos desarrollar en altura). Para un ajuste apretado me parece que no es tan bueno. ¿Le importa aclarar, por favor?
@user51166 Para programar mi microcontrolador, tengo un encabezado de 2x5 0.1 ", muy parecido a este . En relación con el tamaño de su uC, este conector es bastante grande. Si tiene un espacio muy limitado en su PCB, puede utilizar pogopins en lugar del encabezado. El Los pogopins ocupan muy poco espacio, por lo que ahorrará bastante espacio.
DE ACUERDO. Por las imágenes que vi, se veían mucho más grandes que un pin de encabezado, pero les daré una oportunidad. Gracias.

Si desea tomarse la electrónica razonablemente en serio, tendrá que abordar SMD en algún momento de todos modos, por lo que, si es posible, tomaría esta ruta. Tendrá muchas más opciones ya que muchos circuitos integrados ya no tienen una versión de orificio pasante. Diría que los aficionados están usando mucho más SMD hoy en día, por lo que no estoy seguro de si todavía es "preferido".

De cualquier manera, como se mencionó, prográmelo en la PCB. En lo que respecta al encabezado, es poco probable que se necesiten los 10 o 20 pines en cuanto a la señal, por lo que probablemente pueda reducirlo a alrededor de 5 pines si verifica el pinout y las hojas de datos.
A veces, los fabricantes venden diferentes adaptadores para sus programadores, así que eche un vistazo; por ejemplo, Microchip vende un práctico adaptador de pin pogo para el ICD3, por lo que solo necesita sostenerlo contra algunas almohadillas en el tablero durante la programación.
Si no hay algo disponible, hazlo. Recientemente hice esto con un ARM uC de ST: mi programador Ride viene con un encabezado de ~20 pines, por lo que hicimos un pequeño adaptador para que encaje en un encabezado de 5 pines para ahorrar espacio.

Esa era la idea que tenía en mente, pero ¿sigues usando un paso de 2,54 mm en la PCB o lo encoges para ahorrar incluso mucho espacio? ¿Colocó sus encabezados uno por uno o hay algún encabezado de 5 pines todo en uno, incluso mejor con plástico alrededor para que los cables solo puedan colocarse de una manera? Gracias.