Przerzutnik: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
m Wycofano edycje użytkownika 83.12.79.17 (dyskusja). Autor przywróconej wersji to EinsBot.
PG (dyskusja | edycje)
drobne redakcyjne
Linia 2:
[[Plik:XYZ przerzutnik.jpg|thumb|200px|Podwójny, [[Lampa elektronowa|lampowy]] przerzutnik komputera [[XYZ]] z 1958 r.]]
 
'''Przerzutnik''' (z ang. ''flip-flop'') jest to podstawowy element pamiętający każdego [[układ cyfrowy|układu cyfrowego]], przeznaczonego do przechowywania i ewentualnego przetwarzania informacji. Przerzutnik współtworzy najniższe piętro struktury układu i zdolny jest do zapamiętania jednego [[Bit|bitu]] informacji. Grupa '''czterech''' lub '''ośmiu''' połączonych ze sobą przerzutników tworzy następne, wyższe piętro - tzw. [[Rejestr (elektronika)|rejestr]], zdolny już do pamiętania jednego [[bajt]]a informacji.
 
== Zastosowanie ==
Linia 9:
 
Ze względu na łatwy odczyt i zapis, przerzutniki są szczególnie często stosowane w celu:
* Pamiętania stanu układu, zobacz: [[Maszyna stanów skończonych]] (ang. FSM od '''''F'''initeFinite '''S'''tateState '''M'''achineMachine'')
* Przechowywania obecnie przetwarzanego słowa danych, zobacz: [[Rejestr (elektronika)|rejestr]], [[Akumulator (informatyka)|akumulator]], [[Jednostka arytmetyczno-logiczna|ALU]]
* Implementacji [[licznik (elektronika)|liczników]]
* Implementacji [[rejestr przesuwny (elektronika)|rejestrów przesuwnych]]
* Implementacji rejestrów przesuwnych z liniowym sprzężeniem zwrotnym (ang. [[LFSR]] od '''''L'''inearLinear '''F'''eedbackFeedback '''S'''hiftShift '''R'''egisterRegister'')
 
