Dokumentation

Reverse Engineering


Alte Platine, leider defekt
Das Problem: Man hat eine alte, defekte Leiterplatte ohne jegliche Dokumentation der darauf befindlichen Schaltung. Auch CAD Daten liegen nicht vor. Leider steuert diese Leiterplatte einen Schaufelradbagger, Schienenbus, ein Fährschiff, Kleinflugzeug, eine Lokomotive, Zahnradbahn oder sonstiges Großgerät, das eben wegen jenes Elektronikschadens unproduktiv steht. Der Hersteller selbst existiert schon seit Jahren nicht mehr, Servicebetriebe sind nicht auszumachen. Will man nicht über kurz oder Lang die Anlage verschrotten, bleibt nur der Weg des Nachbauens der Platine. Dieses Verfahren ist selbst für erfahrene Layouter auch bei nur wenigen Bauteilen auf der Platine eine veritable Herausforderung.
Die Lösung: Bauen Sie in TARGET das Layout nach. TARGET erzeugt daraus einen Schaltplan einschließlich der jeweiligen Bauteilbezeichnungen und Signalnamen. Jetzt kann ein neues Platinenlayout aus dem alten "geklont" werden. Diese Feature wurde in Zusammenarbeit mit Fraunhofer IPK und ENA Electronics entwickelt.


Klick nach Amazon Wir empfehlen dieses Buch zum Thema Reverse Engineering (Englisch). Einige Schritte wurden mit TARGET 3001! gemacht.
Finden Sie es bei Amazon.

Rückwärts-entwickelndes Neuzeichnen

Der Gedanke liegt nahe, ein vorhandenes Layout in irgendeiner Form als Bild zu reproduzieren und in TARGET zu importieren. Aber ein Bild ist eben nur ein Gemälde und seine Gemäldeteile haben zunächst nichts mit Leiterbahnen, Lötpads oder Masseflächen zu tun. Denn für sich genommen haben diese Elemente ja eine Vielzahl schaltungsbezogener Eigenschaften. Und doch ist ein Bild der Platine als Vorlage eine große Hilfe. Sie legen das Bild einfach "unter" Ihr Layout und platzieren die Elemente passgenau darauf. Sie können Bilder von Ober- und Unterseite halb-durchscheinend deckungsgleich auf Ihr Layout projizieren, um so auf Ober- und Unterseite gleichzeitig zu platzieren. Dann verlegen Sie die Leiterbahnen. Später leiten Sie daraus einen Schaltplan ab, ggf. mit mehreren Schaltplanseiten. Wählen Sie zu Beginn immer die Projektart "ohne Schaltplan". Einen Schaltplan leitet man aus dem fertig gerouteten Nachbau später ab.


Layout00 .jpg
Bild: Eine reale Platine, ohne irgendwelche Dokumentation, geschweige CAD-Daten.

Laden Sie die Normalansicht Ihres Bitmaps (Bildformat *.bmp) auf Ebene "14, Fläche oben" und platzieren Sie die Bauteilgehäuse (Lötfüßchen), Leiterbahnen und sonstige Layoutelemente auf der darüber liegenden Ebene "16, Kupfer oben". Alternativ platzieren Sie ein an der vertikalen Achse gespieltes Bild der Unterseite Ihres Layouts in TARGET auf Ebene "0, Fläche unten". Mit dem Schieberegler "transparent...deckend" im Dialog "Bild in Rechteck laden" bestimmen Sie die Deckkraft eines importierten Bildes. So können Sie zum Beispiel durch ihr Foto von "Kupfer oben" ein wenig hindurch schauen, um zu sehen was sich auf ihrem Foto von "Kupfer unten" abspielt. Eine beidseitig exakte Platzierung von Gehäusen und Leiterbahnen fällt dann leichter.

Stellen Sie zunächst sicher, dass die Abmessungen Ihres sichtbaren Bildschirmes (in mm) in den "Einstellungen/Einstellungen / Optionen" definiert sind. Andernfalls kann es zu unerwünschter Verzerrung des Bitmaps kommen.


Das Layout aufbauen

Bild der vorhandenen Platine erstellen

