Jste zde

Úvod do Altium Designeru V. - hierarchický návrh

Moderní systémy pro návrh elektroniky již delší dobu využívají některé osvědčené koncepty z oblasti programování software. Mezi jeden z nich patří vytváření hierarchického návrhu pro elektronické schematické výkresy, který je především zpřehledňuje a také dovoluje efektivně použít opakující se části schématu bez jejich překreslování. Altium Designer doplňuje již klasický hierarchický návrh schématu o několik zajímavých funkcí jako jsou objekty Harness, Device Sheets a jednoduchá implementace multikanálového návrhu. Všechny jmenované pomůcky jsou hlavní náplní tohoto dílu našeho seriálu.

  Hierarchické členění schématu [1] přináší v první řadě přehlednost. Na nejvyšší úrovni (Top-level) je vytvořeno blokové zapojení hlavních částí návrhu jako je například zdroj, řídící část, uživatelské rozhraní apod. v podobě blíže nespecifikovaných bloků (Sheet Symbols). Každá tato část je pak tvořena příslušným schematickým listem obsahujícím definované vstupní a výstupní uzly označované jako porty, které jej propojují s ostatními částmi návrhu jak je to naznačeno na obr. 1. Schematické dokumenty tak získají strukturu podřazených a nadřazených listů (Sheets). Tento postup vede k rozčlenění návrhu na několik menších nezávislých obvodů, které mají jasně definované vstupy a výstupy. V důsledku tak může být návrh zařízení rozdělen mezi několik návrhářů, kteří řeší jednotlivé „moduly“ zařízení. Pokud je zařízení od počátku vhodně rozděleno, případné budoucí úpravy projektu se týkají pouze přepracování jednotlivých modulů ne celého projektu.

  Hierarchický návrh přitom není omezen pouze na dva stupně (hlavní a podřazený dokument), ale může obsahovat prakticky libovolné množství vnořených dokumentů, které se také mohou ve struktuře projektu v případě potřeby i opakovat, což vede k jednodušší správě shodných částí návrhu. Zmíněný postup je pak využit hlavně k tzv. multikanálovému návrhu zařízení (zařízení obsahuje několik shodných částí, např. pravý a levý kanál u stereo zesilovače, jednotlivé výstupy třífázového výkonového měniče atd.) nebo k vytvoření souboru ověřených částí návrhu označovaných v Altium Designeru (AD) jako Device Sheets.

Obr. 1. Naznačení propojení hierarchického návrhu schématu prostřednictvím společného pojmenování portů a bran Sheet Entry

Nastavení projektu

  Projekty plošných spojů (PCB), ale i další typy projektů v AD, jsou již při jejich založení nastaveny tak, aby automaticky došlo k rozpoznání hierarchické struktury a návrhář tak mohl okamžitě využívat výhod tohoto přístupu. Toto nastavení naleznete v menu Project->Project Options... na záložce Options pojmenované jako Net Identifier Scope (obr. 2). Základní nastavení automatického rozpoznání struktury projektu je obvykle vyhovující. Můžeme ale přímo použít nastavení Hierarchical, které znamená, že názvy jednotlivých spojů na schematickém výkresu jsou platné pouze na konkrétním listu kde jsou použity s výjimkou napájecích signálů tvořených značkami Power Port, které jsou platné (signály se vzájemně propojí) pro celý projekt. Toto nastavení vám zaručí bezstarostné používání obecných jmen signálů jako je Input, Gate nebo například Enable bez rizika jejich nechtěného propojení mezi několika listy schématu. Cíleného propojení signálů mezi schematickými výkresy dosáhnete umístěním objektu Port, kterému odpovídá ve vyšší hierarchické vrstvě objekt typu Sheet Entry se stejným pojmenováním (obr. 1), jak uvidíte dále.

  Nastavení projektu umožňuje také využít typ projektu Flat a Global, kde v prvním případě mají globální platnost pouze signály připojené na objekt Port (všechny schémata propojena porty bez hierarchického členění) a ve druhém případě mají globální platnost všechny signály (typické pro jednodušší CAD systémy, komplikovaná správa rozsáhlejších schémat). Tyto typy projektů se používají spíše ojediněle.

  Nová verze Altium Designer 10 navíc přináší ještě další nastavení Strict Hierarchical, které vytvoří i z napájecích signálů signály lokální. Toto nastavení je vhodné například pro vícekanálové návrhy s galvanickým oddělením napájení.

  Mimo zmíněná nastavení je na záložce Options ještě nastavení Netlist Options (obr. 2 vlevo), které úzce souvisí s hierarchickými schématy a to především pro jejich převod do plošného spoje v podobě netlistu. V PCB již spoje nemohou mít vícenásobné pojmenování jako ve schématu (běžně pro různé vrstvy hierarchie), tudíž systém pomocí těchto nastavení rozhoduje jaké pojmenování použije.

