Unterstützung für Reverse Engineering von Leiterplatten

Auf einen Blick

Das Reverse Engineering einer Leiterplatte aus CAM-Dateien in Altium Designer erfordert mehr als nur den Import von Daten. Dieser Artikel erläutert die Vorbereitungen, die für die Übertragung eines Designs in den PCB-Editor erforderlich sind. Dazu gehören die Lagenzuordnung, der Lagenaufbau, Bohrdatensätze, die Netzlistenextraktion sowie der Umgang mit der Leiterplattenkontur und Polygonen. Lesen Sie weiter und erfahren Sie, mit welchen Schritten Sie Ihre CAM-Daten für den PCB-Export vorbereiten.

- Erfahren Sie, wie Sie ODB++-, Gerber- und NC-Bohrdaten importieren und Lagentypen, die physische Lagenreihenfolge sowie Bohrdatensätze überprüfen.
- Lernen Sie, wie Sie Verbindungsinformationen extrahieren und mithilfe einer IPC-D-356-Netzliste Netznamen wiederherstellen und Netzlisten vergleichen.
- Entdecken Sie die Anforderungen an geschlossene Leiterplattenkonturen und geteilte Versorgungslagen sowie die Optionen für den Export von Polygonen.
Mit KI tiefer einsteigen:

Nach dem Import von CAM-Daten in ein CAM-Dokument werden Sie feststellen, dass die Option Export to PCB ausgegraut ist, unabhängig vom aktuellen Modus des CAM-Editors (CAM oder NC). Mit diesem Befehl können Sie ein PCB-Layout direkt aus CAM-Dateien rekonstruieren. Dabei wird kein regulärer Export-/Importprozess durchlaufen, sondern die Daten werden direkt in den PCB-Editor geladen.

Die folgenden Abschnitte beschreiben die Schritte zur Rekonstruktion eines PCB-Designs aus CAM-Daten: vom ersten Import in ein CAM-Dokument über die erforderlichen Vorbereitungen vor dem Export bis hin zum Export der Designdaten in den PCB-Editor.

Daten importieren

Der Dialog Preferences Der Dialog Preferences

Ausgangspunkt des gesamten Prozesses ist das Laden von ODB++-Dateien oder Gerber- und NC-Bohrdateien in ein neues CAM-Dokument. Wenn Ihnen eine IPC-Netzliste vorliegt, sollten Sie diese beim Import von Gerber- und NC-Bohrdaten ebenfalls importieren. Beim Import von ODB++ sollten Sie eine IPC-Datei nur dann importieren, wenn die Netzliste nicht im ODB++-Verzeichnis enthalten ist. Mit der IPC-Netzliste können Sie die extrahierten Netze mit ihren ursprünglichen Namen versehen und zwischen durchgehenden Vias und freien, nicht zu Bauteilen gehörenden Pads unterscheiden.

Die Befehle im Untermenü File » Import suchen alle nach Dateien mit bestimmten Erweiterungen in einem angegebenen Ordner. Beim Import von Bohrdateien werden im angegebenen Verzeichnis beispielsweise alle Dateien außer denen mit den Erweiterungen .DR*, .ROU, .RTE, *.NC* und *.TX* herausgefiltert. Wenn Sie Bohrdateien mit anderen Erweiterungen erhalten, können Sie diese Liste auf der Seite CAM Editor - Miscellaneous des Dialogs Preferences erweitern. Hier können Sie auch die Standardlisten der Dateierweiterungen für Gerber-, Blenden-, HPGL- und Netzlistendateien ändern.

Der Dialog Preferences Der Dialog Preferences

Auf der Seite CAM Editor - Import/Export des Dialogs Preferences können Sie die Standardeinstellungen für den Import und Export von Gerber-Dateien ändern. Wenn Sie beispielsweise regelmäßig CAM-Daten erhalten, die mit P-CAD erzeugt wurden, kann es sinnvoll sein, das Format der Koordinatengenauigkeit von 2:3 (Standard in Altium Designer) auf 4:4 (Standard in P-CAD) zu ändern. Andernfalls können Sie diese Einstellungen weiterhin bei jedem Import eines Auftrags abweichend von den Standardwerten anpassen.

