Support for Reverse Engineering of PCBs
Po zaimportowaniu danych CAM do dokumentu CAM zauważysz, że opcja Export to PCB jest wyszarzona, niezależnie od bieżącego trybu Edytora CAM (CAM lub NC). To polecenie umożliwia odtworzenie (reverse engineering) układu PCB bezpośrednio z plików CAM. Nie jest to standardowy proces eksportu/importu — dane są ładowane bezpośrednio do Edytora PCB.
Poniższe sekcje opisują kroki niezbędne do odtworzenia projektu PCB z danych CAM: od początkowego importu do dokumentu CAM, przez wymagowane przygotowanie przed eksportem, aż po eksport danych projektu do Edytora PCB.
Import danych
Punktem wyjścia dla całego procesu jest wczytanie ODB++ albo plików Gerber i NC Drill do nowego dokumentu CAM. Jeśli masz netlistę IPC, należy ją również zaimportować podczas importu danych Gerber i NC Drill. Przy imporcie ODB++ importuj plik IPC tylko wtedy, gdy netlista nie znajduje się w katalogu ODB++. Netlista IPC pozwoli zaktualizować wyekstrahowane sieci ich oryginalnymi nazwami oraz rozróżnić przelotki (through-hole vias) od wolnych padów niezwiązanych z komponentami.
Polecenia w podmenu File » Import wyszukują w danym folderze pliki o określonych rozszerzeniach. Na przykład podczas importu plików wierceń wskazany katalog odfiltruje wszystkie pliki poza tymi o rozszerzeniach .DR*, .ROU, .RTE, *.NC*, i *.TX* . Jeśli otrzymasz pliki wierceń z innymi rozszerzeniami, możesz rozszerzyć tę listę na stronie CAM Editor - Miscellaneous page w oknie Preferences dialog. Stąd możesz również zmienić dowolne domyślne listy rozszerzeń skojarzone z plikami Gerber, Aperture, HPGL oraz Netlist.
Strona CAM Editor - Import/Export page w oknie Preferences dialog pozwala zmienić domyślne ustawienia importu i eksportu dla plików Gerber. Na przykład, jeśli regularnie otrzymujesz dane CAM wygenerowane w P-CAD, możesz rozważyć zmianę formatu precyzji współrzędnych z 2:3 (domyślne w Altium Designer) na 4:4 (domyślne w P-CAD). Jeśli tego nie zrobisz, nadal będziesz mieć możliwość zmiany tych ustawień z wartości domyślnych przy każdym imporcie zadania.
Przypisania typów warstw
Okno Layer Table Detection Template dialog
Poszczególne pliki Gerber i Drill są przypisywane do pojedynczych warstw. Dodatkowo Edytor CAM podczas importu analizuje ich nazwy i próbuje przypisać każdemu typ warstwy. Robi to na podstawie informacji w oknie Layer Types Detection Template dialog, do którego przechodzi się, wybierając Tables » Layer Type Detection z menu głównego. Jest to w pełni konfigurowalne okno dialogowe zawierające fragmenty nazw plików (rozszerzenia, słowa kluczowe lub oba), które identyfikują poszczególne pliki jako typy warstw, takie jak: sygnał, negatywna płaszczyzna, obrys, wiercenia oraz warstwy tymczasowe (mechaniczne).
Edytor PCB w Altium Designer, na przykład, rozróżnia warstwy Gerber po rozszerzeniach, takich jak .gtl dla warstwy górnej i .gbl dla warstwy dolnej. Inne narzędzia projektowe mogą eksportować plik .top dla warstwy górnej oraz .sol dla warstwy dolnej (lutowniczej). Niektóre z tych narzędzi, takie jak P-CAD, pozwalają użytkownikom samodzielnie określać nazwy wyjściowe Gerber.
Po zaimportowaniu dowolnej grupy plików CAM możesz otworzyć okno Layers Table dialog i przejrzeć przypisania typów wykonane automatycznie. Możesz otworzyć listę rozwijaną dla typu i zmodyfikować dowolne przypisanie. Na przykład zauważysz, że wszystkie pliki wierceń są automatycznie ustawione na typ Drill Top. Na tym etapie możesz chcieć rozróżnić zestawy wierceń: górne, dolne i wewnętrzne. Nie jest to jednak wymagane.
Jeśli zwykle otrzymujesz pliki Gerber lub drill, które nie są automatycznie poprawnie przypisywane do typu warstwy, przeanalizuj nazwę pliku pod kątem cech wyróżniających, dzięki którym CAM Editor mógłby je identyfikować, i dodaj je do okna Layer Types Detection Template dialog. ODB++ nie wymaga użycia okna Layer Types Detection Template dialog, ponieważ wszystkie informacje potrzebne do identyfikacji każdej warstwy są zapisane w pliku matrix. Mimo to dobrą praktyką jest sprawdzenie przypisań typów warstw po zakończeniu procesu ładowania.
Stackup płytki i zestawy wierceń
Okno Create/Update Layers Order dialog
Warstwy przypisane jako typy sygnałowe (górna, dolna lub wewnętrzne) albo jako płaszczyzny będą teraz widoczne w oknie Create/Update Layers Order dialog, do którego przechodzi się, wybierając Tables » Layers Order z menu głównego. W większości przypadków CAM Editor będzie w stanie określić stackup na podstawie dostarczonych danych CAM, ale w niektórych przypadkach dostępna będzie jedynie kolejność logiczna (kolejność, w jakiej warstwy zostały zaimportowane). Najlepiej upewnić się, że informacje w kolumnie Layer Physical Order są poprawne, gdzie numer jeden oznacza warstwę górną. Uważaj, aby nie przypisać tego samego numeru kolejności do różnych warstw. Po zdefiniowaniu poprawnego stackupu kolumna kolejności fizycznej będzie miała pierwszeństwo przed listą logiczną przy ponownym otwarciu tego okna i zobaczysz warstwy ułożone zgodnie z proponowanym stackupem.
Ta sama kolejność fizyczna będzie odzwierciedlona w oknie Create/Update Layers Sets dialog, dostępnym po wybraniu Tables » Layers Sets z menu głównego, gdzie dopasowujesz pliki wierceń do zestawów warstw. Rozważ płytkę 6-warstwową (cztery warstwy sygnałowe, dwie płaszczyzny) z przelotkami ślepymi i zagrzebanymi. Projekt może zawierać cztery oddzielne pliki wierceń:
- jeden dla pary Top-Bottom (przelotowe)
- jeden dla pary Top-InternalPlane1
- jeden dla pary MidLayer1-MidLayer2
- jeden dla pary Bottom-InternalPlane2.
Ekstrakcja netlisty
Ten krok, dostępny po wybraniu Tools » Netlist » Extract z menu głównego, zależy od poprawności wcześniejszych etapów. Nie da się go wykonać, jeśli nie masz przypisanego typu warstwy dla każdej warstwy w płytce (warstwy mechaniczne należy ustawić jako Temporary). Po uruchomieniu polecenia zostaną wyekstrahowane informacje o netliście, a lista sieci pojawi się na karcie Nets panelu CAMtastic . Każda sieć jest wyszczególniona wraz z jej całkowitą długością. Kliknięcie dowolnej pozycji sieci w panelu spowoduje zaznaczenie tej sieci i przybliżenie widoku w obszarze projektu.
Edytor CAM będzie śledził połączenia pomiędzy warstwami, korzystając z plików NC drill do tworzenia połączeń warstwa–warstwa. Z tego powodu stackup warstw zdefiniowany w oknie Create/Update Layers Order dialog oraz pary wierceń wybrane w oknie Create/Update Layers Sets dialog są kluczowymi warunkami wstępnymi do wyekstrahowania poprawnej netlisty z danych CAM.
Jeśli do zaimportowanych plików Gerber i NC Drill dołączyłeś plik netlisty IPC-D-356, możesz przywrócić oryginalne (i znaczące) nazwy sieci, wybierając Tools » Netlist » Rename Nets z menu głównego. Po uruchomieniu polecenia sieci zostaną porównane, a te wyekstrahowane z bieżącego dokumentu zostaną przemianowane zgodnie z nazwami sieci z pliku netlisty IPC. Zaktualizowane nazwy pojawią się na karcie Nets panelu CAMtastic .
Chociaż informacje z netlisty IPC-D-356 nie są niezbędne do eksportu, są pożądane. Ich obecność pomoże Edytorowi CAMtastic w rozdzieleniu padów od przelotek, a tym samym doprowadzi do poprawnego tworzenia przelotek zamiast padów dla wszelkich przelotek ślepych lub zagrzebanych w projekcie. Co jednak ważniejsze, netlista IPC daje punkt odniesienia, z którym można porównać wyekstrahowaną netlistę po wybraniu Tools » Netlist » Compare z menu głównego. Po uruchomieniu polecenia zostanie wykonane porównanie i zostanie wygenerowany oraz otwarty jako aktywny dokument w głównym oknie projektu raport Netlist-Compare.rpt. Raport wymienia każdą z sieci, które znaleziono w zaimportowanej netliście, ale których brakuje w wyekstrahowanej netliście.
Jeśli netlista IPC została poprawnie zaimportowana, zobaczysz dwie warstwy dodane do listy warstw w panelu CAMtastic : <fabrication_testpoint_report_for_DesignName>.ipc_t oraz <fabrication_testpoint_report_for_DesignName>.ipc_b, odzwierciedlające informacje netlisty dla górnej i dolnej warstwy sygnałowej. (Trzecia warstwa, <fabrication_testpoint_report_for_DesignName>.ipc_in, pojawi się, jeśli w projekcie PCB masz wewnętrzne warstwy sygnałowe. O ile nie masz przelotek ślepych i/lub zagrzebanych obejmujących te warstwy, ta trzecia warstwa będzie pusta i można ją pozostawić lub usunąć z listy warstw).
Dla netlist IPC generowanych z Edytora PCB zauważysz, że funkcja porównywania w Edytorze CAM zwykle znajdzie serię „brakujących sieci” bez nazw. Wynika to z faktu, że format IPC w Edytorze PCB uwzględnia sieci jednopinowe. Edytor CAM natomiast pomija pady bez jakichkolwiek połączeń miedzią w kontekście netlisty. W rzeczywistości jego DRC ma opcję usuwania padów niefunkcjonalnych.
Obrysy i płaszczyzny
Gdy CAM Editor eksportuje plik PCB do PCB Editor, automatycznie zostanie wygenerowany obrys płytki. Aby zrobić to w sposób „inteligentny”, wymagane jest istnienie zamkniętej polilinii na warstwie typu Border. Jeśli na tej warstwie nie zostaną znalezione żadne zamknięte polilinie albo jeśli w oknie dialogowym Layers Table jako obrysy zostanie wskazanych kilka warstw, najprawdopodobniej nie uzyskasz oczekiwanego kształtu płytki.
Wszelkie podziały (splity) na warstwach wewnętrznych plane również muszą być zdefiniowane za pomocą zamkniętych polilinii. Aby sprawdzić, czy polilinia jest zamknięta, odpytaj ją (skrót Q). Możesz sprawdzić, czy podświetla się cała polilinia oraz czy na karcie Info panelu CAM jest raportowana jako zamknięta polilinia. Jeśli nie, możesz przekonwertować to, co masz, na zamkniętą polilinię poleceniem Join w podmenu Edit » Objects.
Sekcje split plane mogą wymagać dodatkowej pracy, ponieważ każdy podział potrzebuje własnej „bańki” (bubble) obwiedni. O ile plane typu island można łączyć jak opisano powyżej, o tyle split plane, które współdzielą obrysy z innymi podziałami lub z polilinią obrysu, muszą zostać przerysowane. Aby narysować własną zamkniętą polilinię, kliknij prawym przyciskiem po wybraniu jej ostatniego wierzchołka, a następnie wybierz Close.
Zagnieżdżone plane (islands wewnątrz split plane) nie są obecnie obsługiwane.
Eksport wielokątów
Strona CAM Editor - Import/Export okna dialogowego Preferences udostępnia dodatkowe opcje określające, jak wielokąty w dokumencie CAM są eksportowane do dokumentu PCB. Jeśli wielokąty mają kształt prostokątny, mogą zostać utworzone jako wypełnienia (fills) w dokumencie PCB. Dla wielokątów nieprostokątnych możesz utworzyć w PCB Editor polygon pour typu Hatched albo Solid. Udostępniono dostęp do okien opcji dla tych dwóch typów polygon pour, co daje większą kontrolę nad tym, jak wyeksportowane wielokąty będą obsługiwane po stronie PCB.
Po włączeniu opcji Create Hatched Polygons, CAM Editor użyje jednego rozmiaru siatki i jednej szerokości ścieżki do wypełnienia wszystkich wielokątów w pliku. Jeśli dane CAM zawierają bardzo małe wielokąty, upewnij się, że opcje eksportu są skalibrowane do tego poziomu.
Okno dialogowe Polygon Options, dostępne po kliknięciu powiązanego przycisku Hatched Polygon Options, pozwala zmienić rozmiar siatki, szerokość ścieżki oraz minimalną długość prymitywu dla wielokątów. Jeśli chcesz, aby wielokąty były wypełnione całkowicie i z wysoką dokładnością, wartości te powinny mieścić się w wąskim zakresie wokół najmniejszych wymagań na płytce. W przeciwnym razie ryzykujesz puste przestrzenie wewnątrz wielokątów, wzory kreskowania zamiast pełnych wypełnień, a nawet pominięcie całych wielokątów podczas eksportu.
Okno dialogowe Polygon Options
Z drugiej strony wartości te będą stosowane do wszystkich eksportowanych wielokątów, więc bardzo małe wartości zwiększą „ciężar” pliku i związane z tym problemy zarządzania (np. szybkość odświeżania) dotyczące wyeksportowanego pliku. Z tego powodu najlepiej używać możliwie największych wartości, które nadal zapewnią wymaganą dokładność dla wszystkich wielokątów na płytce.
Po włączeniu opcji Create Solid Polygons każdy wielokąt zostanie wypełniony jednym lub większą liczbą pełnych obszarów miedzi. Liczba użytych obszarów miedzi zależy od liczby odrębnych obszarów utworzonych wewnątrz wielokąta przez istniejące obiekty sieci (net objects), takie jak ścieżki i pady.
Okno dialogowe Solid Polygon Options
Okno dialogowe Solid Polygon Options, dostępne po kliknięciu powiązanego przycisku Solid Polygon Options, pozwala określić, jak obsługiwane są wyspy miedzi (copper islands) i wąskie sieci miedzi (narrow copper nets), a także zachowanie wylewki podczas wylewania nad obiektami sieci należącymi do tej samej sieci co wylewka:
-
Pour Over All Same Net Objects - wybierz tę opcję, jeśli chcesz, aby polygon pour automatycznie łączył się ze wszystkimi obiektami w tej samej sieci co wylewka
-
Pour Over Same Net Polygons Only - wybierz tę opcję (domyślną), jeśli chcesz, aby polygon pour automatycznie łączył się tylko z obiektami polygon pour wewnątrz swojej granicy, które są przypisane do tej samej sieci
-
Don't Pour Over Same Net Objects - wybierz tę opcję, jeśli nie chcesz, aby polygon pour łączył się z jakimikolwiek innymi obiektami sieci. Jeśli zostanie wybrana jedna z dwóch pierwszych opcji i polygon pour zostanie przypisany do No Net, wylewka będzie omijać wszystkie obiekty niezależnie od ich przypisań sieci.
Eksport do PCB
Po wyekstrahowaniu netlisty z danych CAM polecenie File » Export » Export to PCB staje się aktywne. Wykonanie tego polecenia po przeprowadzeniu wszystkich niezbędnych kroków utworzy dokument PCB zawierający projekt płytki, który wygląda bardzo podobnie do oryginału.
Po uruchomieniu polecenia zostanie wygenerowany nowy dokument PCB (<CAMDocumentName>.PcbDoc) i otwarty jako aktywny dokument w przestrzeni projektowej. Rzeczywista sekwencja zdarzeń podczas transferu informacji między dokumentem CAM a dokumentem PCB jest następująca:
-
Dokument PCB jest tworzony z obrysem płytki na podstawie bieżącego rozmiaru płytki w dokumencie CAM.
-
W dokumencie PCB tworzone są obiekty sieci, z wykorzystaniem informacji o sieciach wyekstrahowanych z dokumentu CAM.
-
Generowany jest stack-up warstw na podstawie kolejności warstw fizycznych zdefiniowanej w dokumencie CAM (okno dialogowe Create/Update Layers Order, dostępne przez Tables » Layers Order).
-
Sieci są przypisywane do wszelkich wewnętrznych plane.
-
Sieci są przypisywane dla wszystkich istniejących split plane. Mogą to być
-
Tworzone są reguły projektowe Clearance, Width oraz Power Plane Connect Style. Dla każdej sieci plane tworzone są połączenia typu relief.
-
Na podstawie danych CAM budowane są padstacki (z użyciem padów na warstwach sygnałowych/plane w kolejności fizycznej, a następnie drill, mask, paste itd.). Padstacki są ładowane do PCB i definiowany jest wymagany styl (simple lub full padstack).
-
Tworzone są ścieżki PCB.
-
Wykonywana jest kontrola DRC dla całej płytki.



).