Obr. 2. Nastavení projektu pro využívání hierarchického návrhu

  Vlastní vytvoření hierarchie schématu vznikne vytvořením Sheet symbolu. Postupů k vytvoření je několik. Pokud existuje podřazené schéma, tak v hlavním schématu použijeme například funkci Design->Create Sheet Symbol from Sheet or VHDL. Po výběru odpovídajícího schématu vznikne jeho automaticky symbol, který už jen upravíme. Pokud podřazené schéma ještě neexistuje, tak pomocí Place->Scheet Symbol a Place->Add Sheet Entry vytvoříme potřebný symbol s jeho přípojnými bránami v hlavním schématu a následně pomocí kontextového menu a funkce Sheet Symbol Actions->Create Sheet from Sheet Symbol vznikne odpovídající soubor schématu s již připravenými porty napojenými na původní Sheet Symbol. Zde již stačí jen dokreslit vlastní elektrický obvod. Takto vzniklý soubor schématu má název podle uvedeného názvu souboru v Sheet Symbolu (druhý řádek pod popiskem Name). Kontrola a případné opravy propojení Scheet symbolu a jeho schematického listu se pohodlně provádějí prostřednictvím Design->Synchronize Sheet Entries and Ports nebo pomocí podobné funkce v kontextovém menu konkrétního Sheet symbolu (Sheet Symbol Actions).

  Hierarchicky vytvořená schémata se zpravidla používají pro složitější projekty. Mimo jejich vytvoření zde vyvstává otázka jak efektivně kontrolovat propojení všech spojů v rámci celé hierarchie schématu. V tomto případě je dobrou pomocí panel Navigator a především pak jeho nastavení v kontextovém menu Show Graph (obr. 3). Vybraný signál se při použití tohoto nastavení zvýrazní ve schématu a jednotlivé části signálu jsou propojeny červenými spoji. Podobného efektu lze docílit i pomoci nástroje Underline v pravé dolní části editoru (změna barvy mezerníkem). Držením klávesy a klikáním na značky portů nebo Sheet Entry můžeme rychle přecházet na další listy schématu. Rychle a efektivně tak zkontrolujeme všechna propojení a ujistíme se, zda jsou spoje funkční a kompletní.

Obr. 3. Kontrola propojení signálů s aktivovaným zobrazením Show Graph

Porty

  Mimo Sheet symbolů a jejich připojovacích bran Sheet Entry jsou součástí hierarchie schémat porty Place->Port (obr. 4), které jsou přímo napojené právě na Sheet Entry. Základní porty asi není nutné představovat. Doporučuji pouze u portů pečlivě nastavit směr signálu, tzn. zda jsou vstupní, výstupní nebo obousměrné. Toto určení směru dovoluje provádět některé z kontrol při kompilaci projektu a opět snižuje možnost chyby. K portům lze připojovat jak signály, tak i sběrnice. Přitom vždy musí odpovídat šířka připojené sběrnice a nastavení šířky portu (uvedeno v hranatých závorkách např. [1..8]). Stejně jako u signálů a sběrnic lze u portů nastavit barvu a zvýraznit tak kritické funkce.

  Porty se však vyskytují i v jiné podobě a tou jsou Power porty, Place->Power Port. Tyto symboly představují, jak již bylo zmíněno pro nastavení projektu Hierarchical, globální signály, které nemusejí mít odpovídající Sheet Entry. Vlastní grafická značka Power portu není rozhodující, propojení v rámci všech schémat je zajištěno pouze stejným pojmenováním portů a tím i signálů k nim připojených (červené zvýraznění na obr. 4). 

