1. Wprowadzenie

Nie ważne jak potężne może być oprogramowanie do projektowania, gdyż wszystko sprowadza się do tego, iż na końcu trzeba będzie stworzyć plik dla fotoplotera w formacie Gerber by utworzyć klisze. Istniejącą przepaść pomiędzy projektem płytki a procesem jej fizycznej realizacji, można zmniejszyć poprzez lepsze zrozumienie tego, co jest zawarte w pliku dla fotoplotera i w jaki sposób przekłada się to na finalny produkt. Wszystko dlatego, że nieporozumienia pomiędzy projektantem PCB i operatorem fotoploera są w dużej mierze odpowiedzialne za duży procent złych klisz produkowanych w tej branży. A to kosztuje.

Dlatego też, przed opisem właściwego programu do przeglądania plików Gerber jakim w KiCad EDA Suite jest GerbView, powinniśmy się zapoznać z podstawowymi informacjami na temat działania fotoploterów i formatów plików jakie są przez nie akceptowane.

Osoby, które miały do czynienia z plikami Gerber i znają już te informacje mogą od razu przejść do rozdziału czwartego.

2. D-Kody, Apertury a pliki Gerber

Krótki opis działania fotoploterów

Przed rozpoczęciem zgłębiania szczegółów plików fotoplotera, krótka dyskusja o działaniu fotoploterów pozwoli by dalszy materiał był łatwiejszy do strawienia.

Wczesne fotoplotery składały się z precyzyjnej płyty napędzanej przez serwomechanizm pozycjonujący X-Y, do którego przytwierdzony jest kawałek wysoko-kontrastowej kliszy. Mocne źródło światła jest kierowane przez migawkę i przez otwory koła apertur, i skoncentrowane na kliszy. Kontroler przetwarza polecenia Gerber w odpowiednie ruchy płyty, obroty koła i otwarcia migawki.

Budowa pierwszych fotoploterów
Rys 1 - Schemat działania fotoplotera

Gdy migawka zostaje otwarta, światło pada przez aperturę, tworząc jej obraz na kliszy. Gdy płyta porusza się podczas otwarcia migawki, powstaje na kliszy linia lub pasek. Dostarczając odpowiednich poleceń dla mechanizmu przesuwu, mechanizmu apertur i migawki można utworzyć prawie dowolny obraz na kliszy.

Praca fotoplotera
Rys 2 - Praca plotera

Prostota, czyli tzw. "miecz obosieczny"

Całe piękno w bazie poleceń Gerber to ich prostota. Są tylko cztery główne polecenia i dane o położeniu. Baza poleceń musiała być prosta i zwarta, ponieważ pierwsze maszyny sterowane były kruchymi taśmami perforowanymi. Potrzeba kompresji jak największej ilości informacji w kilkunastu bajtach, wyjaśnia pochodzenie wielu "problemów", z którymi mamy do czynienia dzisiaj, gdy miejsce jest mierzone w gigabajtach a nie w setkach bajtów.
Prostota jednak ma również swoją cenę. W plikach Gerber brakuje istotnych informacji niezbędnych do uruchomienia plotera. Te brakujące dane przekazywane od projektanta do operatora plotera oddzielnie są często źródłem błędów. Ponadto nie sposób się oprzeć pokusie tworzenia niestandardowych rozszerzeń. Każdy producent fotoplotera obsługuje podstawowe komendy Gerber oraz bez względu na funkcjonalność czuje konieczność zróżnicowania swojej maszyny. Powoduje to, że funkcjonalność dla jednego człowieka staje się nierozwiązywalnym problemem dla innego człowieka.

Zawartość plików Gerber

Poniżej znajduje się przykładowa zawartość pliku Gerber, ilustrująca jego strukturę jak i zawartość związaną z jego formatem:

G90*                   1
G70*                   2
G54D10*                3
G01X0Y0D02*            4
X450Y330D01*           5
X455Y300D03*           6
G54D11*                7
Y250D03*               8
Y200D03*               9
Y150D03*               10
X0Y0D02*               11
M02*                   12

Numery linii nie są tutaj częścią pliku.
Badając ten plik bez żadnej wcześniejszej wiedzy na temat plików Gerber, można by już wywnioskować, że każdy wiersz przedstawia konkretne polecenie dla maszyny, i że gwiazdką (*) jest znak końca komendy. Wydaje się, że istnieją różnego rodzaju polecenia: instrukcje począwszy od G, D, M i x, y jako dane o współrzędnych.

G-Kody - Ustawianie warunków początkowych

Gerber nazywa komendy Gxx kodami przygotowawczymi. W wielu przypadkach kody te są używane do przygotowania maszyny do dalszego rysowania. Niektóre z G-Kodów są na tyle ważne, że wypada umieć je rozpoznawać:

G90/G91 - Koordynaty względne a absolutne

Komenda G90 w pierwszej linii mówi maszynie, że dane o koordynatach są bezwzględne. Każdy zestaw koordynatów jest odniesiony do punktu odniesienia (0,0) stołu. Odwrotnością koordynatów absolutnych są koordynaty przyrostowe (względne), które są mierzone względem poprzedniej koordynaty, i są one włączane poprzez użycie polecenia G91.
Możesz nigdy nie spotkać polecenia G90 w pliku Gerber, ponieważ wiele programów zakłada, że koordynaty absolutne są domyślnym ustawieniem i nie przejmują się zapisywaniem polecenia G90. Co gorsza, wiele z danych z koordynatami względnymi również nie zawraca sobie głowy używaniem polecenia G91. Jeśli zatem zobaczysz "chaotyczny" obrazek podobny do tego jak na rysunku 3 na swojej stacji CAM, znaczyć to będzie, że prawdopodobnie próbujesz wczytać plik zapisany z koordynatami względnymi.

Zła i dobra interpretacja kodów
Rys 3 - Lewy: Wyświetlany poprawnie. Prawy: Przeglądarka ustawiona na względny gdy dane są absolutne.

G70/G71 - Cale a milimetry

G70* (linia 2) oznacza, że następujące po niej dane są w jednostkach calowych. Jest to następny G-kod, który rzadko występuje w plikach Gerber. W Stanach Zjednoczonych domyślnie przyjmuje się, że pliki Gerber posiadają jednostki calowe, ale pliki generowane w innych częściach świata mogą być mieć jednostki calowe lub metryczne (w milimetrach). Polecenie G71 oznacza, że jednostki są zapisywane w milimetrach.

G54 - Wybór narzędzia

G54, wybór narzędzia, (linia 3) jest najczęściej spotykanym G-kodem i instruuje ploter by obrócił kołem apertur na pozycję opisaną przez Dxx, bezpośrednio po poleceniu G54. Jeśli nie znajdziesz polecenia G54 w danym pliku to nie panikuj. G54 jest opcjonalnym poleceniem dla wielu fotoploterów; niektóre programy nie używaj go i fotoploter rozpozna, że przez podanie samego Dxx (gdzie xx nie jest jedną z wartości: 01, 02, 03) powinien wybrać właściwe narzędzie.

D01, D02, D03 - Polecenia rysowania i błysków

D-kody to instrukcje dla fotoplotera, które naturalnie zawierają literkę "D". Pierwsze trzy D-kody kontrolują przesuw stołu.

D01 (D1): przesuń do określonej pozycji x-y z otwartą migawką.
D02 (D2): przesuń do określonej pozycji x-y z zamkniętą migawką.
D03 (D3): przesuń do określonej pozycji x-y z zamkniętą migawką; następnie otwórz i zamknij migawkę - polecenie znane jako "błysk".

D01 to polecenie, które "rysuje" linie. D02 to polecenie, przeznaczone do przemieszczania stołu bez naświetlania kliszy. D01 i D02 odpowiadają przesuwaniu papieru na ploterze z piórem opuszczonym i podniesionym.
D03 to polecenie "błyskowe". Stół jest przemieszczany z zamkniętą migawką. Gdy żądane współrzędne x-y zostaną osiągnięte, migawka otwiera się i zamyka pozostawiając obraz apertury na kliszy. Instrukcja "błyskowa" jest skutecznym sposobem na rysowanie wielu tysięcy pól lutowniczych, jakie występują w większości obwodów drukowanych.
Polecenia D01, D02 i D03 występują po danych o pozycji w układzie współrzędnych. Na przykład następująca sekwencja poleceń:

X0Y0D02*
X450Y330D01*
X455Y300D03*

Przesunie stół na pozycję 0,0 z zamkniętą migawką a następnie narysuje linię z punktu 0,0 do punktu 450,330. Błysk zostanie umieszczony na pozycji 455,300.

D10-D999 - Pozycjonowanie koła z aperturami

D-kody z wartościami z zakresu 10-999 w przeciwieństwie do kodów D01, D02 i D03 nie są poleceniami, ale zawierają dane. Reprezentują one apertury lub położenie koła apertur fotopoltera. Dawniej fotoplotery używały 24 pozycyjnego koła.
Każdy otwór jest wypełniony fragmentem kliszy. Koło jest obracane co powoduje, że w strumieniu światła zostaje umieszczona żądana apertura. Tabela 1 pokazuje zależność pomiędzy D-kodem a aperturami.

Tabela 1. D-kody a apertury

 D-kod   Pozycja   D-kod    Pozycja
         Apertury           Apertury
  10       1        20        13
  11       2        21        14
  12       3        22        15
  13       4        23        16
  14       5        24        17
  15       6        25        18
  16       7        26        19
  17       8        27        20
  18       9        28        21
  19       10       29        22
  70       11       72        23
  71       12       73        24

Widać, że dla kodów od D10 do D19 przyporządkowanie jest logiczne. Potem, zamiast odwzorować D20 na pozycji 11, wtrąciły się kody D70 i D71. Mapowanie jest kontynuowane, następnie znów wypaczone w dwóch miejscach w punkcie, w którym można by się spodziewać kodu D30. Zamiast niego wskoczyły D72 i D73. Większość fotoploterów i oprogramowania CAM poproszą cię o o podanie wartości apertury opisanych przez D-kody; kilka odniesień pozycji apertury.

Istnieją D-kody od 3 do 9, ale są one specjalnymi poleceniami dla rzadko spotykanych lub przestarzałych maszyn.

Różne M-Kody

Na końcu pliku widzimy komendę M02*. Gerber nazywa M-kody, jako kody różne. Jedynymi wspólnymi M-kodami jakie używane są na końcu pliku to: M00, M01 i M02, które są różnymi rodzajami polecenia "stop". Czasami widzi się kod M02 na początku pliku Gerber. Podobno niektóre z aplikacji wprowadzają go by mieć pewność, że wszystkie poprzednie uruchomione pliki zostały zatrzymane - jednak wiele z oprogramowań CAM widząc kod M02 na początku pliku, ignoruje wszystko co następuje po nim.

Dane o koordynatach X, Y

Dane o koordynatach zajmują większą część w pliku Gerber. Trudno jest ręcznie śledzić ruch płyty na podstawie wydruku, ponieważ w plikach Gerber wykorzystuje się kilka technik, by zminimalizować liczbę bajtów potrzebnych do reprezentowania danych. Należy do nich:

  • Pomijanie przecinków w danych x, y,
  • Pomijanie zer początkowych lub końcowych,
  • Wykorzystanie tylko informacji o zmianach w danych współrzędnych.