Zuweisung von Lagentypen

Der Dialog  Layer Table Detection TemplateDer Dialog Layer Table Detection Template

Einzelne Gerber- und Bohrdateien werden jeweils einer eigenen Lage zugewiesen. Darüber hinaus prüft der CAM-Editor beim Import ihre Namen und versucht, jeder Datei einen Lagentyp zuzuweisen. Dies erfolgt anhand der Angaben im Dialog Layer Types Detection Template, den Sie über Tables » Layer Type Detection im Hauptmenü aufrufen. Dieser vollständig anpassbare Dialog enthält Bestandteile von Dateinamen (Erweiterungen, Schlüsselwörter oder beides), anhand derer einzelne Dateien als bestimmte Lagentypen identifiziert werden, etwa Signallagen, negative Versorgungslagen, Umrisslagen, Bohrlagen und temporäre Lagen (mechanisch).

Der PCB-Editor von Altium Designer unterscheidet Gerber-Lagen beispielsweise anhand ihrer Erweiterungen, etwa .gtl für die oberste Lage und .gbl für die unterste Lage. Andere Designtools exportieren möglicherweise eine .top-Datei für die oberste Lage und eine .sol-Datei für die unterste Lage (Lötseite). Einige dieser Tools, beispielsweise P-CAD, ermöglichen es Benutzern, die Namen der Gerber-Ausgabedateien selbst festzulegen.

Nach dem Import einer Gruppe von CAM-Dateien können Sie den Dialog Layers Table öffnen und die automatisch vorgenommenen Typzuweisungen überprüfen. Sie können die Dropdown-Liste für den Typ öffnen und jede Zuweisung ändern. Sie werden beispielsweise feststellen, dass alle Bohrdateien automatisch dem Typ Drill Top zugewiesen werden. An dieser Stelle können Sie zwischen Bohrdatensätzen für die Oberseite, die Unterseite und die Innenlagen unterscheiden. Dies ist jedoch nicht erforderlich.

Der Dialog  Layer Table Der Dialog Layer Table

Wenn Sie regelmäßig Gerber- oder Bohrdateien erhalten, denen nicht automatisch der richtige Lagentyp zugewiesen wird, sollten Sie die Dateinamen auf eindeutige Merkmale prüfen, anhand derer CAM Editor sie identifizieren könnte, und diese im Dialog Layer Types Detection Template ergänzen. Für ODB++ wird der Dialog Layer Types Detection Template nicht benötigt, da alle zur Identifizierung der einzelnen Lagen erforderlichen Informationen in der Matrixdatei gespeichert sind. Dennoch empfiehlt es sich, die Zuweisung der Lagentypen nach Abschluss des Ladevorgangs zu überprüfen.

Lagenaufbau und Bohrdatensätze

Der Dialog Create/Update Layers Order Der Dialog Create/Update Layers Order

Lagen, denen ein Signaltyp (oben, unten oder innen) zugewiesen wurde oder die als Versorgungslagen definiert wurden, erscheinen nun im Dialog Create/Update Layers Order, den Sie über Tables » Layers Order im Hauptmenü aufrufen. In den meisten Fällen kann CAM Editor den Lagenaufbau aus den bereitgestellten CAM-Daten ermitteln. In einigen Fällen steht jedoch nur die logische Reihenfolge zur Verfügung, also die Reihenfolge, in der die Lagen importiert wurden. Stellen Sie sicher, dass die Angaben in der Spalte Layer Physical Order korrekt sind, wobei die Nummer eins der obersten Lage entspricht. Achten Sie darauf, dieselbe Ordnungsnummer nicht verschiedenen Lagen zuzuweisen. Sobald Sie einen gültigen Lagenaufbau festgelegt haben, hat die Spalte mit der physischen Reihenfolge beim erneuten Öffnen dieses Dialogs Vorrang vor der logischen Liste. Die Lagen werden dann entsprechend dem vorgesehenen Lagenaufbau angezeigt.

