Altium Designer (AD) používá knihovní systém, vycházející z konceptu jednotné knihovny pro všechny interpretace komponenty v různých typech dokumentů v průběhu návrhu elektronického zařízení. To znamená, že schematický symbol, footprint (motiv komponenty na plošném spoji), 3D model, simulační model atd. jsou uloženy společně s přednastavenými vazbami všech těchto forem komponenty v jednotné databázi. Výhodou tohoto systému je především udržení konzistence komponent v knihovně a minimalizace chyb lidským faktorem. S kvalitně připravenými komponentami v knihovně se návrhář může soustředit na návrh zařízení a není nucen neustále provádět kontroly propojení, například schematického symbolu komponenty s jejím footprintem nebo návaznost na simulační model. Komponenty si sebou nesou i velice užitečné přídavné textové parametry.
Popsaný knihovní systém AD je realizován pomocí kompaktních integrovaných knihoven nebo pomocí jejich rozšíření v podobě flexibilních databázových knihoven. Rovněž však umožňuje i tradiční správu oddělených knihoven, tedy odděleně knihovny schematických prvků, footprintů, 3D modelů atd. Posledním typem knihoven jsou VHDL knihovny, které se týkají návrhu konfigurace pro obvody FPGA. Z popisu je nyní vynechám a vrátím se k nim později. Tento díl našeho seriálu chci totiž věnovat především tvorbě integrované knihovny a v závěru pouze nastíním možnosti využití databázových knihoven.
Systém dodávaných knihoven
V prvním dílu seriálu byly představeny konkrétní typy knihoven AD a byl rovněž zmíněn rozsah předinstalovaných knihoven. Pro připomenutí, tyto knihovny obsahují přes 120.000 komponent různých typů a jsou navrženy podle IPC norem. Ty jsou rozděleny do adresářů podle názvů výrobců a vlastní soubory knihoven jsou pojmenovány podle kategorií komponent, kterou obsahují (např. TI Microcontroller 32-Bit ARM.IntLib ). Specialitou jsou knihovny pro obvody FPGA, které se vyskytují ve dvou variantách. Standardní obsahuje FPGA jako komponentu pro umístění na plošném spoji. Knihovna s názvem zakončeným řetězcem „FPGA“ pak obsahuje sadu funkčních komponent pro návrh konfigurace FPGA (grafické programování). Tyto komponenty odpovídají dané rodině obvodů a obsahují pro ni specifické prvky (jednotky Ethernet MAC, řízení hodin atd.). Výjimkou v systému pojmenování adresářů podle výrobců jsou:
-
- BSDL – soubory pro nastavení JTAG řetězce
- EDIF – předkompilované komponenty pro FPGA projekty (IP jádra)
- OpenBus – definice komponent palety OpenBus
- PCB – vzory footprintů podle IPC norem
- PCB3D – vyhrazené místo pro 3D modely komponent
- PLD – komponenty pro práci s obecnými obvody programovatelné logiky (hradla, registry apod.)
- Simulation, Sim – knihovny a modely pro obvodové simulace (převážně modely ideálních prvků)
- Software Platform – služby, ovladače a soubory s nápovědou pro Device Stack pro Embedded projekty
- FPGA – komponenty pro práci s obecnými FPGA obvody včetně konfiguračních souborů
- HDL Simulation – simulační knihovny pro simulaci funkce programovatelných logických obvodů
- VHDL, vhdl_lib – knihovny jazyka VHDL (například nepostradatelná IEEE knihovna)
Knihovny jsou k projektu přidávány buď přímo, kdy je naleznete ve virtuálním adresáři Libraries ve stromu projektu ( Project Libraries ), nebo globálně pomocí nastavení odkazů v Design -> Add/Remove Library... ( Installed Libraries ). Odkazy na knihovny přidají knihovnu do panelu Libraries a lze je tak používat stejně jako by knihovna byla fyzicky součástí projektu. Nenalezené knihovny jsou zde zvýrazněny červenou barvou.
Obr. 1. Adresář dodávaných knihoven Altium Designer\Library
Ač se zdá seznam komponent rozsáhlý, tak neobsahuje všechny běžně dostupné knihovny. Vytváření vlastních komponent se nevyhneme. Požadavky na tvary footprintů nebo typ informací uvedených v komponentě a další vlastnosti se totiž liší vývojář od vývojáře (obvykle stanoveno firemními požadavky vycházejícími z výrobního procesu). Již vytvořené footprinty jsou v souladu s normou IPC-7351 a z hlediska hustoty zástavby jsou děleny do třech kategorií:
-
- M = Most (Low-Density) – největší velikost footprintu, vhodné pro ruční osazování
- N = Nominal (Medium-Density) – střední velikost footprintu
- L = Least (High-Density) – nejmenší velikost footprintu, strojové osazování
Pojmenovávání vývodů součástek se řídí předpisem z dokumentu LS0001 Pin Name Abbreviations a pojmenování footprintů je v souladu s IPC-SM-782A podle dokumentu LS0002 PCB Symbol Naming Convention, viz nápověda AD.
Norma IPC celkem překvapivě, ale konečně jednotně, definuje všechna pouzdra v metrickém systému. Údaje jsou proto vždy uváděny, nebo vyžadovány, v milimetrech. To má neblahý vliv především na pojmenování pouzder diskrétních pasivních komponent pro povrchovou montáž (SMT), jako je například pouzdro 0805. Toto pouzdro označuje norma IPC jako 2012 (2,00 x 1,25 mm). O to víc se situace komplikuje tím, že obě řady (palcová i metrická) obsahují shodně označená pouzdra 0603 a 0402, která však, logicky, mají v obou případech jiné fyzické rozměry. Podrobnosti naleznete v následující tabulce 1 [1]. Tato nejednoznačnost je daní za sjednocení používaných měřících jednotek rozměrů pouzder, na kterou elektrotechnický průmysl čekal již dlouho. Nezbývá než pečlivě kontrolovat skutečnou velikost pouzder nakupovaných komponent a doufat, že celý trh velice rychle přejde na jejich nové metrické značení.
Palcové označení | Metrické označení | Rozměry pouzdra v palcích | Rozměry pouzdra v metrické míře | Typický ztrátový výkon pouzdra |
---|---|---|---|---|
1005 | 0402 | 0.016" × 0.008" | 0.4 mm × 0.2 mm | 1/32 W |
0201 | 0603 | 0.024" × 0.012" | 0.6 mm × 0.3 mm | 1/20 W |
0402 | 1005 | 0.04" × 0.02" | 1.0 mm × 0.5 mm | 1/16 W |
0603 | 1608 | 0.063" × 0.031" | 1.6 mm × 0.8 mm | 1/16 W |
0805 | 2012 | 0.08" × 0.05" | 2.0 mm × 1.25 mm | 1/10 W |
1206 | 3216 | 0.126" × 0.063" | 3.2 mm × 1.6 mm | 1/4 W |
1210 | 3225 | 0.126" × 0.1" | 3.2 mm × 2.5 mm | 1/2 W |
1806 | 4516 | 0.177" × 0.063" | 4.5 mm × 1.6 mm | 1/2 W |
1812 | 4532 | 0.18" × 0.12" | 4.5 mm × 3.2 mm | 1/2 W |
2010 | 5025 | 0.2" × 0.1" | 5.0 mm × 2.5 mm | 1/2 W |
2512 | 6332 | 0.25" × 0.12" | 6.35 mm × 3.0 mm | 1 W |
Vyhledávání v knihovnách
Dostupnost rozsáhlé knihovny komponent je jistě věc důležitá, ale s takto enormním počtem komponent se stává rovněž stejně důležitým i vyhledání komponenty, kterou potřebujeme použít. Instalace knihoven a vkládání komponent z nich již bylo popsáno v druhém dílu seriálu. Panel Libraries však obsahuje ještě jedno důležité tlačítko a tím je právě vyhledávání Search... V základní podobě ( Simple ) nástroj Library Search (obr. 2.) obsahuje v horní části políčka pro zadávání filtračního výrazu a v dolní pak nastavení místa vyhledávání a typu objektu. Hledaný objekt specifikujeme definováním jména vyhledávaného parametru a jeho hodnotou. Přitom máme možnost zvolit zda tato hodnota musí nebo nesmí přesně odpovídat hodnotě parametru hledané komponenty, nebo uvedený řetězec musí nebo nesmí být součástí hodnoty parametru. Variabilita vyhledávacího dotazu je díky tomu značná. Obvykle používané parametry k vyhledávání jsou Name , Footprint , Description nebo uživatelsky definované parametry komponent. Komplexnější vyhledávací filtry lze zadávat v režimu Advanced nástroje Library Search (přepnutí kliknutím na text >> Advanced vpravo uprostřed okna). Zadávání dotazu provádíte pomocí tzv. Query Language, stejně jako u nástroje Filter popsaném v předchozím dílu seriálu. Podrobný popis Query Language naleznete v manuálu označeném jako TR0110. Stejně jako u panelu Filter tak i zde lze využít pomocný nástroj Helper , který nabízí veškeré dostupné funkce pro vyhledávání. Díky němu jednoduše vytvoříte vyhledávací dotaz, který například vyhledá komponentu s určitým názvem, která má definovaný počet vývodů apod. Vyhledávání lze omezit i na soubor vybraných knihoven. V základu se vyhledávání provádí v celém adresáři knihoven (nastavení Libraries on Path ), lze vybrat i konkrétního výrobce/adresář pro vyhledávání (políčko Path ) s libovolnou souborovou maskou (políčko File Mask ) nebo omezit vyhledávání na knihovny nainstalované/použité v aktuálním projektu ( Available Libraries ). Vyhledávání je pak ještě také možné zúžit na hledání celých komponent, pouze footprintů, 3D modelů a komponent v databázi. K tomuto zúžení vyhledávání slouží výběrový seznam Search in . Přidání vyhledané komponenty do aktuálního projektu vyvolá dialog pro schválení nainstalování knihovny, ve které se tato komponenta nachází, do tohoto projektu.
V souvislosti s vyhledáváním komponent bych rád zmínil možnost nastavení zobrazovaných sloupců v panelu Libraries . Seznam komponent v panelu Libraries lze, podobně jako mnoho dalších seznamů v AD, pomocí příkazu kontextového menu Select Columns nastavit tak, aby zobrazoval údaje, které potřebujeme. Přeskupení sloupců se realizuje přímo v okně se seznamem prostým přetažením myší na požadované místo.
Obr. 2. Panel Libraries a jeho dialog Search ve formě Simple (v popředí) a Advanced (na pozadí)
Vrstvy
Než se pustíme do vlastního vytváření knihovny, tak zde zmíním jednu podstatnou záležitost týkající se využití vrstev. Altium Designer, stejně jako ostatní návrhové systémy pro plošné spoje, používá rozdělení informací o objektech na vytvářeném plošném spoji na vrstvy. Vlastní vrstvu mají objekty pro vrchní motiv, spodní motiv, pro popisky a pro obrysy komponent atd. Vytváření výstupních podkladů je pak jednodušší, protože si můžeme zvolit kterou vrstvu nebo vrstvy potřebujeme a získáváme tak potřebná data. Všechny vrstvy je možné jednotlivě aktivovat, skrývat, přejmenovávat a měnit jejich barvu (někdy v závislosti na nastaveni Design -> Layer Stack Manager... ) v dialogu Design -> Board Layers & Colors... (zkratka L ). Vrstvy lze také párovat, čímž určujeme kam se mají která data přenášet při převodu komponenty na opačnou stranu desky plošného spoje. Nastavení párování nalezneme rovněž v dialogu Board Layers & Colors... pod tlačítkem Layer Pairs... Zde pomocí tlačítka Add... vytvoříme potřebné dvojice.
Většina vrstev má definovaný účel, který vychází z jejich základního názvu. Vrstvy Top -, Mid - a BottomLayer slouží pro vytváření vlastního vodivého motivu plošného spoje na vrchní straně, ve vnitřních vrstvách (maximálně 30 vnitřních vrstev) a na spodní straně. Vrstvy obsahující označení Overlay , Solder a Paste jsou pak využívány v pořadí k vytváření potisku desky, nepájivé masky a k vyznačení oblastí pro nanášení pájecí pasty (výroba šablony pro sítotisk) na odpovídající straně desky. Dále jsou zde vrstvy DrillGuide a DrillDrawing pro vytváření vrtacích předpisů a výkresů a vrstva MultiLayer obsahující objekty, které se nachází najednou v několika vrstvách (typicky vrtané a prokovené otvory). Zajímavá je vrstva KeepOutLayer , kterou AD využívá k definování zakázaných oblastí na plošném spoji. Uvnitř těchto oblastí se nesmějí nacházet žádné objekty ve všech vodivých vrstvách, vypočítávané polygony tuto oblast nevyplňují. Oblasti lze definovat libovolným objektem v této vrstvě (čára, polygon, region atd.). Pokud je vyžadováno vyhrazení oblasti pouze pro definovanou vodivou vrstvu (typicky pro potlačení polygonu s rozlitou mědí), tak umístíme libovolný objekt do té konkrétní vrstvy a přiřadíme mu v jeho vlastnostech atribut Keepout . V takovýchto případech se tedy nevyužívá vrstva KeepOutLayer .
Kromě těchto dedikovaných vrstev existují i volně definované tzv. mechanické vrstvy s názvy začínajícími slovem Mechanical . Od vydání Altium Designer Summer 09 se jejich počet zvýšil na celkem 32. Mechanické vrstvy mají převážně libovolné použití. Nicméně již existující knihovny a příklady projektů (viz adresář Examples ve Vaší instalaci AD) jsou postaveny na následujícím doporučeném systému jejich využití:
-
- Mechanical 1 – obrys desky
- Mechanical 2 – výkresové razítko, poznámky
- Mechanical 8 – 3D objekty vrstvy Top
- Mechanical 9 – 3D objekty vrstvy Bottom
- Mechanical 13 – osazovací výkres vrstvy Top
- Mechanical 14 – osazovací výkres vrstvy Bottom
- Mechanical 15 – osazovací okolí vrstvy Top (okolí, kde se nesmí nacházet jiná komponenta)
- Mechanical 16 – osazovací okolí vrstvy Bottom (okolí, kde se nesmí nacházet jiná komponenta)
Doporučuji předem pečlivě rozvážit a stanovit vlastní využití mechanických vrstev, které bude pokud možno založeno na této struktuře využití vrstev a bude ji doplňovat o vámi požadované informace v ještě nevyužitých vrstvách. Pevně stanovený systém využití vrstev umožňuje sjednotit předpisy pro vytváření dokumentace a celkově zvyšuje přehlednost knihoven a projektů z nich vycházejících.
Založeni vlastní knihovny
Konečně se dostáváme k založení vlastní knihovny. V této kapitole si probereme vytvoření integrované knihovny. Jednotlivé knihovny symbolů nebo footprintů jsou podmnožinou integrované knihovny, budou tedy probrány v rámci tohoto popisu, zatímco knihovny databázové pouze přistupují jiným způsobem k propojení symbolů a modelu, základ zůstává stejný.
Integrovaná knihovna se v AD vytváří v podobě specializovaného projektu jehož zdrojové soubory jsou jednotlivé knihovny schematických symbolů a modelů. Projekt integrované knihovny založíme pomocí nabídky menu File -> New -> Project -> Integrated Library . Uložení projektu a další nastavení se provádí stejně jako pro PCB projekty. Výsledné kompaktní soubory integrované knihovny s koncovkou IntLib získáte kompilací tohoto projektu ( Project -> Compile „název_projektu.LibPkg“ ).
Schematická knihovna SchLib
Schematická knihovna je klíčové místo pro definování komponenty. Zde dochází k napojení všech modelů ke schematickému symbolu a přidávání všech parametrů komponenty. Důvod je zřejmý – návrhář, který vytváří schematický výkres, je ten, kdo navrhuje funkci celého zařízení. On proto potřebuje mít všechny informace dostupné na jednom místě, ať už k výkresu jako takovému, ale především ke všem komponentám. Používá simulační model, generuje rozpisku součástek a často vybírá i footprint komponenty. Knihovna SchLib se zakládá jako dokument integrované knihovny nebo jako samostatný dokument pomocí volby menu File -> New -> Library -> Schematic Library .
Vytvoření komponenty
Základní vytvoření komponenty se provádí příkazem Add na panelu SCH Library v části Components (nahoře), nebo z menu Tools -> New Component . Menu Tools nabízí i další užitečné funkce pro práci s komponentami, jako je například přejmenování a vymazání, ale také přesun a kopírování komponenty do jiné knihovny ( Move Component a Copy Component ).
Obr. 3. Panel SCH Library
Základním nástrojem pro správu knihovny je panel SCH Library . Tento panel zobrazuje seznam komponent v knihovně, jejich pojmenování, včetně alias jmen (ekvivalentní pojmenování pro jednodušší vyhledávání), přiřazené modely a jejich napojení na schematický symbol, a přiřazené odkazy na dodavatele komponenty. Alias jméno se zobrazuje v seznamu komponent knihovny (při vkládání do schematu) jako další nová komponenta. Jedna komponenta je tedy zobrazena jako několik nezávislých komponent. V případě nutnosti vytvoření skutečné oddělené komponenty v knihovně (vlastní nastavení parametrů, modelů atd.) tak nedojde pro uživatele knihoven k viditelnému rozdílu.
Fyzické vytvoření symbolu je velmi jednoduché. Můžeme využívat všechny nástroje menu Place pro ruční rozmisťování objektů. Ruční rozmisťování čar, pinů a dalších objektů se nastavuje, stejně jako v dalších editorech AD, pomocí klávesy Tab ve chvíli, kdy je daný nástroj pro vytváření tohoto objektu aktivní. Zde můžete zadávat rozměry, barvy, popisky a další vlastnosti. Kritické je nastavení objektů Pin , kde dialog obsahuje i nastavení elektrického typu vývodu. Ten je využit při kontrolách správnosti zapojení komponenty do schematu, jako je třeba zapojení dvou výstupů na jeden spoj apod. Výběr elektrického typu vývodu je v některých případech ošemetný. Například vstupní vývody operačních zesilovačů (OZ) je vhodnější nastavovat jako typ Passive než Input, protože na vstupy OZ bývají obvykle zapojeny zpětnovazební rezistory, ne přímo výstupy jiných součástek. Tento stav by při nastavení typu Input způsoboval varování uživatele o vstupu bez budícího signálu v době kompilace PCB projektu. Pro připomenutí – nastavení těchto kontrol naleznete pro PCB projekt v menu Project -> Project Options... na záložce Connection Matrix .
Pro rychlejší vytváření symbolů komponent lze využít zadávání prostřednictvím Smart Grid Paste v panelu SCHLIB List , jak bylo popsáno v minulém dílu seriálu. AD zrovna tak umožňuje pro knihovny i hromadné úpravy pomocí nástroje Inspector . Výběr upravovaných objektů se rovněž provádí pomocí dialogu Find Similar Objects nebo panelu Filter , pouze s tím rozdílem, že zde mohou být úpravy prováděny díky nastavení All Components nebo Whole Library pro všechny komponenty v dané knihovně. Jednoduše a rychle tak můžete změnit třeba elektrický typ všech vývodů se stejným pojmenováním.
Obr. 4. a) Vlastnosti komponenty (nahoře) a b) dialog pro nastavení vlastností objektu Pin (dole)
Parametry komponent
Další důležitou částí návrhu komponenty je přidělení jejích vlastností pomocí menu Tools -> Component Properties... nebo dvojklikem na název komponenty v panelu SCH Library . Tímto příkazem se otevře dialog pro nastavení parametrů, přiřazení modelů a dalších vlastností, jako je Default Designator , Comment , Description atd. Samostatnou kapitolou, nebo pravděpodobně i celým článkem, by mohlo být zadávání parametrů komponent. Ty se přidávají pomocí tlačítka Add... v části dialogu, která je označena jako Parameters for „název_komponenty“ , popřípadě je lze hromadně spravovat v rámci celé knihovny pomocí nástroje Parameter Manager v menu Tools . Návrhářova fantazie se zde může plně uplatnit při vymýšlení všech potřebných údajů, které komponenta ponese. Základní by měly být informace o jejím výrobci, případně i dodavateli, detailním označení, skladovém čísle, objednávacím čísle, případně o typické ceně a další informace pro identifikaci a práci s komponentou. Neměli byste zapomínat i na informace jako je datum vytvoření komponenty, datum její poslední úpravy, číslo verze, jméno autora apod. Pomocí specializovaných názvů parametrů lze navíc vytvořit interaktivní odkazy pro podrobnější dokumentaci komponenty. Tyto parametry mají názvy HelpURL , ComponentLinkXURL , ComponentLinkXDescription , kde je X nahrazeno postupně rostoucím číslem od nuly. Hodnota parametru HelpURL obsahuje odkaz na soubor, který je na disku, na serveru nebo na internetu, který se otevře stisknutím klávesy F1 při označené komponentě. Podobně lze zadávat odkaz i do hodnoty parametrů ComponentLinkXURL a jejich textový popis do hodnoty odpovídajících parametrů ComponentLinkXDescription . Tyto odkazy naleznete v kontextovém menu komponenty pod položkou References (pojmenované právě hodnotami parametrů z ComponentLinkXDescription ). Položka References je dostupná rovněž v kontextovém menu panelu Libraries v seznamu komponent při vkládání komponenty do schematu.
V rámci nastavení vlastností komponent je dále vhodné zadat základní popisek komponenty do Default Designator , který může být libovolný, ale pro správnou funkci anotačního procesu je nutné, aby obsahoval symbol otazníku (např. R? nebo U?). Tento otazník je při anotačním procesu nahrazen pořadovým číslem komponenty se stejným polem Designator na daném dokumentu nebo v celém projektu.
Pole komentáře Comment slouží obvykle pro uvedení hodnoty součástky (1k 5% 0603) nebo její typové označení (NE555). Nicméně doporučuji v tomto případě využít možnosti vytvoření specializovaného parametru s tímto obsahem, nejčastěji s názvem Value . Tento způsob umožňuje pohodlné změny hodnot v databázových knihovnách, kde lze komponentám přiřazovat parametry hromadně a zároveň i umožňuje dobrou návaznost na simulační modely komponent. V poli Comment můžete, stejně jako ve schematickém editoru, použít notaci „ =název_parametru “ pro vyplnění hodnoty tohoto pole hodnotou odkazovaného parametru, v tomto případě zadáte „=Value“ . Téměř kterékoliv pole vlastností komponenty lze zobrazit v cílovém dokumentu pomocí zaškrtnutí odpovídajícího políčka Visible (zaškrtnout u parametru Value a zrušit zaškrtnutí u Comment ), a nebo u některých i zablokovat proti změně pomocí políčka Lock . Pro podrobnější popis komponenty slouží specializované pole Description (NE555, Timer, 8 pin).
Posledním, ale velice důležitým polem je nastavení typu komponenty Type . Dovoluje vybrat z následujících možností:
-
- Standard – běžná komponenta s motivem na plošném spoji v podobě součástky, uvedeno v soupisce součástek
- Standard (No BOM) – podobně jako předchozí typ, ale komponenta není uvedena v soupisce součástek, slouží například k zadávání záložních footprintů
- Mechanical – komponenta, která může mít, ale nemusí, interpretaci na plošném spoji, slouží například pro umisťování šroubů, chladičů a dalšího pomocného materiálu do soupisky součástek, kde jsou komponenty s tímto typem vždy uvedeny
- Graphical – jedná se pouze o grafickou komponentu v daném dokumentu (například logo nebo razítko), která se nesynchronizuje s ostatními dokumenty a není uvedena v soupisce součástek
- Net Tie – komponenta tvořená pouze motivem na plošném spoji, není obsažena v soupisce součástek, jsou to například antény, zkratovací propojky nebo proudové bočníky, jenž propojují dva existující spoje vodivým motivem (bez této komponenty označeno kontrolou jako zkrat)
- Net Tie (In BOM) – podobně jako předchozí typ, ale komponenta je uvedena do soupisky součástek (například pro účely kalibrace nebo uvedení, že má být propojka přerušena)
Komponenty s více částmi a jejich alternativní zobrazení
Některé součástky, typicky logická hradla, bývá zvykem rozdělovat do oddělených funkčních částí. Tyto části jsou v AD označovány jako tzv. Part nebo Subpart a jsou to objekty spadající pod jednu společnou komponentu. Vytvoření nové části komponenty lze docílit pomocí příkazu menu Tools -> New Part . Komponenta pak obsahuje, v přiřazené stromové struktuře v panelu SCH Library, odpovídající počet položek Part s doplněným písmenem pořadí podle abecedy, přičemž položka Part A je základní symbol komponenty a je v komponentě obsažena hned po jejím vytvoření, pouze není zobrazena dokud neexistuje více částí komponenty. Písmeno označující pořadí je automaticky použito jako doplněk popisku Designator dané části při jejím umísťování do cílového dokumentu. V tomto dokumentu, jako i ve vlastní knihovně, můžete procházet jednotlivé Part pomocí dialogu Component Properties , kde pod polem Comment naleznete tlačítka se šipkami pro změnu aktuální části. Ve schematickém výkresu tak můžete rychle nastavit, kterou část komponenty potřebujete v daném místě.
S částmi komponenty úzce souvisí i potřeba nastavení zjednodušeného zaměňování vývodů a částí komponent Pin/Part Swapping , které naleznete v menu Tools -> Configure Pin Swapping . Funkce Pin nebo Part Swapping umožňuje návrháři plošného spoje mezi sebou rychle zaměňovat ekvivalentní vývody nebo části komponenty tak, aby se zjednodušil návrh PCB, nejčastěji odstraněním křížení spojů. Ve zmíněném nastavovacím dialogu Configure Pin Swapping je nutné zadat ke každé komponentě knihovny pravidla zaměňování pomocí dvojkliku nebo tlačítka Configure Component... Pravidla v tomto dialogu vytváříte tak, že daný vývod (záložka Pin Swapping ), nebo část komponenty (záložka Part Swapping ), přiřadíte do swapovací skupiny, která je označena jednoduše svým číslem. Pomocí kontextového menu lze rychleji přiřadit swapovací skupinu většímu počtu vývodů nebo částí (například pro obvody FPGA nebo větší CPU). Vývody (např. jedna IO banka obvodu FPGA) nebo části (např. hradla) komponenty se stejným číslem skupiny pak může návrhář pomocí příslušných nástrojů PCB editoru (menu Tools -> Pin/Part Swapping ) vzájemně zaměňovat.
Vytvořené schematické komponenty mohou rovněž obsahovat několik grafických interpretací schematického symbolu označovaných jako Mode nebo jako Display Mode v panelu Inspector ve schematickém dokumentu. Základní grafickou podobu Normal obsahují všechny komponenty. Pomocí menu Tools -> Mode a jeho příkazu Add můžeme přidávat alternativní grafické symboly označené jako Alternate doplněné o pořadové číslo. Tyto alternativní symboly umožňují vytvoření naprosto odlišného tvaru popisujícího danou komponentu. Nicméně pro jednoduché použití, přepínání zobrazovacího módu, je vhodné ponechat alespoň umístění a označení všech pinů shodných pro všechny alternativní symboly. Jejich přepínáním pak neztrácíte připojení odpovídajících signálů a ani nedojde k připojení signálů nechtěných. Zajištění shodné pozice je snadné. Pomocí kopírování symbolu normálního zobrazovacího módu přes schránku získáme předlohu pro alternativní symbol, který pak již pouze upravíme podle požadavků.
Obr. 5. Ukázka nastavení rozdílných zobrazovacích módů stejné komponenty
Přiřazení modelů komponent
V následujících kapitolách je popsáno jakým způsobem můžeme vytvořit různé vlastní modely komponent. Nyní se však podíváme jakým způsobem jsou modely komponent navázány na symbol komponenty. Přidávání modelů lze provádět pomocí tlačítka Add v části Model (dole) editoru knihovny nebo pomocí nástroje Model Manager v menu Tools . Výběr modelu probíhá tak, že se v daném dialogu nastaví cesta ke knihovně nebo modelu, ve které se nachází požadovaný model, a následně se pomocí jména nebo dialogu Browse vybere konkrétní přiřazovaný model. Pro každý typ modelu je dialog odlišný, protože každý typ modelu má svá specifika a nastavení. Vždy tu však naleznete Pin Map nebo Port Map v mírně odlišných formách pro svázání vývodů schematického symbolu s odpovídajícími vývody modelu. Po přidání modelu je automaticky nastaveno svázání vývodů se stejným pořadovým číslem, tedy pin 1 s padem 1, pin 2 s padem 2 atd., pro PCB footprint. V tomto místě bych ještě upozornil na možnost svázání simulačních modelů s parametry komponenty prostřednictvím záložky Parameters a zaškrtnutí volby Component parameter . Takto zvolené parametry se objeví mezi parametry komponenty, kde je lze buď přímo zobrazit ( Visible ), nebo pomocí odkazu („ =název_parametru “) navázat na stávající parametry, ať už vlastní nebo databázové. Navázání modelu je tak kompletní.
Obr. 6. Nástroj Model Manager pro přiřazování modelů komponentě a editace propojení modelu pomocí Pin Map
Odkazy na dodavatele komponent
Popsané interaktivní navázání komponenty na dokumentaci ( HelpURL , ComponentLinkXURL ) není jediným možným propojením komponenty na reálný svět. Do této kategorie spadají také tzv. Supplier Links neboli odkazy na dodavatele komponent. Odkazy se zadávají do posledního políčka panelu SCH Library označeného jako Supplier . Pomocí tlačítka Add a vyhledávacího dialogu, kde zadáme označení komponenty, dojde k vyhledání tohoto označení v databázích předních světových dodavatelů součástek, jako jsou Farnell nebo Digi-Key. Tento odkaz je pak přiřazen ke komponentě a umožňuje nám získávat aktuální informace o skladové dostupnosti a ceně dané součástky u jejího dodavatele. Velice užitečné je rovněž načtení základních technických parametrů komponenty a přímé odkazy na podrobnou dokumentaci ze stránek dodavatele. Odkazy jistě doznají v budoucnu širší podpory a dalšího rozšíření, proto nelze než doporučit jejich využívání.
Knihovna pouzder PcbLib
V textu již bylo dříve uvedeno, že vytváření footprintů je v AD odvozeno od doporučení norem IPC. Většina připravených footprintů v knihovnách odpovídá těmto normám. Vzory footprintů pak naleznete v podadresáři PCB adresáře všech předpřipravených knihoven Library . Tyto footprinty mohou sloužit jako vzor pro vytváření vlastních footprintů.
Knihovna PcbLib se zakládá jako dokument integrované knihovny nebo jako samostatný dokument pomocí volby menu File -> New -> Library -> PCB Library . Vlastní vytváření footprintů je založeno na podobném principu jako vytváření schematických symbolů komponent. Správa footprintů probíhá prostřednictvím panelu PCB Library a menu Tools . Nejprve vytvoříme nový footprint v menu Tools -> New Blank Component , do kterého postupně umisťujeme všechny potřebné objekty. Dostupné objekty nalezneme v menu Place . Objekty je nutné umisťovat do příslušných vrstev, jak bylo popsáno v kapitole Vrstvy, s výjimkou vrstev mechanických, kde je dodržování uvedeného členění ve většině případů dobrovolné.
Mimo standardních čar, vyplněných obdélníků a oblouků (nastavení klávesou Tab po aktivaci umístění objektu) stojí za pozornost objekt typu Pad . V dialogu vlastností tohoto objektu je hlavní nastavení pole Layer . Pokud je vybrána vrstva Multi-layer , tak je pad vytvořen jako standardní vrtaný a prokovený otvor. Pokud vyberete kteroukoliv jinou vrstvu, tak dojde k vytvoření pájecí plošky pro SMT součástky. Pomocí části dialogu označené jako Size and Shape můžete vytvořit veškeré běžně používané tvary plošek. Základní tvar se nastavuje pomocí pole Shape a jeho rozměrů, případně offsetu středu padu od středu geometrického (především pro plošky s vyoseným otvorem). Volba Full Stack dovoluje nastavit libovolné rozměry pro každou vrstvu zvlášť. Top-Midle-Bottom pak velice podobně, pouze se společným nastavením všech vnitřních vrstev. Nastavení předlohy pro pájecí pastu ( Paste Mask Extension ) a nepájivé masky ( Solder Mask Extension ) je obvykle vhodné ponechat na nastavení, kdy se hodnota přebírá z návrhových pravidel konkrétního plošného spoje.
Jelikož jsou pouzdra obvykle pravidelných tvarů, tak se často vyplatí použít kopírování jednotlivých objektů s vícenásobným rozmnožením označovaným jako Array . Tato funkce je dostupná buď v menu Edit -> Paste Special... s dalšími funkcemi pro vkládání pod tlačítkem Paste Array nebo tlačítkem na paletě ikon PCB Lib Placement pod horním menu s označením Paste Array . Zde je k dispozici nastavení počtu a velikosti inkrementu, označení objektu a dále výsledný tvar rozmístění vzniklých objektů (lineární, kruhový) a parametry pro dané rozmístění (úhlová, nebo vertikální a horizontální rozteč), u kterých znaménko specifikuje směr přibývání kopií objektů. Po potvrzení vložení se v případě kruhového rozmístění nejprve myší zvolí střed kruhu a pak první pozice, která definuje počáteční úhel a poloměr kruhu. V případě lineárního rozmnožení objektů se zadává pouze počáteční bod.
Obr. 7. Dialog pro nastavení vlastností objektů Pad
Stejně jako ve všech ostatních grafických editorech AD můžete pro vytváření footprintů využívat panelů Filter , Inspector a List v modifikaci PCBLIB pro hromadné úpravy vlastností objektů. Rovněž jako v SchLib lze provádět hromadné úpravy i pro celou knihovnu pomocí volby All Components v dialogu Find Similar Objects , nebo Whole Library v panelu Filter pro všechny komponenty v dané knihovně. Jednoduše a rychle tak můžete například nastavit novou velikost otvorů pro THT součástky apod.
Generátory footprintů
Mimo uvedené nástroje je tvorba footprintů ulehčena průvodci, kteří nabízí vytvoření celého footprintu po zadání jeho rozměrů a dalších potřebných údajů. První variantou je Component Wizard v menu Tools . Jedná se o původní nástroj pro jednoduché vytváření pouzder pasivních komponent, konektorů na okraji desky (jako využívají například sběrnice ISA, PCI a další), DIP, SOP, LCC, PGA a BGA pouzder. Tento průvodce však byl doplněn jiným průvodcem s názvem IPC Footprint Wizard , jejž naleznete rovněž v menu Tools . Z jeho názvu vyplývá, že se jedná o vytváření footprintů podle IPC norem. Na obrázku 8 je jeho úvodní obrazovka s nabídkou všech dostupných pouzder. Footprint se popisuje opět číselnými parametry, u kterých jsou definované i jejich písmenné zkratky, jenž využívají i výrobci součástek (např. „e“ označuje rozteč vývodů). Po zadání příslušných parametrů a ukončení průvodce již obsahuje knihovna kompletní footprint včetně základního 3D modelu, který si můžeme libovolně dále upravit, viz kapitola o 3D modelech.
Obr. 8. IPC průvodce pro vytváření footprintů se seznamem dostupných pouzder
Obr. 9. Výsledek IPC průvodce
Pro hromadné vytváření footprintů v knihovně je k dispozici modifikace průvodce s názvem IPC Batch Footprint Generator . Tento nástroj s využitím šablon vytvořených v tabulkovém editoru dokáže jedním spuštěním vytvořit velké množství různých pouzder s různými parametry a s rozdělením do příslušných separátních knihoven, pokud je to vyžadováno. Šablony pro zadávací tabulky jsou součástí adresáře Templates a jejich podrobnější popis se nachází v dokumentu TR0144, viz nápověda AD.
Obr. 10. Ukázka popisu parametrů IPC Batch Footprint generátoru z průvodce TR0144
3D modely
Do nákresu footprintu se, mimo plošného motivu, umisťuje i 3D reprezentace pouzdra použitá pro 3D vizualizaci komponenty na plošném spoji. 2D a 3D režim se přepíná, stejně jako v PCB editoru, pomocí kláves 2 a 3 v alfanumerické části klávesnice. 3D objekty obecně jsou ve 2D zobrazení interpretovány šrafováním ve tvaru svého půdorysu. Seznam všech 3D objektů daného footprintu a jejich základního nastavení máme k dispozici v menu Tools -> Manage 3D Bodies for Current Component . 3D objekty se vkládají pomocí příkazu Place -> 3D Body . Zde jsou, stejně jako pro PCB editor, čtyři hlavní možnosti – Extruded , Cylinder , Sphere a Generic STEP model . Ty slouží, s výjimkou poslední jmenované, pro vytváření objektů ve tvaru kvádru, válce a koule. Každý obsahuje nastavení názvu, rozměrů, pozice, barvy, průhlednosti a vrstvy, ve které se objekt bude nacházet. Postupným přidáváním 3D objektů lze vytvořit vcelku rychle 3D model dostatečně přesně (z hlediska hlavních rozměrů) reprezentující reálný tvar pouzdra. Poslední možnost vložení 3D objektu nabízí import 3D modelu ze STEP souboru, který může obsahovat 3D model pouzdra v jeho skutečné podobě. Formát STEP podporují pro import i export všechny běžné 3D mechanické CAD programy. Tímto způsobem můžeme do footprintu (a podobně i do vlastního plošného spoje) vložit prakticky libovolný 3D objekt. Při importu STEP souboru máme na výběr ze dvou možností – Embed STEP Model , kdy bude 3D model zkopírován do footprintu (nebo PCB), anebo – Link To STEP Model , kdy dojde k vložení objektu pouze formou odkazu. Druhá možnost dovoluje dynamické změny 3D objektu podle daného STEP souboru. Tato možnost je spíše vhodná pro kabeláž a různé kryty v PCB projektu.
Vkládání STEP modelů je spojeno s nutností jejich přesného umístění na existující motiv. V menu Tools -> 3D Body Placement naleznete sadu nástrojů pro správné umístění 3D modelu, které jsou aktivní v 3D módu zobrazení. Postup se obvykle skládá ze zadání tzv. Snap points neboli uchopovacích bodů, které odpovídají nějakému objektu na jiném, již existujícím, objektu. Například jím může být ploška padu číslo 1, která odpovídá spodní straně nožičky číslo 1 pouzdra. Podrobnější umístění modelu lze provést ručním uchopením objektu a jeho přesunem (rotace pomocí mezerníku) nebo přesným posunem o danou číselnou hodnotu pomocí panelu PCBLIB Inspector .
Pokročilejší 3D modely komponent lze vytvářet, jak již bylo zmíněno, v mechanických 3D CAD programech, které však nejsou vždy k dispozici. Naštěstí existuje internetový portál www.3dcontentcentral.com a další jemu podobné (od některých výrobců), kde naleznete značné množství již připravených 3D modelů komponent zdarma ke stažení, a to nejen mechanických, ale přímo pouzder elektronických součástek ve vysoké kvalitě zpracování. Mimo tohoto portálu existuje i několik komerčních portálů, které nabízejí modely za poplatek.
Dalším zdrojem 3D modelů mohou být soubory ve formátu VRML a IGES, které však nelze vložit do PCB nebo footprintu přímo. Vložení probíhá prostřednictvím odkazu na PCB3D knihovnu, která dokáže tyto soubory importovat. Použití PCB3D knihoven je však v AD na ústupu, takže hlavním a perspektivním přístupem zůstává import STEP souborů přímo do footprintu.
Obr. 11. 3D model pouzdra importovaný ze STEP modelu
Modely pro simulace
Komplexní obvodové simulační modely se do knihovního projektu zadávají prostřednictvím souborů vytvořených jako soubory z File -> New -> Mixed-Signal Simulation , běžně se však zadávají pouze odkazy na již existující modely ve standardních formátech. Obvodové simulace jsou prováděny s modely typu Spice3f5 a simulace signálové integrity s modely IBIS 3.2. Oba typy modelů mají otevřenou strukturu, textový charakter a známé postupy jejich vytvoření. Předpřipravené modely, většinou součástek ideálního charakteru, naleznete v adresáři knihoven pojmenovaném Sim . Reálné modely pro simulace, ať už pro simulace obvodové nebo simulace signálové integrity, naleznete především u výrobců daných komponent. Část renomovaných značek tyto modely poskytuje. V případě nedostupnosti těchto modelů nebo nevyhovující přesnosti je možné vytvořit modely vlastní (především pro jednoduché komponenty). Vzhledem k tomu, že se jedná o častý problém, tak AD nabízí generátory simulačních modelů.
Obvodové simulační modely lze vytvářet prostřednictvím průvodce v menu Tools -> Xspice Model Wizard . Zde jsou k dispozici některé typy součástek, jako například dioda, tranzistor nebo ztrátové vedení. Stejné a ještě větší možnosti jsou dostupné během přidávání modelu do dolního seznamu modelů komponenty (tlačítko Add nastavené do polohy Simulation ). V seznamu Model Kind jsou uvedeny všechny hlavní kategorie druhů modelů z nichž základní je kategorie General . Zde se nacházejí pasivní prvky, které v základním nastavení dovolují přímé zadání velikosti fyzikální veličiny ideálního prvku (například kapacity) bez nutnosti existence podrobného modelu. Tyto simulační modely jsou pro součástky ideálního charakteru a hodí se především pro nízkofrekvenční orientační simulace. Do položky Generic Editor se zadávají obecné modely, které nelze zařadit do žádné z existujících kategorií. Pomocí Browse nastavíme cestu na daný soubor s modelem (koncovky mdl, ckt) a vybereme konkrétní model. V záložce Port Map je pak nutné zkontrolovat napojení modelu na komponentu.
Simulační modely signálové integrity se zadávají podobně, do dolního seznamu modelů komponenty (tlačítko Add nastavené do polohy Signal Integrity ). Zde pouze nastavíme daný typ komponenty, případně jeho technologii výroby pro integrované obvody, a dále pak buď přímo zadáme hodnotu hlavní fyzikální veličiny součástky (rezistivita, kapacita, indukčnost), nebo importujeme odpovídající soubor s IBIS modelem ( Import IBIS Model ). Pokud model dané komponenty není dostupný, tak jej lze pro některé typy komponent ručně zadat nebo pro existující model všech typů upravit jeho parametry tlačítkem Add/Edit Model .
Jak již bylo zmíněno v kapitole o vytváření symbolu komponenty, nezapomeňte využít možnosti svázání hodnot simulačních modelů s parametry komponent. Není pak nutné opakovaně kontrolovat nastavení modelu vůči hodnotě uvedené v soupisce součástek a podobně.
Závěrem snad již jen poznámka, že kvalita simulačních modelů přímo určuje důvěryhodnost výsledků simulací. Nepodceňujte proto vyhledávání kvalitních simulačních modelů, pokud chcete získávat kvalitní výsledky ze svých simulací.
Obr. 12. Nastavení obvodového simulačního modelu
Dokončení knihovny
Dokončení knihovny je velice prosté. Jak již bylo popsáno, vlastní soubor integrované knihovny je vytvořen ve chvíli kompilace příkazem Project -> Compile „název_projektu.LibPkg“ . Soubor ve tvaru „název_projektu.IntLib“ [2] je automaticky uložen do podadresáře projektu Project Outputs for „název_projektu“ a knihovna je také automaticky nainstalována pro přímé použití. Toto lze změnit v nastavení projektu knihovny Project -> Project Options... na záložce Options . Před kompilací můžete využít také funkce Component Rule Check v menu Report , která vyhledá a označí chybně vytvořené části komponent.
Následné úpravy knihovny lze provádět v původním projektu knihovny (koncovka LibPkg) nebo otevřením souboru knihovny s koncovkou IntLib, kdy se AD dotazuje, zda si přejete knihovnu rozbalit pro editaci ( Extract Sources ), nebo nainstalovat pro obecné použití ( Install Library ). Při zadání rozbalení je založen nový knihovní projekt se zdrojovými soubory této integrované knihovny, který po kompilaci vytvoří identickou integrovanou knihovnu. Ta je ukládána opět do výstupního adresáře, knihovního projektu. Původní knihovna tedy zůstane kompilací nedotčena a je ji potřeba nahradit na původním místě po příslušných kontrolách ručně nebo změnit cestu pro výstupní soubory kompilace (ne příliš bezpečné).
Pokud se provádí úprava knihovny, tak tato změna není reflektována okamžitě do dokumentů, které tuto knihovnu používají (vložení komponenty z knihovny provede vytvoření nezávislé kopie komponenty v projektu). Toto chování by nebylo ani žádoucí, mohlo by totiž generovat neočekávané změny projektu. Aktualizaci komponent v potřebných dokumentech musí uživatel cíleně spustit příkazem Tools -> Update From Libraries... ve schematickém editoru a Update From PCB Libraries... v PCB editoru (aktualizace footprintů). Vyvolaný dialog v každém případě nabízí nastavení toho, co vše má být kontrolováno a aktualizováno z knihovny. Například u footprintu obvykle nechceme měnit pečlivě rozmístěné popisky. Po schválení aktualizace je vyvolán odpovídající formulář ECO pro přehled a schválení jednotlivých změn. Pro komponenty z databázových knihoven je zde ještě speciální funkce pouze pro aktualizaci parametru Update Parameters From Database... , která podstatně zjednodušuje aktualizaci dodatečných textových parametrů, jenž představují hlavní výhodu při používání databázových knihoven.
Databázová knihovna DbLib
Databázové knihovny slouží především pro jednodušší správu sdílených knihoven pro jedno návrhové oddělení nebo celou firmu. Databázová knihovna se skládá ze stejných prvků jako knihovna integrovaná. Používá jako svoje součásti všechny typy modelů, schematické značky ve schematických knihovnách atd. Změna nastává v propojení těchto jednotlivých částí do jednoho celku. Toto propojení je realizováno databázovou tabulkou v podobě jednoho záznamu (řádku) na jednu komponentu. Typ databáze může být různý. Od standardních databází typu SQL, Oracle (rozhraní ODBC, Data Link) až po jednoduché databázové tabulky z běžných kancelářských programů, jako je Microsoft Access nebo Excel, které lze pomocí těchto programů jednoduše spravovat. Soubor databázové knihovny s koncovkou DbLib pouze sdružuje informace o napojení na databázi a přiřazení významu jednotlivým záznamům/sloupcům databázové tabulky.
Odkazy do knihoven se provádí pomocí parametrů Library Ref (schematický symbol), Footprint Ref (footprint) a podobně pro další modely. Pokud je knihovna uložena mimo nainstalované knihovny, můžete pro každou tuto položku nadefinovat oddělený parametr končící slovem Path . V případě, že se jedná o společnou cestu, tak ji můžeme zadat globálně pro celou databázovou knihovnu pomocí menu Tools -> Options... a záložky Symbol & Model Search Path . Záznamy bez přiřazení speciálního významu jsou přidávány ke komponentě jako její parametry, což podstatně zlepšuje možnosti aktualizace, např. podle aktuálního stavu firemní skladové databáze, což je hlavní výhoda databázové knihovny.
Kteroukoliv knihovnu lze pomocí vestavěných nástrojů konvertovat na databázovou knihovnu, kde pak můžeme nahlédnout do struktury tohoto typu knihovny s dobře známými daty (po vytvoření nové databázové knihovny použijte průvodce Tools -> Import From Integrated Libraries... ), viz manuál na wikipedii Altium.
Speciálním typem databázové knihovny je SVN database library , která navíc od původní databázové knihovny podporuje SVN verzovací systém a knihovnu tak rozšiřuje o možnosti kooperované správy a ukládání historie změn. Toto verzování se netýká vlastní databáze, ale souboru knihovny s údaji o napojení na databázi, který však sám o sobě může být rozsáhlý.
Podrobnější popis databázových knihoven a práci s nimi si probereme v jednom z následujících dílů seriálu.
Závěr
Jak vidíte z uvedeného popisu, vytváření knihoven není obtížné a vynaložené úsilí při vytváření kvalitních knihoven podle Vašich požadavků, dostupných technologií a hlavně firemních zvyklostí se velice rychle vrátí v podobě rychlejšího a bezchybného návrhu vlastních projektů. Informace, které lze doplnit jako atributy jednotlivých komponent, mohou podstatně zjednodušit logistiku procesu objednávání komponent u dodavatele a zjednoduší i práci návrháře, protože návrhář má rychle a jednoduše dostupné podrobné informace o dané komponentě.
Inspirací pro vytváření knihoven může být rozsáhlý soubor dodávaných knihoven Altium Designeru, kde si můžete na četných příkladech prostudovat jakým způsobem jsou komponenty a jejich modely vytvořeny. Nelze jinak než doporučit se těchto příkladů držet, stejně jako respektovat IPC normy pro vytváření motivu pouzder na plošném spoji.
V našem seriálu se postupně propracováváme k pokročilejším tématům. V příštím díle se budeme věnovat možnostem využití hierarchické struktury schematického výkresu, všem nástrojům, které k tomu Altium Designer nabízí a důvodům proč je využít. Mezi ně patří i vícekanálový návrh projektu a postup při anotaci projektu.
Přílohy
[1] Pomocná převodní tabulka metrických a palcových rozměrů pasivních SMT komponent (xls, 3kB, zdroj wikipedia - Surface mount technology )
[2] Vytvořená integrovaná knihovna (IntLib, 0,25MB)