Circuiti integrati pre-programmazione a montaggio superficiale


22

Sto cercando di impostare un PCB con un atmega168 e nessuna intestazione di programmazione. Ho intenzione di utilizzare un bootloader seriale (c'è un ft232 sulla scheda) per riprogrammare, ma mi chiedo il modo migliore per programmare il bootloader. Qualcun altro ha provato questo prima? Ho problemi a reperire un socket zif tqfp-32.


3
Lo stai facendo solo una volta?
Dirk,

Lo farò per un intero lotto (> 1)
penjuin,

Risposte:


21

Potrebbe essere più semplice estrarre i pin di programmazione su alcuni pad, quindi utilizzare i pogopin per collegare il programmatore.

pogopin


3
Se la scheda è densa, puoi anche trasformare i via esistenti in punti di programmazione. È necessario rimuovere il soldermask e possibilmente modificare le dimensioni del pad e del foro. Una fila di pad potrebbe essere molto più semplice se si adatta.
jluciani,

che diamine sono pogopin ... stai parlando di un header ISP 2x3 (vedi la mia risposta sotto)
vicatcu

4
I perni Pogo sono aste in metallo con punte caricate a molla. Vengono spesso utilizzati nelle apparecchiature di prova quando è necessario effettuare una connessione temporanea a un circuito.
spazzato



10

Basta inserire un'intestazione ISP sulla scheda come "alternativa" al bootloader seriale. Quindi utilizzare qualcosa come AVRISP MkII per programmare il file esadecimale e fondersi con AVRStudio. Forse lo usi solo una volta per caricare il bootloader, ma è di gran lunga la soluzione più economica che troverai.

Nel caso in cui non sapessi cosa intendo per intestazione ISP, si tratta di un'intestazione maschio 2x3, con il seguente pinout:

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

I pin dispari sono su una riga, i pin pari sono sull'altra riga e i pin sequenziali sono adiacenti. Su un layout di una scheda che guarda verso il basso in alto, i pad sono numerati in questo modo (o qualsiasi rotazione coerente):

2 4 6
1 3 5

Collegalo in questo modo e dovresti essere in grado di collegare qualsiasi programmatore che supporti ISP (ad esempio AVRISP MkII, STK500, ecc.)


2
Vedo un sacco di schede che hanno un posto per un'intestazione del genere (o file di fori passanti o file di pad SMT) da saldare alla scheda, ma l'intestazione stessa manca. Suppongo che il produttore utilizzi i pogo-pin menzionati da Joby per toccare temporaneamente il programmatore con quei pad sulla scheda.
David

10

Se li acquisti spesso in grandi volumi, puoi acquistare i chip direttamente dal fornitore preprogrammato con il tuo caricatore di avvio. Non sono sicuro che Atmel offra questo servizio, ma so che Microchip lo fa, quindi suppongo che facciano altrettanto.


4

Ciò di cui hai bisogno è un adattatore per montaggio su superficie . Quindi è facile trovare un socket ZIF.

Quelle QFP sono un po 'costose, ma puoi ottenere pile della maggior parte delle impronte a buon prezzo da Sparkfun o altri siti .


1
eBay è anche un ottimo posto per ottenere socket ZIF e oggetti simili.
Dirk,

1
Non necessario - in genere è molto più semplice eseguire la programmazione in-circuit sulla scheda dopo che la parte è stata posizionata.
Jason S,


3

Ho avuto un enorme successo con questa configurazione.

Un STK600 con TQFP32 Zif . Questo ti permetterà di programmare i tuoi chip via USB prima di metterli sulla scheda.


2

La funzione di programmazione all'interno del sistema è una buona idea. Ti permetterà anche di aggiornare il firmware, se necessario. Altri modi probabilmente implicano la creazione di un letto di aghi o un sostituto per uno.

Come compromesso, potresti assicurarti che ci siano punti di prova da qualche parte sulle reti necessarie (GND,! RST, SCK, MOSI, MISO, + V) e creare un letto ad ago per abbinarli. Quindi non è necessario un connettore / layout ISP reale a bordo. Potresti estenderlo anche per fare alcuni test di produzione automatizzati.


1

Parli di lotti di> 1, e quindi probabilmente non vale la pena seguire quanto segue, ma certamente è per lotti più grandi, diciamo 100 e oltre.

Con In Circuit Programming programmate il dispositivo dopo l'assemblaggio del PCB, quindi con il controller montato sul PCB. Sul fondo del PCB sono presenti dei test pad che portano all'esterno i segnali necessari per la programmazione. In genere è JTAG , ma potrebbe anche essere una porta seriale. Chiedi al dipartimento di ingegneria di costruire una maschera di prova con perni di prova caricati a molla corrispondenti ai cuscinetti di prova.

perni di prova caricati a molla

Avrai bisogno di pin di prova per fornire energia . Di solito aggiungo alcuni pin di prova extra, ad esempio per misurare determinati parametri, o un canale di comunicazione in cui il microcontrollore può identificarsi (pensa alla versione del software). Non puoi avere troppi punti di prova. Non hai bisogno del connettore affamato di spazio (che costa anche denaro) e puoi posizionare i test pad dove preferisci. C'è sempre posto per un pad da 2 mm.

La maschera di prova costa in materiali e manodopera, ma ne hai davvero bisogno se hai una produzione di grandi dimensioni, e quindi potresti anche usarla per programmare il dispositivo.
Dopo la programmazione è possibile avviare il dispositivo sulla maschera di test ed eseguire una serie di test funzionali .

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.