Dieselbe physische Reihenfolge wird auch im Dialog Create/Update Layers Sets angezeigt, den Sie über Tables » Layers Sets im Hauptmenü aufrufen. Dort ordnen Sie Bohrdateien den jeweiligen Lagengruppen zu. Betrachten Sie eine sechslagige Leiterplatte (vier Signallagen, zwei Versorgungslagen) mit Sackloch- und vergrabenen Vias. Das Design könnte vier separate Bohrdateien enthalten:

  • eine für das Paar Top-Bottom (durchgehende Bohrungen)
  • eine für das Paar Top-InternalPlane1
  • eine für das Paar MidLayer1-MidLayer2
  • eine für das Paar Bottom-InternalPlane2.
Denken Sie daran, dass Sie einen Bohrdatensatz festlegen, nicht nur die jeweils äußersten Lagenpaare. Bei Bohrlagen für Sackloch- und vergrabene Bohrungen müssen alle durchbohrten Lagen in der Lagengruppe enthalten sein. Bei Bohrlagen für durchgehende Bohrungen sollten die Start- und Endlage ausreichen.

Netzliste extrahieren

Dieser Schritt, den Sie über Tools » Netlist » Extract im Hauptmenü aufrufen, setzt voraus, dass die vorherigen Schritte korrekt ausgeführt wurden. Er lässt sich nur durchführen, wenn jeder Lage Ihrer Leiterplatte ein Lagentyp zugewiesen ist (mechanische Lagen sollten Sie auf Temporary setzen). Nach dem Starten des Befehls werden die Netzlisteninformationen extrahiert, und auf der Registerkarte Nets  des Panels CAMtastic  erscheint eine Liste der Netze. Jedes Netz wird mit seiner Gesamtlänge aufgeführt. Wenn Sie im Panel auf einen Netzeintrag klicken, wird das Netz im Designbereich ausgewählt und vergrößert angezeigt.

Der CAM-Editor verfolgt die Verbindungen von einer Lage zur nächsten und zieht dabei die NC-Bohrdateien heran, um die Verbindungen zwischen den Lagen zu ermitteln. Deshalb sind der im Dialog Create/Update Layers Order definierte Lagenaufbau und die im Dialog Create/Update Layers Sets ausgewählten Bohrlagenpaare entscheidende Voraussetzungen für die Extraktion einer korrekten Netzliste aus den CAM-Daten.

Wenn Sie zusammen mit Ihren importierten Gerber- und NC-Bohrdateien eine IPC-D-356-Netzlistendatei eingebunden haben, können Sie die ursprünglichen (und aussagekräftigen) Netznamen wiederherstellen, indem Sie im Hauptmenü Tools » Netlist » Rename Nets wählen. Nach dem Aufruf des Befehls werden die Netze verglichen. Die aus dem aktuellen Dokument extrahierten Netze werden dabei anhand der Netznamen aus der IPC-Netzlistendatei umbenannt. Die aktualisierten Namen erscheinen auf der Registerkarte Nets  im Panel CAMtastic .

Die IPC-D-356-Netzlisteninformationen sind für den Export zwar nicht unbedingt erforderlich, aber dennoch wünschenswert. Sie helfen dem CAMtastic Editor, Pads von Vias zu unterscheiden, sodass für Sackloch- oder vergrabene Vias im Design korrekt Vias statt Pads erstellt werden. Noch wichtiger ist jedoch, dass eine IPC-Netzliste als Referenz dient, mit der die extrahierte Netzliste verglichen werden kann, wenn Sie im Hauptmenü Tools » Netlist » Compare wählen. Nach dem Aufruf des Befehls wird der Vergleich durchgeführt und ein Bericht, Netlist-Compare.rpt, erstellt und als aktives Dokument im Hauptdesignfenster geöffnet. Der Bericht führt alle Netze auf, die in der importierten Netzliste gefunden wurden, aber in der extrahierten Netzliste fehlen.

Netzlisten im Protel-Format werden nicht unterstützt. Die importierte Netzliste muss im Standardformat IPC-D-356 vorliegen.

