Comparar revisões de PCB: o que olhar em cada arquivo

Introdução

Nos últimos anos eu vi mais de uma revisão de placa ser fabricada com algum tipo de erro, inserido por acidente e que passou despercebido ao gerar os arquivos de fabricação e montagem. Em nenhum dos casos, a placa fazia parte da primeira rodada de fabricação, eram todas de segunda ou terceira revisão. Eram revisões feitas para resolver obsolescência de componentes ou mudança de detalhe de fabricação, como material do stackup. Placas que já funcionavam e voltaram com defeito por causa da alteração, não do projeto.

Nos últimos meses, com a expansão da demanda gerada pela inteligência artificial e a subsequente falta de chips, memórias e outros semicondutores, ficou mais frequente. Tive que refazer algumas placas porque não conseguimos comprar componentes. O fechamento do estreito de Ormuz também abalou a disponibilidade de materiais dielétricos para fabricação de PCBs.

Todas essas placas que foram fabricadas com erro passaram no DRC (Design Rule Check).

O DRC responde se a placa é fabricável, e responde bem. O que ele não faz é olhar para trás: não sabe que existe uma “revisão A”. Se você editou o circuito integrado “U12” e no caminho arrastou uma trilha ou deixou um pino fora de uma net, isso pode não ser detectado pelo DRC. A placa continua fabricável, porém agora inclui uma modificação indesejada que pode causar uma falha no seu funcionamento.

Quem faz essa segunda conferência é a memória de quem editou, e que muitas vezes não é uma ferramenta confiável: você lembra do que quis mudar, não do que mudou sem perceber. E não é um caso isolado. Na pesquisa da Avnet com 530 engenheiros, 81% precisaram alterar desempenho ou funcionalidade do produto ao usar um substituto.

Sete arquivos, sete perguntas diferentes

Não existe um arquivo que contenha “a placa”. Cada arquivo exportado responde a uma pergunta diferente, e escolher a mais conveniente não garante que o resto seja livre de erros.

ArquivoRespondeNão responde
NetlistNets criadas, removidas, com pino ganho ou perdidoGeometria, posição, roteamento
BOM (xlsx/csv)Part number, valor, footprint por designadorSe o componente cabe ou funciona
GerberCobre, máscara e silk camada por camadaIntenção elétrica, conectividade
ExcellonFuro adicionado, removido ou deslocado, por spanSe o furo casa com o pad
Pick & placeDeslocamento, rotação, troca de lado e de valorCobre, nets, furação
ODB++ / IPC-2581Stackup, componentes, netlist, furação, contornoQuase nada; é o dado mais completo
PDF de desenhoDiferença visual página a páginaNada em nível de dado; é pixel
Tabela 1 – O que cada arquivo permite conferir entre duas revisões

Netlist primeiro

É o único arquivo que descreve a intenção elétrica; o resto descreve o desenho em si. Duas coisas que descobri errando: relacione as “nets” pelo nome, porque algumas ferramentas eCAD renumeram os sinais a cada exportação; e use número de pad, não nome de pino, senão renomear VCC para VDD aparece como mudança de conectividade. Vale conferir também os sinais que perderam todas as conexões e se algum sinal sobrou com um pino só. Acidente de edição clássico, e passa no DRC.

BOM: o trabalho é abrir o arquivo

BOM (Bill Of Materials) vem em diferentes formatos. No Altium Designer, vem com bloco de título acima da tabela, coluna vazia, cabeçalho repetido e designador agrupado numa célula só, do tipo “R1, R2, R5”. É importante definir um denominador comum para a comparação, que muitas vezes é a coluna “Designator” ou “Ref Des”.

Gerber, e as extensões

A sobreposição por camada é a parte fácil. O difícil é saber qual arquivo da “revisão A” corresponde ao respectivo arquivo da “revisão B”. Diferentes eCADs usam diferentes formatos:  Altium usa .GTL, .GBL e .G1 até .G30; KiCad usa .gbr com sufixo; EAGLE usa .cmp e .sol; OrCAD usa .art. Alguns fabricantes de PCBs mandam arquivos sem extensão nenhuma.

A Figura 1 mostra por que isso importa: catorze regiões alteradas espalhadas pela placa, várias com poucos pixels de diferença. Cada uma é fácil de ver isolada. Ninguém memoriza catorze localizações que mudaram entre revisões no design, especialmente após um ano depois da fabricação.

Figura 1 – Sobreposição de duas revisões da camada de cobre superior. Cinza é o que não mudou, verde-azulado o que só existe na revisão antiga, magenta o que só existe na nova, e as caixas amarelas marcam as regiões alteradas. Placa usada: projeto SmartWatch de Samson March, licenciado sob GPL-3.0.

Uma opinião que eu sei não ser consenso: vermelho e verde é uma escolha ruim. Cerca de 8% dos homens têm deficiência de visão de cores nesse eixo, e para eles o overlay não informa nada.

Furação

Excellon renumera ferramenta entre exportações, então o casamento tem que ser por posição. A única variável de ajuste real é a tolerância de deslocamento, e eu ainda não achei um valor que sirva para todos os casos. O resto são armadilhas de leitura: supressão de zero, unidade só implícita no formato decimal, coordenada omitida.

Pick & place