Obr. 4. Základní typy portů včetně napájecích portů s připojenou sběrnicí a signály
(elektrické propojení napájecích signálů je zvýrazněno červeně)

Objekty Harness

  K propojení jednotlivých schémat máme mimo signálů a sběrnic (sběrnice v AD je skupina stejně pojmenovaných signálů s různými číselnými indexy, např. A0, A1, A2...) k dispozici ještě objekty typu Harness (angl. spoutat), viz [2]. Harness umožňuje sloučit do jedné „sběrnice“ různě pojmenované signály a sběrnice, nebo dokonce i další Harness spoje. Takto sloučené signály pak lze jednoduše propojovat mezi různými částmi hierarchie s tím, že původní jednotlivé signály jsou dostupné na koncích Harness spoje (lze vytvořit i propojení s více konci větvením Harnessu).

  Harness propojení se vytváří nástroji z menu Place->Harness. Nejprve položíme Signal Harness spoj na požadované místo a k němu vytvoříme Harness Connector (objekt ve tvaru složené závorky). Na otevřenou stranu Harness konektoru pak postupně přidáváme Harness Entry pro jednotlivé signály. Pojmenování těchto Entry nemusí korespondovat s názvy připojených signálů. Definice vytvořeného Harnessu se automaticky přidává do projektu jako textový soubor s názvem schématu kde je použit a koncovkou Harness. V tomto definičním souboru můžeme Harnessy jednoduše editovat nebo vytvářet jejich další definice. Všechny vytvořené Harness konektory můžeme zpětně vyvolat v menu Harness položkou Place Predefined Harness Connector. Jednou nakreslený Harness konektor tak již tímto způsobem kopírujeme a nemusíme vytvářet konektor opět ručně. Další pomůckou je i Edit->Smart Paste, kde pomocí transformačních funkcí v prostřední části vytvoříme Harness konektor z názvů signálů ve schránce (pocházejících např. z dokumentace nebo pinů komponenty).

  K signálům (např. RD) uvnitř Harnessu (např. RAM) se lze přistupovat i bez Harness konektoru a to pomocí tečkové notace ve tvaru „název_Harnessu“.“název_Harness_Entry“ (RAM.RD), analogicky na obr. 5. Celý Harness spoj lze připojit běžným způsobem k portu. Port pak přebírá v základním nastavení barvu Harnessu pro lepší orientaci. Ke kontrolám propojení a aktualizacím Harness spojů slouží nástroj Tools->Harness Definition Problem Finder.

Obr. 5. Harness konektor a nástroj Harness Definition Problem Finder
(elektrické propojení signálů tečkovou notací je zvýrazněno žlutě, dialog upozorňuje na nesourodou definici sběrnice A v jiné části schématu)

Parametry

  Altium Designer je, jak jste pravděpodobně již zaznamenali, protkaný možnostmi používání uživatelských parametrů/atributů. Tato vlastnost se přirozeně ukazuje i v hierarchické struktuře návrhu, kde jednotlivé dokumenty získávají (dědí) parametry svých nadřazených dokumentů a to nejen přímo, ale i přes několik stupňů hierarchických úrovní. Parametry do této struktury můžeme pohodlně zadávat i prostřednictvím Sheet symbolů (obr. 6). V libovolné části podřazeného schematického dokumentu pak parametr voláme pomocí zápisu „=název_parametru“. Při několikanásobném použití stejné části schématu (např. zesilovač) lze v hierarchickém schématu docílit různého nastavení obvodu (např. nastavení zesílení).

Obr. 6. Multikanálový Sheet Symbol včetně nastavení jeho parametrů