== Typy przerzutników ==
Linia 21:
* [[Przerzutnik typu T]],
* [[Przerzutnik typu JK]],
* [[Przerzutnik typu JK-MS]] (MS od '''''M'''asterMaster'' i '''''S'''laveSlave''),
* [[Synchroniczny przerzutnik typu RS]].
Przerzutniki typu RS mogą być zarówno asynchroniczne (zapisywane są wówczas zwykle małymi literami – rs) jak i synchroniczne, natomiast pozostałe typy przerzutników są wyłącznie synchroniczne<ref>{{cytuj stronę| url = http://staff.um.edu.mt/vbut1/diplomait/logic2.pdf| tytuł = Computer logic, part 2| data dostępu = 2011-03-18| autor = Victor Buttigieg| opublikowany = University of Malta| język = en}}</ref>.
Linia 31:
== Opis wyprowadzeń ==
We wszystkich przerzutnikach synchronicznych można wyróżnić następujące wyprowadzenia:
* wejście (lub wejścia) informacyjne - np. '''D''' (ang. ''Data'')
* wejście synchronizujące, tzw. [[Zegar (generator)|zegarowe]] '''C''' (ang. ''Clock'')
* wejścia asynchroniczne - ustawiające '''S'''etSet i zerujące '''R'''esetReset (odpowiednio: 1 i 0 na wyjściu Q)
* wyjście proste '''Q'''
* wyjście zanegowane '''<span style="border-top:1px solid black; padding:1px">Q</span>'''
 
Wejścia R/S mają najwyższy priorytet i służą do wymuszenia określonego stanu wyjść '''niezależnie''' (asynchroniczne) od poziomów logicznych panujących na pozostałych wejściach informacyjnych czy zegarowych.
 
W rodzimej literaturze spotyka się różne określenia (a nawet oznaczenia) tego samego funkcjonalnie rodzaju wejść. Dla przykładu wejście '''ustawiające''' bywa nazywane wejściem zapalającym, a wejście zegarowe C (CP, CL, CLK, T) - synchronizującym lub taktującym.
 
== Przerzutniki typu D ==
Ten typ przerzutników znajduje najwięcej praktycznych zastosowań. Przerzutniki typu D (flip-flop) należą do zbioru przerzutników wyzwalanych zboczem. Przepisanie stanu wejścia D (informacyjnego) na wyjście Q następuje w czasie zmiany poziomu logicznego na wejściu zegarowym z niskiego na wysoki. Przerzutnik typu D łatwo jest przekształcić w przerzutnik '''typu T''' i zrealizować dzielnik ''modulo'' 2 - tzw. [[Dwójka licząca|dwójkę liczącą]]. W tym celu wystarczy połączyć wyjście zanegowane <span style="border-top:1px solid black; padding:1px">Q</span> z wejściem D. Pojedyncza "dwójka" dzieli częstotliwość sygnału zegarowego na dwa, przy czym wypełnienie przebiegu na wyjściu wynosi zawsze 50%. Łańcuch kaskadowo połączonych dwójek liczących może być wykorzystany do wytworzenia '''naturalnego [[Dwójkowy system liczbowy|kodu dwójkowego]]''' - podstawowego '''[[Kod|kodu]] wagowego''' używanego w technice cyfrowej.
 
Stromość zboczy sygnałów zegarowych (wyrażana w nanosekundach), jest parametrem krytycznym w [[układ sekwencyjny|układach sekwencyjnych]]. Przerzutniki nie są tu wyjątkiem, stąd współcześnie wejścia zegarowe spotyka się najczęściej w wykonaniu [[Przerzutnik Schmitta|Schmitta]], charakteryzującym się obecnością tzw. pętli [[Histereza|histerezy]]. Histereza oznacza 2 progi przełączania - inne dla każdego kierunku zmian napięcia na wejściu zegarowym.
 
== Przerzutniki typu Latch ==
Przerzutnik typu Latch (zatrzask) jest wersją przerzutnika D wyzwalanego nie zboczem, lecz poziomem. W czasie trwania na wejściu zegarowym stanu wysokiego, wyjście Q '''powtarza''' stany logiczne wejścia D. W momencie zmiany na wejściu zegarowym stanu wysokiego na niski następuje "zatrzaśnięcie" (zapamiętanie) stanu wejścia D sprzed tej zmiany. Typowym zastosowaniem przerzutnika typu ''Latch'' jest zapamiętanie chwilowego stanu szyny danych w celu np. zobrazowania na [[Wyświetlacz|wyświetlaczu]]. Dowolny przerzutnik tego typu charakteryzuje się mniejszą [[Odporność na zakłócenia|odpornością na zakłócenia]] od dowolnego przerzutnika wyzwalanego zboczem.
 
== Przerzutniki typu JK-MS ==
Przerzutniki '''dwuzboczowe''' typu Master-Slave mają mniejsze wymagania na stromość zboczy. W ich przypadku wewnętrzny przerzutnik '''Master''' zapamiętuje stan wejść informacyjnych JK w momencie wystąpienia narastającego zbocza sygnału zegarowego, a zbocze opadające sygnału zegarowego przepisuje bit informacji z przerzutnika '''Master''' do przerzutnika '''Slave''' (i na wyjścia). Przerzutnik typu JK-MS można przekształcić w dwójkę liczącą przez podanie stanu wysokiego na oba wejścia J i K. W celu podwyższenia odporności na zakłócenia dwuzboczowych przerzutników MS, w układach praktycznych dąży się do skrócenia czasu trwania stanu wysokiego na wejściu zegarowym.
 
== Tablica wzbudzeń przerzutników ==
'''Tablica wzbudzeń''' jest sposobem prezentacji sposobu pracy przerzutnika, w którym podaje się, jakie kombinacje sygnałów wejściowych powodują określone zmiany na wyjściach przerzutnika.
 
'''Tablica wzbudzeń''' jest sposobem prezentacji sposobu pracy przerzutnika, w którym podaje się, jakie kombinacje sygnałów wejściowych powodują określone zmiany na wyjściach przerzutnika.
 
Oznaczenia:
* '''X''' - dowolna wartość,
* '''Q<sub>t</sub>''' - aktualny stan wyjścia,
* '''Q<sub>t+1</sub>''' - stan następny wyjścia.
 
{| class=wikitable
Linia 104 ⟶ 103:
 
== CMOS zamiast TTL ==
W dominującej w latach 70. i 80. rodzinie układów cyfrowych [[Transistor-Transistor Logic|TTL]] (ang. ''Transistor-Transistor Logic'') na przykład dwa przerzutniki D zawierał popularny układ scalony (<span title="Cemi - Polska">UCY</span>|MCY|<span title="Texas Instruments">SN</span>)7474.
 
W nowszej rodzinie układów cyfrowych [[CMOS]] (Complementary MOS) przerzutniki typu D ma układ (<span title="Motorola">MC1</span>|HE|CD)4013B. Z kilku powodów nie stanowi on zamiennika dla poprzednika wykonanego w technologii TTL. Te powody to zbyt mała obciążalność wyjść, odwrotna logika wejść R/S oraz odmienny układ wyprowadzeń.
 
Ostatecznie, układy TTL w wykonaniu [[LS (elektronika)|LS]] (ang. Low-power Schottky) znalazły swoje ścisłe, nowocześniejsze zamienniki w serii układów CMOS o oznaczeniu literowym [[HCT (elektronika)|HCT]] (np. CD74'''HCT'''74CD74HCT74).
 
== Przerzutniki stosowane w układach ASIC ==
Linia 125 ⟶ 124:
Układy asynchroniczne i układy dynamiczne używane są w zastosowaniach wymagających dużej szybkości pracy lub niskiego poboru mocy. Wymaga to jednak użycia innych, mniej zautomatyzowanych technik projektowania.
 
W odróżnieniu od elementów dyskretnych, w przerzutnikach stosowanych w układach ASIC nie stosuje się dodatkowych układów kondycjonujących zbocza sygnałów wejściowych (takich jak wspomniane przerzutniki Schmitta). Bardzo ważne jest natomiast zapewnienie równoczesnego przełączenia wszystkich współpracujących ze sobą przerzutników. W tym celu sygnał zegarowy jest wzmacniany przez wiele buforów połączonych w drzewiastą strukturę i rozprowadzany po powierzchni układu tak by minimalizować różnice opóźnień w dotarciu zbocza zegara do przerzutników. Taka struktura nazywana jest drzewem zegara (ang. ''clock tree'').
 
== Czas ustalania oraz czas podtrzymania ==
 
Dla pewności działania przerzutnika kluczowe są dwa parametry czasowe:
* czas ustalania (ang. ''setup time''), określający o ile zmiana sygnału wejściowego (D) musi wyprzedzać aktywne zbocze zegara