1. Schritt: Erstellen Sie ein Bitmap der Platine, die Sie in TARGET 3001! nachzeichnen wollen, Scan oder Foto. Messen Sie die Seitenlängen Ihrer realen Platine. Die Bestückungsseite dieser Beispielplatine hat in der Realität eine Höhe von 43,00 mm und eine Breite von 90,00 mm, die abgeschnittenen Ecken ignorieren wir zunächst:


FrontSide pcb.jpg
Bild: Scan der Platine im Bildformat Bitmap *.bmp

Projektart wählen

2. Schritt: Öffnen Sie TARGET 3001! und wählen Sie die Projektart "Doppelseitige Platine ohne Schaltplan", egal ob Sie später auch einen Schaltplan ableiten wollen oder nicht. Liegt Ihnen nur eine einseitige Platine vor, wählen Sie "Einseitige Platine ohne Schaltplan". Zeichnen sie jetzt in der Layoutansicht einen Platinenumriss auf Ebene 23 mit exakt diesen Abmessungen. Lassen Sie sich dabei vom Platinenumriss-Assistenten helfen (s. Layoutmenü Aktionen/Platinenumriss-Assistent).


Layout1a.jpg
Bild: Platinenumriss in TARGET mit passender Breite und Höhe

Bild einfügen

3. Schritt Nun öffnen Sie in TARGET 3001! das Layoutmenü Aktionen und dort den Punkt: "Reverse Engineering/Bild in Platine hinterlegen"

Layout5.jpg
Bild: Reverse Engineering starten

Das Einpassen des Bildes in den Leiterplattenumriss (oder Frontplattenumriss) kann automatisch erfolgen:

Layout6 .jpg
Bild: Bild in Platine einpassen (ab V19)

Ein größeres Bild wird auf die Abmessungen des Platinenumrisses "verkleinert". Ein kleineres Bild wird entsprechend vergrößert, kann dann aber leicht pixelig werden. In unserem Beispiel sehen wir die Bestückungsseite (Oberseite) der Platine. Das Bild als Vorlage können wir auf Ebene 14, Fläche oben, importieren. Im Bild-Importdialog bestimmen wir also die Ebene für dieses Bild. Ansonsten kann das Bild mit Doppelklick darauf auf eine beliebige Ebene verschoben werden. Sie können die Ecken des Umrisses (hellrot, Ebene 23, Platinen-Umriss) anpassen, können dies aber auch zu einem späteren Zeitpunkt tun. Knick abschrägen: Umriss markieren und Rechtsklick M2 auf ein schwarzes Kästchen an der Ecke. Abschnitt in mm angeben.

Layout6 a.jpg
Bild: Oberseite der Platine als Bild in den Umriss eingepasst

Wiederholen Sie den Vorgang um zusätzlich ein Bild der Unterseite Ihrer Platine auf Ebene 0, Fläche unten, darzustellen. Wenn man die Deckkraft des Bildes der Oberseite reduziert (s. Dialog, den Sie per Doppelklick auf das Bild öffnen), kann das Bild der Unterseite durchscheinen. Beim Redesign, also beim "Nachzeichnen", kann man so Ober- und Unterseite gleichzeitig betrachten.

Die Unterseite der obigen Platine sieht so aus:

BackSide pcb.jpg
Bild: Das Foto/Scan der Unterseite der Platine muss an der vertikalen Achse gespiegelt werden.

Dieses Bild verbringen wir jetzt auf Ebene 0, Fläche unten. Layoutmenü: Aktionen/Reverse Engineering/Bild in Platine hinterlegen. Im sich öffnenden Dialog wählen wir Ebene 0 aus bei vollständiger Deckkraft. Wenn wir nur Ebene 0, Fläche unten und Ebene 23, Platinen-Umriss sichtbar schalten, zeigt sich folgendes Bild:


BackSide import.jpg
Bild: In TARGET: Bildimport auf Ebene 0, Fläche unten. Die Ebene 23, Platinen-Umriss, ist ebenfalls sichtbar geschaltet (hellrote Linie um den Platinenrand).

