Estamos projetando placas transmissoras / receptoras para um aplicativo de controle remoto de RF. Para evitar conversas entre pares incompatíveis, queremos endereços únicos por placa. O endereço é especificado para os chips de codificação / decodificação através de 8 pinos de endereço.
Provavelmente montaremos um pequeno lote (cerca de 25) manualmente, mas os PCBs serão fabricados profissionalmente.
Qual é a sua maneira favorita de criar endereços exclusivos por placa em uma situação como essa? Pensei em interruptores DIP, jumpers e traços de corte / jumper. Estou inclinado a cortar traços, mas gostaria de ouvir o que as pessoas mais experientes costumam fazer.
pcb-design
addressing
Steven Ourada
fonte
fonte
Respostas:
Estou surpreso que ninguém tenha mencionado a EEPROM. Tivemos que colocar números únicos em produtos várias vezes e, na maioria das vezes, eles foram para a EEPROM do processador ou, às vezes, para locais reservados da memória do programa. Geralmente, é uma coisa simples a ser realizada como etapa final do processo de teste e calibração da produção. Uma vez que a unidade é considerada funcionando e qualquer calibração foi realizada, o sistema de teste de produção envia um comando ao micro para fornecer seu número de série ou usa a interface de programação para escrever o número de série diretamente no local apropriado. Às vezes, os arquivos HEX programados no micro são modificados de forma única a partir do arquivo HEX do modelo principal, com o número de série exclusivo desse dispositivo, com somas de verificação e possivelmente outras informações modificadas de acordo.
Alguns anos atrás, eu estava trabalhando com uma empresa que produzia centenas de milhares de coisinhas por ano através de um fabricante contratado na China. Enviamos dois sistemas de teste completos para o fabricante chinês. O programa de teste manteria um arquivo de número de série e poderíamos enviar novos arquivos para configurar as unidades para novos intervalos de números de série. Tudo correu bem o suficiente por um tempo, até que um dia obtivemos unidades com números de série duplicados. Acontece que os chineses fizeram algo estúpido com um dos sistemas para que não funcionasse mais. Em vez de nos dizerem, que eles tinham ordens estritas de fazer se algo desse errado, eles fizeram uma cópia completa do disco do sistema em funcionamento para o outro sistema. É claro que isso também copiou os arquivos do número de série e o estado atual; portanto, a partir de então, os dois sistemas distribuíram a mesma sequência de números de série.
Comecei a projetar sistemas de teste mais recentes, para garantir que o intervalo do número de série e o estado atual fossem mantidos em uma EEPROM no hardware do testador e não forneça nenhuma documentação sobre isso ao fabricante. Tínhamos cerca de uma dúzia de placas testadas e designamos cuidadosamente intervalos de números de série separados para cada um. Quando o fabricante precisava ser atualizado com um novo bloco de números de série, enviamos a eles placas de teste atualizadas. Até agora, este sistema funcionou muito bem. Também facilita a produção de unidades ocasionais aqui ou em um local de fabricação diferente. Cada local tem seu próprio testador com seu próprio intervalo de números de série e apenas uma pessoa era a principal responsável pelos números de série e atribuiria novos intervalos aos testadores.
fonte
O meu favorito é o Maxim DS2411 . É uma pequena parte do SOT-23 que contém um SSN (Silicon Serial Number) exclusivo . Não é muito barato por si só, mas pode ser o mais barato em geral , quando você pensa em custos de logística e custos de programação em outras soluções. A solução SSN não requer nenhuma intervenção / operação manual, além do pick-and-place automatizado.
O risco de IDs duplicados é quase zero.
Em um comentário a esta resposta, mikeselecticstuff apontou para essas EEPROMs de endereço MAC . São EEPROMs comuns com um ID exclusivo programado em uma área protegida contra gravação da EEPROM. Eles são mais baratos que o DS2411 e têm algum armazenamento para os dados do usuário.
O operador simplesmente precisa depositar uma gota de solda nas duas metades para "programar" um pouco. Menos da metade do tempo (um ponto de solda em vez de dois e nenhum componente para escolher e colocar) e nenhum componente necessário. Então você economiza duas vezes. E, como Olin diz, com o tamanho e o espaço certos, eles são fáceis de preencher e desmontar.
Se sua placa possui um microcontrolador (que placa não possui atualmente?), Você pode ter um número de série programado pelo serviço de programação. O custo logístico do seu lado é mínimo: basta acompanhar com qual série eles devem começar em cada lote de programação.
O risco de erros resultando em IDs duplicados é baixo, dependendo de quão bem o serviço de programação está organizado, mas eu sei que isso acontece.
Eu sabia sobre o seguinte, mas não me lembrava de como eram chamadas e também pensei que precisava de uma imagem para explicar melhor.
Aparentemente, isso é chamado de desvio DIP programável . Você o usa como um interruptor DIP, mas, em vez de usar interruptores miniatura, ele usa conexões fracas que você pode "programar" quebrando-as com uma caneta ou uma chave de fenda pequena.
Isso tem a mesma grande desvantagem das soluções de soldagem seletiva: o operador deve decidir quais conexões devem ser quebradas e quais devem ser deixadas intactas, e o erro humano nunca está longe. Confiabilidade no que diz respeito à singularidade: baixa.
fonte
As EEPROMs I2C são boas e pequenas. Existem chips de número de série de 1 fio.
fonte
Se o endereço tiver que ser definido por alguém com capacidade de solda, você pode definir uma pegada de resistor de montagem em superfície para cada pino e soldar seletivamente em jumpers de 0 ohm.
fonte
Para um endereçamento simples de 8 bits, eu costumo usar faixas de corte. É mais permanente do que os jumpers / links de solda e dissuade as pessoas de alterá-lo. É assim que costumo fazer no quadro:
Cada link é um bloco (mas isso é uma limitação do meu software - eu preferiria que não fosse estanhado), para que não receba máscara de solda e apenas 5 mils (em oposição aos 10 mils para o resto da faixa) que facilita o corte. 5 mils é o mínimo para o sinal que eles estão carregando no meu caso - você pode usar mais grosso. No meu exemplo, é apenas usar um pacote de resistores como resistores de pull-up. Obviamente, você pode substituir isso pelo que quiser.
Lembre-se de garantir que não haja máscara de solda sobre eles.
Outra opção é (como outra pessoa mencionou) usar blocos de resistores SMT e conectá-los. Mas, se você vai apenas aos resistores para agir como flexões, por que não deixar de lado os resistores aos quais não estaria conectando?
fonte
Se você tiver algum dispositivo de 1 fio em seu circuito, sua placa nascerá com um número de série.
Eu tenho uma placa do inversor de energia e, como os MOSFETs tendem a ficar muito quentes, adicionei um sensor de temperatura DS18B20 no dissipador de calor, sentindo a temperatura dos MOSFETs. Isso também deu ao meu inversor um número de série, conforme atribuído ao sensor de temperatura.
Além disso, você pode usar alguns fusíveis em sua placa e explodir alguns deles antes de sair da fábrica para funcionar como um dispositivo de número de série.
fonte