Circuitos integrados de montaje en superficie preprogramados

Estoy tratando de configurar una PCB con un atmega168 y sin encabezado de programación. Tengo la intención de usar un cargador de arranque en serie (hay un ft232 en la placa) para reprogramar, pero me pregunto cuál es la mejor manera de programar el cargador de arranque. ¿Alguien más ha probado esto antes? Tengo problemas para obtener un zócalo zif tqfp-32.

¿Estás haciendo esto sólo una vez?
Lo haré durante un lote completo (> 1)

Respuestas (8)

Puede ser más fácil sacar los pines de programación de algunos pads y luego usar pogopins para conectar su programador.

pogopin

Si el tablero es denso, también podría convertir las vías existentes en puntos de programación. Debe quitar la máscara de soldadura y posiblemente cambiar el tamaño de la almohadilla y el orificio. Una fila de almohadillas podría ser mucho más fácil si encaja.
¿Qué diablos son los pogopins? ¿Estás hablando de un encabezado ISP de 2x3 (ver mi respuesta a continuación)
Los pines pogo son varillas de metal con puntas con resorte. A menudo se usan en dispositivos de prueba cuando necesita hacer una conexión temporal a un circuito.

Si los compra en grandes volúmenes, a menudo puede comprar chips directamente del proveedor preprogramado con su cargador de arranque. No estoy seguro de si Atmel ofrece este servicio, pero sé que Microchip lo hace, así que supongo que ellos también lo hacen.

Simplemente coloque un encabezado ISP en su placa como una "alternativa" al cargador de arranque en serie. Luego use algo como AVRISP MkII para programar su archivo hexadecimal y fusionarlo con AVRStudio. Tal vez solo lo use una vez para cargar el cargador de arranque, pero es, con mucho, la solución más rentable que encontrará.

En caso de que no sepa a qué me refiero con un encabezado ISP, es un encabezado macho de 2x3, con el siguiente pinout:

2x3 pin    connect to AVR pin
1          MISO
2          VCC
3          SCK
4          MOSI
5          RESET
6          GND

Los pines impares están en una fila, los pines pares están en la otra fila y los pines secuenciales son adyacentes. En un diseño de tablero mirando hacia abajo en el diseño superior, los pads están numerados así (o cualquier rotación consistente):

2 4 6
1 3 5

Conéctelo así y debería poder conectar cualquier programador compatible con ISP (por ejemplo, AVRISP MkII, STK500, etc.)

Veo muchas placas que tienen un lugar para soldar dicho encabezado (ya sea filas de orificios pasantes o filas de almohadillas SMT) a la placa, pero falta el encabezado. Supongo que el fabricante usa los pogo-pins mencionados por Joby para tocar temporalmente el programador con esos pads en el tablero.

Lo que necesita es un adaptador de montaje en superficie . Entonces un zócalo ZIF es fácil de encontrar.

Los QFP son un poco caros, pero puedes conseguir montones de la mayoría de las huellas a un precio bastante bajo en Sparkfun u otros sitios .

eBay también es un gran lugar para conseguir enchufes ZIF y parafernalia similar.
No es necesario; por lo general, es mucho más fácil programar en el circuito en la placa una vez que la pieza está en su lugar.

En producción usamos estos adaptadores TQFP32 que compramos en eBay .

PD. Compramos varios más de los que necesitamos, así que si alguien los necesita con una factura con IVA de la UE... ;-)

He tenido un gran éxito con esta configuración.

Un STK600 con TQFP32 Zif . Esto le permitirá programar sus chips a través de USB antes de ponerlos en el tablero.

La instalación de programación en el sistema es una buena idea. También te permitirá actualizar el firmware si es necesario. Otras formas probablemente impliquen hacer un lecho de agujas o un sustituto de uno.

Como compromiso, puede asegurarse de que haya puntos de prueba en algún lugar de las redes necesarias (GND, !RST, SCK, MOSI, MISO, +V) y hacer un lecho de agujas para que coincida. Entonces no necesita un conector/diseño de ISP real a bordo. También puede extender eso para hacer algunas pruebas de producción automatizadas.

Usted habla de lotes de> 1, y luego lo siguiente probablemente no valga la pena, pero ciertamente lo es para lotes más grandes, digamos 100 y más.

Con la programación en circuito , usted programa el dispositivo después del ensamblaje de la placa de circuito impreso, por lo tanto, con el controlador montado en la placa de circuito impreso. En la parte inferior de la PCB tengo almohadillas de prueba que traen las señales requeridas para programar afuera. Por lo general, es JTAG , pero también podría ser un puerto serie. Pida al departamento de ingeniería que construya una plantilla de prueba con clavijas de prueba con resorte que coincidan con las almohadillas de prueba.

clavijas de prueba con resorte

También necesitará pines de prueba para suministrar energía . Por lo general, agrego algunos pines de prueba adicionales para, por ejemplo, medir ciertos parámetros o un canal de comunicación donde el microcontrolador puede identificarse (piense en la versión del software). No puede tener demasiados puntos de prueba. No necesita el conector que ocupa mucho espacio (que también cuesta dinero), y puede colocar las almohadillas de prueba donde desee. Siempre hay lugar para una almohadilla de 2 mm.

La plantilla de prueba cuesta en materiales y mano de obra, pero realmente necesita una si tiene una gran producción, y entonces también podría usarla para programar el dispositivo.
Después de la programación, puede iniciar el dispositivo en la plantilla de prueba y realizar una serie de pruebas funcionales .