Suporte para Engenharia Reversa de PCBs

Depois de importar dados CAM para um documento CAM, irá reparar que a opção Export to PCB aparece a cinzento, independentemente do modo atual do CAM Editor (CAM ou NC). Este comando permite-lhe fazer engenharia inversa de um layout de PCB diretamente a partir de ficheiros CAM. Isto não segue um processo normal de exportação/importação; em vez disso, carrega os dados diretamente no PCB Editor.

As secções seguintes detalham os passos necessários para fazer engenharia inversa de um design de PCB a partir dos dados CAM, desde a importação inicial para um documento CAM, passando pela preparação necessária antes da exportação e, por fim, até à exportação dos dados do design para o PCB Editor.

Importar Dados

A caixa de diálogo Preferences A caixa de diálogo Preferences

O ponto de partida para todo o processo é o carregamento de ficheiros ODB++, ou Gerber e NC Drill, para um novo documento CAM. Se tiver uma netlist IPC, deverá importá-la também ao importar dados Gerber e NC Drill. Ao importar ODB++, importe um ficheiro IPC apenas se a netlist não estiver no diretório ODB++. A netlist IPC permitir-lhe-á atualizar as nets extraídas com os respetivos nomes originais e diferenciar entre vias de furo passante e pads livres sem componente.

Os comandos do submenu File » Import procuram todos ficheiros com determinadas extensões dentro de uma dada pasta. Ao importar ficheiros de furação, por exemplo, o diretório especificado filtrará todos os ficheiros exceto os que tenham as extensões .DR*, .ROU, .RTE, *.NC*, e *.TX* . Se receber ficheiros de furação com extensões diferentes destas, pode alargar esta lista na página CAM Editor - Miscellaneous page da caixa de diálogo Preferences. A partir daqui, também pode alterar qualquer uma das listas de extensões predefinidas associadas a ficheiros Gerber, Aperture, HPGL e Netlist.

A caixa de diálogo Preferences A caixa de diálogo Preferences

A página CAM Editor - Import/Export page da caixa de diálogo Preferences permite-lhe alterar as definições predefinidas de importação e exportação para ficheiros Gerber. Por exemplo, se recebe regularmente dados CAM gerados com P-CAD, poderá querer alterar o formato de precisão das coordenadas de 2:3 (predefinição do Altium Designer) para 4:4 (predefinição do P-CAD). Se não o fizer, continuará a ter a possibilidade de alterar estas definições a partir do seu estado predefinido sempre que importar um trabalho.

Atribuições de Tipo de Camada

A caixa de diálogo Layer Table Detection Template A caixa de diálogo Layer Table Detection Template

Os ficheiros Gerber e Drill individuais são todos atribuídos a camadas individuais. Além disso, o CAM Editor analisa os seus nomes durante a importação e tenta atribuir a cada um um tipo de camada. Faz isto de acordo com a informação na caixa de diálogo Layer Types Detection Template, à qual se acede selecionando Tables » Layer Type Detection no menu principal. Esta é uma caixa de diálogo totalmente personalizável que contém fragmentos de nomes de ficheiros (extensões, palavras-chave ou ambos) que identificam ficheiros individuais como tipos de camada, tais como sinal, plano negativo, contorno, furação e camadas temporárias (mecânicas).

O PCB Editor do Altium Designer, por exemplo, distingue entre camadas Gerber pelas respetivas extensões, como .gtl para a camada superior e .gbl para a camada inferior. Outras ferramentas de design podem exportar um ficheiro .top para a camada superior e um ficheiro .sol para a camada inferior (soldadura). Algumas destas ferramentas, como o P-CAD, permitem que os utilizadores especifiquem eles próprios os nomes de saída Gerber.

Depois de importar qualquer grupo de ficheiros CAM, pode abrir a caixa de diálogo Layers Table e rever as atribuições de tipo que ocorreram automaticamente. Pode abrir a lista pendente do tipo e modificar qualquer atribuição. Por exemplo, irá notar que todos os ficheiros de furação são automaticamente definidos como tipo Drill Top. Poderá querer distinguir, nesta fase, entre conjuntos de furação superior, inferior e internos. No entanto, isso não é obrigatório.

A caixa de diálogo Layer Table A caixa de diálogo Layer Table

Se costuma receber ficheiros Gerber ou de furação que não são automaticamente atribuídos corretamente a um tipo de camada, deve verificar o nome do ficheiro para identificar quaisquer características distintivas através das quais a CAM Editor os possa identificar, e adicioná-las à caixa de diálogo Layer Types Detection Template. O ODB++ não precisa de usar a caixa de diálogo Layer Types Detection Template porque toda a informação necessária para identificar cada camada é armazenada no ficheiro matrix. No entanto, é boa prática verificar as atribuições de tipo de camada depois de o processo de carregamento terminar.

Empilhamento da Placa e Conjuntos de Furação

A caixa de diálogo Create/Update Layers Order A caixa de diálogo Create/Update Layers Order

As camadas que foram atribuídas como tipos de sinal (superior, inferior ou interna) ou planos irão agora aparecer na caixa de diálogo Create/Update Layers Order, à qual se acede selecionando Tables » Layers Order no menu principal. Na maioria dos casos, o CAM Editor conseguirá determinar o empilhamento a partir dos dados CAM fornecidos, mas em alguns casos tudo o que será fornecido é a ordem lógica (a ordem pela qual as camadas foram importadas). É melhor garantir que a informação na coluna Layer Physical Order está correta, sendo o número um a camada superior. Tenha cuidado para não atribuir o mesmo número de ordem a camadas diferentes. Depois de especificar um empilhamento válido, a coluna de ordem física terá precedência sobre a lista lógica quando esta caixa de diálogo for reaberta e verá as camadas listadas no empilhamento proposto.

Esta mesma ordem física será refletida na caixa de diálogo Create/Update Layers Sets, acedida selecionando Tables » Layers Sets no menu principal, onde associa ficheiros de furação a conjuntos de camadas. Considere uma placa de 6 camadas (quatro de sinal, duas de plano) com vias cegas e enterradas. O design pode conter quatro ficheiros de furação separados:

  • um para o par Top-Bottom (furos passantes)
  • um para o par Top-InternalPlane1
  • um para o par MidLayer1-MidLayer2
  • um para o par Bottom-InternalPlane2.
Lembre-se de que está a determinar um conjunto de furação, e não apenas os pares mais exteriores. Para camadas de furação cega/enterrada, todas as camadas que são perfuradas têm de estar no conjunto de camadas. Para camadas de furação de furo passante, as camadas inicial e final deverão ser suficientes.

Extração da Netlist

Este passo, acedido selecionando Tools » Netlist » Extract no menu principal, depende da exatidão dos passos que o precedem. Não o poderá fazer de todo, a menos que tenha uma atribuição de tipo de camada para cada camada da sua placa (deve definir as camadas mecânicas como Temporary). Depois de iniciar o comando, a informação da netlist será extraída e surgirá uma lista de nets no separador Nets  do painel CAMtastic . Cada net é listada em função do seu comprimento total. Clicar em qualquer entrada de net no painel fará com que a net seja selecionada e ampliada na área de design.

O CAM Editor irá seguir a conectividade de uma camada para outra, consultando os ficheiros NC drill para fazer ligações entre camadas. Por esse motivo, o empilhamento de camadas que definiu na caixa de diálogo Create/Update Layers Order e os pares de furação que selecionou na caixa de diálogo Create/Update Layers Sets são precursores críticos para extrair uma netlist exata dos dados CAM.

Se incluiu um ficheiro de netlist IPC-D-356 com os seus ficheiros Gerber e NC Drill importados, pode restaurar os nomes originais (e significativos) das nets selecionando Tools » Netlist » Rename Nets no menu principal. Depois de iniciar o comando, as nets serão comparadas e aquelas que foram extraídas do documento atual serão renomeadas usando os nomes das nets do ficheiro de netlist IPC. Os nomes atualizados surgirão no separador Nets  do painel CAMtastic .

Embora a informação da netlist IPC-D-356 não seja essencial para a exportação, é desejável. A sua presença ajudará o CAMtastic Editor a separar os pads das vias e, consequentemente, levará à criação correta de vias em vez de pads, para quaisquer vias cegas ou enterradas no design. Mas, mais importante ainda, uma netlist IPC dá-lhe uma referência com a qual a netlist extraída pode ser comparada ao selecionar Tools » Netlist » Compare no menu principal. Depois de iniciar o comando, a comparação será efetuada e será gerado um relatório, Netlist-Compare.rpt, que será aberto como documento ativo na janela principal de design. O relatório lista cada uma das nets que foram encontradas na netlist importada mas que estão em falta na netlist extraída.

As netlists em formato Protel não são suportadas. A netlist importada tem de estar no formato normalizado IPC-D-356.

