Tworzenie bibliotek cz.2

Kerusey Karyu

Tytułem wstępu

W poprzednim artykule dowiedzieliśmy się jak tworzyć podstawowe symbole i footprinty, oraz jak zapisywać je w bibliotekach programu KiCad. Pewne opcje pominęliśmy, lecz w niniejszym artykule postaram się je Wam zaprezentować.
Najwięcej użytecznych opcji posiadają biblioteki symboli, dlatego też od nich zaczniemy.

Opis dotyczył będzie wersji programu KiCad z 24 lipca 2015. Jeśli używana wersja programu jest wersją wcześniejszą (lub późniejszą), mogą wystąpić znaczne różnice pomiędzy opisem a tym co oferuje zainstalowana wersja oprogramowania.

Aliasy, części składowe i Pan DeMorgan

System bibliotek pozwala na tworzenie bardziej zaawansowanych symboli, np. symboli zwielokrotnionych, symboli wieloczęściowych lub posiadających dwie różne postacie w zależności od kontekstu na schemacie.

Tworzymy symbole elementów posiadające aliasy

Co zrobić gdy mamy do narysowania wiele symboli posiadających kilka wersji różniących się tylko parametrami lub funkcjonalnością, ale nie różniących się pod względem liczby wyprowadzeń i obudowy? Przykładowo, bardzo popularny stabilizator z serii 78XX posiada obudowę TO-220 z 3 wyprowadzeniami: VIN, VOUT, GND. Produkowany jest on w całej gamie różnych napięć wyjściowych: 7805, 7809, 7812, itd.
Gdybyśmy traktowali wszystkie jego odmiany napięciowe jako oddzielne symbole to moglibyśmy stworzyć pierwszy przedstawiający 7805, a następnie użyć polecenia Stwórz nowy symbol na podstawie bieżącego, by utworzyć kolejne. Zaletą tego byłoby, iż nie musielibyśmy od nowa rysować całego symbolu czy wypełniać niektórych pól, gdyż zostałyby one sklonowane. Ta pozorna zaleta szybko zostałaby jednak przesłonięta przez następujące wady takiego rozwiązania:

  • Tworzymy kilka, a nawet kilkanaście symboli w sumie do tego samego elementu. Każda modyfikacja w jednym z nich, np. poprawienie błędu, musiałaby zostać powtórzona w przypadku innych.
  • Wielokrotnie zapisujemy w bibliotece definicję tego samego elementu co znacznie zwiększa objętość biblioteki i program dłużej ją odczytuje.

Programiści programu przewidzieli taką ewentualność i w tym celu stworzyli system tzw. aliasów.

Alias to nic innego jak odnośnik do pierwotnego symbolu, mogący posiadać inną nazwę i zawartość pól dokumentujących symbol. Alias nie zajmuje tyle miejsca w bibliotece, gdyż jest to tylko zapis w symbolu, iż posiada kolejne odnośniki i związane z nimi nowe dane dokumentacyjne.

Otwórzmy zatem program Eeschema skąd uruchomimy „Edytor Bibliotek. Najpierw narysujemy podstawową postać symbolu przykładowego elementu. Pamiętacie z poprzedniej części jak się to robi? Rysujemy prostokąt, dodajemy trzy piny, wypełniamy podstawowe pola i zapisujemy w bibliotece. Mój element wygląda następująco:

kkbiblio2_rys1Rysunek 1 Podstawowa postać symbolu

Wróćmy ponownie do okna z właściwościami symbolu. Interesuje nas zakładka Alias i zawarta tam lista. W tej chwili jest ona pusta, ale spróbujmy coś do niej dodać.
Kliknijmy przycisk Dodaj. Otworzy się małe okno dialogowe gdzie będziemy mogli wprowadzić tekst z nazwą aliasu. Wpiszmy tam 7809 i zatwierdźmy klawiszem OK. Do naszej listy dopisała się podana nazwa. Jak już jesteśmy w zakładce Alias dodajmy w ten sam sposób jeszcze kolejne aliasy: 7812, 7815 i 7824.

kkbiblio2_rys2Rysunek 3 Zakładka z aliasami w oknie właściwości