Wenn die IPC-Netzliste korrekt importiert wurde, werden der Lagenliste im Panel CAMtastic  zwei Lagen hinzugefügt: <fabrication_testpoint_report_for_DesignName>.ipc_t und <fabrication_testpoint_report_for_DesignName>.ipc_b. Diese enthalten die Netzlisteninformationen für die obere und untere Signallage. (Eine dritte Lage, <fabrication_testpoint_report_for_DesignName>.ipc_in, wird angezeigt, wenn Ihr Leiterplattendesign interne Signallagen enthält. Sofern Sie keine Sackloch- und/oder vergrabenen Vias haben, die diese Lagen einbeziehen, bleibt diese dritte Lage leer und kann in der Lagenliste belassen oder daraus gelöscht werden.)

Bei IPC-Netzlisten, die im PCB Editor erzeugt wurden, werden Sie feststellen, dass die Vergleichsfunktion des CAM Editors in der Regel eine Reihe namenloser „fehlender Netze“ findet. Das liegt daran, dass das IPC-Format des PCB Editors auch Netze mit nur einem Pin enthält. Der CAM Editor hingegen berücksichtigt Pads ohne Kupferverbindungen nicht in der Netzliste. Seine Entwurfsregelprüfung (DRC) bietet sogar eine Option zum Entfernen nicht funktionaler Pads.

Um alle Netze aus dem aktuellen Dokument zu löschen und damit die zuvor extrahierte Netzliste zu leeren, wählen Sie in den Hauptmenüs den Befehl Tools » Netlist » Clean All Nets. Nach dem Aufruf des Befehls werden sämtliche Netzinformationen entfernt. Im Panel CAMtastic  können Sie überprüfen, ob alle Netze aus dem CAM-Dokument gelöscht wurden. Die Registerkarte Nets  ist dann leer.

Umrisse und Versorgungslagen

Wenn CAM Editor eine PCB-Datei in den PCB Editor exportiert, wird automatisch eine Leiterplattenkontur erzeugt. Damit dies korrekt erfolgt, muss auf einer Lage vom Typ Border eine geschlossene Polylinie vorhanden sein. Wenn auf dieser Lage keine geschlossenen Polylinien gefunden werden oder wenn im Dialog Layers Table mehrere Lagen als Umrisslagen festgelegt wurden, erhalten Sie wahrscheinlich nicht die gewünschte Leiterplattenform.

Auch alle Aufteilungen Ihrer internen Versorgungslagen müssen durch geschlossene Polylinien definiert sein. Um festzustellen, ob eine Polylinie geschlossen ist, fragen Sie ihre Eigenschaften ab (Tastenkürzel Q). Prüfen Sie, ob die gesamte Polylinie hervorgehoben und auf der Registerkarte Info des Panels CAM als geschlossene Polylinie ausgewiesen wird. Ist dies nicht der Fall, können Sie die vorhandene Geometrie mit dem Befehl Join im Untermenü Edit » Objects in eine geschlossene Polylinie umwandeln.

Teilflächen aufgeteilter Versorgungslagen erfordern möglicherweise zusätzliche Arbeit, da jede Teilfläche eine eigene geschlossene Umrandung benötigt. Während sich isolierte Versorgungsflächen wie oben beschrieben verbinden lassen, müssen Teilflächen, die sich Konturen mit anderen Teilflächen oder mit der Umrisspolylinie teilen, neu gezeichnet werden. Um eine eigene geschlossene Polylinie zu zeichnen, klicken Sie nach der Auswahl des letzten Eckpunkts mit der rechten Maustaste und wählen Sie anschließend Close.

Verschachtelte Versorgungsflächen (Inseln innerhalb aufgeteilter Versorgungslagen) werden derzeit nicht unterstützt.

Polygone exportieren

Die Seite CAM Editor - Import/Export des Dialogs Preferences bietet zusätzliche Optionen dafür, wie Polygone aus dem CAM-Dokument in das PCB-Dokument exportiert werden. Rechteckige Polygone können im PCB-Dokument als Füllflächen erstellt werden. Für nicht rechteckige Polygone können Sie im PCB Editor entweder schraffierte oder vollflächige Polygonflächen erstellen. Für diese beiden Polygonflächentypen stehen Optionsdialoge zur Verfügung, mit denen Sie genauer steuern können, wie die exportierten Polygone auf der PCB-Seite behandelt werden.

