como programar el smd atmega328

¿Cómo se programa el IC SMD ATMega328 de una manera económica? Sé que puede obtener una fábrica para programar los chips, pero ¿hay alguna manera de programarlos con Arduino sin uno de esos costosos zócalos?

Respuestas (1)

Sí, coloca un encabezado ISCP de 6 pines en la PCB para admitir la programación flash, compra un programador USBASP de $ 5 en Ebay y muestra el programa Arduino directamente en la placa, omitiendo todo el asunto del cargador de arranque serial / USB.

He hecho esto durante años, está bien. Una cosa importante a tener en cuenta es usar el entorno Arduino (con la placa de referencia/equivalente, el procesador, la configuración de voltaje y frecuencia correcta para su placa de destino) para actualizar primero el gestor de arranque. Esto configura todos los fusibles para garantizar que ATMEGA use la frecuencia de reloj correcta y otras configuraciones de fusibles que normalmente son difíciles de trabajar a través de la hoja de datos/tablas en línea.

Después de grabar el cargador de arranque, use el entorno Arduino normalmente, pero seleccione "Cargar con programador" en lugar de "Cargar" y esto usará el USBASP (asegúrese de seleccionar el programador en las opciones de herramientas del programador) para actualizar el programa directamente a ATMEGA, en lugar del método del cargador de arranque USB.

Esto es excelente si sus placas no tienen USB, como para proyectos muy pequeños donde no es necesario. La depuración aún se puede realizar mediante el uso de una interfaz serial externa como un adaptador serial USB FTDI en los pines seriales de ATMEGA (que necesita dividir en un encabezado en algún lugar con RX, TX y GND)

Por supuesto, puede usar el Atmel AVRISP Mk2 oficial o la interfaz de estilo JTAG completa para flashear el chip. De cualquier manera, su PCB en la que se va a soldar el SMD IC debe tener soporte para programación flash. Si no, añádelo. Como dijiste, un socket para programar fuera del sistema no es realmente una buena solución. De hecho, las series de producción a gran escala deben programarse previamente en la fábrica para evitar todas estas tonterías, pero eso está muy lejos en el diseño del producto. A nivel de prototipo, simplemente coloque el encabezado para la programación de ISP y la ruptura en serie.

¿sería posible programar el chip smd de la forma en que programa la versión dip, excepto soldar los cables al smd ic o eso no funciona?
Bueno, la versión DIP hace exactamente lo mismo: o tiene un cargador de arranque en serie pre-flasheado y usa serial, o usa la programación flash ISP como describí. Soldar cables al chip SMD es una idea terrible, solo póngalo en el circuito y hágalo correctamente. ¿A qué va/hacia dónde va el chip? ¿Por qué obtener un chip SMD si no puede manejarlo correctamente, pero puede manejar chips DIP?
Lo siento por tomar su tiempo, es solo que quiero ingresar a los chips smd y hacer que los circuitos sean más pequeños, pero ¿a qué pines se conectaría el encabezado iscp?
Lea la hoja de datos de los chips de la serie ATMEGA y sus métodos de programación. Se necesita el bus SPI, además de restablecer VCC y GND, para un total de 6 pines.
@ DC1712 "¿Sería posible programar el chip smd de la misma manera que programa la versión dip?" - El circuito integrado (lo que hay dentro del paquete negro) es exactamente el mismo para las versiones SMD y DIP. Lo único que cambia es el metal que lo conecta con el mundo exterior. Eche un vistazo a cómo funcionan realmente estos programadores DIP y hágalo (que es lo que Kyran le está diciendo).