V minulém díle jsem popsal postup návrhu jednoduchého plošného spoje. Na tento návod bych rád navázal dalším dílem seriálu s bližším popisem ostatních nástrojů Altium Designeru a jejich možností. Jedná se o nástroje pro hromadné úpravy projektu, pro generování výstupních technologických podkladů a další informace o správě projektu v Altium Designeru.
Altium Designer (AD) disponuje velice silným nástrojem na hromadné úpravy veškerých parametrů objektů umístěných ve schématu nebo na plošném spoji (PCB). Výsledky lze dosáhnout několika způsoby.
Prvním krokem hromadných úprav v AD je označit všechny objekty, se kterými chceme pracovat. K tomu slouží nástroj Filter (klávesová zkratka F12), který aktivujeme v menu v pravém dolním rohu hlavního okna nebo v horním menu View->Workspace Panel. V těchto menu jej nalezneme pod položkami SCH, PCB, SCHLIB a PCBLIB jako SCH Filter, PCB Filter atd. podle toho jaký typ dokumentu je momentálně aktivní. Tyto varianty nástroje Filter vždy obsahují společnou základní část, ve které vytváříme výraz, který popíše objekty, jenž mají být označeny nebo přidány k již existujícímu výběru. Stejně tak můžeme aktivovat funkci filtru pomocí pravého tlačítka myši v dokumentu, kde nalezneme položku Filter (F). Tato obsahuje jinde nedostupnou nabídku Examples (F, E) poskytující několik užitečných ukázek jednoduchých i komplexních filtračních výrazů, například výběr všech komponent ve schématu bez přiřazeného pouzdra pro PCB nebo výběr všech otvorů v PCB v daném rozsahu průměrů.
Obr. 1. Panel Filter
Před popisem syntaxe výběrového výrazu zmíním dvě jednodušší a velice rychlé možnosti výběru hledaných objektů. První je interaktivní výběr objektů, který se skrývá pod označením Find Similar Objects (Shift+F). Pokud není v době aktivace příkazu vybrán žádný objekt, tak vás AD vyzve k výběru referenčního objektu. Po tomto kroku se objeví okno obsahující všechny vlastnosti tohoto objektu, u kterých v pravé části řádku můžeme zvolit jednu ze tří možností podle toho, jakou shodu dané vlastnosti u hledaných objektů vyžadujeme:
V dolní části dialogu ještě můžeme zvolit, zda má být provedeno přiblížení zobrazení vybraných objektů (Zoom Matching), označení objektů splňující zvolené podmínky (Select Matching), zrušení existujícího výběru komponent (Clear Existing – deaktivací jsou objekty přidány k existujícímu výběru), zapsání výrazu navoleného pomocí tohoto příkazu do okna nástroje Filter (Create Expression), zvýraznění odpovídajících objektů pomocí maskování ostatních objektů (Mask Matching) a automatická aktivace nástroje Inspector (Run Inspector – viz kapitola Inspector), aby mohly být okamžitě prováděny hromadné úpravy vlastností objektů. Dále lze zvolit pole působnosti vyhledávání na aktuální dokument (Current Document), nebo všechny otevřené dokumenty (Open Documents). Pro PCB dokumenty je položka Mask Matching nahrazena výběrem Normal, Mask, nebo Dim, kde volíme formu zvýraznění. Nastavení Normal jednoduše označí objekty výběru, nastavení Mask navíc nevybrané objekty převede do šedé palety barev a nastavení Dim ostatní objekty pouze zatmaví. Po potvrzení volby nástroje Filter vznikne filtrační výraz popisující zadané podmínky a to bez znalosti syntaxe výrazů.
Obr. 2. Okno Find Similar Objects
Druhou možností výběru je příkaz Build Query… (Shift+B), který je dostupný pouze v PCB dokumentech. Po jeho aktivaci se objeví okno umožňující vytvoření filtrovacího výrazu prostřednictvím sestavení věty nebo souvětí. Jednotlivé věty se skládají z podmínky (objekt náleží komponentě, spoji, vrstvě atd.) a hodnoty podmínky (název komponenty, spoje, vrstvy atd.). Věty pak lze spojovat pomocí logických výrazů AND a OR, nebo vytvářet rozvíjející věty (vnořené podmínky), které zpřesňují větu základní. Rozvíjející věty jsou pak vytvářeny horizontálním posuvem věty směrem vpravo (šipka v menu) do vyšší úrovně (Level s vyšším číselným indexem). Nabídky v dolní části dialogu (Zoom Matching až Run Inspector) jsou shodné s nabídkami popsanými u příkazu Find Similar Objects. Výsledkem takto vytvořeného souvětí je opět výběrový výraz v syntaxi nástroje Filter, který se interaktivně zobrazuje v pravé části dialogu (Query Preview) v průběhu vytváření souvětí.
Obr. 3. Dialog pomocného nástroje Build Query
Tyto dvě popsané možnosti umožňují efektivní vytváření výběru objektů podle různých kritérií. V některých případech, jako je například vyhledání objektu s hodnotou parametru v určitém rozsahu, je nutný ruční zásah do vyhledávacího výrazu, který se zapisuje do textového pole nástroje Filter. Zkušený uživatel jej může vytvořit přímo zapsáním podle syntaxe tzv. Query Language, viz dokumentace. Pro méně zkušené uživatele je připraven pomocný nástroj Helper, který se aktivuje tlačítkem na panelu Filter. Dialog obsahuje seznam dostupných funkcí a objektů, kde je možné vyhledat potřebný zápis a pomocí operátorů výraz zapsat. Podrobný popis vybrané funkce lze vyvolat stisknutím klávesy F1. Velice dobrou funkcí je validace výrazu pomocí tlačítka Check Syntax, která kontroluje zapsaný výraz. Bohužel identifikace chybného zápisu není příliš podrobná. Omezuje se pouze na chybové hlášení, že výraz není interpretovatelný. Mimo nástroje Helper je také dostupný nástroj Builder, který odpovídá dialogu Build Query, jenž je popsán výše. Použité výběrové výrazy jsou ukládány pro možnost opakovaného použití pod tlačítkem History. Často používané výrazy pak lze uložit pod tlačítkem Favorites. Verze panelu Filter pro PCB obsahuje tlačítko navíc Create Rule, které umožňuje přímo vytvořit libovolné pravidlo pro návrh PCB, které bude platit pro objekty popsané prostřednictvím zapsaného výběrového výrazu. Význam ostatních položek vychází z již popsaných možností limitace výrazu na vybrané objekty, například přiblížení výběru atd.
Obr. 4. Dialog pomocného nástroje Helper
Varianty SCH, PCB, SCHLIB a PCBLIB panelu Filter se mírně liší podle toho, jaké funkce jsou pro daný typ dokumentu dostupné. Například se jedná o výběr všech komponent pro aktuální knihovnu.
Objekty lze hromadně editovat pomocí dvou panelů – List a Inspector. Tyto nástroje jsou opět uvedeny ve variantách SCH, PCB atd. jako uvedený nástroj Filter.
Panel List (Shift+F12) slouží k rychlému přehledu objektů a k upravování jejich základních parametrů. V horní části panelu List lze vybrat nastavení „selected objects“a panel List pak zobrazuje pouze vybrané objekty, což je praktická vlastnost pro hromadné úpravy skupiny objektů. Zároveň je možné ve stejné části definovat typy objektů, které se budou v seznamu zobrazovat (komponenty, spoje atd.). Zobrazené vlastnosti objektů odpovídají položkám v dialogu Properties jednotlivých objektů. Jejich uspořádání je možné upravit v menu Choose Columns… v kontextovém menu. V základním stavu je však List přepnutý do režimu View, kde lze pouze prohlížet vlastnosti objektů. Pro možnost jejich úprav musíme změnit režim v levém horním rohu nástroje List z View na Edit, popřípadě tuto akci lze provést kdekoliv v okně nástroje pravým tlačítkem myši. Tabulka objektů se pak změní na obyčejnou tabulku známou z tabulkových editorů. Vybranou buňku s parametrem můžeme editovat pomocí standardní klávesy F2. Výběr skupiny buněk se rovněž provádí pomocí kláves Shift (výběr úseku) nebo Ctrl (výběr jednotlivě). Další možnosti výběru (Select All, Row(s), Column(s)) nalezneme v kontextovém menu. Zároveň je zde dostupná položka Zoom Selected, kde lze vybrané objekty přiblížit v okně odpovídajícího dokumentu.
Obr. 5.a) Panel SCH List (nahoře) a b) PCB List (dole)
Vlastnosti objektů lze mezi sebou kopírovat a docílit hromadných úprav velice rychle a efektivně. Vlastnosti binárního charakteru (True/False) jsou interpretovány pomocí zaškrtávacího políčka (CheckBox). Hromadná úprava těchto buněk není přímo podporována funkcí menu, ale do schránky lze zkopírovat žádaný stav políčka (zaškrtnuté nebo prázdné) a pak jej vložit do vybraných buněk.
Pokročilejší úpravy nástrojem List lze dosáhnout pomocí funkce Smart Grid. Tato funkce je dostupná ve dvou variantách Smart Grid Paste a Smart Grid Insert. První varianta upravuje vlastnosti existujících objektů a druhá vytváří objekty nové s definovanými vlastnostmi. Předpisy k vytvoření nových objektů nebo k úpravám vlastností již existujících objektů se u této funkce získávají ze schránky. Tím je umožněno použít data z různých informačních zdrojů. Mezi ně patří firemní dokumentace, katalogové listy atd. Podrobnější informace lze nalézt například zde a v nápovědě v dokumentu TR0104 na straně 115.
Panel Inspector (F11) slouží stejně jako nástroj List k rychlým úpravám parametrů objektů. Objekty v něm lze upravovat jednotlivě i hromadně. Panel zobrazuje v jednotlivých řádcích parametry vybraných objektů rozdělené do kategorií a vedle nich aktuální hodnotu těchto parametrů. Pokud jsou hodnoty různé, tak jsou nahrazeny symbolem „ ”. Hodnoty parametrů lze změnit třemi způsoby:
Obr. 6.a) Panel SCH Inspector (vlevo) a b) PCB Inspector (vpravo)
Dialog Smart Edit slouží pro editaci parametru, kdy výsledkem úpravy není pouze jedna hodnota společná pro všechny vybrané objekty. Obsahuje dvě záložky – Batch Replace a Formula. První slouží pro hromadné nahrazení části, především textu, daného parametru za jiný text. V levé části se zadává nahrazovaný řetězec a v pravé řetězec, kterým se nahradí původní spojení. Navíc je možné zadat několik takovýchto nahrazení pod sebou v oddělených řádcích a tím několikastupňově transformovat parametr podle aktuálních požadavků v jednom kroce. Druhá záložka Formula pak slouží pro ještě komplexnější úpravy. Jedná se o vygenerování nové hodnoty parametru, například v závislosti na ostatních parametrech nebo původní hodnotě parametru.
Obr. 7. Obě záložky dialogu Smart Edit – a) Batch Replace (vlevo) b) Formula (vpravo)
Jejich základní funkce spočívá v použití matematických operací, kdy lze využít kterýkoliv jiný parametr komponenty a použít jej buď přímo, nebo modifikovaný matematickou operací či zkrácením. Výborně lze této vlastnosti využít například při posouvání skupiny komponent (nebo i jednotlivě), kdy v poli parametru X1 vyplníme X1+1000mil a všechny komponenty ve výběru se posunou o 1000mil vpravo. Pro zjednodušení zápisu je možné použít místo hodnoty aktuálního parametru (v tomto případě X1) zástupný znak „!“, což zkracuje zápis výrazu. Tento zástupný znak funguje i v případě parametrů s hodnotou udanou textovým řetězcem, ke které se pomocí znaménka plus připojuje další řetězec. Pomocí funkce Copy pak lze naopak původní řetězec zkrátit – vybrat z něj potřebnou část. Funkce má tři parametry a to ve tvaru – Copy(název parametru objektu, pozice prvního znaku k vyjmutí, počet vyjímaných znaků). Přičemž název parametru použitý kdekoliv ve výrazu nesmí obsahovat mezeru. Pokud je mezera v názvu parametru použita, tak musí být nahrazena podtržítkem „_“ jak varuje nápověda v záložce Formula. Uvedeno na příkladu – komponenta má parametr Component Comment s hodnotou „DTSM-61-NR“. Pomocí modifikačního výrazu ‘ADT‘ + Copy(Component_Comment,5,6) vznikne výsledná hodnota „ADT-61-NR“.
Do pole panelu Inspector lze přímo zadávat modifikační výrazy pro parametry s číselně zadanou hodnotou stejně jako v záložce Formula v dialogu Smart Edit. Pro hodnoty v textové podobě lze použít výraz pro nahrazení části textu v podobě {starý text = nový text} podobně jako v záložce Batch Replace.
Stejné matematické operace lze aplikovat na položky v nástroji List, ale z principu je jejich použití efektivnější v nástroji Inspector, kdy jednou položkou ovlivníme všechny vybrané objekty. Stejného efektu dosáhneme u nástroje List vložením matematického výrazu prostřednictvím schránky.
Smart Paste (Shift+Ctrl+V) je nástroj podobný nástroji Smart Grid. Využívá rovněž data ze schránky, která pomocí dialogu transformuje do vyžadovaného objektu. Funkce tohoto nástroje je dokumentována pouze pár řádky. Pokusím se přiblížit postup použití.
V levé části dialogu (Choose the objects to paste) můžeme zvolit, jaké objekty ze schránky chceme použít pro transformaci a následné vložení. V horní části jsou objekty, které dokáže AD interpretovat jako své vlastní objekty, ve spodní pak objekty, které interpretuje jako obecné objekty pocházející především z ostatních aplikací. Obvykle jsou některé objekty uvedeny v obou oknech zároveň, vybíráme pak jakým způsobem s nimi má AD zacházet. Zároveň lze pak vybrat vložení toho samého objektu ze schránky různými způsoby. Zajímavou možností je vložení obsahu schránky v podobě obrázku (Pictures). Tato možnost je velice vhodná pro přidávání doplňkových informací do schématu.
V prostřední části (Chose Paste Action) volíme transformační akci, tzn. jaký objekt má z vkládaného objektu vzniknout. Pro zachování původního typu objektu je potřeba vybrat položku Themselves. Ostatní položky vytvářejí objekt podle toho jak jsou pojmenovány. Pod tímto seznamem je pak soubor nastavení Options pro upřesnění konverze.
Poslední položkou zcela vpravo je Paste Array menu sloužící k vytváření mnohačetného vložení objektů podle zadaných pravidel – počet sloupců a řádků, rozestupy v obou těchto směrech a hodnota, o kterou má být v kterém směru zvětšováno označení vkládaných komponent. Zajímavá je možnost použití záporných hodnot rozestupu vkládaných objektů. Tímto způsobem dojde k vkládání objektů místo standardního směru zleva doprava nebo shora dolu na směry zprava do leva nebo zdola nahoru, což může být často užitečné.
Ve spodní části dialogu se pak v každé chvíli zobrazuje slovní popis prováděných operací jak bude který objekt transformován a následně vložen. Pokud je transformace neproveditelná, tak je vypsáno hlášení, že původní objekt bude vložen bez provedení jeho modifikace, tj. v jeho původní podobě.
Obr. 8. Dialog Smart Paste
Mimo funkce Smart Paste, která je dostupná pro schematický editor, je pro ostatní editory (PCB, SCHLIB, PCBLIB atd.) dostupná funkce Paste Special, která neobsahuje transformační funkce, ale je zachováno mnohonásobné vkládání Paste Array a jsou zde možnosti vztahující se k činnosti v aktuálním editoru, jako například kopírování cesty spoje na PCB se zachováním jejího přiřazení k signálu apod.
Storage Manager je nástroj umožňující sledování jednotlivých dokumentů v projektu. Tento panel zobrazuje adresářový strom aktuálního projektu a ve vedlejším okně pak soubory v aktuálně vybraném adresáři projektu. Pro vybraný soubor s dokumentem, např. schématu nebo desky plošného spoje, se pak v dolní části panelu Storage Manager označené jako Time line objeví historie vývoje tohoto dokumentu. Zde jsou zaznamenány informace jako číslo verze, čas jejího uložení a její autor. Pro uživatele jsou pak dostupné 4 důležité funkce v kontextovém menu pro konkrétní verzi vybraného dokumentu.
Výhodou je, že do zobrazení verzí se nepřipojují automaticky generované zálohy rozpracovaného projektu (Preferences->System-> Backup). Zobrazené jsou pouze verze ručně uložené uživatelem.
Obr. 9. Panel Storage Manager
Altium Designer samozřejmě podporuje přímé propojení na specializovaný nástroj pro správu verzí (viz menu Tools->Preferences->Version Control), které rozšíří možnosti správy a archivace projektu.
Základním výpisem při návrhu plošného spoje je seznam použitých součástek. Tento výpis v AD nalezneme v položce menu Reports->Bill of Materials (R,I). Otevřený dialog nabízí v levé části výběr zobrazených sloupců (All Columns), které ve výsledném dokumentu seznamu součástek chceme mít uvedeny. Nad tímto seznamem je seznam informací, podle kterých mají být komponenty slučovány do skupin (Grouped Columns), tj. například všechny součástky se stejnou hodnotou pole Value atd. Seskupování komponent se provádí jednoduše přetažením chtěného parametru z kolonky All Columns do Grouped Columns, kde se vytvoří jeho kopie.
Takto popsané údaje z otevřeného projektu jsou pak uvedeny v pravé části, kde můžeme měnit pomocí přetahování sloupců pořadí zobrazení informací. Dále můžeme měnit pomocí kliknutí na záhlaví sloupce údaj, podle kterého bude seznam seřazen, nebo aplikovat filtr na zobrazené informace (Custom) stejně jako v běžných tabulkových editorech nebo seznamech.
Takto připravený seznam komponent je připravený k exportu. V dolní části dialogu vybereme výsledný formát dokumentu (XLS, PDF, CSV, TXT, HTML nebo XML) a šablonu podle které má být dokument vygenerován. Šablona musí být ve formátu XLS nebo XLT. V takovéto šabloně jsou předem definované buňky s odpovídajícím obsahem nahrazeny aktuálními údaji. Jejich seznam naleznete zde. Tímto způsobem můžeme použít různé šablony pro nákup komponent, pro vedení skladu nebo pro osazování a jednoduše je přepínat. Vlastní dokument se seznamem komponent pak vytvoříme pomocí tlačítka Export…, po jeho stisknutí vybereme umístění dokumentu a jeho název, čímž je jeho vytvoření dokončeno.
Pomocí nastavení Add to Project a Open Exported máme možnost zadat přidání vygenerovaného dokumentu se seznamem součástek do aktuálního projektu a zároveň jeho okamžité otevření, aby bylo možné výstup zkontrolovat.
Obr. 10. Dialog Bill of Materials
Za zajímavých funkcí stojí ještě za zmínku funkce Force Columns to View pod tlačítkem Menu v dolní části BOM dialogu. Tato funkce zajistí, aby v ukázkovém seznamu byly zobrazeny všechny sloupce bez ohledu na jejich počet pomocí automatické úpravy jejich šířky.
Zjednodušený výpis seznamu součástek lze získat pomocí funkce Reports->Simple BOM (R, O), který vygeneruje soubor prostého textu se seznamem s příponou BOM a soubor CSV pro jednoduché použití k dalšímu zpracování v jiných nástrojích. Oba tyto soubory jsou automaticky přidány do aktuálního projektu do složky Generated->Text Documents.
AD disponuje, mimo popsaného způsobu generování seznamu součástek, velice efektivní nástroj pro generování všech možných typů výstupů projektu. Všechna nastavení generování se sdružují pod jeden soubor označovaný jako Output Job s koncovkou OutJob, který vytvoříme v menu File->New->Output Job File (F, N, U). Kompletní popis možností tohoto nástroje by byl velice rozsáhlý, proto se omezím jen na základní popis kategorií výstupů a filozofii vytvoření výsledného dokumentu. Jedná se v podstatě o vytvoření graficky zadávaného skriptu pro generování dokumentu.
Obr. 11. Output Job File editor
Vytvoření souboru aktivuje editor, který se skládá ze dvou částí. Větší část vlevo je položka Outputs, která obsahuje následující oddělené sekce.
Assembly Outputs sdružuje položky nutné pro sestavení plošného spoje. Generují se zde osazovací předpisy, předpisy pro umístění komponent a umístění testovacích bodů. Documentation Outputs obsahují položky pro generování podkladu pro dokumentaci projektu. Nalezneme zde vytváření motivů plošných spojů, výstupy 3D vizualizace navrženého produktu a také další podklady jako jsou schematické dokumenty, výsledky simulací nebo např. podklady organizace adresního prostoru pro embedded aplikace. Fabrication Outputs slouží k vygenerování výrobních podkladů, jako jsou motivy plošného spoje, motivy pro masku spoje, vrtací předpis atd. Netlist Outputs umožňují vytvoření souborů popisujících propojení jednotlivých komponent a to hned v celé řadě formátů pro různé další inženýrské programy. Zajímavá je možnost vytvořit pomocí této položky i výstupy ve formátu VHDL. Poslední položkou jsou Report Outputs, které sdružují generování obou verzí soupisek součástek, kontrol navrženého spoje atd. Kompletní popis je dostupný například zde nebo v nápovědě v dokumentu TR0127.
Výběrem požadovaného výstupu se v odpovídající sekci vytvoří nový řádek, u kterého je možné dodatečně nastavit, jakého dokumentu se týká nebo pro jakou variantu návrhu se má generovat. Dvojím kliknutím na tento řádek vyvoláme podrobné nastavení parametrů pro daný výstup (vrstvy, barvy, rozšiřující možnosti). Prostřednictvím kontextového menu Page Setup… lze také nastavit fyzický formát a například barevnou škálu výstupu.
Po vytvoření požadovaných výstupů v pravé části editoru vybereme cílové výstupní „zařízení“ a postupným aktivováním řádků výstupu ve sloupci Enabled sestavíme pořadí dokumentů tak, jak mají být seřazeny ve výstupním dokumentu. Výstupní zařízení lze v kontextovém menu podrobněji nastavit podle požadavků. Dvojklikem na položku Enabled se zpřístupní možnost zadat pořadí generování výstupu přímo číslem, což je užitečné při následné změně pořadí výstupů.
Generování výsledného dokumentu pak zahájíme tlačítkem Publish To… . Veškeré nastavení jednotlivých reportů jsou uloženy v souboru OutJob a není je potřeba po změně zdrojových dat jakkoliv opět nastavovat.
Prostředí Altium Designer je vybaveno mnoha dalšími funkcemi, které usnadňují návrháři jeho práci nebo zlepšují kvalitu dosažených výsledků. Nástroje popsané v tomto dílu seriálu ale považuji za jedny z nejdůležitějších, pro které se vyplatí Altium Designer používat. Tyto nástroje podstatně zrychlují manipulaci s objekty, umožňují návrháři držet vedení projektu pod kontrolou a dovolují udržovat dokumentaci stále aktuální, což ve výsledku vede k nižší pravděpodobnosti chyb. Ovládnutí těchto nástrojů je tedy klíčové a otevírá podstatně širší možnosti návrhu.
Jak jsem již však uvedl v úvodu seriálu, každý návrhový systém pro plošné spoje stojí především na knihovnách komponent. Kvalita knihoven má přímý vliv na kvalitu návrhu. V příštím díle se proto budu věnovat postupu vytváření vlastní knihovny včetně 3D modelu komponenty, který lze následně použít pro 3D vizualizaci i kontrolu správnosti sesazení PCB do obalu produktu.