Se a netlist IPC tiver sido importada corretamente, verá duas camadas adicionadas à lista de camadas no painel CAMtastic <fabrication_testpoint_report_for_DesignName>.ipc_t e <fabrication_testpoint_report_for_DesignName>.ipc_b, refletindo a informação da netlist para as camadas de sinal superior e inferior. (Uma terceira camada, <fabrication_testpoint_report_for_DesignName>.ipc_in, surgirá se tiver camadas de sinal internas no seu design de PCB. A menos que tenha vias cegas e/ou enterradas que envolvam estas camadas, esta terceira camada estará vazia e pode ser mantida ou eliminada da lista de camadas).

Para netlists IPC geradas a partir do PCB Editor, irá notar que a função de comparação do CAM Editor encontrará normalmente uma série de "missing nets" sem nome. Isto acontece porque o formato IPC do PCB Editor inclui nets de um único pino. O CAM Editor, por outro lado, ignora pads sem quaisquer ligações de cobre no que respeita à netlist. Na verdade, o seu DRC tem uma opção para remover pads não funcionais.

Para limpar todas as nets do documento atual, essencialmente eliminando a netlist previamente extraída, escolha o comando Tools » Netlist » Clean All Nets nos menus principais. Depois de iniciar o comando, toda a informação de net será removida. Pode confirmar que todas as nets foram removidas do documento CAM usando o painel CAMtastic . Verá que o separador Nets  estará vazio.

Contornos e Planos

Quando o CAM Editor exporta um ficheiro PCB para o PCB Editor, é gerado automaticamente um contorno da placa. Para que isto seja feito de forma inteligente, é necessário que exista uma polilinha fechada numa camada do tipo Border. Se não for possível encontrar polilinhas fechadas nesta camada, ou se tiverem sido designadas várias camadas como bordas na caixa de diálogo Layers Table, é provável que não obtenha a forma de placa pretendida.

Quaisquer divisões nos seus planos internos também têm de ser definidas por polilinhas fechadas. Para determinar se uma polilinha está fechada, faça-lhe uma consulta (Q atalho). Pode verificar se a polilinha completa fica realçada e se é indicada como uma polilinha fechada no separador Info do painel CAM. Se não for esse o caso, pode converter o que tem numa polilinha fechada com o comando Join no submenu Edit » Objects.

As secções de plano dividido podem exigir algum trabalho adicional, porque cada divisão precisa do seu próprio invólucro "bubble". Embora os planos em ilha possam ser unidos conforme descrito acima, os planos divididos que partilham os seus contornos com outras divisões ou com a polilinha de borda têm de ser redesenhados. Para desenhar a sua própria polilinha fechada, clique com o botão direito depois de selecionar o seu vértice final e, em seguida, escolha Close.

Os planos aninhados (ilhas dentro de planos divididos) não são atualmente suportados.

Exportar polígonos

A página CAM Editor - Import/Export da caixa de diálogo Preferences fornece opções adicionais para controlar a forma como os polígonos no documento CAM são exportados para o documento PCB. Se os polígonos tiverem forma retangular, podem ser criados como fills no documento PCB. Para polígonos não retangulares, pode criar polygon pours do tipo Hatched ou Solid no PCB Editor. É fornecido acesso às caixas de diálogo de opções para estes dois tipos de polygon pour, proporcionando maior controlo sobre a forma como os polígonos exportados serão tratados no lado do PCB.

Ao ativar a opção Create Hatched Polygons, o CAM Editor utilizará um único tamanho de grelha e uma única largura de pista para preencher todos os polígonos no seu ficheiro. Se os seus dados CAM incluírem polígonos muito pequenos, deve certificar-se de que as opções de exportação estão ajustadas a esse nível.

A caixa de diálogo Polygon Options, à qual se acede clicando no botão Hatched Polygon Options associado, permite-lhe modificar o tamanho da grelha, a largura da pista e o comprimento mínimo de primitivo dos seus polígonos. Se pretender que os seus polígonos fiquem completamente preenchidos com elevada precisão, então estes valores devem ser mantidos dentro de um intervalo apertado em torno dos requisitos mínimos da sua placa. Caso contrário, poderá correr o risco de ter espaços em branco dentro dos polígonos, padrões hachurados em vez de preenchimentos completos, ou até polígonos inteiros omitidos na exportação.

A caixa de diálogo Polygon OptionsA caixa de diálogo Polygon Options

Estes valores, por outro lado, serão aplicados a todos os polígonos exportados, pelo que valores muito pequenos aumentarão o volume do ficheiro exportado e os problemas de gestão associados (como a velocidade de redesenho). Por este motivo, é preferível utilizar os maiores valores possíveis que continuem a proporcionar a precisão necessária para todos os polígonos da sua placa.

Ao ativar a opção Create Solid Polygons, cada polígono será preenchido com uma ou mais regiões sólidas de cobre. O número de regiões de cobre utilizadas depende do número de áreas individuais criadas dentro do polígono por objetos de net existentes, como pistas e pads.