Wenn Sie die Option Create Hatched Polygons aktivieren, verwendet CAM Editor eine einheitliche Rastergröße und eine einheitliche Leiterbahnbreite, um alle Polygone in Ihrer Datei zu füllen. Falls Ihre CAM-Daten sehr kleine Polygone enthalten, sollten Sie sicherstellen, dass die Exporteinstellungen entsprechend fein gewählt sind.

Im Dialog Polygon Options, den Sie über die zugehörige Schaltfläche Hatched Polygon Options öffnen, können Sie die Rastergröße, die Leiterbahnbreite und die minimale Länge der Grundelemente für Ihre Polygone ändern. Wenn Ihre Polygone mit hoher Genauigkeit vollständig gefüllt werden sollen, sollten alle diese Werte eng an den kleinsten erforderlichen Abmessungen Ihrer Leiterplatte ausgerichtet sein. Andernfalls riskieren Sie Lücken innerhalb Ihrer Polygone, Schraffurmuster statt vollständiger Füllungen oder sogar, dass ganze Polygone beim Export ausgelassen werden.

Der Dialog Polygon OptionsDer Dialog Polygon Options

Diese Werte gelten jedoch für alle exportierten Polygone. Sehr kleine Werte erhöhen daher den Datenumfang und den damit verbundenen Verarbeitungsaufwand für die exportierte Datei, etwa beim Neuzeichnen der Ansicht. Verwenden Sie deshalb möglichst große Werte, die dennoch die erforderliche Genauigkeit für alle Polygone auf Ihrer Leiterplatte gewährleisten.

Wenn Sie die Option Create Solid Polygons aktivieren, wird jedes Polygon mit einem oder mehreren vollflächigen Kupferbereichen gefüllt. Die Anzahl der verwendeten Kupferbereiche hängt davon ab, wie viele einzelne Bereiche innerhalb des Polygons durch vorhandene Netzobjekte wie Leiterbahnen und Pads entstehen.

Der Dialog Solid Polygon OptionsDer Dialog Solid Polygon Options

Im Dialog Solid Polygon Options, den Sie über die zugehörige Schaltfläche Solid Polygon Options öffnen, können Sie festlegen, wie Kupferinseln und schmale Kupferverbindungen behandelt werden. Außerdem können Sie das Füllverhalten gegenüber Netzobjekten bestimmen, die demselben Netz wie die Kupferfläche angehören:

  • Pour Over All Same Net Objects – Wählen Sie diese Option, wenn eine Polygonfläche automatisch mit allen Objekten desselben Netzes verbunden werden soll.

  • Pour Over Same Net Polygons Only – Wählen Sie diese Option (Standard), wenn die Polygonfläche automatisch nur mit Polygonflächenobjekten innerhalb ihrer Begrenzung verbunden werden soll, die demselben Netz zugeordnet sind.

  • Don't Pour Over Same Net Objects – Wählen Sie diese Option, wenn die Polygonfläche ausdrücklich nicht mit anderen Netzobjekten verbunden werden soll. Wenn eine der ersten beiden Optionen gewählt und die Polygonfläche No Net zugewiesen ist, werden beim Füllen alle Objekte unabhängig von ihrer Netzzuordnung ausgespart.

  • Wenn Sie den Befehl Export to PCB ausführen, um die Leiterplatte zu erstellen, werden die Polygone als Umrisse angelegt. Sie müssen anschließend neu gefüllt werden. 

  • Jeder einzelne in den CAM-Dateien definierte polygonale Bereich wird zu einem eigenständigen Polygon. Verwenden Sie den Polygon Manager, um nachzuvollziehen, wie und wo diese definiert sind. Beachten Sie, dass Sie die Kontur eines vorhandenen Polygons ändern können. Mit diesem Ansatz ist es möglicherweise einfacher, ein großes vorhandenes Polygon zu schließen, sodass es zahlreiche kleinere Polygone ersetzen kann ().

Export nach PCB