Wenn man die Deckkraft des Bildes der Platinenoberseite auf Layer 14 mit Hilfe des Schiebereglers auf ca. die Hälfte stellt, kann man Eben 0 hinzu schalten und erhält folgendes Bild:

BothSides import.jpg
Bild: Beide Bilder übereinander


Doppelklick auf ein Bild öffnet den Dialog zum Bildimport bzw. Bildmanipulation, s. oben. Hier stellen Sie auch die Deckkraft ein. Um ein bestimmtes Bild zu greifen, schieben sie einfach mit gehaltener Maustaste das andere Bild etwas zur Seite und nach der Änderung wieder zurück. Die Ansicht von beiden Bildern ist nun erkennbar. Das obere Bild muss eine geringere Deckkraft haben, so dass das untere durchscheinen kann.

Bauteile importieren

4. Schritt: Sie können jetzt direkt mit dem Import der Bauteile aus der Datenbank beginnen, die auf dem Layout Verwendung fanden. Wichtig: Holen Sie nicht ein beliebiges, blankes Standardgehäuse herein. Diesem fehlt das Schaltplansymbol. Holen Sie ein Bauteilgehäuse herein. Nur ein Bauteilgehäuse bringt die erforderliche eindeutige Zuordnung zu einem Schaltplansymbol mit.


TAB "Bauteil" verwenden!
Bild: Verwenden Sie den TAB Bauteile beim Gehäuseimport. Nicht den Tab Gehäuse.


Im linken Bereich der Platine sehen wir, dass ein Gehäuse TQFP44 o. ä. verwendet war. Holen Sie das passende Bauteilgehäuse aus der TARGET-Bauteildatenbank. Das Gehäuse sollte wie erwähnt Teil eines definierten Bauteils sein, das über eine Bauteil ID verfügt. Denn nur dann kann später sein Symbol für den Schaltplan herangezogen werden.


Layout6.jpg
Bild: In TARGET: Das passende Bauteil mit einem TQFP44 Gehäuse aus der Bauteildatenbank