Pozornie nic się nie zmieniło. Dalej mamy otwarty symbol 7805. Spójrzmy jednak na pasek narzędzi. Odblokowała się jedna z list znajdująca się po prawej stronie. Jeśli ją rozwiniemy to zobaczymy nazwę symbolu i listę wpisanych uprzednio aliasów. Spróbujmy wybrać z listy 7809.
Znów pozornie nic się nie zmieniło. Zablokowała się ikona prowadząca do dokumentacji. Spójrzmy teraz na pasek statusowy na dole okna. Również i tu zniknęły pewne informacje.

kkbiblio2_rys3Rysunek 3 Wybrany jeden z aliasów

Wróćmy zatem jeszcze raz do właściwości symbolu. Tym razem nasze okno zmieniło nieco tytuł sygnalizując Nam, że mamy do czynienia symbolem 7809, który to jest aliasem symbolu 7805.
Zawartość zakładki Opis również jest pusta. Stało się tak dlatego, bo każdy alias może posiadać inną zawartość pól dokumentacyjnych, a my jeszcze ich przecież nie wpisaliśmy!

Część zawartości pól możemy skopiować z symbolu nadrzędnego. Zrobimy to, i pomoże nam w tym automatyka programu. Pod polami znajdują się dwa przyciski z których obecnie interesuje nas lewy Kopiuj pola z elem. nadrzędnego. Kliknijmy na niego.
Co się stało? Nasze pola zostały wypełnione danymi skopiowanymi z elementu 7805. Dokonajmy zatem kilku poprawek by dane te odnosiły się do aliasu. Zapisane tam nazwy elementu poprawmy na 7809 oraz poprawmy dane o napięciu wyjściowym, właściwym dla tegoż elementu:

kkbiblio2_rys4Rysunek 4 Pola dokumentacyjne symbolu

Skoro wiemy już o co chodzi to od razu dokonajmy tych samych zmian we wszystkich aliasach po kolei. Niestety musimy to zrobić zamykając okno właściwości symbolu przed wyborem następnego aliasu, gdyż nie ma innej możliwości zmiany wyboru.

No tak. W sumie wypełniliśmy pola, ale w dalszym ciągu na ekranie widzimy tylko nasz element 7805. Nie ma obaw. By sprawdzić czy wszystko działa zapamiętajmy nasz poprawiony symbol w bibliotece. Teraz otwórzmy Przeglądarkę bibliotek i znajdźmy naszą bibliotekę gdzie zapisaliśmy nasze stabilizatory. U mnie jest to nowo utworzona biblioteka stabilizatory.lib.
O dziwo w naszej bibliotece pojawiły się wszystkie nasze aliasy i element podstawowy. Jeśli z listy wybierzemy 7812 to na ekranie ukaże się nam właściwie podpisany element, a na pasku statusu w polu Element pojawi się nazwa 7805, a w polu Alias 7812. Wszystko działa jak należy!

kkbiblio2_rys5Rysunek 5 Pogląd zawartości biblioteki

Tworzymy symbole wieloczęściowe z możliwością ich podwójnej reprezentacji

Czy aliasy stosuje się też do rysowania elementów, które mają wiele części w sobie, na przykład bramki logiczne?Nie! Dla tego typu symboli przewidziano zestaw innych opcji pozwalający tworzyć elementy wieloczęściowe. Oczywiście jeśli utworzymy aliasy do elementów wieloczęściowych, to aliasy te odziedziczą także wieloczęściowość.
Jako przykład praktyczny takiego rozwiązania posłuży nam bardzo znany, choć mający za sobą już swoje lata świetności, układ TTL 7400. Jest to czterokrotna bramka NAND zamknięta w jednej obudowie o 14 wyprowadzeniach. Proponuję w tym miejscu wyszukać w sieci jakąkolwiek notę katalogową tego układu, gdyż będzie ona nam potrzebna przy numerowaniu wyprowadzeń.