Vícekanálový návrh

  Hierarchické návrhy schématu v Altium Designeru nabízejí, mimo ručního vícenásobného použití stejné části schématu, i tzv. vícekanálový návrh, který zajistí opakování automaticky, což je vhodné například pro měřící systémy s více senzory, stereo obvody apod. Tento vícekanálový návrh spočívá pouze v zadání klíčového slova Repeat v názvu Sheet symbolu ve formátu Repeat(název_symbolu, index_prvního_bloku, index_posledního_bloku), viz obr. 6.  Tento příkaz zajistí opakování daného bloku, které si můžete ověřit po kompilaci přepínáním dolních záložek schématu (fyzické zobrazení) opakovaného bloku, kde se mění indexy součástek, nebo pomocí Project->View Channels... Nastavení vícekanálového indexování popisků komponent se provádí v Project->Project Options... na záložce Multi-channel v políčku Designator Format.

  U vícekanálových návrhů je však nutné ještě řešit napojení signálů. Bez úpravy se připojený signál k Sheet Entry vícekanálového Sheet symbolu připojí shodně do všech těchto kanálů (vhodné například pro signály jako Reset, Enable apod.). Pokud však chceme do každého bloku připojit jiný signál, tak název Sheet Entry (např. Col) také doplníme klíčovým slovem Repeat, tentokrát již bez uvedení počtu opakování – Repeat(Col). Signál připojený k tomuto Sheet Entry bude doplněn odpovídajícími indexy daného kanálu, čímž vznikne sběrnice (ze signálu Col tak vznikne sběrnice Col[1..4]). Ve zbytku schématu tedy pracujeme se signálem jako se sběrnicí, viz obr. 7.

  Tyto manipulace s názvy signálů vedou v základním nastavení ke vzniku varování o mnohonásobném pojmenování signálů (Multiple Net Names) během kompilace schématu. Toto hlášení odstraníme buď přidáním značky No ERC (klávesová zkratka

, , ) nebo méně korektně přenastavením Project Options... na záložce Error Reporting na řádku Net with multiple names na No Report.

Dokončené vícekanálové schéma se do plošného spoje přenese již bez dalších úprav tak, že odpovídající komponenty jsou zde rozkopírovány v požadovaném počtu.

Obr. 7. Propojení vícekanálového Sheet symbolu [3]

  Vícekanálové návrhy jsou spojeny s využíváním regionů Rooms (červené ohraničení na obr. 8) na plošném spoji. Tyto regiony umožňují v PCB udržet fyzicky na jednom místě komponenty, které spolu úzce souvisí (v základním nastavení komponenty, které jsou ve schématu na jednom listu) jako například integrované obvody s jejich podpůrnými pasivními součástkami, celé bloky stabilizátorů apod. Pomocí konverze Component Class lze dodatečně vytvořit i několik Rooms pro jeden schematický list nebo je návrhář PCB definuje ručně. Při vícekanálových návrzích se však díky nim naplno využívá možnosti kopírování rozmístění komponent a jejich routování mezi jednotlivými kanály, což ve výsledku umožňuje provést rozmístění a naroutování pouze jednou. K tomuto účelu slouží v PCB dokumentu především funkce z menu Design->Rooms, především pak Arrange Rooms a Copy Room Formats. Nastavení je při troše experimentování intuitivní. Využití Rooms pro vícekanálové návrhy podstatným způsobem zrychluje práci.

Obr. 8. Zobrazení regionů Rooms v 3D PCB dokumentu (červené ohraničení)

Device Sheets

  Speciální formou Sheet symbolů jsou Device Sheets. Pomocí Place->Device Sheet Symbol se dostaneme do výběrového dialogu (obr. 9) dostupných schémat v přednastaveném adresáři. Tato schémata nám mají sloužit jako jistá forma knihovny, do které si můžeme ukládat již ověřené části schémat jako například stabilizátory napětí, komunikační rozhraní apod. Ověřená a funkční schémata jednoduše nakopírujete do zmíněného adresáře. Vložením vybraného Device Sheet symbolu do schématu dojde při kompilaci k připojení odpovídajícího schématu ze zmíněného adresáře do aktuálního projektu. Schéma je pak z projektu dostupné jako každé jiné schéma, pouze označené symbolem recyklace a dostupné pouze pro čtení (lze přenastavit v DXP->Preferences). Svoje ověřené obvody tak již nemusíte hledat po starších projektech a ručně kopírovat, případně se obávat co bylo při kopírování z obvodu vypuštěno.

