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:
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 ?
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
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.
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.
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.
m.alin