Knihovny pouzder MQFP a TSSOP
Dříve, než se v dalším oddílu pokusím vyložit motivaci programu
Genlib na obecné úrovni,
uvedu jako praktickou ukázku dvě knihovny pouzder, vygenerované s jeho pomocí ze zdrojového textu:
Pouzdra řad MQFP a TSSOP jsou vytvořena dle norem
JEDEC
MS-022B a MO-153F.
Knihovna pouzder řady MQFP byla vygenerována ze zdrojového textu
mqfp.pas; výsledek je v archivu
mqfp.zip. Protože pájecí body
zhruba odpovídají logickému typu 85, jak je předdefinován programem Layout,
nebyl v ukázce jejich typ měněn.
Pro pouzdra řady TSSOP je však třeba definovat tři nové typy pájecího bodu.
Výchozí zdrojový text je v souboru
tssop.pas,
mezistav a výsledek v archivu
tssop.zip.
Obě vytvořené knihovny byly uloženy zpět do formátu verze 4.30.
Tyto dvě řady mimoděk ukazují i další výhodu generování pouzder:
Uvedené normy sice podrobně a jednoznačně (až na povolené tolerance) specifikují
rozměry pouzder, avšak pro návrh desky nejsou rozměry pouzdra důležité tolik jako
tzv. footprint, který je od nich nutno odvodit. K tomu je potřeba nejen definovat
rozměry pájecích bodů (což se dělá mimo program Genlib), ale také polohy jejich
středů vůči polohám konců vývodů, udaným normou. Takovéto posunutí lze však snadno
parametrizovat, takže si jej každý uživatel může uzpůsobit dle zvolených rozměrů
pájecího bodu a svých technologických požadavků či možností.
P.H., duben 2007
Program pro generování knihoven pouzder
Program Genlib,
dostupný prostřednictvím WWW stránek systému Formica,
dovoluje generovat knihovny pouzder ze zdrojového textu,
který je zapsán v jazyce podobném zjednodušenému Pascalu.
Ačkoliv Formica (podobně jako naprostá
většina návrhových systémů) obsahuje vlastní grafický editor
knihovních prvků, podle mého názoru existují pro takovýto
program, coby alternativu vytváření knihoven interaktivně,
přinejmenším tři silné důvody:
Vytváření. Jednu (jednoduchou) součástku je asi vždy snazší
vytvořit graficky. Druhou (či pátou) součástku z téže řady je
stále snadné v editoru interaktivně odvozovat od té první. Ale co
když je podobných součástek mnoho desítek? Typickým případem
bývají řady konektorů; tak třeba knihovna
Lib_WAGO_mm.pcb jich
obsahuje celkem 170. Je zřejmé, že tady by se již velmi dobře
uplatnily nástroje, jimiž lze řadu pouzder parametrizovat, i za
cenu, že se na chvíli vzdám grafické interaktivity.
Kontrola. Asi před osmi lety našel vývojář (díky osazené
a nefungující desce), že pouzdro PLCC68 v knihovně LIB.pcb má
přehozené vývody 12 a 13. Chyba se tam dostala z knihovny
vytvořené v jiném návrhovém systému (který myslím navíc neměl
příkaz pro umístění řady vývodů) o dalších několik let dříve,
když si jiný návrhář uchystal celou řadu pouzder PLCC dopředu.
Samozřejmě také ve Formice lze kupříkladu nějakým prvkem pouzdra
omylem pohnout společně s jinými.
Správnost interaktivně vytvořených knihoven - vlastních a tím
spíše cizích - může ověřit jedině kontrola všech pouzder. Jenže
například výše zmíněná knihovna Lib_WAGO_mm.pcb obsahuje
dohromady přes 31000 prvků; i kdybych uměl každý ověřit v průměru
za vteřinu, kontrola mne bude stát den práce. Vizuální kontrolu
si ovšem mohu zjednodušit: tak třeba se mohu podívat, jak se
pouzdra z jedné řady spolu kryjí, když to nejsložitější zdvihnu
a přesouvám přes ta jednodušší; příkazem Select | Select |
Off-Grid Ones se mohu přesvědčit, zda vývody opravdu leží
v předpokládaném rastru; jiná množinová operace vyloučí čáry na
vrstvě, na které nemá žádná být; a tak dále.
Přesto však jsou spolehlivé kontroly pracné, téměř stejně pracné
jako samotné vytváření knihoven. Příčinou toho je jednak
složitost ověřované knihovny (v zásadě stále musím každé pouzdro
kontrolovat zvlášť), jednak (jakkoliv abstraktně to snad zní)
přílišná podobnost metod, jimiž pouzdra byla vytvořena, a metod,
jimiž je kontroluji. Jestliže však pouzdra vygeneruji programově,
o určité typy chyb (vývody 12 a 13, ale také o spoustu podstatně
složitějších chyb) už se mohu přestat starat, protože prostě
nenastanou. Na druhé straně, mnohé chyby, kterých se teď dopustím
jakožto programátor, budou ihned patrné vizuálně.
Údržba. V průběhu času se mohou vyskytnout důvody knihovny
různě upravovat např. v důsledku změn technologie nebo i změn
v samotném návrhovém systému. Přestože má Formica množinové
operace, které dovolují s knihovnou velmi efektivně pracovat jako
s celkem (takže lze snadno změnit třeba typ všech pájecích bodů
nebo vrstvu či velikost nápisů), hodně zásahů opět musím dělat individuálně,
pouzdro po pouzdru. A tím mohou vzniknout nové chyby, takže bych
měl provést nové kontroly. Podstatně jednodušší může být úprava
příslušných míst v programu, po které stačí knihovnu jediným
příkazem vygenerovat znovu.
Ze všech těchto důvodů na přelomu let 2002 / 2003 vytvořil Mikoláš Janota program
Genlib
(včetně stručného popisu jazyka) jakožto svůj semestrální
projekt. Ačkoliv by se třeba našly možnosti, jak definici jazyka
dále zjemňovat a popis pouzder tak ještě trochu zjednodušit, zdá
se mi, ze již nyní program Genlib výhody generování pouzder
ukazuje celkem přesvědčivě. Samozřejmě s návrhovými systémy
a jejich knihovnami pracují především návrháři; těžko mohu předem
odhadnout, jak blízký jim bude tento spíše programátorský přístup ke
knihovnám.
Rád bych proto všem případným zájemcům doporučil začít spíše u
ukázkové knihovny
a jejího zdrojového souboru než u studia syntaxe jazyka
- daleko názornější může být v souboru
genlib.pas něco
intuitivně změnit a podívat se, jak se to projeví.
P.H.
|