Nasz element 7400 możemy narysować jako jeden symbol, tak by na schemacie widać było wszystkie cztery bramki. Takie podejście jest jednakże skrajnie niepraktyczne, gdyż marnujemy tym samym dostępne pole arkusza, bo nie zawsze wszystkie bramki są wykorzystywane; a także nie zawsze kolejne bramki są gdzieś blisko siebie, by połączenia między nimi były krótkie. Ponadto, gdybyśmy napotkali później problem z uproszczeniem ścieżek w obwodzie drukowanym przez zmianę kolejności bramek, musielibyśmy niektóre połączenia usunąć i utworzyć na nowo.
Wyżej wymienione problemy eliminuje właśnie możliwość utworzenia elementów wieloczęściowych, gdzie posiadamy zestaw mniejszych cząstek mogących pojawiać się w różnych miejscach schematu. Wieloczęściowość nie dotyczy wyłącznie bramek logicznych, choć są tutaj najlepszym przykładem; możemy ją również wykorzystać przy rysowaniu symboli wzmacniaczy operacyjnych, transoptorów, drabinek rezystorowych lub diodowych, itd.
Ponownie rozpoczniemy od utworzenia nowego symbolu w bibliotece, ale tym razem zatrzymamy się już na etapie pierwszego okna dialogowego jakie się otworzy. Do tej pory, wypełnialiśmy w tym oknie tylko nazwę nowego symbolu i klikaliśmy OK, gdyż reszta opcji nas nie interesowała lub nie była potrzebna. Tym razem musimy przyjrzeć się dokładniej dostępnym tam pozostałym opcjom.

kkbiblio2_rys6Rysunek 6 Tworzenie nowego symbolu

Odszukajmy tam pole Liczba części składowych w paczce. Normalnie zawiera on liczbę 1, co oznacza, że symbol ma tylko jedną część składową. Zmieńmy zatem tą wartość na 4 jak to pokazuje powyższy obrazek.

W tym miejscu moglibyśmy zakończyć klikając przycisk OK, ale nie zrobimy tego jeszcze, gdyż chcielibyśmy skorzystać jeszcze z innych możliwości wiążącymi się z elementami wieloczęściowymi.
Następną opcją mającą zastosowanie właśnie w przypadku bramek logicznych jest ich podwójna reprezentacja. Osoby zajmujące się techniką cyfrową pewnie pamiętają, że obowiązują tam pewne prawa, które możemy odzwierciedlić na schemacie. Dla pozostałych osób pokrótce opiszę o co chodzi.

Bramka logiczna NAND to w sumie połączenie bramki AND (iloczyn) z NOT (negacja). Gdy oba wejścia są w stanie H i tylko w tym przypadku, wyjście bramki AND przyjmuje stan H i trafia na wejście negatora NOT, który odwraca stan, stąd na wyjściu pojawia się stan L. Tą samą funkcję możemy zrealizować łącząc dwie bramki NOT i bramkę OR (suma), gdyż suma negacji to to samo co negacja iloczynu jak stanowi II prawo DeMorgana.

kkbiblio2_rys7Rysunek 7 II Prawo DeMorgana

W niektórych przypadkach na schematach lepiej będzie skorzystać z normalnej postaci bramki NAND, a w niektórych lepiej będzie skorzystać z postaci bramki OR z wejściami aktywnymi w stanie L, tak by jej funkcja była bardziej czytelna dla osoby widzącej schemat. Dlatego, aby móc z tej możliwości skorzystać włączymy dodatkową opcję: Twórz symbol z alternatywnym stylem DeMorgana. Spowoduje to, że będziemy musieli zaprojektować wygląd bramki dwukrotnie, przedstawiając ją w obu przypadkach. Coś, za coś.

Pozostała nam w tej chwili jeszcze jedna opcja warta omówienia w tym miejscu przed utworzeniem nowego symbolu. Spójrzmy na ostatnią opcję Części składowe nie są zamienne. Opcja ta przydaje się w elementach gdzie chcielibyśmy, aby Eeschema nie układał kolejnych części podczas automatycznej numeracji w sposób jaki jest mu wygodny. W przypadku naszego układu 7400 ta opcja nie będzie miała znaczenia, gdyż wszystkie cztery bramki składowe są identyczne. Jednak, gdybyśmy chcieli zaprojektować symbol układu CMOS 4000 to mamy tam do czynienia z dwoma trój-wejściowymi bramkami NOR i jedną NOT. Ich wzajemna wymiana poprzez automatyczny wybór części składowej nie jest z oczywistych względów w pełni możliwa.

Podsumowując. Ustalmy ilość elementów składowych na 4 oraz zaznaczmy styl DeMorgan i kliknijmy klawisz OK.

kkbiblio2_rys8Rysunek 8 Finalny zestaw opcji nowego symbolu

Po utworzeniu nowego symbolu w oknie edytora bibliotek pojawi się nam znajomy widok. Choć jak przesuniemy domyślnie utworzone pola na bok, to zauważymy, iż odnośnik wygląda nieco inaczej. Po znaku pytajnika dokleiła się literka A. Oznacza to, że mamy do czynienia z pierwszą częścią składową kompletnego symbolu, gdyż części składowe są rozróżniane za pomocą sufiksów składających się z kolejnych liter: A, B, C, D, itd.
Na pasku narzędzi też zaszły pewne zmiany. Tuż obok poznanej wcześniej listy aliasów uaktywniła się druga lista, pozwalająca wybierać poszczególne części składowe podczas edycji. Aktywne stały się również dwie ikony przełącznika pomiędzy oboma stylami DeMorgan.

W tej chwili zostawmy wszystko tak jak jest i zacznijmy rysować podstawową postać bramki NAND. Narysujmy za pomocą linii łamanej prostokątny fragment po lewej stronie bramki, a za pomocą łuku prawą stronę bramki. Będę tu korzystał z powszechnie znanego kształtu bramki a nie z wytycznych IEEE.
Teraz, korzystając z noty katalogowej układu ustalmy jakie piny powinniśmy dodać do naszej bramki i od razu dodajmy je. Przy dodawaniu pinu wyjściowego bramki zadbajmy o to, by na jego końcu pojawił się symbol negacji, wybierając odpowiednią opcję z listy wyboru.

kkbiblio2_rys9Rysunek 9 Narysowana bramka

Nasza bramka nie wygląda najlepiej, bo rysunek psują nieco nazwy pinów znajdujące się wewnątrz bramki. Możemy pozbyć się ich na dwa sposoby. Albo usuwając nazwy pinów i pozostawiając te pola puste, albo zaznaczmy by nie były one wyświetlane. Lepszym rozwiązaniem jest skorzystanie z drugiej możliwości, zatem kliknijmy na Właściwości symbolu i w pierwszej zakładce odznaczmy opcję Pokaż nazwę pinu. Od tej pory nazwy we wszystkich pinach w naszym symbolu nie będą wyświetlane, choć co ważne, w dalszym ciągu piny będą posiadać nazwy, o czym można się przekonać na pasku statusu naprowadzając kursor i klikając na pin.
Uważni czytelnicy pewnie zauważyli, że wyświetlanie nazw pinów mogliśmy już wyłączyć przy tworzeniu symbolu w pierwszym oknie. Tak, macie rację! Ale chciałem tym pokazać, że drobne błędy popełnione na początku są do poprawienia również później.

kkbiblio2_rys10Rysunek 10 Ogólne właściwości symbolu

Skoro mamy już gotową jedną bramkę to spróbujmy się przełączyć na następną korzystając z listy wyboru części składowych. Identyfikator się zmienił, ale druga bramka posiada te same piny jak pierwsza. Nie ma tu żadnego błędu, gdyż edytor podpowiada w ten sposób gdzie znajdują się kolejne piny i musimy im tylko zmienić numerację by wszystkie elementy składowe wyglądały identycznie. Gdybyśmy przypadkowo jakiś pin przesunęli w jednej z części składowych, to mielibyśmy później problem z ich wzajemną wymianą, bo punkt aktywny pinu mógłby nie trafić w końcówkę połączenia. Takie błędy są często dość trudne do wykrycia bez udziału ERC.
Korzystając z noty katalogowej zmieńmy numerację wyprowadzeń bramki B. Po ich wykonaniu zauważycie, że gdy przełączamy się pomiędzy częściami A i B to numeracja pinów się zmienia, więc wszystko jest w porządku. Zatem dokończmy wykonując podobne operacje dla części C i D.

