CIs de montagem em superfície de pré-programação

22

Estou tentando configurar uma PCB com um atmega168 e sem cabeçalho de programação. Pretendo usar um carregador de inicialização serial (existe um ft232 na placa) para reprogramar, mas estou pensando na melhor maneira de programar o carregador de inicialização. Alguém já tentou isso antes? Estou tendo problemas para obter um soquete zif tqfp-32.

penjuin
fonte
3
Você está fazendo isso apenas uma vez?
Dirk
Eu vou estar fazendo isso para um lote inteiro (> 1)
penjuin

Respostas:

21

Pode ser mais fácil colocar os pinos de programação em alguns pads do que usar pogopins para conectar seu programador.

pogopin

Toby Jaffey
fonte
3
Se a placa for densa, você também pode transformar vias existentes em pontos de programação. Você precisa remover a máscara de solda e possivelmente alterar o tamanho do bloco e do furo. Uma fileira de almofadas poderia ser muito mais fácil se encaixar.
jluciani
o que o Parreira são pogopins ... você está falando um cabeçalho 2x3 ISP (ver minha resposta abaixo)
vicatcu
4
Os pinos do Pogo são hastes de metal com pontas de mola. Eles são frequentemente usados ​​em equipamentos de teste quando você precisa fazer uma conexão temporária com um circuito.
pingswept
Imagem de pinos do pogo: flickr.com/photos/pingswept/2280832792
pingswept
10

Basta colocar um cabeçalho do provedor na sua placa como uma "alternativa" ao carregador de inicialização serial. Em seguida, use algo como o AVRISP MkII para programar seu arquivo hexadecimal e se funda com o AVRStudio. Talvez você o use apenas uma vez para carregar o gerenciador de inicialização, mas é de longe a solução mais econômica que você encontrará.

Caso você não saiba o que quero dizer com um cabeçalho ISP, é um cabeçalho macho 2x3, com a seguinte pinagem:

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

Os pinos ímpares numerados estão em uma linha, os pinos pares numerados estão na outra linha e os pinos seqüenciais são adjacentes. Em um layout de placa olhando para o layout superior, os blocos são numerados assim (ou qualquer rotação consistente):

2 4 6
1 3 5

Conecte-o assim e você poderá conectar qualquer programador que suporte ISP (por exemplo, AVRISP MkII, STK500, etc.)

vicatcu
fonte
2
Vejo muitas placas que têm um lugar para esse cabeçalho (linhas de furos passantes ou linhas de pastilhas SMT) serem soldadas na placa, mas o cabeçalho em si está ausente. Suponho que o fabricante use os pinos de pogo mencionados por Joby para tocar temporariamente o programador nessas almofadas no quadro.
Davidcary
10

Se você está comprando esses produtos em grandes volumes, pode comprar chips diretamente do fornecedor pré-programado com o seu carregador de inicialização. Não tenho certeza se a Atmel oferece esse serviço, mas eu sei que o Microchip oferece, então eu presumo que eles também o fazem.

mjh2007
fonte
4

O que você precisa é de um adaptador de montagem em superfície . Em seguida, é fácil encontrar um soquete ZIF.

Os do QFP são meio caros, mas você pode obter pilhas da maioria das pegadas muito baratas no Sparkfun ou em outros sites .

pingswept
fonte
1
O eBay também é um ótimo lugar para obter soquetes ZIF e parafernália semelhante.
Dirk
1
Não é necessário - geralmente é muito mais fácil fazer a programação em circuito na placa após a peça estar no local.
Jason S
3

Eu tive um enorme sucesso com essa configuração.

Um STK600 com TQFP32 Zif . Isso permitirá que você programe seus chips via USB antes de colocá-los na placa.

Jimmie Clark
fonte
2

O recurso de programação no sistema é uma boa ideia. Também permitirá que você atualize o firmware, se necessário. Outras maneiras provavelmente envolvem fazer uma cama de agulha ou um substituto para uma.

Como compromisso, você pode garantir que haja pontos de teste em algum lugar nas redes necessárias (GND,! RST, SCK, MOSI, MISO, + V) e criar um leito de agulhas para corresponder àqueles. Então você não precisa de um conector / layout de ISP real a bordo. Você pode estender isso para fazer alguns testes de produção automatizados também.

XTL
fonte
1

Você fala sobre lotes de> 1 e, em seguida, provavelmente não vale a pena, mas certamente é para lotes maiores, digamos 100 e acima.

Com a programação em circuito, você programa o dispositivo após a montagem da placa de circuito impresso, com o controlador montado na placa de circuito impresso. Na parte inferior da placa de circuito impresso, tenho blocos de teste que trazem para fora os sinais necessários para a programação. Normalmente, isso é JTAG , mas também pode ser uma porta serial. Faça com que o departamento de engenharia construa um gabarito de teste com pinos de teste com mola correspondentes aos blocos de teste.

pinos de teste com mola

Você precisará de pinos de teste para fornecer energia também. Normalmente, adiciono alguns pinos de teste extras, por exemplo para medir determinados parâmetros, ou um canal de comunicação onde o microcontrolador pode se identificar (pense na versão do software). Você não pode ter muitos pontos de teste. Você não precisa do conector que não consome espaço (que também custa dinheiro) e pode colocar os blocos de teste onde quiser. Sempre há lugar para uma almofada de 2 mm.

O gabarito de teste custa em materiais e mão de obra, mas você realmente precisa de um se tiver uma produção grande e, em seguida, poderá usá-lo para programar o dispositivo.
Após a programação, você pode inicializar o dispositivo no gabarito de teste e executar vários testes funcionais .

stevenvh
fonte