Platzieren Sie es im Layout. Zoomen Sie möglichst weit in das Bild hinein und manövrieren Sie das Gehäuse möglichst exakt. Lassen Sie sich von der "Röntgenfunktion" (Taste [#] auf der Tastatur) helfen. Stellen Sie eventuell das Raster kleiner. Alle Funktionen des Layouts können verwendet werden.


Layout7.jpg
Bild: Erstes Bauteilgehäuse exakt platziert

Platzieren der Bauteile und Ziehen der Leiterbahnen

5. Schritt: Platzieren Sie z. B. einen SMD-Widerstand mit einem Gehäuse 0805 und ziehen die Leiterbahnen zwischen den Kontakten, indem Sie die bestehenden Strukturen einfach "nachmalen".


Layout9.jpg
Bild: Zwei Bauteilgehäuse platziert und Leiterbahnverbindungen nachgezeichnet

Jetzt holen Sie jedes Bauteil Stück für Stück in Ihr Layout und verbinden die Kontakte, wie gezeigt. In unserem Beispiel sehen Sie die Ergebnisse in blauer Farbe, da dies die Standardfarbe für Ebene 16, "Kupfer oben", ist. Wenn Sie die Lötseite (Unterseite) der Platine bearbeiten wollen, müssen Sie das Bitmap der Unterseite bereits gespiegelt auf Ebene 0 laden, siehe oben. Man schaut durch die Platine hindurch von oben auf die Unterseite, wie in TARGET üblich.

Einen Schaltplan aus dem Layout herleiten

Limitierung bei der Schaltplanherleitung

Wichtiger Hinweis: Die weiteren zum Teil automatisierten Schritte zum Erzeugen eines Schaltplans aus dem Layout sind limitiert. Prinzip: Halbe Anzahl Pins der jeweiligen Ausbaustufe. Genaue Informationen dazu finden Sie in der Produktübersicht.

Bauteilgehäuse platziert, Leiterbahnen verlegt?

Wenn Ja für alle, kann der 6. Schritt: erfolgen, das Erzeugen eines Schaltplans aus den Layoutstrukturen. Ist einmal ein Schaltplan erzeugt, geht für dieses Projekt alle weitere Entwicklungsarbeit vom Schaltplan aus. Reverse Engineering ist dann nicht weiter möglich. Die Fotos Ihrer Platine haben ihren Dienst getan und werden nicht mehr gebraucht, könnten also gelöscht werden. Das können Sie aber noch später machen.

Bauteile auf Schaltplanseiten verteilen

Wählen sie nun Menü Aktionen/Reverse Engineering/Bauteile auf Schaltplanseiten verteilen:

BtlAufSchltplVrteilen.jpg
Bild: Menü Aktionen...

Im sich öffnenden Dialog sehen Sie die Liste der Bauteilgehäuse, wie Sie sie im Layout verwendet hatten. Gleichzeitig werden Sie aufgefordert, mit M2 ein Bauteil zu klicken, welches sie einer bestimmten Schaltplanseite zuordnen möchten. Für diese Schaltplanseite muss zunächst ein Name vergeben werden. Auf dieser wird dann das Schaltplansymbol zu liegen kommen. In unserem Fall markieren wir den Prozessor, IC1, und und mit Rechtsklick öffnet sich der Dialog zum Schaltplanseiten-Benennen. Wir benennen die erste Seite also "Prozessor". Belibige Namen sind denkbar. Im folgenden Zwischendialog bestätigen Sie die Schaltplanseite für das markierte Bauteil. Beim zweiten Bautel, das gleiche Prinzip: Rechtsklick darauf und Schaltplanseite auswählen oder neuen Schaltplanseitennamen bestimmen.


BtlAufSchltplVrteilen 2.jpg
Bild: Schaltplanseiten durch Benamung etablieren

Platzierautomatik im Schaltplan

Besteht das Projekt aus sehr vielen Bauteilen, kann der oben beschriebene Auswahlprozess ermüdend sein. Der Knopf "Automatik" hilft hier und lotst tendenziell zusammengehörige Bauteile auf die gleiche Schaltplanseite. Für die Anwendung der Automatik ist es hilfreich, die sinntragenden Bauteile zu Beginn auf bestimmte Schaltplanseiten zu weisen. Meist sind es solche mit vielen Bauteilbeinchen oder für die Schaltung erkennbaren Schlüsselfunktionen. Die Automatk führt dann die eng damit verbundenen Symbole ebenfalls auf diese Schaltplanseite. "Das Kind will in die Nähe der Mutter", so könnte man das Prinzip umschreiben. Eher globale Signale, z. B. GND, fallen dabei nicht so sehr ins Gewicht wie signifikante Einzelverbindungen.


BtlAufSchltplVrteilen 3.jpg
Bild: Bauteilverteilung auf Schaltplanseiten

Ein Tortendiagramm zeigt die Verteilung auf Schaltplanseiten: "Bauteile pro Seite" oder "Anschlüsse pro Seite". Drücken Sie OK um dann den Schaltplan "roh" zu generieren.

Den Schaltplan roh generieren

Betätigen Sie den Schaltknopf im Dialog (im obigen Bild verdeckt) oder wählen Sie den Menüeintrag:


BtlAufSchltplVrteilen 4.jpg
Bild: "roh" bedeutet: Da gibt es noch was zu tun...


Das Ergebnis zeigt die erste Schaltplanseite mit den Bauteilsymbolen und den Signalverbindungen als Luftlinien (violett).


BtlAufSchltplVrteilen 5.jpg
Bild: Eine violette Luftlinie im Schaltplan hat Ihren Ursprung in der Leiterbahn, die im Layout verlegt wurde.

Greifen Sie den Kondensator am Griffkreuz mit gehaltener Taste (M1H) und ziehen Sie ihn näher heran. Klicken Sie während des Heranziehens gleichzeitig mit der rechten Maustaste (M2) um ihn zu drehen. Die violetten Linien sind Luftlinien. Sie müssen aktiv als Signal etabliert werden. Entweder mit Doppelklick darauf, um den Schaltplanrouter zu verwenden oder über das Werkzeug: "Signal verlegen".


ReverseSchaltplan1.jpg
Bild: Bauteil heran gezogen und gedreht

Signalbahn verlegt: Einmal mit dem Werkzeug (oben) einmal per Doppelklick auf die violette Linie oder selektieren und [+] (Schaltplanrouter):


ReverseSchaltplan2.jpg
Bild: Leiterbahnen erzeugt und Texte positioniert

Nun können Sie jedes Signal individuell behandeln, editieren, neu zeichnen... Wenn Sie ein Signal in eine Luftlinie zurück verwandeln wollen, selektieren Sie es und tippen [-].

ReverseSchaltplan3.jpg
Bild: Doppelklick auf den Signalzug



Mehrere Schaltplanseiten

Geht ein Signal über mehrere Schaltplanseiten, wird am Rand der Schaltplanseite ein Referenzsymbol gesetzt. Dieses zeigt an, dass das Signal auf einer anderen Schaltplanseite fortgeführt wird. Auf der korrespondierenden Schaltplanseite findet sich ein äquivalentes Referenzsymbol, welches das Signal dort einführt. Folgendes Beispiel zeigt dies:

ReverseSchaltplan4.jpg
Bild: Die Symbole von Bauteilen können für diverse Schaltplanseiten vorbestimmt werden

Beim Prozess des "Schaltplanseiten Zuordnens" wurde IC1 der Schaltplanseite "Prozessor" zugeordnet, der Kondensator C1 hingegen der Schaltplanseite "Stromversorgung". Bei "Schaltplan roh generieren" erscheint auf der Schaltplanseite "Prozessor" das IC mit violetten Luftlinien zu zwei Referenzsymbolen oben links. Gleichzeitig ist die zweite Schaltplanseite "Stromversorgung" erkennbar.



ReverseSchaltplan5.jpg
Bild: Die Luftlinien im Schaltplan zeigen zu den Referenzsymbolen am Rand der Schaltplanseite

Wenn man die andere Schaltplanseite in der Leiste rechts anklickt und somit zur Anzeige bringt, zeigt sich das folgende Bild:



ReverseSchaltplan6.jpg
Bild: nächste Schaltplanseite: Referenzsymbole führen die beiden Signale zum Baueil

Auch hier müssen die Signale gemäß der violetten Luftlinien noch angeschlossen werden, wie oben gezeigt.



Abschließende Arbeiten

Zum Schluss, wenn alle Layoutarbeit getan ist, schneiden Sie beim Platinenumriss (Ebene 23) vorlagegemäß die Ecken ab, sofern noch nicht geschehen: Markieren Sie eine Seite des Umrisses (recht oder links). Klicken Sie mit der rechten Maustaste M2 auf das erscheinende kleine schwarze Kästchen an der Ecke. Im sich öffnenden Kontextmenü klicken Sie "Knick abschrägen". Geben sie dann den Abschnitt in mm an. Löschen Sie ggf. das ursprüngliche Bild auf Ebene null respektive Ebene 14. Entscheiden Sie, ob Sie jetzt eine Massefläche erzeugen wollen (ggf. unabhängig von der Bildvorlage).

Nebenbei: Sie könnten auch Bilder von Innenlagen hinterlegen. Dazu müssten Sie Röntgenbilder der Ursprungsplatine haben, die die Verhältnisse auf den Innenlagen darstellen. Kommt eventuell selten vor, ist aber sehr leicht machbar.



Besonderheit in Ausbaustufe "design station"...

Die Ausbaustufe design station, bietet seit V15 eine professionelle Lösung zum Thema "Reverse Engineering", die immer noch zusätzlich funktioniert:

Das Unternehmen Diagnosys bietet ein Leiterplatten-Diagnosesystem namens "Pin Point", das die entsprechende Netzliste im Abtastverfahren erzeugt. Mit einem geschickten heuristischen Verfahren in TARGET 3001! wird die Komplexität des "Wollknäuels Netzliste" herunter gebrochen. Bauteile und Signale werden unter Verwendung eines Simulated Annealing Algorithmus übersichtlich auf mehrere Schaltplanseiten verteilt. Hieraus kann sehr leicht ein neues Platinenlayout aus dem alten erstellt werden. Dieses Feature ist nur in der Ausbaustufe "design station" erhältlich.