Mamy już wszystkie piny przyporządkowane i odpowiednio ponumerowane. Ale zaraz, zaraz… Przecież nasz układ posiada jeszcze dwa piny służące do dostarczenia mu zasilania! Musimy jeszcze dodać po dwa piny do każdej z bramek, ale przecież te piny są wspólne. Jak to zrealizować?
Jak zwykle taka ewentualność została wcześniej przewidziana. Wróćmy do bramki A. Dodajmy najpierw pin VCC, ale zmieńmy w jego ustawieniach parę opcji. Zaznaczmy Wspólne dla wszystkich części w symbolu by ten pin pojawił się we wszystkich częściach składowych oraz posiadał ciągle ten sam numer. Zaznaczmy również Wspólne dla wszystkich stylów (DeMorgan) by pojawiał się on niezależnie od tego jaki styl wybierzemy. Odznaczmy też opcję Widoczny, gdyż z reguły pinów zasilania bramek logicznych się nie wyświetla, a program korzystając z wbudowanej automatyki sam dołączy porty zasilania do właściwych pinów korzystając z wpisanych nazw pinów. Teraz to samo zróbmy dodając drugi pin GND.

W zasadzie nie jest aż tak istotne gdzie ułożymy te piny, gdyż nie są one widoczne. Warto jednak je umiejscowić tak, by przypadkiem nie znalazły się na trasie jakiegoś sygnału na schemacie, bo przy tworzeniu listy sieci mogłaby się zdarzyć sytuacja, że pin zostałby podłączony do innej sieci. Dlatego też, warto skrócić do zera długość tych pinów i umieścić je w obszarze samego symbolu.

kkbiblio2_rys11Rysunek 11 Część A symbolu 7400 po poprawkach

Pozostało nam tylko jeszcze jedno zadanie: utworzyć alternatywny styl DeMorgan. Skorzystajmy zatem z ikony przełącznika stylów i przełączmy się na wyświetlanie drugiego stylu.
W zasadzie pozostałoby nam tylko narysowanie innej grafiki symbolizującej bramkę OR, gdyż wszystkie piny już posiadamy. Zatem narysujmy jej postać łącząc odpowiednie łuki i linie łamane. Niestety po tych operacjach wyszła nam normalna bramka NOR, a nie o to nam przecież chodziło. Musimy dla stylu DeMorgan niestety poprawić opcje pinów włącznie z ich numeracją.
Zamieńmy zatem postać dla pinów wejściowych z Normalny na Zanegowany, a dla pinów wyjściowych na odwrót. Następnie przełączmy się na kolejne części składowe B, C, D gdzie wykonamy te same operacje a także poprawimy wadliwą numerację pinów. Po tych operacjach nasza bramka powinna wyglądać tak:

kkbiblio2_rys12Rysunek 12 Część B symbolu 7400 w stylu alternatywnym

Tworzymy symbole wieloczęściowe składające się z różnych elementów składowych

Załóżmy, że tym razem musimy narysować przekaźnik. Chcielibyśmy jednak, by cewka przekaźnika była jedną częścią symbolu, a zestyki drugą częścią symbolu. Wiemy już, jak tworzyć symbole wielokrotne i wykorzystamy tą wiedzę, i przy okazji poznamy też kilka innych związanych z tym przypadkiem opcji. Naszym przykładowym przekaźnikiem niech będzie miniaturowy przekaźnik RSM850 na napięcie cewki 5V, który oprócz cewki posiada również parę zestyków przełącznych. Aby utworzyć zatem taki symbol potrzeba nam 3 części składowych.

Znów musimy rozpocząć od utworzenia nowego symbolu, ale tym razem nieco inaczej ustawimy pewne opcje.

rys13

Rysunek 13 Zestaw opcji nowego symbolu przekaźnika

Oprócz oczywistych opcji, takich jak adekwatna nazwa symbolu, oznaczenie i ilość części zaznaczyliśmy tylko dwie dodatkowe opcje.

Najważniejsza z nich podpowiada programowi by nie zamieniał części składowych przy automatycznej numeracji. Jest to zrozumiałe, bo częścią A będzie tu cewka z dwoma wyprowadzeniami, a częściami B i C będą styki. Oczywiście styki są równoważne i można je zamienić, ale próba zamiany styku na cewkę była by katastrofalna. Dlatego wyłączymy taką możliwość i sami będziemy później dobierać części na schemacie.