Obr. 9. Ukázka dostupných Device Sheets

Anotace v hierarchickém návrhu

  Hierarchické návrhy jsou mírně komplikovanější kvůli číslování komponent. Snadno se stane, že například R1 bude v celém schématu použito mnohokrát. Tento stav nám pomáhá řešit nástroj Annotate Schematics... z menu Tools, viz [4]. Zde nastavíme jakým způsobem se mají komponenty v celém schématu přečíslovat. Pro zvolené nastavení stačí kliknout na Update Changes List a na Accept Changes. Anotaci lze provádět i pro vybrané schematické listy nebo vybrané komponenty pomocí Annotation Scope každého listu v tomto dialogu.

  Především pro použití vícekanálových schémat je pak žádoucí provést číslování i pro vícenásobně použité schematické listy. Za tímto účelem je vhodné použít nástroj Board Level Annotate (obr. 10) z menu Tools a v něm tlačítko Annotate a opět Accept Changes. Zde již dostane každá komponenta, která je fyzicky umístěná na plošný spoj, svoje unikátní fyzické označení tak jak jsme zvyklí jej používat. PCB dokument přitom musí být v Board Options... nastaven na zobrazování fyzických popisků.

  Mimo komponent se provádí anotace i pro vlastní schematické listy. Stručně řečeno jde o jejich očíslování tak, aby byla dokumentace projektu srozumitelná po jejím exportu do PDF nebo vytištění. K číslování listů se používají v šablonách schémat parametry SheetNumber (číslo aktuálního fyzického schematického listu po kompilaci), DocumentNumber (číslo původního logického schematického listu) a SheetTotal (celkový počet fyzických schematických listův projektu). Tyto jsou při exportu nahrazeny příslušnými hodnotami. Díky nástroji Number Schematic Sheets... v menu Tools můžeme vytvořit automatické očíslování listů pomocí tlačítek Auto Sheet Number, Auto Document Number a Update Sheet Count. Nástroj Number Schematic Sheets... je analogií anotace komponent. Stejně jako pro jednotlivé komponenty vícekanálového návrhu je vhodné ještě použít přečíslování jejich fyzické interpretace na plošném spoji, stejným způsobem je u vícenásobně použitých listů schématu vhodné provést jejich očíslování pomocí Annotate Compiled Sheets z menu Tools. Opět lze využít automatické číslování Annotate Sheet. Každý vícenásobně použitý list tak dostane vlastní číslo, které se objevuje na fyzických výstupních dokumentech.

Obr. 10. Nastavení Board Level anotace komponent

Závěr

  Závěrem je vhodné poznamenat, že využívání hierarchického návrhu je v AD volitelný postup. Pokud jej nehodláte jako návrháři používat, tak lze využít zmíněný Flat režim, tedy vytvoření projektu bez přímé hierarchické struktury. Vzhledem ke složitosti dnešních elektronických zařízení a komplexnosti používaných komponent je však hierarchický návrh dobrou pomůckou ke zvládnutí návrhu méně komplikovanou a bezpečnější cestou. O to více, když Altium Designer návrhářům nabízí celou řadu nástrojů pro rozšířené využití hierarchického návrhu a šetří tak váš čas.

  V dnešním dílu seriálu jsme se prostřednictvím regionů Rooms u multikanálového návrhu dostali okrajově k vlastnímu pokládání spojů (routování) na desce plošného spoje. V následujícím dílu si podrobněji probereme možnosti AD v této oblasti a to jak pro základní tak i pro některé pokročilé funkce.

Přílohy

Vzorový vícekanálový projekt (ZIP, 133kB)


[1] http://wiki.altium.com/display/ADOH/Connectivity+and+Multi-Sheet+Design
[2] http://wiki.altium.com/display/ADOH/Using+Signal+Harnesses
[3] http://wiki.altium.com/display/ADOH/Multi-Channel+Design+Concepts
[4] http://wiki.altium.com/display/ADOH/Understanding+Design+Annotation

 

Hodnocení článku: