WSTĘP AKTUALNA STRONA SPIS KOMEND ELEMENTY EDYCJI PRZYKŁADY POWRÓT DO STRONY GŁÓWNEJ

 

Opis Komendy CHANGE

Opis AUTOROUTERA
SPECJALNE ETYKIETY TEKSTOWE
PRZYKŁADOWY PLIK KONTROLI AUTOROUTERA

Strona ta zawiera opis ekranu programu EAGLE, opis tych komend menu, które zostały skrótowo opisane na stronie "SPIS KOMEND": CHANGE, AUTO, GRID oraz opisy parametrów, etykiet i plików konfiguracyjnych.


 

Powyżej przedstawiony jest ekran programu EAGLE wraz z oznaczonymi postawowymi elementami.

JEDNOSTKA

jest to aktualnie wybrana jednostka w jakiej skalowany jest projekt. Dostępne są następujące jednostki :

  • INCH - cale

  • MM - milimetry

  • MIL - mils = 1/1000 cala

  • RU - tzw. default unit = 1/20 cala

WSPÓŁRZĘDNE KURSORA

pokazują aktualną pozycję kursora na rysunku.

MARKER

znacznik punktu o współrzędnych ( 0 ; 0 ). Zmiany położenia markera można dokonać przez użycie komendy [MARK].

AKTUALNIE UŻYWANA BIBLIOTEKA

wyświetla bibliotekę, która jest aktywna. Aktywowanie biblioteki odbywa się przy użyciu komendy [USE].

NAZWA PROJEKTU

określa rodzaj edytowanego projektu (BOARD - płtyka, SHEET - arkusz schematu).

MENU

jest to zestaw najczęściej używanych komend przy edycji danego projektu (w zależności czy edytowana jest płytka, schemat, czy biblioteka menu jest inne). Określenie własnego menu wykonuje się za pomocą komendy [MENU]. Aby wybrać komendę z menu należy najechać myszą na wybraną opcję i kliknąć. Komenda jest aktywna dopóki jest podświetlona na czerwono.

WSKAŹNIK WIDOKU

pokazuje on, jakie jest położenie ekranu edycyjnego w stosunku do obiektu znajdującego się na rysunku. Biała ramka oznacza obiekt, czerwona ekran. W zależności od powiększenia ramka biała może zawierać się w czerwonej (widoczny obiekt w pomniejszeniu) lub odwrotnie (widoczny fragment obiektu).


KOMENDA CHANGE

Komenda ta umożliwia zmianę wielu parametrów dotyczących zarówno pojedynczych elementów, jak i edycji ogólnie. Można zmienić tutaj edytowaną warstwę (LAYER), grubość np. ścieżek (WIDTH), średnicę (DIAMETER), średnicę otworu (DRILL), kształt padów (SHAPE), rozmiar padów SMD (SMD), rozmiar obiektu np. tekstu w zakresie 0..1023 mils (SIZE), grubość tekstu w zakresie 0 .. 31 mils (RATIO), treść napisu (TEXT), rodzaje pinów (DIRECTION), ich funkcje (FUNCTION) i długość (LENGTH), widoczność nazwy pinu i/lub padu (VISIBLE), zmiana i dodanie poziomu (SWAPLEVEL i ADDLEVEL). Funkcje od DIRECTION do ADDLEVEL używane są przy edycji bibliotek. Niektóre funkcje, jak np. RATIO wymagają podania parametru z klawiatury. W przypadku innych funkcji, po ich wybraniu, pojawia się dodatkowe menu zawierające wartości.

Wartościami parametrów LAYER, WIDTH, DIAMETER, DRILL, SMD i SIZE są liczby, które wybiera się z podmenu lub wpisuje z klawiatury.

Opis wartości pozostałych parametrów :

SHAPE

DIRECTION, FUNCTION i LENGTH

VISIBLE

On - widoczna nazwa pinu i padu

Off - widoczna tylko nazwa padu

NoPad - obie nazwy niewidoczne

SWAPLEVEL

Jest to liczba z przedziału 0..255. Swaplevel równy 0 oznacza, że końcówka nie może być zamieniona z inną. Liczba większa od 0 wskazuje, że pin może być zamieniony z innym o takim samym symbolu i takim samym poziomie swaplevel (np. wejścia bramki NAND). Wartość standardowa - 0.

ADDLEVEL

Opcja ta dla bramek umieszczonych w urządzeniach określa sposób, w jaki ta bramka jast umieszczona w diagramie obwodu oraz warunki jej usunięcia z obwodu.

Next - dla bramek, które mają być umieszczane jedna po drugiej (np. bramki NAND z układu 7400).

Must - dla bramek, które muszą być umieszczone, gdy jakakolwiek inna bramka danego komponentu jest obecna. Bramki typu Must nie mogą być usunięte, dopóki wszystkie inne bramki danego komponentu nie zostaną usunięte.