Pomijanie przecinków

Przecinek jest zbędny, jeśli z góry wiadomo, gdzie będzie się on znajdował. Ponowne wstawianie przecinka w odpowiednim miejscu należy do oprogramowanie sterującego fotoplotera. Jednym z najczęstszych błędów początkujących projektantów jest założenie, że osoba otrzymująca ich dane wie, jakiego formatu danych użyli. Rozważmy następujące polecenia Gerber:

X00560Y00320D02*
X00670Y00305D01*
X00700Y00305D01*

Płyta przesuwa się wzdłuż osi X od 00560 do 00670 podczas pierwszych dwóch poleceń. Ale co w sumie 00560 ma reprezentować? To może być 5,6 cala, 0,56 cala, 0,056 cala lub nawet (nie prawdopodobnie) 0,0056 cala. Nie sposób powiedzieć. Jeżeli projektant powiedział, że istnieją dwie liczby przed przecinkiem i 4 liczby po przecinku to wiadomo, że 00560 stanowi 0,56 cala.

Zasada numer 1. Jeśli wysyłasz plik Gerber, zawsze dostarczaj informację o formacie danych. Jeśli dostajesz plik Gerber, zawsze pytaj o informację o formacie danych.

Co, jeśli klient złamał zasadę numer 1 i przysyła plik Gerber bez informacji o formacie danych? Pracujesz na nocnej zmianie, jest godzina dwudziesta trzecia i trzeba wykreślić kliszę na 8 rano następnego dnia. Masz zgadywać? Istnieje pięć cyfr współrzędnych tak, że suma liczb całkowitych przed i po przecinku musi być równa 5. Najbardziej prawdopodobnym kandydatem jest format 2.3.
Dlaczego? Nie wiele płytek jest dziś dłuższych niż 99 cali i nie wiele płytek jest budowanych z dokładnością mniejszą niż 0,001 cala. Wyświetl płytkę na stacji CAM. Jeżeli całkowita wielkość wygląda dobrze (powiedzmy 8 cali) kontynuuj dalej. Jeśli na stole płytka wychodzi jako 80 cali lub 0,8 cala po długości, to prawdopodobnie musisz ją przeskalować przez 10 w jednym lub drugim kierunku.

Pomijanie zer początkowych i końcowych

Projektanci baz danych Gerber nie spoczęli na wyeliminowaniu przecinków. Musieli spojrzeć na i pomyśleć:
"Po co są te wszystkie dodatkowe zera z przodu? Załóżmy, że je odetniemy. Nadal można będzie dowiedzieć się koordynatach, jeśli policzysz miejsca po przecinku począwszy od prawej strony liczby."

Bez pomijania      Z pomijaniem

X00560Y00320D02*   X560Y230D2*
X00670Y00305D01*   X670Y305D1*
X00700Y00305D01*   X700Y305D1*

Bez pomijania zera używane jest 48 bajtów. Z pomijaniem tylko 33 bajty są wymagane do przedstawienia tej samej informacji. W czasie taśm perforowanych było to bardzo znaczne zmniejszenie ilości taśmy.
W zależności od danych może być jeszcze lepiej, nie pozostawiając tylko zer końcowych.

Bez pomijania      Z pomijaniem

X00560Y00320D02*   X0056Y0032D2* 
X00670Y00305D01*   X0067Y00305D1*
X00700Y00305D01*   X007Y00305D1* 

Aby poprawnie zinterpretować dane, trzeba policzyć liczby począwszy od lewej strony w celu zlokalizowania miejsca po przecinku. Mylące? Tak. Prowadzi to do powstania:

Zasada numer 2. Gdy wysyłasz plik Gerber, zawsze informuj o pomijaniu początkowych lub końcowych zer. Gdy dostajesz plik Gerber, zawsze pytaj o pomijanie początkowych i końcowych zer.

Okazuje się, że pomijanie zer początkowych jest bardziej spotykane.

Dane modalne o koordynatach

Po wyeliminowaniu przecinków dziesiętnych i wyeliminowaniu zbędnych zer można by pomyśleć, że projektanci baz danych mogli już osiąść na laurach. Wcale nie. Jeden z bystrych programistów zauważył, że te same koordynaty ciągle się pojawiają, gdy płyta porusza się wzdłuż osi X lub Y.
"Dlaczego nie pamiętać ostatnich wartości X i Y, a na wyjściu podawać je tylko wtedy, gdy zostaną one zmienione!"

Pełne koordynaty	Koordynaty modalne
X560Y230D2*	       X560Y230D2*
X670Y305D1*	       X670Y305D1*
X700Y305D1*	       X700D1*

Koncepcja, z zapamiętywaniem przez ploter ostatniej wartości współrzędnych nazywa się modalnością. Płyty komputerów PC często posiadają setki pól lutowniczych w rzędach wzdłuż jednej z osi X lub Y i odpowiednio posortowane pliki Gerber będą znacznie mniejsze, gdy zbędne współrzędne zostaną wyeliminowane. Jest to podstawą koncepcji, gdzie dane o koordynatach są zawsze modalne. Nie musisz informować swojego wytwórcy docelowego, że dane są modalne lub nie-modalne - każdy fotoploter i oprogramowanie CAM wspiera dane modalne. W powyższym przykładzie zaoszczędziliśmy 4 dodatkowe bajty używając zapisu za pomocą współrzędnych modalnych.

Komendy modalne

Modalność jest dobrym pomysłem dla danych i działa równie dobrze dla poleceń. Na przykład, jeśli masz ciąg poleceń rysujących dlaczego powtarzać polecenie D01 za każdym razem. Niech pozostanie aktywne do czasu wydania innego polecenia (D02 lub D03).