Co do drugiej opcji to zostawiamy by wyprowadzenia miały oznaczone numery, ale resztę wyłączamy jako całkowicie nieprzydatną. Chyba, każdy obeznany w schematach będzie mógł odróżnić co jest cewką, a co stykiem; no i który z nich to normalnie otwarty (NO), a który normalnie zamknięty (NC).

Przed narysowaniem jakichkolwiek wyprowadzeń musimy jeszcze upewnić się, że opcja edycji pinów element po elemencie jest aktywna. Gdyby okazało się, że nie, to musimy ją włączyć.

rys14

Rysunek 14 Ikona z lewej musi być zaznaczona

Na początek narysujemy cewkę i wstawimy jej dwa piny. Po narysowaniu prostokąta musimy odznaczyć opcję Wspólny dla wszystkich części w symbolu by tak narysowany prostokąt ukazywał się tylko przy wyświetlaniu dokładnie tej części.

rys15

Rysunek 15 Wszystkie rysunki muszą mieć odpowiednio ustawione opcje współdzielenia

Opcję tą musimy też odznaczyć przy rysowaniu wyprowadzeń w poszczególnych częściach.

rys16

Rysunek 16 Opcje pinów również trzeba odpowiednio oznaczyć

W tym miejscu od razu bardzo ważna rzecz. Trzeba zwrócić uwagę na to, że każda część składowa może mieć inny rysunek, piny, itp. Jednak nie dotyczy to pól! Oznaczenie i wartość, ewentualnie footprint czy inne pola użytkownika, w każdej z części będą dokładnie w tym samym miejscu. Zatem należy wybrać takie ich usytuowanie by było ono uniwersalne dla każdej części składowej. W symbolu przekaźnika umieściłem pola po lewej stronie i kazałem im się wyrównywać do lewej. W ten sposób nawet gdy numeracja schematu dopisze dość dużą liczbę po literach PK, to napis zawsze będzie się kończył tuż przed rysunkiem.

rys17

Rysunek 17 Cewka już narysowana

Mam nadzieję, że łatwo poradziliście sobie z cewką. Teraz czas na narysowanie styków. Przełączamy się zatem na część składową B i oprócz pól nie powinniśmy mieć niczego innego. Gdyby jakiś element z poprzedniego rysunku się tu pojawił to oznacza to, że przez pomyłkę nie ustawiliśmy mu wymaganych opcji. W takim przypadku trzeba wrócić do części składowej A i poprawić to co trzeba.

Przy rysowaniu styków postępujemy tak samo jak w przypadku cewki, rysując odpowiednią grafikę oraz zestaw wyprowadzeń.

Gdy już narysujemy wszystkie części składowe to przy przełączaniu widoku poszczególnych części zawartość pola edycji powinna się zmieniać adekwatnie do tego czy oglądamy styki czy cewkę.

rys18

Rysunek 18 Części składowe różnią się i o to Nam chodziło

Przy wstawianiu takiego symbolu na schemacie domyślnie będzie widoczna cewka. Musicie zatem pamiętać, by z menu podręcznego wybrać odpowiednią część jeśli chcielibyście wstawić styki.

Tworzymy symbole (porty) zasilania

Być może nie wiecie, ale symbole oznaczające szyny zasilające to zwykłe symbole zapisane w bibliotece power.lib.  Mają one jednak pewne szczególne właściwości, które należy uwzględnić przy ich projektowaniu.

Symbole zasilania to specjalne symbole, które są łączone automatycznie w całym schemacie. Gdziekolwiek byśmy nie dali np. kilka symboli VCC to wszystkie z nich zostaną połączone i utworzą jednolitą sieć o nazwie VCC. Co więcej! Jeśli na schemacie w zwykłych symbolach będą ukryte wyprowadzenia, które również będą nazywać się VCC i posiadać atrybut Wejście zasilania to takie wyprowadzenia też zostaną podłączone do tej sieci.

W tej chwili już widać jakie najważniejsze opcje są wymagane przy tworzeniu portów zasilania: ich jedyne wyprowadzenie musi być ukryte oraz posiadać odpowiednią nazwę i musi być wejściem zasilania. Jednak to nie wszystko. Możliwe, że przy przeglądaniu okna z właściwościami symboli natknęliście się na opcję Utwórz symbol jako symbol zasilania. Jest to również ważna opcja używana wyłącznie w symbolach tego typu.

