Programy pro návrh desek plošných spojů, stejně jako pro kreslení projektů v oboru elektro pracují se skutečnými součástkami (component, part, device atd.), jako je např. tranzistor STR1550 nebo relé RPK24 atd. Vybráním potřebné součástky v nabídce programy vědí, jaké schematické symboly pro danou součástku použijí ve schématu, jaký mechanický symbol použijí na desce či ve výkresu rozváděče a jaké údaje o dané součástce pošlou do výpisu materiálu. Navíc ještě zajistí a zobrazí správné značení vývodů na schematickém symbolu tak, aby bylo v souladu se značením odpovídajících vývodů na mechanickém symbolu. I když různé programy zpracovávají potřebné údaje o součástkách různě, výsledek je stejný.
Součástka, např. integrovaný obvod nebo relé, má určité atributy, jako je typové značení, popis, objednací číslo, hodnota, tolerance, výrobce, dodavatel atd. To jsou údaje, které jednak umožňují potřebnou součástku v nabídce programu vybrat, jednak je vypsat do výpisu použitého materiálu.
Daná součástka je ve schematickém diagramu reprezentována jedním nebo několika schematickými symboly, jejichž vývody jsou značeny podle odpovídajících vývodů na mechanickém symbolu (pouzdru součástky). Používané názvosloví zahrnuje výrazy symbol, schematic decal atd.
Podobně je daná součástka zastoupena na desce plošných spojů nebo ve výkresu rozváděče konkrétním mechanickým symbolem, který definuje polohu vývodů součástky (pájecí plošky, připojovací svorky), její tvar a rozměry. Názvosloví tohoto symbolu se liší od programu k programu, například PCB decal, cell, package, pouzdro, mechanický symbol atd.
Zatímco jedna součástka může mít více schematických symbolů (například 4 NAND hradla nebo cívka a 2 kontakty u relé), mechanický symbol konkrétní součástky bývá jenom jeden.
Symboly jsou uloženy pod vlastními názvy v knihovně symbolů, ať už všechny pohromadě, nebo rozdělené do několika knihoven pro jednodušší přehled. Pokud program používá více knihoven, některé programy prohledávají všechny knihovny, aby potřebný symbol našly, jiné, například EAGLE, prohledají pouze vybranou knihovnu.
V každém případě je už z tohoto popisu zřejmé, že někde v programu musí být uloženy informace o údajích dané součástky, názvu potřebného schematického symbolu a odpovídajícího mechanického symbolu. Tyto údaje jsou uloženy v databázi součástek, ať už vypadá a říká se jí jakkoliv. Často se také používá výraz knihovna součástek.
Než přejdeme k databázi součástek, je potřeba se ještě vrátit k symbolům pro jedno důležité vysvětlení. Mohlo by se zdát, že symboly již mají v knihovně symbolů zapsány všechny potřebné informace o dané součástce (typ, hodnota, výrobce, značení vývodů atd.), ale běžně to tak není. Většinou to jsou jen grafické objekty, které samy o sobě žádné informace o součástce nenesou, které ale mají datová pole pro pozdější vypsání těchto dat. Proč to tak je? Protože mnohé symboly, schematické i mechanické, jsou po grafické stránce stejné pro mnoho různých součástek.
Obr. 1 Součástka s údaji (nahoře), schematický symbol (vlevo) a mechanický symbol (vpravo) s názvy symbolů v knihovně symbolů
Tak například schematický symbol NPN tranzistoru může být použit pro velké množství různých NPN tranzistorů, i když jejich údaje a značení vývodů jsou pokaždé jiné (v závislosti na typu pouzdra dané součástky) – jsou k symbolu dopsány později až ve schématu (obr. 2). Podobně tomu je i u dat mechanických symbolů součástek, např. pouzdra TO39 nebo SOIC16, s výjimkou značení vývodů, které je vždy konečné.
Obr. 2 Symboly v knihovně symbolů (nahoře), schematický symbol ve schématu pro danou součástku (dole)
Výhodou tohoto uspořádání je, že si vystačíme pouze s jedním univerzálním symbolem od každého druhu, ať už schematickým, nebo mechanickým. Jinak bychom museli mít obrovskou knihovnu symbolů s již zapsanými daty různých součástek, kde každý symbol reprezentuje jednu konkrétní součástku.
Otázkou tedy je, kdo k symbolům dodatečně zapíše potřebné údaje součástky a zajistí správné značení vývodů – provede to opět databáze součástek, o které bude řeč dále.
Na obr. 2 je vidět, jak vypadají symboly NPN tranzistoru a pouzdra SOT23 v knihovně symbolů a jak vypadá symbol NPN tranzistoru STR1550 ve schématu – databáze změnila číslování vývodů z a-b-c na 1-2-3 tak, aby funkce vývodů odpovídala vývodům v pouzdru SOT23, doplnila k symbolu jeho značení ve schématu (T15) a podle povahy programu i další údaje o součástce (zde je ukázán Typ), ale každý program s těmito daty zachází jinak. I když databáze doplní k schematickému a mechanickému symbolu údaje o součástce, většinou nejsou viditelné nebo je možné jejich viditelnost nastavit. Některé programy nezobrazují dokonce ani značení vývodů u tranzistorů a RCL symbolů, aby bylo schéma přehlednější.
Jak už bylo zmíněno, databáze umí změnit značení vývodů schematického symbolu tak, aby odpovídalo značení vývodů mechanického symbolu (pouzdra atd.). Podle čeho se databáze řídí a jak to provede? Mapování vývodů se zajišťuje u různých programů různým způsobem, ale vždy při vytváření nové součástky do databáze (knihovny) součástek. Na obr. 3 je vidět jedna možnost používaná například u programů PADS a EAGLE - tabulka (mapovací soubor), do které program vypíše značení vývodů zvoleného schematického (Pin) i mechanického symbolu (Pad) pro danou součástku. V pravé části tabulky musí uživatel ručně zapsat, které vývody schematického symbolu patří k vývodům pouzdra součástky (to je vždy konečné). Výsledek je vidět na obr. 3 (vpravo) a odpovídá značení vývodů schematického symbolu tranzistoru ve schématu na obr. 2.
Obr. 3 Mapování vývodů schematického symbolu (PIN) vůči vývodům pouzdra (PAD) pro tranzistor STR1550 – vlevo data z knihovny symbolů, vpravo výsledek
Jiný způsob mapování používá např. program PCSCHEMATIC, kde je mapování zapsáno přímo do tabulky databáze, jejíž část je na obr. 4. V poli SCHsymbol jsou za sebou zapsány názvy schematických symbolů potřebných pro danou součástku, oddělené mezi sebou středníkem. Jako příklad je použito relé, které má cívku (symbol 07-15-01) a dva spínací kontakty (2× 07-02-01). V dalším poli VÝVODčíslo je zapsáno značení vývodů pro každý výše uvedený symbol a ve stejném pořadí, jako jsou symboly, to znamená A1,A2 pro cívku a 13,14 a 23,24 pro kontakty. Nikde nejsou zapsány vývody schematického symbolu v knihovně, protože u tohoto programu jsou to vždy čísla od 1 výše (1,2,3), jak ukazuje obr. 5.
Obr. 4 Zápis názvů schematických symbolů a číslování vývodů v databázi PCSCHEMATIC
Mapování vývodů proběhne tak, že si program přečte značení vývodů daného symbolu v poli VÝVODčíslo a ve schématu přepíše původní značení z knihovny tak, že první značení v databázi přepíše 1 u vývodu symbolu, druhý 2 atd. Na obr. 5 nahoře jsou vidět symboly cívky a spínacího kontaktu v knihovně s původním značením vývodů (1, 2). V databázi je ovšem napsáno, že vývody cívky se budou značit A1, A2, zatímco vývody prvního kontaktu se mají značit 13, 14 a druhého kontaktu 23, 24. Program tak přepíše původní čísla v tom samém pořadí (1=A1, 2=A2 a 1=13, 2=14 atd.).
Obr. 5 Symboly cívky a kontaktu NO v knihovně (nahoře) a ve schématu (dole), kde jsou vývody přečíslovány podle záznamu skutečné součástky (zde relé) v databázi
Jsou ovšem symboly, zejména schematické, které jsou určeny pouze pro jednu konkrétní součástku, protože grafika, rozdělení vývodů po obvodu symbolu a jejich značení nejsou vhodné pro jiné součástky. Některé programy v takovém případě umožňují, aby značení vývodů a další data součástky byly již u symbolu zapsány v knihovně, takže je není potřeba definovat v databázi, zatímco jiné programy to nedovolují a mapování vývodů musí být vždy provedeno.
Schematické symboly součástek o dvou vývodech, jako jsou rezistory, kondenzátory či indukčnosti, používají většinou ve schématu čísla vývodů zapsaná u symbolů v knihovně, protože jejich vývody jsou zaměnitelné. To se pochopitelně netýká součástek, jako jsou diody nebo elektrolytické kondenzátory, u kterých je dodržení polarity na desce nutné.
Obr. 6 Některé schematické symboly jsou jedinečné (vlevo), některé mají vývody zaměnitelné (vpravo)
Databáze v jakémkoliv formátu je tedy místo, odkud program čerpá informace o dané součástce. Databázi si můžeme představit jako tabulku, kde každý řádek představuje jednu součástku, zatímco informace o součástce jsou zapsány v jednotlivých sloupcích. Některé programy používají svůj vlastní formát, který ani není uživateli přístupný (např. EAGLE, PADS Classic/Standard), jiné používají běžně využívané formáty, jako jsou například Microsoft Access (.mdb) či jiné.
Všechny programy se nabízí s databází, která již obsahuje určitý počet vybraných součástek. Uživatele pak může zajímat, jak si do databáze doplnit vlastní součástky nebo modifikovat stávající záznamy.
Některé programy umožňují zapsat data součástek do tabulky databáze přímo, jiné podporují import dat prostřednictvím zápisu v některém běžném formátu, např. Excel, ale všechny programy mají jistou vstupní bránu, která vložení nové součástky, stejně jako dodatečné úpravy podporuje, navíc způsobem, který omezí špatný zápis. Většinou je možná vizuální kontrola zapsaných dat součástek v databázi, jako je tomu například u programu DxDesigner - na obr. 7 je okno Preview, které umožňuje zkontrolovat schematický symbol včetně značení vývodů a symbol pouzdra se značením vývodů.
Obr. 7 Vizuální kontrola (Preview) zápisu dat v databázi v PADS Designer
Když se v dialogu pro výběr součástek vybere potřebná součástka, program se podívá do databáze a zjistí si název schematického symbolu, který daná součástka používá, najde daný symbol v knihovně symbolů a vloží ho do schématu. Pokud součástka používá více symbolů, program je zobrazí a čeká, který si uživatel vybere jako první, přičemž ví, že zbývající symboly patří k téže součástce a mohou (nebo nemusí) být později do schématu také vloženy.
Ve stejnou chvíli si program přečte záznam o mapování značení vývodů schematického symbolu vůči mechanickému symbolu a ve schématu přepíše jeho původní značení z knihovny.
Je tu však ještě jedna věc, kterou je potřeba vědět. Existují dva druhy programů, které se navzájem liší způsobem, jak s daty součástek z databáze zacházejí. Zástupcem první skupiny je například klasický návrhový systém PADS, druhým pak již zmíněný program PCSCHEMATIC nebo třeba starší verze programu OrCad.
PADS a podobné programy si při vložení schematického symbolu do schématu přetáhnou všechna data z databáze k symbolu, ale nemusí být zobrazené. To znamená, že jakmile je jednou symbol ve schématu, program se již podruhé nedívá do databáze pro potřebné údaje, např. názvy zbývajících schematických symbolů a značení jejich vývodů, název mechanického symbolu, výrobce atd. To také umožňuje pokračovat v práci na jiném počítači, který ve své databázi nemá již použité součástky. Nevýhodou tohoto přístupu je, že když se dodatečně změní některý údaj v databázi (například ve výpisu materiálu), program změnu nepoužije, protože čerpá informace o použitých součástkách pouze ze schématu. Aby si program aktualizoval data z databáze, musí se použít specifický povel.
PCSCHEMATIC a podobné programy si naopak při vložení symbolu do schématu (nebo do desky, rozváděče atd.) z databáze nezapisují žádné údaje součástky, kromě jejího identifikátoru z databáze – to může být např. EAN, typ nebo jiný údaj, který je jedinečný, podle nastavení. Kdykoliv program potřebuje vědět další informace o dané součástce (například při výpisu materiálu, hledání názvu mechanického symbolu atd.), najde si podle onoho identifikátoru danou součástku v databázi a přečte si potřebné informace, znovu a znovu. To má výhodu v tom, že kdykoliv se databáze aktualizuje, data ve schématu nebo na desce (rozváděči) jsou vždy aktuální. Nevýhodou je, že nelze jednoduše přenést práci na jiný počítač, pokud nemá stejnou databázi.