D1 nie modalne      D1 modalne

X560Y230D2*         X560Y230D2*
X670Y305D1*         X670Y305D1*
X700D1*             X700D1*
X730D1*             X730D1*
X760D1*             X760D1*
Y335D1*             Y335D1*

Wydaje się, że wszystkie polecenia Gerber powinny być modalne. Po wydaniu polecenia jest ono aktywne do czasu jego zastąpienia lub wyłączenia. Istnieje jednak kilka dziwnych wyjątków, które czasami powodują problemy. Najciekawsze jest polecenie "błyskowe" D03.

Niektóre marki fotoploterów nie traktują D03 jako polecenia modalne. Oznacza to, że spodziewają się D03 na końcu każdego polecenia typu "błyskowego". Mieliśmy do czynienia z tym na fotoploterach FIRE MDA 9000.
"Błyski", które były wyświetlane na naszej stacji CAM nie pojawiały się na kliszy. Problem można łatwo rozwiązać poprzez ponowne wygenerowanie danych Gerber przy wyraźnym użyciu D03 - Lavenir posiada narzędzie, które może wykonać i wiele programów CAM może być skonfigurowanych do naprawy poleceń D03 zarówno jako modalnych jak i nie modalnych.
Innym dziwnym wyjątkiem od normy jest zachowanie się w trybie modalnym poleceń G02/G03 - poleceń do rysowania zaokrągleń. Wiele fotoploterów powraca do G01 (tryb liniowy) po G02/G03 (tryb zaokrągleń).

Komendy dotyczące rysowania zaokrągleń: G02/G03 i G75

Fotoplotery mogą rysować łuki, gdy zostaną do tego poinstruowane. W przeszłości polecenia do rysowania zaokrągleń były rzadko stosowane do produkcji płytek drukowanych. Miękkie obwody drukowane (Flex tapes) używają zakrzywionych ścieżek w celu zmniejszenia stresu i zmniejszenia odbić w sygnałach logicznych wysokiej prędkości. Zatem wraca zainteresowanie odczytem i zapisem danych Gerber z wykorzystaniem łuków, i kilka zaskakujących niespodzianek wychodzi na wierzch.
Podstawowy format dla interpolacji kołowej to:

Gnn  Xnnnn Ynnnn  Innnn Jnnnn  Dnn*

Przykładowo: G02X40Y30150J0D01*

Gdzie G02 wskazuje ruch zgodny ze wskazówkami zegara, G03 wskazuje obrót w przeciwną stronę, a G75 włącza pełny okrąg 360 stopni. I, J to dodatkowe współrzędne lokalizujące centrum łuku. Polecenia G02 i G03 są rzadko traktowane jako modalne.
Zajęło by tu sporo miejsca właściwe opisanie różnych kombinacji, które mogą wystąpić. Polecenia do rysowania zaokrągleń mogą być ograniczone tylko do danych o kwadrancie na starszych komputerach lub opisywać łuki o pełnych 360 stopniach w przypadku nowszych maszyn. Znaczenie zmian w I, J zależy zatem od tego, czy dane o koordynatach są absolutne czy przyrostowe.

3. Format RS274X - Informacje podstawowe

Wprowadzenie

Jeśli jesteś projektantem PCB prawdopodobnie słyszałeś coś niecoś o rozszerzonym formacie Gerber - RS274X. Najnowsze wersje wielu programów do trasowania PCB oferują RS274X jako opcję lub generują pliki tylko w tym formacie - tak jak na przykład Allegro firmy Cadence.

Zalety RS274X

RS274X zawiera wiele poleceń wysokopoziomowych, które pozwalają twórcy danych Gerber określić fotoplot bardzo precyzyjnie - o wiele bardziej niż RS274D, co pociągnęło za sobą dostarczenie wielu istotnych informacji niezależnie od pliku danych.

Co to właściwie jest ten RS274X?

Jest to rozszerzenie standardu RS274D (powszechnie znanego jako Gerber), który zawiera:

  • wbudowane dane o formacie, jednostkach i danych informacyjnych
  • wbudowane dane apertur
  • definiowanie własnych apertur
  • polecenia kontrolujące klisze
  • możliwość wbudowania obrazu wielu warstw w jednym pliku
  • definicje specjalnych wielokątów

Ten rozdział zakłada, że czytelnik zna już podstawowe komendy Gerber - jeśli nie, powinien wpierw przeczytać rozdział D-Kody, Apertury a pliki Gerber, który podsumowuje podstawy plików Gerber.
Niektóre z informacji wspomniane tutaj są aktualnie dostępne - choć rzadko używane - w specyfikacji RS274D.

Gdzie zdobyć oficjalną specyfikację RS274X?

Specyfikacja RS274X została opracowana przez Gerber Systems.
Gerber został kupiony przez Barco, firmę pochodzącą z Belgii. Specyfikacja 427X jest obecnie dostępna pod adresem:
http://www.barco.com/ets/data/rs274xc.pdf

Informacje o formacie, osadzone w nagłówku 274X

RS274X zawiera polecenie, które osadza w pliku kluczowe informacje o formacie, pomijaniu zer i typu danych w jednej linii:
Format nagłówka pliku

gdzie:
L = zera prowadzące są pominięte,
T = zera końcowe są pominięte,
D = pełny zapis wartości z przecinkiem (inaczej: nie są pomijane zera),
A = koordynaty są podawane absolutnie,
I = koordynaty są podawane przyrostowo,
Nn = numer sekwencji, gdzie n to liczba cyfr (rzadko używane)
Gn = kod przygotowujący funkcji (rzadko używane)
Xa = format danych wejściowych (maksimum to 5.5)
Yb = format danych wejściowych (j.w.)
Zb = format danych wejściowych (Z jest rzadko spotykane)
Dn = kod projektu
Mn = kod różny