Co daje zaznaczenie tej opcji? W zasadzie niewiele, ale dla symboli zasilania jest ona kluczowa. Włączenie opcji powoduje, że pola w takim symbolu stają się zablokowane do edycji. Wyobraźcie sobie taką sytuację, że wstawiacie na schemat symbol VDD. Wszystkie ukryte piny zasilnia o nazwie VDD zostają połączone. My jednak w przypływie fantazji decydujemy by opis przy symbolu zmienić na +12V. Taka edycja nie spowoduje, że nagle wszystkie piny VDD zostają podłączone do szyny +12V, bo liczy się nazwa samego pinu. Ale pójdźmy nieco dalej. Wyobraźmy sobie, że szyna +12V istnieje już w tym schemacie lub jakimś jego arkuszu podrzędnym. Tym jednym ruchem tworzymy schemat, który nie ma swojego 100% odzwierciedlenia w liście sieci. Zablokowanie edycji może nas uchronić przed takimi błędami.

Pozostaje jeszcze jedna kwestia. Symbole zasilania pełnią w sumie rolę specjalnych etykiet globalnych oraz rolę dekoracyjną. Dlatego też przy przypisywaniu footprintów w programie CvPcb symbole takie nie powinny być widoczne na liście komponentów. Dlatego, też symbole te w polu Oznaczenie muszą mieć nazwy rozpoczynające się od znaku ‚#‚. Nie ważne co będzie dalej stało za tym znakiem, sam znak jest tu wskaźnikiem, że taki komponent ma nie być wyświetlany przez CvPcb. Ponadto program Eeschema sam będzie sobie zarządzał takimi nazwami.

Po tym przydługim, aczkolwiek istotnym wstępie pora na tworzenie. Utwórzmy sobie port zasilania nazwany +18V. W zasadzie nie musimy go tworzyć w bibliotece power.lib, równie dobrze będzie można go zapisać w innej bibliotece. Dalej będzie pełnił swoją funkcję, choć trudniej go będzie znaleźć bo nie będzie dostępny bezpośrednio spod narzędzia Dodaj port zasilania z prawego paska narzędziowego.

Ja jednak pozostanę przy tym, by porty zasilania umieszczać w bibliotece przeznaczonej do tego celu. Dlatego też po uruchomieniu edytora symboli wybiorę power.lib jako bibliotekę roboczą. Tworzenie nowego symbolu rozpoczniemy klasycznie.

rys19

Rysunek 19 Nowy port zasilania

Nazwa symbolu będzie wskazywać, że jest to szyna zasilania +18V, ukryjemy go na liście sieci przez wypełnienie pola Oznaczenie przez #PWR, oraz wyłączymy możliwość edycji tych pól na schemacie. By pole oznaczenie nie było widoczne na schemacie dodatkowo wyłączymy widoczność tego pola.

rys20

Rysunek 20 Właściwości tekstu można zmieniać na kilka sposobów

Mamy już podstawę symbolu. Teraz wystarczy dodać jakąś grafikę oraz utworzyć wyprowadzenie.

rys21

Rysunek 21 Gotowy nowy port zasilania

I to wszystko! Po zapisaniu w bibliotece możemy z niego korzystać.

Pamiętajmy jednak, że taki port zasilania nie jest źródłem zasilania. W dalszym ciągu na szyny zasilania, o ile nie ma do nich podłączonych innych źródeł zasilania, np. stabilizatora, który ma jeden z pinów wyjściowych oznaczony jako Wyjście zasilania; będziemy musieli wstawiać flagi PWR_FLAG. Sam symbol PWR_FLAG jest wyjątkowym portem zasilania, który posiada odpowiednie właściwości swojego pinu wyjściowego.

Symbole a footprinty

W poprzedniej części przy tworzeniu symbolu reprezentującego wyświetlacz na sztywno określiłem dla niego footprint. Jest to znaczne ułatwienie, bo przy bibliotekach które tworzymy dla siebie wystarczy zadbać o to by footprinty o takiej nazwie zostały narysowane i zapisane w bibliotekach footprintów.