Nachdem eine Netzliste aus Ihren CAM-Daten extrahiert wurde, wird der Befehl File » Export » Export to PCB aktiviert. Wenn Sie diesen Befehl ausführen, nachdem alle erforderlichen Schritte abgeschlossen sind, wird ein PCB-Dokument mit einem Leiterplattendesign erstellt, das dem Original sehr ähnlich sieht.

Nach dem Aufrufen des Befehls wird ein neues PCB-Dokument erstellt (<CAMDocumentName>.PcbDoc) und als aktives Dokument im Designbereich geöffnet. Die Übertragung der Informationen zwischen dem CAM-Dokument und dem PCB-Dokument erfolgt in dieser Reihenfolge:

  1. Das PCB-Dokument wird mit einer Leiterplattenkontur erstellt, die auf der aktuellen Größe der Leiterplatte im CAM-Dokument basiert.

  2. Im PCB-Dokument werden Netzobjekte anhand der aus dem CAM-Dokument extrahierten Netzinformationen erstellt.

  3. Der Lagenaufbau wird auf Grundlage der im CAM-Dokument definierten physikalischen Lagenreihenfolge erstellt (Dialogfeld Create/Update Layers Order, erreichbar über Tables »  Layers Order).

  4. Den vorhandenen Innenlagen werden Netze zugewiesen.

  5. Den vorhandenen geteilten Versorgungslagen werden Netze zugewiesen. Diese können 

  6. Es werden Designregeln für Mindestabstände, Leiterbahnbreiten und den Anschluss an Versorgungslagen erstellt. Für jedes Netz einer Versorgungslage werden Wärmefallenanschlüsse erstellt.

  7. Padstacks werden aus den CAM-Daten aufgebaut (unter Verwendung der Pads auf den Signal- und Versorgungslagen in der physikalischen Reihenfolge, gefolgt von Bohrungen, Lötstoppmaske, Lotpaste usw.). Die Padstacks werden in das PCB-Dokument geladen, und der erforderliche Typ wird festgelegt (einfacher oder vollständiger Padstack).

  8. Die Leiterbahnen werden erstellt.

  9. Für die gesamte Leiterplatte wird eine Designregelprüfung (DRC) durchgeführt.

  • Der Export to PCB-Befehl überträgt Daten mithilfe der PCB-API vom CAM-Dokument in das PCB-Dokument. Auf diese Weise werden keine Exportdateien (im Gerber- oder einem anderen Format) erzeugt, sodass der Gerber-Importer des PCB-Editors nicht verwendet werden muss.

  • Das erstellte PCB-Dokument wird dem Projects panel als freies Dokument im Unterordner PCBs hinzugefügt. Es wird erstellt, ist jedoch zunächst noch nicht gespeichert.

  • Um eine Leiterplatte vollständig zu rekonstruieren, sind noch weitere Schritte erforderlich, beispielsweise das Ersetzen von Bauteilprimitiven durch Footprints. Dazu können Sie Gruppen von Primitiven kopieren und in eine PCB-Bibliothek einfügen und anschließend die Originale durch die neuen Footprints ersetzen. Der PCB-Editor erstellt aus den Layer Sets-Informationen im CAM-Dokument keine automatischen Bohrlagenpaare; Sie müssen diese im Layer Stack Manager manuell neu definieren. 

AI-LocalizedKI-lokalisiert
Wenn Sie ein Problem feststellen, wählen Sie den Text/das Bild aus und drücken SieCtrl + Enter, um uns Ihr Feedback zu senden.
Contents
Funktionsverfügbarkeit

Die Ihnen zur Verfügung stehenden Funktionen hängen davon ab, über welche Altium-Lösung Sie verfügen – Altium Develop, Altium Agile Teams, Altium Agile Enterprise oder Altium Designer (mit aktivem Laufzeitvertrag).

Wenn Sie eine dokumentierte Funktion in Ihrer tatsächlich verwendeten Software nicht sehen, wenden Sie sich an den Altium-Vertrieb, um mehr zu erfahren.

Legacy-Dokumentation

Die Dokumentation von Altium Designer wird nicht mehr versioniert. Wenn Sie auf Dokumentation für ältere Versionen von Altium Designer zugreifen müssen, besuchen Sie den Abschnitt Legacy-Dokumentation auf der Seite Andere Installer.

Contents