Przykłady

%FSLAX24Y24*% Format z pominięciem zer początkowych, koordynaty absolutne, w formacie = 2.4
%FSTIX44Y44*% Format z pominięciem zer końcowych, koordynaty przyrostowe, w formacie = 4.4

Jednostki osadzone

Pliki RS274X mogą używać koordynatur oraz jednostek apertur zarówno w calach jak i milimetrach. Odpowiednie polecenia to:

%MOIN*% oznacza cale
%MOMM*% oznacza milimetry

Polaryzacja obrazu

W starym formacie RS274D trzeba było zlecić operatorowi fotoplotera by ręcznie przełączył się na żądaną polaryzację kliszy. Jeżeli operator nie zwrócił uwagi lub nie był w stanie zgadnąć w jakiej polaryzacji były pliki to klisza wychodziła źle. Za pomocą poleceń RS274X na po początku pliku można odwrócić polaryzację kliszy.
Polaryzacja kliszy

%IPPOS*% pozytyw (lewy)
%IPNEG*% negatyw (prawy)

Nie należy mylić polaryzacji obrazu z poszczególnymi polaryzacjami warstw. Możliwe jest stworzenie bardzo złożonych rysunków, łącząc poszczególne ciemne i jasne rysunki, a następnie ustawić ogólną polaryzację kliszy. Będzie o tym mowa w jednym z ostatnich punktów.

Osadzone definicje apertur

Jedną z głównych wad starej specyfikacji RS274D było to, że definicja każdej apertury nie była częścią pliku danych; zamiast tego była przeniesiona ręcznie na papierze lub w postaci pliku tekstowego, tak jak widać to poniżej.

Definicje apertur

D-Kod      Kształt          Rozmiar X   Rozmiar Y

D10        okrąg            0.010
D11        kwadrat          0.030
D12        prostokąt        0.060       0.020
D13        poł. termiczne   0.050
D14        kszt. podłużny   0.060       0.025

Niektóre apertury są oczywiste - okrągłe, kwadratowe i prostokątne. Jednak zarówno podłużne i połączenia termiczne podlegają interpretacji operatora fotoplotera, jak pokazano poniżej.

Różne wersje łącza
Podstawowe łącze Łącze obrócone Łącze prostokątne

W RS274D, budowanie właściwego kształtu łącza termicznego było zadaniem operatora fotoplotera; był to znaczny wysiłek i koszty związane z tworzeniem niestandardowych otworów i biblioteki musiały być przez zamawiającego dodatkowo poniesione.
W RS274X nawet złożone otwory są opisane za pomocą makr, które fotoplotery (i miejmy nadzieję oprogramowanie CAM) syntetyzuje w locie.

Podstawowe definicje apertur

RS274x zawiera kilka "standardowych" apertur ponieważ reprezentują one więcej niż 90% pospolicie używanych kształtów "błyskowych":

  • okrąg,
  • prostokąt,
  • obround,
  • polygon.

Przy tych zakłada się, że będą na środku i mogą być zdefiniowane z otworem okrągłym lub prostokątnym w razie potrzeby.

Standardowe okręgi

%ADD{code}C,{$1}X{$2}X{$3}*%

gdzie:

AD
Parametr opisujący aperturę
D{code}
D-kod do którego ta apertura zostanie przypisana (10-999)
C
Informuje w przypadku RS274X, że jest to makro okręgu
$1
Wartość (cale lub milimetry) określająca zewnętrzną średnicę
$2
Opcjonalny, jeśli występuje określa średnicę otworu
$3
Opcjonalny, jeśli występuje $2 oraz $3 reprezentują rozmiar otworu prostokątnego

Przykłady okręgów

Różne definicje apertur

%ADD21C,.100*%                        (A) okrąg o rozmiarze 0.10 na D21

%ADD22C,.100X.050*%                   (B) okrąg o rozmiarze 0.10 z otworem
                                          0.05 na D22.

%ADD23C,.100X.050X.050*%              (C) okrąg o rozmiarze 0.10 z otworem
                                          kwadratowym 0.05 na D23.

%ADD24C,.100X.050X.025*%              (D) okrąg o rozmiarze 0.10 z otworem
                                          prostokątnym 0.05 x 0.025 na D24.

Standardowe prostokąty

%ADD{code}R,{$1}X{$2}X{$3}X{$4}*%

gdzie:

AD
Parametr opisujący aperturę
D{code}
D-kod do którego ta apertura zostanie przypisana (10-999)
R
Informuje w przypadku RS274X, że jest to makro prostokąta
$1
Wartość (cale lub milimetry) długości X prostokąta
$2
Wartość (cale lub milimetry) wysokości Y prostokąta
$3
Opcjonalny, jeśli występuje określa średnicę otworu
$4
Opcjonalny, jeśli występuje $2 oraz $3 reprezentują rozmiar otworu prostokątnego

Aby poznać detale poleceń związanych z rysowaniem obround-ów i polygon-ów (które rzadko są używane) zajrzyj do Gerber Format Guide, Doc 0000-000-RM-00.

Makra apertur

