Přestože jsou Gerber data téměř automaticky výstupem každého návrhu desek plošných spojů, je jejich význam i struktura pro většinu návrhářů zahalena tajemstvím, protože nesouvisí přímo s vlastním návrhem desky, ale s její výrobou. Tato neznalost může však někdy způsobit nemilé překvapení v podobě špatně nebo nevhodně vygenerovaných výstupních podkladů. Jakkoliv je Gerber formát dat zastaralý a již mnohokrát prohlášený za překonaný, je stále nejrozšířenějším zdrojem dat pro výrobu desek. A proto se jistě vyplatí seznámit se se základní strukturou tohoto formátu, který je sice ve své podstatě poměrně jednoduchý, ale pro neznalého uživatele nepřehledný.
Gerber soubor je jeden z formátů dat určený pro práci fotoplotru, kdy vznikají filmy potřebné pro výrobu desek plošných spojů. Tak jako je potřeba několika samostatných filmů pro výrobu desky (jednotlivé elektrické vrstvy desky, nepájivá maska, potisk atd.), tak je také potřeba pro každý film zvláštní Gerber soubor. Výstupem návrhu desky je tedy několik Gerber souborů pro každou elektrickou vrstvu desky či jiný účel.
Gerber soubor nepopisuje grafiku spojů, pájecích plošek, měděných ploch nebo nepájivé masky jako obrázek, ale jako instrukce fotoplotru, jak daný motiv vykreslit na film. Umí ho generovat všechny návrhové systémy a stejně tak je dokážou načíst všechny fotoplotry (pokud nepreferují výhradně jiný formát, jako je např. ODB++).
Původ Gerber souboru sahá do 60. let minulého století, a tomu také odpovídá jeho struktura dat, odpovídající tehdejšímu hardwaru a možnostem, jak jej ovládat. Jméno tohoto souboru je spjato s Josephem Gerberem – jeho tvůrcem a také zakladatelem firmy Gerber Scientific, která začala vyrábět první fotoplotry. Protože se tento formát dat koncem minulého století velmi rozšířil, stal se uznávaným standardem aliance EIA (Electronic Industries Alliance), a to pod názvem RS-274-D. Jeho pozdější vylepšená varianta se dnes používá pod oficiálním označením RS-274-X. Formát dat Gerber nyní spravuje belgická společnost UCAMCO [1], nástupce firmy BARCO, která před lety firmu Gerber Scientific koupila a která také vyráběla fotoplotry.
Navzdory oficiálnímu označení RS--274-D a RS-274-X je nepsaným zvykem návrhářů i výrobců po celém světě i nadále nazývat tento soubor dat jeho původním jménem – Gerber. Mezi oběma variantami tohoto formátu dat však existují určité rozdíly.
Původní Gerber soubor (RS-274-D) nebyl sestaven jako zdroj dat popisující grafiku desky, ale jako jednoduchý NC formát dat pro řízení stroje pomocí jednoduchých příkazů a souřadnic. Nebyl určený pro automatizované zpracování dat, protože ke svému použití potřeboval celou řadu pomocných informací, které nebyly přímo součástí Gerber souboru, ale byly dodávány odděleně, mnohdy jenom v ručně psané podobě (tabulka clonek, nastavení desetinné tečky, info o potlačení nul v souřadnicích atd.). Měl rovněž poměrně omezené možnosti použití, kdy např. počet různých tvarů a rozměrů plošek na filmu byl limitovaný na 24 v jednom karuselu nebo kdy se vyplněné měděné plochy vykreslovaly tenkými čarami těsně vedle sebe atd. Z pohledu tehdejší techniky to bylo však docela vyhovující řešení, protože fotoplotry byly vektorové a na dnešní dobu pomalé. Ze začátku byly řízeny prostřednictvím děrné pásky s omezenou kapacitou objemu přenášených dat. Avšak tehdejší desky plošných spojů byly v porovnání s dnešními velmi jednoduché, protože mívaly jenom několik tvarů a rozměrů pájecích plošek a plošných spojů.
S nástupem SMT součástek se spoustou různých tvarů a velikostí pájecích plošek se objevily i rastrové fotoplotry, které omezení vektorových plotrů již neměly, a navíc umožňovaly plnou automatizaci plotovacího procesu. Proto byl původní formát modifikován, jednak aby zahrnoval všechny potřebné údaje, ale také aby umožnil používání clonek s jakýmikoliv tvary, stejně jako vyplňování polygonů místo jejich vykreslování čarami, definování pozitivních i negativních objektů atd. Tento novější formát RS-274-X je v současnosti používán místo původního RS-274-D, i když většina návrhových programů stále ještě dokáže generovat i starý formát. Správce Gerber souboru, firma UCAMCO, přišla před dvěma lety s aktualizovaným popisem RS-274-X a s důrazným doporučením upustit od používání původního RS--274-D s cílem omezit možné problémy způsobené lidským faktorem [1].
K správnému porozumění formátu Gerber je potřeba se vrátit zpět do doby, kdy byl vytvořen a používán pro řízení vektorových fotoplotrů. Film se osvětloval světlem, které procházelo jedním z několika otvorů – clonek (aperture) v otočném karuselu (aperture wheel) přes štěrbinovou závěrku (shutter) – viz obr. 1.
Obr. 1 Princip vektorového fotoplotru
Clonka měla tvar a velikost vykreslovaného objektu na filmu, takže byly např. kulaté (pro kulaté plošky a pro kreslení čar určité velikosti), čtvercové (pro čtverhranné plošky) atd. Otočný karusel s clonkami, se zdrojem světla (žárovka) a závěrkou tvořil jeden kompaktní celek, který se pohyboval nad filmem v jednom směru, zatímco film sám se pohyboval v druhém kolmém směru (byly ale známé i jiné konstrukce). Protože počet clonek v otočném karuselu byl omezený (většinou na 24), bylo možné clonky vyměňovat nebo používat postupně několik karuselů s předem připravenými clonkami.
Vykreslení plošky (např. pájecí plošky nebo via otvoru) určitého tvaru a rozměru probíhalo potom takto:
Pokud se měla kreslit na film čára určité tloušťky (plošný spoj), proběhla celá operace obdobně:
Z výše uvedeného popisu vyplývá, že ovládání fotoplotru spočívalo v:
Těchto několik základních instrukcí (celkem 4) rozšířených o souřadnice se stalo základem formátu dat Gerber. Jednoduchost zápisu dat v dobách, kdy první fotoplotry byly řízeny děrnou páskou a kdy bylo potřeba všechna data zapsat co nejjednodušeji, byla nutností. Tato jednoduchost zápisu s sebou však nesla nejednoznačnost dat a riziko vzniku možných problémů. To pak bylo odstraněno v pozdější verzi RS-274-X.
Podívejme se na příklad jednoduchého zápisu Gerber dat, který již byl vygenerován ve formátu RS-274-X. Pro jednoduchost byly z Gerber souboru odstraněny některé řádky, protože skutečný soubor by byl podstatně delší.
Horní část textu, oddělena od spodní dlouhým tečkovaným přerušením, uvádí nastavení fotoplotru. To jsou právě ty informace, které v původní verzi Gerber dat (RS-274-D) nebyly a které se musely dodávat odděleně. I když je tato část první, vrátíme se k jejímu vysvětlení později z důvodu, který bude již za chvíli zřejmý.
Pod ní je část instrukcí pro fotoplotr. Z uvedeného textu této části vytušíme, že je zde několik instrukcí pro fotoplotr, které začínají různými písmeny (G, D, M), a souřadnice XY. Můžeme se také dovtípit, že hvězdička (*) znamená konec řádku. Zbývá tedy vysvětlit, co znamenají příkazy G, D a M a jak rozumět zápisu souřadnic.
Toto je nejčastěji používaný G příkaz v Gerber datech, protože vydává fotoplotru pokyn, že má natočit karusel (aperture wheel) tak, aby potřebná clonka byla pod zdrojem světla připravená pro kreslení. O tom, kterou clonku má z karuselu použít, informuje následující příkaz Dxx (v rozsahu D10–D999), např.:
I když je kód D známý spíše pro označení pozice clonky v karuselu (D10–D999), D kódy D1 až D9 jsou vyhrazeny k jiným účelům.
D01 dává fotoplotru pokyn přesunout se do polohy XY s otevřenou uzávěrkou (světlo svítí na film). To se používá při kreslení čar při přesunu z počátečního do koncového bodu.
D02 dává fotoplotru pokyn přesunout se do polohy XY se zavřenou štěrbinou (světlo neprochází). To se používá při kreslení čar, kdy se najíždí do výchozí polohy (počátečního bodu čáry).
D03 dává fotoplotru pokyn přesunout se do polohy XY se zavřenou štěrbinou, na okamžik štěrbinu otevřít a potom ji opět zavřít. To se používá při kreslení plošek bliknutím světla (flash) přes danou clonku. Takto lze v okamžiku vytvořit na filmu malé plošky, jako jsou pájecí plošky různých tvarů a rozměrů, bez nutnosti jejich vykreslení pomocí tenkých čar.
D01, D02 a D03 jsou v zápisu uvedeny těsně po XY souřadnicích, např.:
Tyto D kódy označují pozici clonky daného rozměru a tvaru v karuselu, kde jich bývalo např. až 24. Tento D kód vlastně nic neříká o tvaru a velikosti otvoru clonky (aperture). Pod označením např. D11 mohla být jakákoliv clonka, ale D11 byla vždy v tom samém místě karuselu. O tom, jaká clonka to vlastně pod daným D kódem je, informovala až tabulka clonek (aperture table), která se u původního formátu Gerber (RS-274-D) dodávala odděleně, zatímco v nyní používaném formátu RS-274-X je automaticky zahrnuta na začátku Gerber dat formou:
Hodnoty rozměrů v tomto případě vznikly přepočtem z původních palcových jednotek. Tabulka clonek obsahuje jednak označení clonky (zde 10, 11, 12), a pak také informaci o jejím tvaru a rozměru. K tomu slouží zkratky, jako jsou R = obdélník (Rectangle), C = = kružnice (Circle), za kterými následuje rozměr. Tak např. uvedený záznam R,1.524X1.524 znamená obdélník o rozměrech 1.524 a 1.524. U kružnice se udává průměr (C,0.3048 je kružnice s průměrem 0.3048). Existují i jiné tvary plošek a jejich zkratky, např. pro oktagon.
M kódy jsou nazývány jako různé kódy (miscellaneous codes). M02 označuje konec souboru.
Souřadnice zabírají v Gerber souboru největší část. Není proto divu, že v době, kdy se pracovalo s velmi krátkými zápisy dat, přišly k dobru různé úsporné metody zápisu. Ty sice přispěly k omezení velikosti sdělovaných dat, ale současně způsobovaly nemilé překvapení lidem neznalým těchto principů. Podívejme se tedy na ně blíže.
Potlačení desetinných míst (Number of Leading and Trailing Digits) v souřadnicích vychází z poznatku, že desetinná tečka je zbytečná, když se ví dopředu, kde bude. Potom si ji musí ovládací software fotoplotru dodatečně vložit do správného místa. Nemusí se tedy přenášet přímo v souřadnicích, ale její poloha se nějak musí sdělit, ať už mimo Gerber soubor, nebo uvnitř (v novějším RS-274-X formátu). Poloha desetinné tečky se definuje počtem čísel před a počtem čísel za desetinnou tečkou. Tak např. 2 číslice před a 3 za desetinnou tečkou znamenají, že zápis souřadnice 12345 je ve skutečnosti 12.345. Ve formátu RS-274-X je možné zadat tyto poměry jak pro osu X, tak i pro osu Y, jak je vidět z uvedeného zápisu (číslice 23):
U souřadnic je známo, že mohou být absolutní (absolute) nebo relativní, tedy přírůstkové (incremental). Dříve se tato informace musela sdělovat společně s Gerber daty, nyní v RS-274-X je zahrnuta přímo v Gerber souboru. Kde jinde než současně s informací o poloze desetinné tečky. Takže zatímco horní zápis znamená, že se jedná o absolutní souřadnice (písmeno A), přírůstkové souřadnice se označují písmenem I (Incremental):
Potlačení nul na začátku a na konci (zero suppress) souřadnic je dalším způsobem zmenšení objemu sdělovaných dat u čísel. Ty tam skutečně nemusí být, pokud víme, kde je desetinná tečka. Prakticky se to provádí takto:
Pokud se potlačí (neuvedou) nuly na začátku (např. u souřadnice 0034550), musí se ve výsledném zapsaném výrazu 34550 zjišťovat poloha desetinné tečky od konce (zprava). Při zápisu desetinné tečky 2,3 je výsledek 34,550.
Pokud se potlačí nuly na konci souřadnice (0034550), musí se v zapsaném výrazu 00345 zjišťovat poloha desetinné tečky od začátku (zleva), což bude při výše uvedeném zápisu desetinné tečky (2,3) 0,345.
Zobrazení souřadnic pouze v případě, pokud se změnily od předchozích (suppress repeated coordinates). V Gerber datech se mohou mnohé souřadnice opakovat znovu a znovu, např. když se jedná o pájecí plošky rovnoběžné s osou X (potom souřadnice osy Y jsou pořád stejné, mění se jenom souřadnice v ose X). Taková situace přímo vybízela k další úspoře v délce záznamu tím, že se (v našem příkladu) zapsala pouze první souřadnice Y, zatímco se měnily pouze souřadnice X až do další změny v ose Y:
Zde uvedené informace jsou pouze základní. Kromě popsaných zcela základních příkazů existuje celá řada dalších, jejichž vysvětlení by mohlo být námětem pro pokračování tohoto článku. Jedná se o objasnění zápisu vylití měděných ploch (příkazy G36 a G37), kruhovou interpolaci (G74 a G75) a další záležitosti. Zájemce o bližší seznámení s formátem Gerber souboru odkazuji na webovou stránku firmy UCAMCO, správce formátu Gerber, kde je ke stažení podrobný popis formátu RS-274-X. Jako příklad nastavení při generování Gerber dat je zde uvedeno dialogové okno programu PADS (obr. 2).
Otázka, kterou by pozorný čtenář mohl mít, je asi tato: jak může rastrový fotoplotr rozumět příkazům původně vymyšleným pro vektorové fotoplotry? Vždyť rastrový fotoplotr nezná pojmy jako clonka či závěrka světla. Odpověď je jednoduchá – rastrový fotoplotr tomu nerozumí, ale jeho software ano. Software, který řídí fotoplotr, umí číst Gerber data, rasterizovat je a řídit jimi daný fotoplotr. Tato záležitost je díky softwaru perfektně vyřešena a nezpůsobuje žádné problémy.
Obr. 2 Dialog pro nastavení parametrů Gerber dat v programu PADS
Mohlo by se zdát, že novější verze Gerber dat, RS274-X, vyřešila veškeré problémy. Je tomu ale skutečně tak? Podívejme se např. na otázku měrných jednotek. Zatímco většina návrhářů u nás používá při návrhu desek metrické jednotky (mm), v jiných zemích jsou používány palce (inch), a to nejenom kvůli zavedené palcové soustavě. Co se např. stane, když se pro desku navrženou v mm generuje Gerber výstup v palcích? Jeden palec (1") je zhruba 25,4 mm, čili přibližně 20× větší. Pokud se při generování Gerber výstupu ponechá volba desetinných míst nastavená na mm (např. 2,3), potom dojde k problému s přesností souřadnic. Zatímco 3 desetinná místa jsou v metrické soustavě docela dostačující, v palcové soustavě nikoli. To je však chyba operátora, nikoliv Gerber dat.