Can - dla bramek, które są umieszczane tylko na życzenie (np. styki przekaźnika).

Always - dla bramek, które są normalnie częścią diagramu obwodu, gdy przynajmniej jedna bramka danego komponentu jest użyta (np. niewykorzystywane styki przekaźnika mogą zostać usunięte, jeżeli zostały określone jako Always).

Request - dla bramek zasilania tylko dla komponentów.


KOMENDA AUTO

screen3.gif (8539 bytes)

Komenda to służy do wywołania modułu AUTOROUTER, czyli automatycznego trasowania ścieżek. Po wywołaniu tej komendy na ekranie pojawi się setup autoroutera. Przy wywołaniu funkcji AUTO program poszukuje pliku .CTL o takiej samej nazwie jak projekt. Jeżeli go nie odnajdzie, szuka pliku Default.CTL. Pliki te zawierają ustawienia setup'u autoroutera. Przy objaśnieniach poszczególnych parametrów zostaną podane odpowiadające im komendy z pliku .CTL.

AUTOROUTER działa w kilku etapach. W pierwszym etapie autorouter trasuje szyny (m.in. zasilające). Drugim etapem jest trasowanie ścieżek. W tym etapie autorouter stara się wytrasować wszystkie pozostałe połączenia. Trzecim etapem jest optymalizacja połączeń.

Przed uruchomieniem autoroutera należy zoptymalizować połączenia (signals) komendą RATSNEST oraz zaleca się ręczne wytrasowanie szyn zasilających.

Ramka LAYER
 
W ramce tej określa się na których warstwach mają być trasowane ścieżki, uprzywilejowany kierunek i podstawowe koszty kroku. Parametr używany w pliku .CTL ma postać [PrefDir.nr_warstwy] .

W pierwszej kolumnie określa się uprzywilejowany kierunek trasowania ścieżek, jednocześnie zaznacząjąc warstwę. Oznaczenia kieruków są następujące :

- - uprzywilejowane ścieżki poziome;

| - uprzywilejowane ścieżki pionowe;

/ - uprzywilejowane ścieżki pod kątem 45 stopni;

\ - uprzywilejowane ścieżki pod kątem 135 stopni;

* - brak uprzywilejowanego kierunku;

0 - warstwa wyłączona z trasowania.

Druga kolumna określa podstawowe koszty kroku dla danej warstwy. Zaleca się 0 dla poziomów zewnętrznych (Top i Bottom), dla innych warstw więcej niż 0. Parametrem pliku .CTL jest cfBase.xx, gdzie xx jest numerem warstwy.

Ramka COSTS
 
W tej ramce określa się koszty, czyli parametry kontrolujące proces autoroutingu.
Możliwe jest ustalenienastępujących kosztów :
 
Via - [cfVia] - kontroluje użycie przelotek. Zakres przyjmowanych wartości wynosi 0..99. Niska wartość, w przeciwieństwie do wysokiej, tworzy wiele przelotek, ale pozwala na trzymanie preferowanego kierunku trasowania ścieżek. Zaleca się stosowanie niskiej wartości dla trasowania i wysokiej dla optymalizacji.
 
NonPref - [cfNonPref] - kontroluje przestrzeganie preferowanego kierunku. Może przyjmować wartości z zakresu 0..10. Niska wartość pozwala na trsowanie ścieżek wbrew preferowanemu kierunkowi.
 
ChangeDir - [cfChangeDir] - kontroluje jak często zmieniany jest kierunek trasowania. Przyjmuje wartości z zakresu 0..10. Niska wartość dopuszcza wiele zgięć na ścieżce, podczas gdy wysoka tworzy potencjalnie prostą ścieżkę.
 