Bardziej ogólne makra apertur mogą być traktowane jako pewien rodzaj języka programowania, w którym buduje się skomplikowaną definicję przysłony z serii prostszych elementów składowych - prymitywów. Chociaż jest to bardzo potężne narzędzie w RS274X, używanie go ma swoje wady.
Pamiętaj, że RS274X jest zasadniczo standardem Gerber Scientific - fotoplotery innych producentów mogą nie interpretować standardu RS274X w całości - nawet jeśli realizują podzbiór prostszych poleceń RS274X, które są obsługiwane; to złożone polecenia, takie jak makra apertur mogą nie przekładać się prawidłowo lub w ogóle na kliszy. Dlatego też, większość programów do tworzenia PCB nie wykorzystuje złożonych makr apertur.

Jednak makra są niemal wymagane przy określaniu łącz termicznych - i ponieważ łącza termiczne są bardzo ważnym elementem w budowaniu płaszczyzn zasilania i masy, przedstawię szczegółowy przykład makr używanych przy tworzeniu takiego łącza.

Podstawowe elementy makr

Pamiętacie, że mówiłem, iż makro jest jak język programowania - skomplikowana apertura jest budowana z jednej lub większej ilości prostych postaci zwanych prymitywami. Dostępne prymitywy obejmują:

Nazwa              Numer         Opis oraz liczba parametrów

Circle             (1)           okrąg

Line Vector        (2 lub 20)    prostokąt zdefiniowany przez punkty
                                 przekątnej oraz obrót. kwadratowe narożniki.

Line Center        (21)          prostokąt - zdefiniowany za pomocą punktu
                                 centralnego, długości i szerokości, oraz
                                 kąta obrotu. kwadratowe narożniki.

Line-Lower Left    (22)          prostokąt - zdefiniowany za pomocą lewego
                                 narożnika, długości i szerokości, oraz kąta
                                 obrotu. kwadratowe narożniki.

Outline            (4)           krawędź definiowana przez parę współrzędnych
                                 maksimum wierzchołków = 50.

Polygon            (5)           linia łamana z 3-10 krawędziami. 
                                 zdefiniowana przez punkt centralny,
                                 zewnętrzną średnicę oraz kąt obrotu.

Moire              (6)           punkt pozycjonujący, zdefiniowany przez punkt
                                 centralny, liczbę okręgów, grubość okręgów,
                                 długość krzyża, grubość oraz kąt obrotu.

Thermal            (7)           łącze termiczne zdefiniowane przez 
                                 zewnętrzną średnicę, wewnętrzną średnicę,
                                 grubość krzyża i kąt obrotu.

Przykładowe makro z wykorzystaniem apertur - Łącze termiczne

Łącze termiczne jest tak ważne, że ma swój własny prymityw - nawet gdyby miało być zbudowane z innych prymitywów.
Tworzenie apertur z prymitywów

%AMTHERM100*7,0,0,0.100,0.050,0.025,0.0*%

%ADD32THERM100*%
        przypisz nazwę THERM100 do D-kodu 32

gdzie:

AM
Makro apertur
THERM100
Nazwa makra
*
Zakończenie nazwy makra
7
Prymityw 7, którym jest łącze termiczne
0
Pierwsze dwa parametry: punkt centralny x, y
0.100
Trzeci parametr: zewnętrzna średnica (wypełnione koło A powyżej)
0.050
Czwarty parametr: wewnętrzna średnica (puste koło B powyżej)
0.025
Piąty parametr: szerokość krzyża (puste pola C powyżej)
0.0
Szósty parametr: kąt obrotu krzyża (tu nie używane)

Warstwy wielokrotne

Było całkiem dobrą praktyką w branży PCB budowanie fotomasek z wielu plików Gerber. Jednak instrukcje dla operatora fotoplotera zawsze zawsze były robione ręcznie - zostawiając miejsce na błędy i braki. Oto jak były one wykorzystywane:

Instrukcja rysowania dla XYZ

Klisza1: Góra
targets.gbr                 pozytyw
comp.gbr                    pozytyw
padmaster.gbr               pozytyw

Klisza2: Dół
targets.gbr                 pozytyw
sold.gbr                    pozytyw
padmaster.gbr               pozytyw

Klisza3: VCC
vcc1.gbr                    negatyw
clearance.gbr               negatyw
traces.gbr                  pozytyw

RS274X zawiera dwa specjalne polecenia: %LPD*% oraz %LPC*%, które organizują dane w pliku poprzez warstwy. Za pomocą kilku rozsądnie ułożonych poleceń LPD/LPC w połączeniu z poleceniem IP (polaryzacja obrazu), można budować złożone płaszczyzny szybko i łatwo. W poniższym przykładzie pokażemy jak LPD/LPC może być wykorzystane do łatwego położenia ścieżki na płaszczyźnie zasilania.

Główną trudność z postawieniem ścieżki na płaszczyźnie zasilania stanowi usuwanie miedzi wokół ścieżki i podłączonych do niej punktów lutowniczych. Przy standardowym oprogramowaniu do tworzenia plików Gerber, często musieliśmy wypełnić za pomocą małych ścieżek całą powierzchnię miedzi z wyjątkiem pola określającego prześwit. Generowało to bardzo duże i nieporęczne pliki Gerber.
Podczas tworzenia tego samego pliku Gerber w formacie RS274X możemy użyć LPC (jasne warstwy) by narysować ścieżkę.

G04 Parametry obrazu ***
%MOIN*%
%FSLAX24Y24*%
%IPNEG*%            to spowoduje, że polaryzacja całej kliszy będzie
                    negatywowa, eliminując tym samym stosowanie wielu
                    ścieżek by wypełnić płaszczyznę zasilania.

%ADD10C,,,*%        tutaj definiujemy parę zaokrąglonych apertur oraz  
%ADD11C...*%        łącze termiczne
%ADD12C...*%
%AMTHERMAL*...*%    
%ADD13THERMAL*%
G04*
%LNINTERNAL_VCC*%   to jest nasza podstawowa płaszczyzna zawierająca
                    punkty prześwitu, łącza termiczne, zewnętrzną ścieżkę
                    definiującą krawędzie płytki, oraz obszar dla wewnętrznej
                    ścieżki.

