Eu projetei um PCB para produção em pequena escala; Atualmente, estou soldando à mão em lotes de 20 por vez. Este PCB usa um microcontrolador ATMEGA168 que eu programo antes de soldar à placa - este método funciona bem para mim no momento.
Estou pensando em ter um lote de 200 placas fabricadas e montadas para mim, pois o produto que eu projetei parece bastante popular. Seria uma boa prática incluir um cabeçalho ICSP no quadro ou continuar pré-programando os ICs pessoalmente? A reprogramação da placa após a fabricação ou montagem não é um recurso pretendido ou necessário.
Não tenho certeza de como isso é feito em um ambiente de produção em maior escala? Adicionar um cabeçalho ICSP aumentaria um pouco o custo de fabricação. A pré-programação é uma prática padrão?
Se você tem espaço para um cabeçalho, essa provavelmente é a melhor opção, e os pinos levemente escalonados que Majenko recomenda são uma boa maneira de manter um conector no lugar sem aumentar a complexidade.
Mas aqui está uma abordagem alternativa, para placas onde você não tem espaço para caber em um cabeçalho, ou o cabeçalho padrão não realiza todas as suas tarefas de programação / configuração / teste de placa.
Dado um pequeno PCB de fator de forma como aqui (33 mm de diâmetro)
você pode colocá-lo com pontos de teste (rotulados na parte de trás)
e crie um dispositivo de teste para ele (usando Pogo Pins )
Isso requer alguma capacidade de usinagem e pelo menos uma broca de pilar (porque os pinos do pogo devem estar exatamente na vertical). No entanto, se você estiver disposto a arriscar um protótipo de uma placa de circuito impresso, prenda-a em uma folha de material e "localize" através dos orifícios do ponto de teste para colocar os pinos do pogo exatamente no lugar certo. (Recebo 10 PCBs por um preço ridiculamente baixo da Itead, então perder um não é grande coisa).
Com um torno e um moinho, fabricar pilares e grampos para localizar a PCB exatamente no lugar certo é uma bobagem, mas não é muito difícil com ferramentas mais simples.
Depois, basta encaixar cada PCB, programar e testá-lo. O conector solto normalmente vai para os pinos do cabeçalho em uma TI Launchpad, usado para programar este MPU (TI MSP430) por meio da interface SBW, mas o mesmo princípio se aplica ao JTAG ou a outras interfaces. (O cabo marrom na parte superior é um cabo coaxial que transmite um sinal de calibração para um contador de frequência).
A base de mogno polido é opcional; Por acaso prefiro um estilo steampunk para os meus jogos de teste.
fonte
Eu sempre adiciono espaço para um cabeçalho ICSP, mesmo que não seja preenchido. Eu tenho três maneiras de fazer isso no momento, dependendo da situação.
Um de meus projetos possui um cabeçalho de passo muito fino para o qual eu construí um adaptador (o fio sólido de 0,6 mm é perfeito para ele):
Eu uso esse conector quando o espaço está em um prêmio absoluto. (Desculpe, está borrado, a câmera do meu telefone está naff).
O segundo arranjo que costumo usar é incorporar o ICSP em outro cabeçalho. Se os pinos ICSP também podem ser usados como pinos GPIO e você pode usá-los com uma conexão destacável, é simples o suficiente incluir quaisquer outras conexões ICSP necessárias (MCLR, por exemplo) a um custo mínimo. Em seguida, basta conectar seu programador nesse cabeçalho com um adaptador que deve ser simples o suficiente para fazer.
A terceira maneira é fornecer uma pegada de cabeçalho "escalonada" ou "deslocada" para o ICSP. Uso isso principalmente em placas de desenvolvimento em que o usuário final pode querer fazer o ICSP, mas não quer arruinar sua placa soldando um cabeçalho permanentemente. Essa pegada permite que um cabeçalho padrão se encaixe por pressão e faça um bom contato sólido sem solda:
Quando você começa a lidar com quantidades muito maiores, certamente pode ser mais econômico obter o fabricante do chip para pré-programar os chips para você com seu firmware. Eu acho que todos os principais fabricantes fornecem essa instalação.
fonte
Se alguém estiver usando um processador que pode ser reprogramado em circuito, eu recomendo que as placas sejam projetadas de forma a permitir seu uso, mesmo que o uso do recurso exija a construção de um equipamento para esse fim específico e planeja ter que construir um. Se um problema de firmware for descoberto após a fabricação de um grande lote de placas, a construção de um equipamento que possa reprogramar essas placas pode ser muito mais barato do que precisar retrabalhá-las ou reconstruí-las.
Em alguns casos, uma boa abordagem pode ser selecionar o layout de E / S de uma placa para que os pinos do controlador necessários para a reprogramação no circuito sejam fornecidos para finalidades que "naturalmente" resultem na exposição a pontos de contato de fácil acesso. Por exemplo, uma placa projetada para uso com contatos de domo de metal pode ter os próprios contatos conectados aos pinos de programação em circuito. Esse projeto não exigiria dedicar nenhum espaço no layout para um conector de programação, mas - especialmente se o contato da bateria também fosse geralmente de tamanho, permita que um conector de programação se familiarize com contatos simples com mola.
Observe que não importa necessariamente se o código parece ter sido bem testado; alterações de um lote de chips para o próximo ainda podem causar problemas inesperados. Por exemplo, eu projetei um produto que deveria se desligar sob controle do processador, deixando o processador "alto" em um pino quando deveria estar "ligado". No primeiro lote de 10.000 unidades, tudo funcionou bem, mas em um lote posterior o processador começou a funcionar mal quando sua tensão atingisse cerca de 2 volts e poderia mudar esse pino de volta para "alto"; a saída de "alta" de 2 volts mal foi suficiente para ligar a unidade novamente. Como o processador foi especificado para permanecer no modo de suspensão até o IIRC 1,6 volts, foi possível corrigir o problema reprogramando as unidades para que entrassem no modo de suspensão ao ativar o estado de desligamento. Se tal reprogramação não tivesse sido possível, seria necessário um retrabalho muito mais caro (ou então demolição e reconstrução).
fonte