Support for Reverse Engineering of PCBs
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 CAM-Editor-Modus (CAM oder NC). Mit diesem Befehl können Sie ein PCB-Layout direkt aus CAM-Dateien per Reverse Engineering rekonstruieren. Dabei wird kein regulärer Export-/Importprozess verwendet; stattdessen werden die Daten direkt in den PCB Editor geladen.
In den folgenden Abschnitten werden die Schritte beschrieben, die erforderlich sind, um ein PCB-Design aus den CAM-Daten per Reverse Engineering zu rekonstruieren – vom anfänglichen Import in ein CAM-Dokument über die erforderliche Vorbereitung vor dem Export bis hin zum Export der Designdaten in den PCB Editor.
Daten importieren
Das Dialogfeld Preferences
Der Ausgangspunkt für den gesamten Prozess ist das Laden von ODB++ oder von Gerber- und NC-Drill-Dateien in ein neues CAM-Dokument. Wenn Sie eine IPC-Netzliste haben, sollten Sie diese beim Import von Gerber- und NC-Drill-Daten ebenfalls importieren. Beim Import von ODB++ sollten Sie eine IPC-Datei nur dann importieren, wenn sich die Netzliste nicht im ODB++-Verzeichnis befindet. Die IPC-Netzliste ermöglicht es Ihnen, die extrahierten Netze mit ihren ursprünglichen Namen zu aktualisieren und zwischen Through-Hole-Vias und freien, nicht zu Bauteilen gehörenden Pads zu unterscheiden.
Die Befehle im Untermenü File » Import suchen alle in einem angegebenen Ordner nach Dateien mit bestimmten Erweiterungen. Beim Import von Bohrdateien werden im angegebenen Verzeichnis beispielsweise alle Dateien außer denen mit den Erweiterungen .DR*, .ROU, .RTE, *.NC*, und *.TX* ausgefiltert. Wenn Sie Bohrdateien mit anderen Erweiterungen als diesen erhalten, können Sie diese Liste auf der Seite CAM Editor - Miscellaneous page des Dialogfelds Preferences erweitern. Dort können Sie auch jede der Standardlisten für Erweiterungen von Gerber-, Aperture-, HPGL- und Netzlistendateien ändern.
Das Dialogfeld Preferences
Auf der Seite CAM Editor - Import/Export page des Dialogfelds Preferences können Sie die Standard-Import- und Exporteinstellungen für Gerber-Dateien ändern. Wenn Sie beispielsweise regelmäßig CAM-Daten erhalten, die mit P-CAD erzeugt wurden, sollten Sie erwägen, das Koordinatenpräzisionsformat von 2:3 (Standard in Altium Designer) auf 4:4 (Standard in P-CAD) zu ändern. Wenn Sie dies nicht tun, haben Sie dennoch bei jedem Import eines Jobs die Möglichkeit, diese Einstellungen gegenüber dem Standard zu ändern.
Zuweisungen von Lagertypen
Das Dialogfeld Layer Table Detection Template
Einzelne Gerber- und Drill-Dateien werden jeweils einzelnen Lagen zugewiesen. Darüber hinaus betrachtet der CAM Editor beim Import ihre Namen und versucht, jeder Datei einen Lagertyp zuzuweisen. Dies geschieht anhand der Informationen im Dialogfeld Layer Types Detection Template, das Sie über die Auswahl von Tables » Layer Type Detection im Hauptmenü aufrufen. Dieses Dialogfeld ist vollständig anpassbar und enthält Fragmente von Dateinamen (Erweiterungen, Schlüsselwörter oder beides), die einzelne Dateien als Lagertypen identifizieren, z. B. Signal-, Negative-Plane-, Rand-, Drill- und temporäre Lagen (mechanisch).
Der PCB Editor von Altium Designer unterscheidet beispielsweise Gerber-Lagen anhand ihrer Erweiterungen, etwa .gtl für die Top-Lage und .gbl für die Bottom-Lage. Andere Designwerkzeuge exportieren möglicherweise eine .top-Datei für die Top-Lage und eine .sol-Datei für die Bottom- (Löt-)Lage. Einige dieser Werkzeuge, wie etwa P-CAD, erlauben es Benutzern, die Namen der Gerber-Ausgabedateien selbst festzulegen.
Nach dem Import einer beliebigen Gruppe von CAM-Dateien können Sie das Dialogfeld 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. Beispielsweise werden Sie feststellen, dass alle Drill-Dateien automatisch auf den Typ Drill Top gesetzt werden. Möglicherweise möchten Sie an dieser Stelle zwischen Top-, Bottom- und internen Drill-Sätzen unterscheiden. Dies ist jedoch nicht erforderlich.
Das Dialogfeld Layer Table
Wenn Sie üblicherweise Gerber- oder Drill-Dateien erhalten, die nicht automatisch korrekt einem Lagertyp zugewiesen werden, sollten Sie den Dateinamen auf unterscheidende Merkmale prüfen, anhand derer CAM Editor sie identifizieren könnte, und diese dem Dialogfeld Layer Types Detection Template hinzufügen. ODB++ muss das Dialogfeld Layer Types Detection Template nicht verwenden, da alle Informationen zur Identifizierung jeder Lage in der Matrixdatei gespeichert sind. Es ist jedoch empfehlenswert, die Lagertypzuweisungen nach Abschluss des Ladevorgangs zu überprüfen.
Board-Stackup und Drill-Sätze
Das Dialogfeld Create/Update Layers Order
Lagen, die als Signaltypen (Top, Bottom oder intern) oder als Planes zugewiesen wurden, erscheinen nun im Dialogfeld Create/Update Layers Order, das Sie über Tables » Layers Order im Hauptmenü aufrufen. In den meisten Fällen kann CAM Editor das Stackup aus den bereitgestellten CAM-Daten bestimmen, in manchen Fällen wird jedoch nur die logische Reihenfolge bereitgestellt (die Reihenfolge, in der die Lagen importiert wurden). Es ist am besten, sicherzustellen, dass die Informationen in der Spalte Layer Physical Order korrekt sind, wobei die Nummer eins die Top-Lage ist. Achten Sie darauf, nicht verschiedenen Lagen dieselbe Ordnungsnummer zuzuweisen. Sobald Sie ein gültiges Stackup festgelegt haben, hat die Spalte für die physische Reihenfolge Vorrang vor der logischen Liste, wenn dieses Dialogfeld erneut geöffnet wird, und Sie sehen die Lagen in ihrem vorgeschlagenen Stackup aufgelistet.
Dieselbe physische Reihenfolge wird auch im Dialogfeld Create/Update Layers Sets wiedergegeben, das Sie über Tables » Layers Sets im Hauptmenü aufrufen und in dem Sie Drill-Dateien Lagensätzen zuordnen. Betrachten Sie eine 6-Lagen-Platine (vier Signallagen, zwei Planes) mit Blind- und Buried-Vias. Das Design könnte vier separate Drill-Dateien enthalten:
- eine für das Paar Top-Bottom (Durchkontaktierungen)
- eine für das Paar Top-InternalPlane1
- eine für das Paar MidLayer1-MidLayer2
- eine für das Paar Bottom-InternalPlane2.
Netzliste extrahieren
Dieser Schritt, den Sie über die Auswahl von Tools » Netlist » Extract im Hauptmenü aufrufen, hängt von der Genauigkeit der vorhergehenden Schritte ab. Sie können ihn überhaupt nicht durchführen, wenn nicht jeder Lage Ihrer Platine ein Lagertyp zugewiesen wurde (mechanische Lagen sollten auf Temporary gesetzt werden). Nach dem Starten des Befehls werden die Netzlisteninformationen extrahiert, und auf der Registerkarte Nets des Fensters CAMtastic erscheint eine Liste der Netze. Jedes Netz wird anhand seiner Gesamtlänge aufgeführt. Wenn Sie im Fenster auf einen Netzeintrag klicken, wird das entsprechende Netz im Designbereich ausgewählt und herangezoomt.
Der CAM Editor verfolgt die Konnektivität von einer Lage zur anderen und nutzt dabei die NC-Drill-Dateien, um Verbindungen zwischen den Lagen herzustellen. Aus diesem Grund sind das im Dialogfeld Create/Update Layers Order definierte Lagen-Stackup und die im Dialogfeld Create/Update Layers Sets ausgewählten Drill-Paare entscheidende Voraussetzungen, um aus den CAM-Daten eine genaue Netzliste zu extrahieren.
Wenn Sie zusammen mit Ihren importierten Gerber- und NC-Drill-Dateien eine IPC-D-356-Netzlistendatei eingebunden haben, können Sie die ursprünglichen (und aussagekräftigen) Netznamen wiederherstellen, indem Sie Tools » Netlist » Rename Nets im Hauptmenü auswählen. Nach dem Starten des Befehls werden die Netze verglichen, und die aus dem aktuellen Dokument extrahierten Netze werden mithilfe der Netznamen aus der IPC-Netzlistendatei umbenannt. Die aktualisierten Namen erscheinen auf der Registerkarte Nets des Fensters CAMtastic .
Obwohl die IPC-D-356-Netzlisteninformationen für den Export nicht zwingend erforderlich sind, sind sie wünschenswert. Ihre Verfügbarkeit hilft dem CAMtastic Editor dabei, Pads von Vias zu unterscheiden, und führt dadurch zur korrekten Erstellung von Vias statt Pads bei Blind- oder Buried-Vias im Design. Noch wichtiger ist jedoch, dass Ihnen eine IPC-Netzliste eine Referenz liefert, mit der die extrahierte Netzliste verglichen werden kann, wenn Sie Tools » Netlist » Compare im Hauptmenü auswählen. Nach dem Starten des Befehls wird der Vergleich durchgeführt und ein Bericht, Netlist-Compare.rpt, erzeugt und als aktives Dokument im Haupt-Designfenster geöffnet. Der Bericht listet jedes Netz auf, das in der importierten Netzliste gefunden wurde, aber in der extrahierten Netzliste fehlt.
Wenn die IPC-Netzliste korrekt importiert wurde, sehen Sie in der Lagenliste im Fenster CAMtastic zwei zusätzliche Lagen: <fabrication_testpoint_report_for_DesignName>.ipc_t und <fabrication_testpoint_report_for_DesignName>.ipc_b. Diese spiegeln die Netzlisteninformationen für die oberen und unteren Signallagen wider. (Eine dritte Lage, <fabrication_testpoint_report_for_DesignName>.ipc_in, erscheint, wenn Ihr PCB-Design interne Signallagen enthält. Sofern Sie keine Blind- und/oder Buried-Vias haben, die diese Lagen betreffen, bleibt diese dritte Lage leer und kann in der Lagenliste belassen oder gelöscht werden).
Bei IPC-Netzlisten, die aus dem 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 Single-Pin-Netze enthält. Der CAM Editor hingegen ignoriert Pads ohne Kupferverbindungen, soweit es die Netzliste betrifft. Tatsächlich verfügt seine DRC über eine Option zum Entfernen nicht funktionaler Pads.
Ränder und Planes
Wenn der CAM Editor eine PCB-Datei in den PCB Editor exportiert, wird automatisch ein Platinenumriss erzeugt. Damit dies sinnvoll erfolgt, muss auf einer Border-Typ-Lage eine geschlossene Polylinie vorhanden sein. Wenn auf dieser Lage keine geschlossenen Polylinien gefunden werden oder wenn im Dialog Layers Table mehrere Lagen als Border festgelegt wurden, erhalten Sie wahrscheinlich nicht die gewünschte Platinenform.
Alle Splits auf Ihren internen Ebenen müssen ebenfalls durch geschlossene Polylinien definiert sein. Um festzustellen, ob eine Polylinie geschlossen ist, fragen Sie sie ab (Q-Tastenkürzel). Sie können prüfen, ob die gesamte Polylinie hervorgehoben wird und ob sie auf der Registerkarte Info des Fensters CAM als geschlossene Polylinie gemeldet wird. Falls nicht, können Sie das Vorhandene mit dem Befehl Join im Untermenü Edit » Objects in eine geschlossene Polylinie umwandeln.
Split-Plane-Bereiche können etwas zusätzliche Arbeit erfordern, da jeder Split seine eigene umschließende „Blase“ benötigt. Während Insel-Planes wie oben beschrieben verbunden werden können, müssen Split-Planes, die ihre Umrisse mit anderen Splits oder mit der Border-Polylinie teilen, neu gezeichnet werden. Um eine eigene geschlossene Polylinie zu zeichnen, klicken Sie nach Auswahl des letzten Eckpunkts mit der rechten Maustaste und wählen dann Close.
Verschachtelte Planes (Inseln innerhalb von Split-Planes) werden derzeit nicht unterstützt.
Polygone exportieren
Die Seite CAM Editor - Import/Export des Dialogs Preferences bietet zusätzliche Optionen dafür, wie Polygone im CAM-Dokument in das PCB-Dokument exportiert werden. Wenn die Polygone rechteckig sind, können sie im PCB-Dokument als Fills erstellt werden. Bei nicht rechteckigen Polygonen können Sie im PCB Editor entweder schraffierte oder massive Polygonfüllungen erzeugen. Für diese beiden Polygonfüllungstypen stehen Optionsdialoge zur Verfügung, die eine genauere Steuerung der Behandlung der exportierten Polygone auf der PCB-Seite ermöglichen.
Wenn Sie die Option Create Hatched Polygons aktivieren, verwendet der CAM Editor eine einzige Rastergröße und eine einzige Leiterbahnbreite, um alle Polygone in Ihrer Datei zu füllen. Falls Ihre CAM-Daten sehr kleine Polygone enthalten, sollten Sie sicherstellen, dass die Exportoptionen auf dieses Niveau abgestimmt sind.
Der Dialog Polygon Options, der durch Klicken auf die zugehörige Schaltfläche Hatched Polygon Options geöffnet wird, ermöglicht es Ihnen, Rastergröße, Leiterbahnbreite und minimale Primitive-Länge für Ihre Polygone zu ändern. Wenn Ihre Polygone mit hoher Genauigkeit vollständig gefüllt werden sollen, sollten diese Werte alle in einem engen Bereich um die kleinsten Anforderungen auf Ihrer Platine gehalten werden. Andernfalls riskieren Sie leere Stellen innerhalb Ihrer Polygone, Schraffurmuster anstelle vollständiger Füllungen oder sogar, dass ganze Polygone beim Export ausgelassen werden.
Der Dialog Polygon Options
Diese Werte gelten hingegen für alle exportierten Polygone, sodass sehr kleine Werte den Umfang der exportierten Datei und die damit verbundenen Verwaltungsprobleme (wie etwa die Neuzeichnungsgeschwindigkeit) erhöhen. Daher ist es am besten, die größtmöglichen Werte zu verwenden, die dennoch für alle Polygone auf Ihrer Platine die erforderliche Genauigkeit liefern.
Wenn Sie die Option Create Solid Polygons aktivieren, wird jedes Polygon mit einer oder mehreren massiven Kupferflächen gefüllt. Die Anzahl der verwendeten Kupferflächen hängt von der Anzahl der einzelnen Bereiche ab, die innerhalb des Polygons durch vorhandene Netzobjekte wie Leiterbahnen und Pads entstehen.
Der Dialog Solid Polygon Options
Der Dialog Solid Polygon Options, der durch Klicken auf die zugehörige Schaltfläche Solid Polygon Options geöffnet wird, ermöglicht es Ihnen festzulegen, wie Kupferinseln und schmale Kupfernetze behandelt werden und wie sich die Füllung verhält, wenn sie über Netzobjekte gegossen wird, die zum selben Netz wie die Kupferfüllung gehören:
-
Pour Over All Same Net Objects - wählen Sie diese Option, wenn eine Polygonfüllung automatisch mit allen Objekten verbunden werden soll, die zum selben Netz wie die Füllung gehören
-
Pour Over Same Net Polygons Only - wählen Sie diese Option (Standard), wenn die Polygonfüllung automatisch nur mit Polygonfüllungsobjekten innerhalb ihrer Begrenzung verbunden werden soll, die demselben Netz zugeordnet sind
-
Don't Pour Over Same Net Objects - wählen Sie diese Option, wenn Sie ausdrücklich nicht möchten, dass die Polygonfüllung mit anderen Netzobjekten verbunden wird. Wenn eine der ersten beiden Optionen gewählt ist und die Polygonfüllung No Net zugewiesen ist, wird sie unabhängig von deren Netzzuordnungen um alle Objekte herum gegossen.
Nach PCB exportieren
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 wurden, wird ein PCB-Dokument erstellt, das ein Platinenlayout enthält, das dem Original sehr ähnlich sieht.
Nach dem Starten des Befehls wird ein neues PCB-Dokument erzeugt (<CAMDocumentName>.PcbDoc) und als aktives Dokument im Arbeitsbereich geöffnet. Die tatsächliche Abfolge der Ereignisse bei der Übertragung von Informationen zwischen dem CAM-Dokument und dem PCB-Dokument ist wie folgt:
-
Das PCB-Dokument wird mit einem Platinenumriss erstellt, der auf der aktuellen Größe der Platine im CAM-Dokument basiert.
-
Netzobjekte werden im PCB-Dokument erstellt, wobei die aus dem CAM-Dokument extrahierten Netzinformationen verwendet werden.
-
Der Layer-Stack wird auf Grundlage der im CAM-Dokument definierten Reihenfolge der physikalischen Lagen erzeugt (Dialog Create/Update Layers Order, aufgerufen über Tables » Layers Order).
-
Internen Ebenen werden Netze zugewiesen.
-
Netze werden allen vorhandenen Split-Planes zugewiesen. Diese können
-
Design Rules für Clearance, Width und Power Plane Connect Style werden erstellt. Relief-Verbindungen werden für jedes Plane-Netz erzeugt.
-
Padstacks werden aus den CAM-Daten aufgebaut (unter Verwendung von Pads auf den Signal-/Plane-Lagen in physikalischer Reihenfolge, gefolgt von Bohrung, Maske, Paste usw.). Die Padstacks werden in das PCB geladen und der erforderliche Stil wird definiert (einfach oder vollständiger Padstack).
-
Die PCB-Leiterbahnen werden erstellt.
-
Für die gesamte Platine wird eine DRC-Prüfung durchgeführt.
).