OrthStep i DiagStep - [cfOtrhStep, cfDiagStep] - odpowiada za kontrolę kosztu prowadzenia ścieżki po przyprostokątnych i przeciwprostokątnej ( wykorzystuje regułę, że w trójkącie prostokątnym przeciwprostokątna jest krótsza od sumy przyprostokątnych. Wartości domyślne to odpowiednio 2 i 3. Zaleca się nie zmienianie tych parametrów.
 
ExtdStep - [cfExtdStep] - kontroluje unikanie tych fragmentów ścieżek, które biegną pod kątem 45 stopni wbrew preferowanemu kierunkowi, co mogłoby podzielić ścieżkę na dwie sekcje. Zakres przyjmowanych wartości - 0..10. Niska wartość dopuszcza takie sekcje. Żeby stworzyć możliwość "wygładzenia" 90 stopniowych rogów, parametr ten jest aktywny dla sekcji ścieżek z długością określoną za pomocą parametru ExtdSteps [mnExtdSteps]. Zaleca się wyższą wartość dla etapu trasowania i niższą dla optymalizacji.
 
PadImpact i SmdImpact - [cfPadImpact, cfSmdImpact] - może przyjmować wartości z zakresu 0..10. Punkty lutownicze oraz punkty lutownicze SMD wytwarzają "dobre" i "złe" sekcje lub obszary wokół siebie, w których autorouter chce lub nie chce umieszczać ścieżek. "Dobre" obszary leżą w preferowanym kierunku, a "złe" - prostopadle do niego. Oznacza to, że ścieżki w preferowanym kierunu są trasowane z dala od punktów lutowniczych i SMD. Przy wysokich wartościach ścieżka będzie biegła tak daleko, jak to możliwe w preferowanym kierunku, podczas gdy w przypadku niskich wartości, może opuścić preferowany kierunek po krótkim dystansie.
 
BonusStep i MalusStep - [cfBonusStep, cfMalusStep] - kontroluje użycie preferowanych obszarów oraz unikanie "złych" obszarów na płytce. Przy wysokich wartościach router silnie rozróżnia pomiędzy obszarami "dobrymi" i "złymi". W przypadku niskich wartości wpływ tego czynnika jest zmniejszony. Parametry te mogą przyjmować wartości od 1 do 3.
 
BusImpact - [cfBusImpact] - kontroluje trzymanie sie idealnej linii dla połączeń szynowych. Zakres wartości - 0..10. Wysoka wartość zapewnia trzymanie się linii prostej od punktu startowego do końcowego. Istotne tylko dla trasowania szyn.
 
Hugging - [cfHugging] - przyjmuje wartości od 0 do 5. Kontroluje ścieśnianie przebiegu ścieżek równoległych. Wysoka wartość zezwala na silne ścieśnianie (ścieżki leżą bardzo blisko siebie). Zaleca się wyższą wartość dla trasowania a niższą dla optymalizacji.
 
Avoid - [cfAvoid] - odpowiada za unikanie, podczas cofania kroków, obszarów z których usunięto ścieżki. Zakres przyjmowanych wartości - 0..10. Wysoka wartość oznacza silne unikanie.
 
Ramka MAXIMUM
 
Vias - [mnVias] - określa maksymalną liczbę przelotek przypadającą na złącze.
Segments - [mnSegments] - określa maksymalną liczbę segmentów na złączu.
ExtdSteps - [mnExtdSteps] - określa maksymalną ilość kroków odchylenia o 45 stopni od preferowanego kierunku.
RipupLevel - [mnRipupLevels] - maksymalnia ilość cofań (zamiany ścieżki na airwires) przypadających na złącze.
RipupSteps - [mnRipupSteps] - maksymalna liczba sekwencji cofania się przypadających na złącze.
RipupTotal - [mnRipupTotal] - maksymalna liczba cofań w tym samym czasie.
 
Ramka PASS
 
W ramce tej zaznacza się, które przebiegi ma wykonać autorouter.
 
Busses - trasowanie połączeń szynowych.
Route - trasowanie pozostałych ścieżek.
Optimize1, Optimize2, Optimize3 - optymalizacja wytrasowanych ścieżek.
 
W pliku sterującym .CTL umieszcza się odpowiednie etykiety, odpowiadające za ustawienia parametrów dla poszczególnych przebiegów. Etykiety te są następujące :
 
[Default] - nastawia wartości domyślne, np. oczko rastra.
[Busses] - ustawienia dla routera szyn.
[Route] - ustawienia dla routera ścieżek.
[OptimizeX] - ustawienia dla kolejnych optymalizacji (X=1, 2, 3, ... - oznacza kolejny przebieg optymalizacji).
 
Ramka MINIMUM DISTANCE
 

W tej ramce określa się minimalne odległości pomiędzy poszczególnymi elementami trasowanej płytki. Wartości domyślne podane są w milsach (1/1000 cala).

Kolumna Wire określa odległość między trasowaną ścieżką a :

Wire - [mdWireWire] - ścieżką, domyślnie 8
Pad - [mdWirePad] - punktem lutowniczym, domyślnie 8
Dimension - [mdWireDimension] - ścieżkami na poziomie Dimension, domyślnie 40
Via - [mdWireVia] - otworami przelotowymi, domyślnie 8
Restrict - [mdWireRestrict] - obszarami zastrzeżonymi, domyślnie 8

Kolumna Via określa odległość między trasowaną przelotką a :

Pad - [mdViaPad] - punktem lutowniczym, domyślnie 8
Dimension - [mdViaDimension] - ścieżkami na poziomie Dimension, domyślnie 40
Via - [mdViaVia] - otworami przelotowymi, domyślnie 8
Restrict - [mdViaRestrict] - obszarami zastrzeżonymi, domyślnie 8

Ramka TRACK


Określone są tu podstawowe dane dotyczące rozmiarów poszczególnych trasowanych elementów :

Grid - [RoutingGrid] - raster używany przez autoroutera dla ścieżek i otworów przelotowych, wartość domyślna 50 milsów.
Wire Width - grubość ścieżki używanej do trasowania.
Via Diameter - średnica przelotek.
Via Dril - średnica otworów w przelotkach.
Via Shape - kształt przelotek.


SPECJALNE ETYKIETY TEKSTOWE

 

>NAME - nazwa elementu. Można ją zastosować tylko dla obudowy i symbolu. Gdy urządzenie składa się z kilku podzespołów (np.: bramki w układach cyfrowych) wówczas w nazwie jest ujęty numer bramki (np.: IC2A, IC2B ...). Etykietę tą umieszcza się na warstwie TNames.

>VALUE - wartość elementu / typ. Stosowana tylko dla obudowy i symbolu. Dla elementów posiadających wartości (rezystory, kondensatory itp.) w etykiecie pojawia sie wartość danego elementu (np.: 100nF, 10kom). Dla układów scalonych, tranzystorów, diod itp. w etykiecie >VALUE umieszczany jest typ (np.: 80C51, BC107, 1N4001). Etykietę umieszcza się na warstwie TValues.

>PART - nazwa elementu. Stosowana tylko dl symbolu. Etykieta ta różni się od etykiety >NAME tym, że umieszczana jest w niej tylko nazwa elementu, bez nazwy bramki (np.: IC2, US1). Etykietę umieszcza się na warstwie TNames.

>GATE - nazwa bramki. Stosowana tylko dla symboli. W etykiecie tej umieszczana jest tylko nazwa bramki (przeważnie kolejny numer) np.: dla pierwszej bramki - A.

>DRAWING_NAME - nazwa rysunku(edytowanego obwodu. Stosowana dla diagramu obwodu.

>LAST_DATE_TIME - czas ostatniej modyfikacji. Stosowana dla diagramu obwodu.

>PLOT_DATE_TIME - czas stworzenia wydruku. Stosowana dla diagramu obwodu.

>SHEET - numer arkusza diagramu obwodu. Stosowana tylko dla symboli lub diagramu obwodu.


PRZYKŁADOWY PLIK KONTROLI AUTOROUTER'A (.CTL)

; EAGLE Autorouter Control File
; all sizes are in MIL (1/1000")!

[Default]

RoutingGrid = 25

; Minimum Distances:

mdWireWire = 8
mdWirePad = 8
mdWireDimension = 40
mdWireVia = 8
mdWireRestrict = 8

mdViaPad = 8
mdViaDimension = 40
mdViaVia = 8
mdViaRestrict = 8

; Trace Parameters:

tpWireWidth = 16
tpViaDiameter = 40
tpViaDrill = 24
tpViaShape = Round

; Preferred Directions:

PrefDir.1 = *
PrefDir.2 = 0
PrefDir.3 = 0
PrefDir.4 = 0
PrefDir.5 = 0
PrefDir.6 = 0
PrefDir.7 = 0
PrefDir.8 = 0
PrefDir.9 = 0
PrefDir.10 = 0
PrefDir.11 = 0
PrefDir.12 = 0
PrefDir.13 = 0
PrefDir.14 = 0
PrefDir.15 = 0
PrefDir.16 = *

; Cost Factors:

cfVia = 8
cfNonPref = 5
cfChangeDir = 2
cfOrthStep = 2
cfDiagStep = 3
cfExtdStep = 0
cfBonusStep = 1
cfMalusStep = 1
cfPadImpact = 4
cfSmdImpact = 4
cfBusImpact = 0
cfHugging = 3
cfAvoid = 4

cfBase.16 = 0
cfBase.1 = 0
cfBase.2 = 1
cfBase.3 = 1
cfBase.4 = 1
cfBase.5 = 1
cfBase.6 = 1
cfBase.7 = 1
cfBase.8 = 1
cfBase.9 = 1
cfBase.10 = 1
cfBase.11 = 1
cfBase.12 = 1
cfBase.13 = 1
cfBase.14 = 1
cfBase.15 = 1

; Maximum Number of...:

mnVias = 20
mnSegments = 9999
mnExtdSteps = 9999
mnRipupLevel = 10
mnRipupSteps = 100
mnRipupTotal = 100

[Busses]

@Default

cfNonPref = 4
cfBusImpact = 4
cfHugging = 0
mnVias = 0

[Route]

@Default

mnVias = 25

[Optimize1]

@Default

cfVia = 99
cfExtdStep = 30
cfHugging = 1
mnExtdSteps = 1
mnRipupLevel = 0

[Optimize2]

@Optimize1

cfHugging = 0

[Optimize3]

@Optimize2

cfChangeDir = 6