É o arquivo mais bagunçado dos sete: delimitador varia, nome de coluna varia, e a unidade pode estar no preâmbulo, junto do valor ou em lugar nenhum. Exportação com configuração regional europeia vem com vírgula decimal, então 45,8500 mm é 45,85. E o delta de rotação tem que pegar o menor ângulo: 359° contra 1° é 2°.

ODB++ e IPC-2581

Um arquivo apenas que incorpora stackup, componentes, netlist, furação e contorno. Duas coisas que eu mudei depois de comparar esses arquivos de verdade: comparar áreas de cobre por contagem, porque uma camada real tem na ordem de milhares de “pads” e a comparação “registro por registro” só produz ruído; e comparação de stackups ordem física inteira, porque comparar por índice fazia toda camada abaixo de uma removida aparecer como “mudou de posição”.

Vale ainda uma verificação cruzada: os dois formatos declaram a espessura total da placa separada das espessuras por camada.

Figura 2 – Comparação de stackup entre duas revisões: a pilha inteira na ordem física, com as linhas alteradas destacadas e os valores antigo e novo de espessura, material, Dk e peso de cobre.

PDF

Os arquivos PDF são largamente utilizados entre diferentes equipes em um mesmo projeto para troca de informações, então esta opção funciona independentemente do programa CAD. Uma possível limitação: o pareamento é por índice de página, então inserir uma folha no meio do esquemático faz todas as seguintes detectarem diferenças.

Coisas para verificar antes de rodar comparações

  • A extensão dos arquivos exportados tem formato proprietário. Um arquivo IPC-2581 é exportado como “.cvg” no Altium, e “.xml” por outras ferramentas. Detecte o formato pelo conteúdo.
  • Arquivos ODB++ com diretórios em letra maiúscula abrem no Windows e retornam zero componente no Linux. Esse me custou uma tarde.
  • Falsos positivos. Uma comparação com um arquivo “vazio” é indistinguível de “nada mudou”, e, numa ferramenta de verificação, essa é a pior falha possível.

Quando isso passa a ser requisito

A ISO 10007 pede identificação, controle, registro de situação e auditoria de configuração, e as quatro dependem de saber o que mudou entre duas revisões. A IEC 62402, de obsolescência, cobre exatamente o caso que abre este texto. Na maioria das empresas, essa evidência ainda é montada à mão.

Como comparar revisões de placas?

O conteúdo deste artigo veio a partir da minha experiência ao desenvolver uma ferramenta para esse propósito, o Kontr-Owl. A ideia é juntar os resultados em um único relatório (Figura 3). O programa foi escrito utilizando linguagem Python e é um executável portátil, não sendo necessária instalação. Rodando de forma 100% local, os arquivos de design e de propriedade intelectual nunca saem do seu computador, o que é essencial para empresas em áreas como Defesa e Aeroespacial.

Figura 3 – Relatório consolidado: uma linha por par de arquivos, com o resultado e o resumo das diferenças de cada camada e de cada domínio de dado.

Implementações futuras

A cobertura de formatos foi validada para as ferramentas Altium, Eagle e KiCAD. As próximas ferramentas testadas serão EasyEDA, Cadence OrCAD / Allegro, Siemens EDA PADS Professional, Zuken CR-8000 / CADSTAR e Mentor Xpedition.

A ferramenta contará com uma opção de comparar desenhos mecânicos exportados a partir de ferramentas eCADs (DXF/SVG/STEP).

Uma funcionalidade em desenvolvimento é a opção de incorporar um arquivo que configura as exportações do projeto no eCAD (ex.: “Kontr-Owl.OutJob” no Altium). Assim, os diretórios e formatos serão definidos de uma maneira que possibilite uma comparação automatizada e em série pela ferramenta Kontr-Owl.

Na sua equipe, a conferência entre a revisão anterior e a nova é etapa formal, com responsável, ou fica por conta de quem editou? E se alguém já foi mordido por erro introduzido numa correção, como ele apareceu: em revisão, em teste elétrico ou já na placa montada?

Referências

  • Chip shortage: Engineers complain of prices, lead times (pesquisa Avnet, 530 engenheiros) – The Register: https://www.theregister.com/2022/03/25/chip_shortage_report/
  • IPC-2581 – Generic Requirements for Manufacturing Description Data and Transfer Methodology. IPC.
  • ISO 10007 – Quality management. Guidelines for configuration management. ISO.
  • IEC 62402 – Obsolescence management. IEC.
  • The Gerber Layer Format Specification, Revision 2024.05. Ucamco.
  • MARCH, Samson. smarchWatch_PUBLIC (hardware aberto, GPL-3.0): https://github.com/S-March/smarchWatch_PUBLIC
  • Little information loss with red-green color deficient vision in natural environments (deficiência de visão de cores): https://www.sciencedirect.com/science/article/pii/S2589004223014980
  • Crédito para as Figuras 1, 2 e 3 e para a imagem destacada: renderizações produzidas pelo autor a partir dos arquivos do projeto smarchWatch de Samson March, licenciado sob GPL-3.0 (https://github.com/S-March/smarchWatch_PUBLIC).

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Inscrever-se
Notificar de
0 Comentários
mais recentes
mais antigos Mais votado
Home » Software » Comparar revisões de PCB: o que olhar em cada arquivo

EM DESTAQUE

WEBINARS

VEJA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:
Nenhum resultado encontrado.