A caixa de diálogo Solid Polygon OptionsA caixa de diálogo Solid Polygon Options

A caixa de diálogo Solid Polygon Options, à qual se acede clicando no botão Solid Polygon Options associado, permite-lhe determinar como são tratados os ilhéus de cobre e as nets de cobre estreitas, bem como o comportamento do pour quando é aplicado sobre objetos de net pertencentes à mesma net que o copper pour:

  • Pour Over All Same Net Objects - escolha esta opção se pretender que um polygon pour se ligue automaticamente a todos os objetos na mesma net do pour

  • Pour Over Same Net Polygons Only - escolha esta opção (predefinição) se pretender que o polygon pour se ligue automaticamente apenas aos objetos de polygon pour dentro do seu limite, que estejam associados à mesma net

  • Don't Pour Over Same Net Objects - escolha esta opção se especificamente não pretender que o polygon pour se ligue a quaisquer outros objetos de net. Se for escolhida qualquer uma das duas primeiras opções e o polygon pour for atribuído a No Net, ele fará o pour em torno de todos os objetos, independentemente das suas atribuições de net.

  • Quando executar o comando Export to PCB para criar a placa, os polígonos são formados como contornos - terão de ser Repoured

  • Cada área poligonal separada definida nos ficheiros CAM torna-se um polígono discreto; utilize o Polygon Manager para compreender como e onde são definidos. Note que pode modificar a borda de um polígono existente; com esta abordagem, poderá ser mais fácil fechar um polígono grande existente para que possa substituir vários polígonos mais pequenos().

Exportar para PCB

Depois de uma netlist ter sido extraída dos seus dados CAM, o comando File » Export » Export to PCB fica ativado. A execução deste comando, depois de todos os passos necessários terem sido realizados, criará um documento PCB contendo um desenho de placa muito semelhante ao original.

Após iniciar o comando, será gerado um novo documento PCB (<CAMDocumentName>.PcbDoc) e aberto como documento ativo no espaço de desenho. A sequência real de eventos na transferência de informação entre o documento CAM e o documento PCB é a seguinte:

  1. O documento PCB é criado com um contorno de placa baseado no tamanho atual da placa no documento CAM.

  2. São criados objetos de net no documento PCB, utilizando a informação de net extraída do documento CAM.

  3. É gerado o empilhamento de camadas, com base na ordem das camadas físicas definida no documento CAM (caixa de diálogo Create/Update Layers Order, acedida através de Tables »  Layers Order).

  4. As nets são atribuídas a quaisquer planos internos.

  5. São atribuídas nets a quaisquer planos divididos existentes. Estes podem ser 

  6. São criadas regras de desenho de Clearance, Width e Power Plane Connect Style. São criadas ligações de alívio para cada net de plano.

  7. Os padstacks são construídos a partir dos dados CAM (utilizando pads nas camadas de sinal/plano pela ordem física, seguidos por furação, máscara, pasta, etc.). Os padstacks são carregados no PCB e é definido o estilo necessário (simples ou padstack completo).

  8. São criadas as pistas PCB.

  9. É efetuada uma verificação DRC a toda a placa.

  • O comando Export to PCB transfere dados do documento CAM para o documento PCB utilizando a PCB API. Deste modo, não são gerados ficheiros de dados exportados (em Gerber ou outro formato), evitando assim a necessidade de utilizar o Gerber Importer do PCB Editor.

  • O documento PCB gerado será adicionado ao Projects panel como Free Document, na subpasta PCBs. É gerado, mas inicialmente não fica guardado.

  • Para reconstruir verdadeiramente uma placa, continuará a ser necessário algum esforço adicional, como substituir primitivos de componentes por footprints (poderá fazê-lo copiando e colando grupos de primitivos para uma biblioteca PCB e, depois, substituindo os originais pelos novos footprints). O PCB Editor não criará automaticamente drill-pairs a partir da informação Layer Sets no documento CAM; terá de os redefinir manualmente no Layer Stack Manager

AI-LocalizedAI-localized
If you find an issue, select the text/image and pressCtrl + Enterto send us your feedback.
Feature Availability

The features available to you depend on which Altium solution you have – Altium Develop, an edition of Altium Agile (Agile Teams or Agile Enterprise), or Altium Designer (on active term).

If you don’t see a discussed feature in your software, contact Altium Sales to find out more.

Legacy Documentation

Altium Designer documentation is no longer versioned. If you need to access documentation for older versions of Altium Designer, visit the Legacy Documentation section of the Other Installers page.

Conteúdo