Programación previa de circuitos integrados de montaje en superficie

22

Estoy tratando de configurar una PCB con un atmega168 y sin encabezado de programación. Tengo la intención de utilizar 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 intentado esto antes? Tengo problemas para obtener un zócalo zq tqfp-32.

penjuin
fuente
3
¿Estás haciendo esto solo una vez?
Dirk
Lo haré por un lote completo (> 1)
penjuin

Respuestas:

21

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

pogopin

Toby Jaffey
fuente
3
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 agujero. Una fila de almohadillas podría ser mucho más fácil si cabe.
jluciani
¿Qué diablos pogopins ... estás hablando de una cabecera 2x3 ISP (véase mi respuesta a continuación)
vicatcu
44
Los pines Pogo son varillas de metal con puntas accionadas por resorte. A menudo se usan en accesorios de prueba cuando necesita hacer una conexión temporal a un circuito.
pingswept
Imagen de pines pogo: flickr.com/photos/pingswept/2280832792
pingswept
10

Simplemente coloque un encabezado ISP en su placa como una "alternativa" al cargador de arranque en serie. Luego use algo como el AVRISP MkII para programar su archivo hexadecimal y fusibles con AVRStudio. Tal vez solo lo use una vez para cargar el gestor 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 masculino 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 que mira hacia abajo en el diseño superior, los paneles están numerados de esta manera (o cualquier rotación consistente):

2 4 6
1 3 5

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

vicatcu
fuente
2
Veo muchos tableros que tienen un lugar para que dicho encabezado (ya sea filas de agujeros pasantes o filas de almohadillas SMT) se suelden al tablero, pero falta el encabezado en sí. Supongo que el fabricante usa los pines de pogo mencionados por Joby para tocar temporalmente el programador con esos pads en el tablero.
davidcary
10

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

mjh2007
fuente
4

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 obtener montones de la mayoría de las huellas de manera bastante barata en Sparkfun u otros sitios .

pingswept
fuente
1
eBay también es un gran lugar para obtener enchufes ZIF y parafernalia similar.
Dirk
1
No es necesario: generalmente es mucho más fácil hacer la programación en circuito en el tablero después de que la pieza esté en su lugar.
Jason S
3

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 colocarlos en el tablero.

Jimmie Clark
fuente
2

La instalación de programación en el sistema es una buena idea. También le permitirá actualizar el firmware si es necesario. Otras formas probablemente implican 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 con esos. 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.

XTL
fuente
1

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

Con In Circuit Programming, usted programa el dispositivo después del ensamblaje de la PCB, así que con el controlador montado en la PCB. En la parte inferior de la PCB tengo almohadillas de prueba que traen las señales requeridas para programar afuera. Por lo general, eso es JTAG , pero también podría ser un puerto serie. Haga que el departamento de ingeniería construya una plantilla de prueba con pasadores de prueba accionados por resorte que coincidan con las almohadillas de prueba.

pasadores de prueba con resorte

También necesitará pines de prueba para suministrar energía . Por lo general, agrego algunos pines de prueba adicionales, por ejemplo, para medir ciertos parámetros, o un canal de comunicación donde el microcontrolador puede identificarse (piense en la versión de software). No puedes tener demasiados puntos de prueba. No necesita el conector que necesita mucho espacio (que también cuesta dinero), y puede colocar las almohadillas de prueba donde lo 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 luego podría usarla para programar el dispositivo.
Después de programar, puede iniciar el dispositivo en la plantilla de prueba y realizar una serie de pruebas funcionales .

stevenvh
fuente