Co jednak, gdy korzystamy z innych bibliotek, gdzie możemy się spotkać przecież z innymi nazwami footprintów? Albo jeszcze lepszy przykład! Co, gdy chcemy zaprojektować symbol jakiegoś elementu, który jest w różnych obudowach, np. przewlekana i SMD, ale ma tą zaletę, że każda wersja ma takie same wyprowadzenia? Weźmy na przykład popularny wzmacniacz operacyjny TL072. Bez problemu kupimy go w obudowie DIP8 (przewlekana), albo w obudowie SO8 (SMD).

Możemy sobie utworzyć dwa symbole jeden dla DIP a drugi dla SO8 – ja na przykład tak robię w wielu przypadkach. Oba oczywiście nie możemy nazwać tak samo, ale jeśli skorzystamy z danych katalogowych to pewnie znajdziemy jakieś róźnice w nazwach producenta, które będą jasno określać jaki jest typ obudowy. Wtedy w każdym symbolu znowu na sztywno wypełnimy pole footprint. Co więcej, przy generowaniu list materiałowych nie mamy dość enigmatycznej pozycji „TL072”. Oczywiście dublujemy tym samym symbole w bibliotekach. Coś za coś jednak…

A jeśli nie chcemy się dublować? Czy program ma jakieś mechanizmy które pozwolą nam wybrać obudowę z jakiejś zapisanej listy? Niestety, obecnie nie ma takiego mechanizmu, a szkoda. Możecie jednak skorzystać z pewnego rodzaju obejścia. Wystarczy że, utworzycie filtry footprintów dla takiego symbolu i jeśli nie zapomnicie ich włączyć w CvPcb możecie mieć ułatwiony wybór.

Filtry footprintów deklaruje się we właściwościach symbolu w ostatniej zakładce. Można utworzyć całą listę filtrów i korzystać w nich z dostępnych symboli wieloznacznych.

rys22

Rysunek 22 Przykładowy zestaw filtrów symbolu TL072

Prześledźmy w jaki sposób program poradziłby sobie z takimi filtrami. W pierwszym filtrze zastosowaliśmy znak wieloznaczny w postaci gwiazdki ‚*‚. Gwiazdka według przyjętej konwencji zastępuje dowolną ilość dowolnych znaków. Dlatego filtr ten przepuści nam wszystkie nazwy rozpoczynające się na DIP, na przykład: DIP8, DIP-8, DIP_8_OWAL. W drugim filtrze zastosowaliśmy znak wieloznaczny ‚?‚, który może zastąpić nam dowolny znak, ale będzie to tylko ten jeden znak. W przypadku tego filtru przepuści on wszystkie nazwy, w których słowo DIP znajdzie się po pierwszym znaku, na przykład: PDIP-8, CDIP8. Trzeci filtr jest podobny do pierwszego, z tą różnicą, że zawiera inne znaki stałe.

Taki zestaw filtrów pozwoli nam by dla tego symbolu przy włączeniu odpowiedniej filtracji w programie CvPcb, będziemy mogli z listy wybrać zarówno kilka obudów przewlekanych: DIP8, DIP-8, PDIP8, PDIP-8; jak i obudowy SMD: SO8, SO-8, SOIC8, SOIC-8. No, nie do końca o to nam chodziło, ale i tak jest to znaczne ułatwienie.

Epilog

To już wszystko w tej części poradnika p.t. Tworzenie bibliotek. Nauczyliśmy się w niej w jaki sposób tworzyć aliasy, które które zmniejszają objętość bibliotek; symbole wielokrotne i z podwójną reprezentacją oraz porty zasilania.

Pozostało nam tylko opisać nieco więcej opcji związanych z tworzeniem footprintów. Na razie poznaliśmy tylko metodę pozwalającą na ich łatwiejszy wybór w programie CvPcb. Resztą opcji, już ściślej związanej z footprintami zajmiemy się w części trzeciej.


Autorem i posiadaczem wszelkich praw do powyższej publikacji jest Kerusey Karyu. Artykuł został umieszczony na stronach „Polskiego Centrum KICAD” za zgodą jego autora.

Witryna poświęcona aplikacjom KiCad EDA Suite