%LPD*%              oznacza, że dane są ciemne. jednak cała klisza będzie
                    negatywowa, zatem dane zamienią się w jasne pola.
G54D10*
data
data
data

G04 NEW LAYER ***
%LNTRACE_VCC*%      to zdefiniuje ścieżkę i dwa punkty lutownicze A,B

%LPC*%              oznacza, że dane tutaj są jasne lub będą odwrócone.
                    jednak cała klisza będzie negatywowa, zatem całość 
                    danych zamieni się w ciemne pola.
G54D12*
data
data
data
M02*                koniec zadania

Następująca seria zdjęć poniżej pokazuje, jak łatwo można było narysować płaszczyznę ground plane, ze ścieżką wewnątrz, która zostanie tam umieszczona i odwrócona, a następnie cały obraz zostanie ponownie odwrócony.

Warstwa INTERNAL_VCC
Dane INTERNAL_VCC. Należy zwrócić uwagę na duże pola A, B oraz szeroką ścieżkę będącą obrazem prześwitu.

Warstwa TRACE_VCC
Wewnętrzne dane TRACE_VCC. Ponieważ warstwa jest zdefiniowana jako LPC będzie ona odjęta od danych warstwy INTERNAL_VCC.

Połączenie warstw
Ciemna warstwa VCC została połączona z jasną warstwą TRACE przed zamianą polaryzacji.

Połączone warstwy z negacją
Ciemna warstwa VCC została połączona z jasną warstwą TRACE po zamianie polaryzacji.

G36/G37 Rysowanie wielokątów

Polecenia wielokątów G36/G37 wyprzedzają specyfikację RS274X, i tylko nowsze fotoplotery Gerber je wspierają. Jednak są to bardzo potężne polecenia i zapewne zobaczymy je częściej wykorzystane w przyszłości do opisywania złożonych danych często spotykanych w układach scalonych (IC), układów radiowych (RF) i mikrofalowych, oraz urządzeń analogowych.
Kiedy fotoploter widzi polecenie G36* natychmiast zmienia tryb - od teraz ignoruje wszelkie ustawienia przysłony i traktuje każde polecenie rysowania jako krawędź wielokąta, który należy wypełnić. Aplikacja tworząca pliki Gerber powinna tworzyć proste i jasne wielokąty.
Sposoby wypełniania polygonów

Przykładowe użycie G36/G37

G04 G36/G37 Przykład Polygonu ***
%MOIN*%
%FSLAX24Y24*%
%IPPOS*%            

%ADD10C,,,*%        tutaj definiujemy parę apertur
%ADD11C...*%
%ADD12C...*%
G04*
%LPD*%
G54D10*             wybór D10
G01*
G36*                przełączenie do trybu polygon. Rozmiar i kształt D10 nie
                   ma już znaczenia.
X123Y123D02*       przesunięcie do pozycji początkowej pisakiem w górze
X234D01*           rysowanie linii (krawędź)
Y456D01*           rysowanie linii (krawędź)
X234D01*           rysowanie linii (krawędź)
Y123D01*           rysowanie linii (krawędź) z powrotem do początku
G37*               koniec trybu polygon.

4. GerbView - Obsługa programu

Wprowadzenie do GerbView

GerbView to przeglądarka plików Gerber (w formacie RS274X), która umożliwia również przeglądanie plików wierceń generowanych przez Pcbnew (w formacie Excellon). Potrafi ona wyświetlić do 32 plików (odrębnych warstw) pochodzących z plików Gerber i/lub plików wierceń.
Pliki mogą być wyświetlane w trybie transparentnym jak i trybie nakładkowym, w formie stosu.

Główne okno programu

Główne okno programu

Górny pasek narzędzi

Górny pasek narzędzi

Ikona Wyczyść warstwy Czyści zawartość wszystkich warstw
Ikona Załaduj pliki Gerber Ładuje pliki Gerber
Ikona Załaduj pliki Excellon Ładuje pliki wierceń (format Excellon z Pcbnew)
Ikona Ustawienia strony Ustawia rozmiar strony dla polecenia wydruku oraz pokazuje/ukrywa ograniczenia strony
Ikona Drukuj Otwiera okno dialogowe wydruku
Ikony Powiększ/Pomniejsz Powiększenie lub pomniejszenie widoku
Ikona Odśwież widok Odświeża zawartość pola roboczego
Ikona Dopasuj widok Dostosowuje powiększenie do zawartości pola roboczego
Wybór warstwy z listy Wybór warstwy
Wybór narzędzia z listy Wybór D-kodu (Wyróżnia elementy używające tego D-kodu)
Informacje o formacie Informacje na temat pliku Gerber załadowanego do bieżącej warstwy

Boczne paski narzędzi

Lewy pasek narzędzi - Opcje

Lewy pasek narzędzi Ikona Włącz siatkę Włącza lub wyłącza wyświetlanie siatki
Ikona Przełącz współrzędne Włącza lub wyłącza wyświetlanie współrzędnych polarnych
Ikony Przełącz jednostki Wybór wyświetlanych jednostek miary
Ikona Zmiana kursora Wybór kształtu kursora
Ikona Przełącz tryb wyświetlania błysków Wybór trybu wyświetlania (pełny lub zarys) dla elementów błyskowych (jak np. pady)
Ikona Przełącz tryb wyświetlania ścieżek Wybór trybu wyświetlania (pełny lub zarys) dla linii
Ikona Przełącz tryb wyświetlania wypełnień Wybór trybu wyświetlania (pełny lub zarys) dla wypełnień
Ikona Przełącz tryb wyświetlania elementów negatywowych Pokazuje / ukrywa elementy błyskowe rysowane w negatywie, tzw. duszki
Ikona Przełącz tryb wyświetlania D-Kodów Pokazuje / ukrywa wartości D-kodów (dla elementów używających D-kodów)
Ikony Przełączanie ogólnego trybu wyświetlania Tryby pracy wyświetlania warstw
Ikona Ukrycie panelu warstw Pokazuje / Ukrywa panel z wyborem warstw

Panel zarządzania warstwami

Panel wyboru warstw Panel zarządzania warstwami służy do dwóch celów:
  • Wybiera aktywną warstwę
  • Pokazuje/ukrywa warstwy

Aktywna warstwa jest rysowana na końcu.
Gdy ładowany jest nowy plik, używana jest aktywna warstwa (nowe dane zastępują poprzednie dane).

Uwaga:
  • Kliknięcie lewym klawiszem myszy na nazwie warstwy: wybiera aktywną warstwę.
  • Kliknięcie prawym klawiszem myszy w panelu zarządzania warstwami: pokazuje lub ukrywa wszystkie warstwy.
  • Kliknięcie środkowym klawiszem myszy w ikonkę z kolorem: zmienia kolor wybranej warstwy.

Tryby wyświetlania warstw

Ikona Włącz tryb prosty Tryb "prosty".
Każdy plik Gerber i każdy element w pliku jest rysowany w porządku ustalonym w czasie ładowania.
Aktywna warstwa jest jednak rysowana na koniec.
Gdy w plikach Gerber będą elementy negatywowe (rysowane na czarno) będą widoczne artefakty na obecnie rysowanych warstwach.
Tryb prosty
Ikona Włącz tryb nakładkowy Tryb "nakładkowy".
Każdy plik Gerber i każdy element w pliku jest rysowany w porządku ustalonym w czasie ładowania.
Aktywna warstwa jest jednak rysowana na koniec.
Gdy w plikach Gerber będą elementy negatywowe (rysowane na czarno) nie będzie widać artefaktów na obecnie rysowanych warstwach, ponieważ tryb ten rysuje każdy z plików w lokalnym buforze przed pokazaniem warstwy na ekranie. Elementy negatywne nie tworzą artefaktów.
Tryb nakładkowy
Ikona Włącz tryb przeźroczysty Tryb transparentny. Tryb transparentny

Wyświetlanie wybranej warstwy

Efekt ten jest widoczny tylko w trybach "prostym" lub "nakładkowym".

Najpierw rysowana warstwa 2 Warstwa 1 (zielona) jest rysowana po warstwie 2 (niebieska).
Najpierw rysowana warstwa 1 Warstwa 2 (niebieska) jest rysowana po warstwie 1 (zielona).

Drukowanie warstw

By wydrukować warstwy, należy użyć narzędzia Drukuj dostępnego pod ikoną Ikona Drukuj, lub odpowiadającej mu opcji z menu Plik.

Ostrzeżenia

  1. Należy upewnić się, czy elementy znajdują się w obszarze wydruku (wybieranym za pomocą narzędzia Ustawienia strony dostępnego spod ikony Ikona Ustawienia strony).
  2. Nie należy zapominać, że fotoplotery używają zwykle dużego pola roboczego, znacznie przekraczającego rozmiar strony używany w drukarkach.
  3. Często zajdzie potrzeba przesunięcia (za pomocą poleceń blokowych) całości warstw.

Przesuwanie bloków

Można przesuwać elementy poprzez operacje przeciągania (z wciśniętym lewym klawiszem myszy) i przesuwać wybrane obszary na ekranie. Kliknięcie lewego klawisza myszy służy do umieszczania przesuwanego obszaru, który obecnie jest zaznaczony.

Polecenia menu

Menu Plik

Menu Plik pozwala na wykonanie podstawowych czynności związanych z ładowaniem plików, czyszczenia obszaru roboczego i wydruków.
Menu Plik

W menu tym występuje specjalne polecenie Eksportuj do Pcbnew, które pozwala by dane warstw stały się źródłem danych dla pliku z projektem obwodu drukowanego.

Eksport do Pcbnew

GerbView posiada limitowaną możliwość eksportu plików Gerber do Pcbnew. Końcowy rezultat bardzo zależy od tego, jakie cechy formatu RS274X zostały użyte w plikach Gerber.
Format RS274X posiada cechy zorientowane na raster, które nie mogą być skonwertowane (głównie wszystkie cechy związane z obiektami w negatywie).
Oprócz tego standardowo:

  • Elementy tworzone przez polecenia błyskowe, są konwertowane na przelotki.
  • Linie są konwertowane na segmenty ścieżek (lub na linie graficzne w przypadku warstw nie będących warstwami sygnałowymi).

Wobec czego, użyteczność skonwertowanego pliku silnie zależy od sposobu w jakim pliki Gerber zostały wygenerowane przez dane narzędzie PCB.

Menu Ustawienia

Menu Ustawienia
Menu to pozwala na dostęp do niektórych opcji związanych z wyświetlaniem oraz pozwala na edycję skrótów klawiszowych.

Menu Różne

Menu Różne

Polecenia są następujące:

  • Lista D-Kodów pokazuje D-kody jakie zostały użyte oraz ich parametry.
  • Pokaż źródło pokazuje zawartość pliku Gerber z aktywnej warstwy w edytorze tekstu.
  • Wyczyść warstwę kasuje zawartość aktywnej warstwy.
  • Edytor tekstu wybiera domyślny edytor tekstowy jaki będzie używany przy podglądaniu zawartości plików.