See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Przerzutnik - Wikipedia, wolna encyklopedia

Przerzutnik

Z Wikipedii

Podwójny, lampowy przerzutnik komputera XYZ z 1958 r.
Podwójny, lampowy przerzutnik komputera XYZ z 1958 r.

Przerzutnik (z ang. flip-flop) jest to podstawowy element pamiętający każdego 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 bitu informacji. Grupa czterech lub ośmiu połączonych ze sobą przerzutników tworzy następne, wyższe piętro - tzw. rejestr, zdolny już do pamiętania jednego bajtu informacji.

Spis treści

[edytuj] Zastosowanie

Przerzutniki stosuje się do przechowywania małych ilości danych, do których musi być zapewniony ciągły dostęp. Jest to spowodowane fizycznymi i funkcjonalnymi cechami przerzutników. Są one większe od pojedynczej komórki pamięci, ale pozwalają pozostałym częściom układu na bezpośredni dostęp do przechowywanych danych.

Ze względu na łatwy odczyt i zapis, przerzutniki są szczególnie często stosowane w celu:

[edytuj] Typy przerzutników

Wśród monolitycznych (scalonych) przerzutników wyróżnia się:

Wszystkie, z wyjątkiem przerzutnika typu D, mogą występować w wersji asynchronicznej (wtedy są oznaczane małymi literami, np. rs, t) oraz w wersji synchronicznej (oznaczane wielkimi literami). Przerzutniki asynchroniczne przełączają stan wyjść w momencie zmiany na wejściu, a przerzutniki synchroniczne muszą oczekiwać na zmianę sygnału doprowadzonego do ich wejścia zegarowego. W tym momencie należy wyróżnić kolejny podział na przerzutniki wyzwalane zboczem (narastającym lub opadającym) lub wyzwalane poziomem wejścia zegarowego. Za pomocą każdego przerzutnika i odpowiedniej liczby bramek logicznych można zrealizować wszystkie inne.

[edytuj] 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. zegarowe C (ang. Clock)
  • wejścia asynchroniczne - ustawiające Set i zerujące Reset (odpowiednio: 1 i 0 na wyjściu Q)
  • wyjście proste Q
  • wyjście zanegowane Q

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.

[edytuj] 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ójkę liczącą. W tym celu wystarczy połączyć wyjście zanegowane Q z wejściem D. Pojedyncza "dwójka" dzieli częstotliwość sygnału zegarowego na pół, 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 kodu dwójkowego - podstawowego kodu wagowego używanego w technice cyfrowej.

Stromość zboczy sygnałów zegarowych (wyrażana w nanosekundach), jest parametrem krytycznym w układach sekwencyjnych. Przerzutniki nie są tu wyjątkiem, stąd współcześnie wejścia zegarowe spotyka się najczęściej w wykonaniu Schmitta, charakteryzującym się obecnością tzw. pętli histerezy. Histereza oznacza 2 progi przełączania - inne dla każdego kierunku zmian napięcia na wejściu zegarowym.

[edytuj] 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świetlaczu. Dowolny przerzutnik tego typu charakteryzuje się mniejszą odpornością na zakłócenia od dowolnego przerzutnika wyzwalanego zboczem.

[edytuj] 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.

[edytuj] Tablica wzbudzeń ww. 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.

Oznaczenia:

  • X - dowolna wartość,
  • Qt - aktualny stan wyjścia,
  • Qt+1 - stan następny wyjścia.


Qt Qt+1 D T SR JK
0 0 0 0 0X 0X
0 1 1 1 10 1X
1 0 0 1 01 X1
1 1 1 0 X0 X0

[edytuj] Budowa wewnętrzna

Wszystkie przerzutniki w monolitycznych układach scalonych zbudowane są w oparciu o bramki logiczne. Każda bramka składa się z kolei z kilku/kilkunastu tranzystorów. Najprostsze przerzutniki asynchroniczne wymagają tylko dwóch dwuargumentowych (dwuwejściowych) bramek. Bardziej zaawansowane - kilkunastu wieloargumentowych. Jeden przerzutnik synchroniczny może więc zawierać ponad sto tranzystorów.

W tzw. technice dyskretnej, historycznie poprzedzającej erę układów scalonych, do zbudowania najprostszego przerzutnika niezbędne były co najmniej 2 tranzystory (wcześniej lampy elektronowe) sprzężone pojemnościowo.

[edytuj] CMOS zamiast TTL

W dominującej w latach 70. i 80. rodzinie układów cyfrowych TTL (ang. Transistor-Transistor Logic) na przykład dwa przerzutniki D zawierał popularny układ scalony (UCY|MCY|SN)7474.

W nowszej rodzinie układów cyfrowych CMOS (Complementary MOS) przerzutniki typu D ma układ (MC1|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 (ang. Low-power Schottky) znalazły swoje ścisłe, nowocześniejsze zamienniki w serii układów CMOS o oznaczeniu literowym HCT (np. CD74HCT74).

[edytuj] Przerzutniki stosowane w układach ASIC

Powyższe informacje odnoszą się głównie do przerzutników dostępnych jako dyskretne komponenty. W przypadku układów ASIC stosuje się głównie dwa typy przerzutników:

  • Przerzutnik typu D aktywny poziomem (zatrzask),
  • Przerzutnik typu D aktywny zboczem.

Przerzutnik D aktywny zboczem jest zwykle implementowany jako kaskadowe połączenie (Master-Slave) dwóch zatrzasków.

Zatrzask (w wersji statycznej) składa się z dwóch inwerterów połączonych przeciwsobnie i sprzężonych bramkami transmisyjnymi. W fazie pamiętania inwertery pracują w dodatnim sprzężeniu zwrotnym zatrzaskując ostatnio przetwarzana wartość binarną.

Zatrzask (w wersji dynamicznej) jest buforem o wyjściu trójstanowym. Faza pamiętania jest realizowana przez przełączenie wyjścia bufora w stan wysokiej impedancji. Wartość binarna jest przez skończony czas pamiętana w postaci ładunku elektrycznego zmagazynowanego w pojemności pasożytniczej obciążenia bufora.

Ponieważ układy ASIC są zwykle projektowane jako systemy synchroniczne za pomocą automatycznej syntezy z języków opisu sprzętu (HDL), stosuje się niemal wyłącznie statyczne przerzutniki typu D aktywne zboczem.

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 elementach 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 sygnal 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).

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
  • czas podtrzymania (ang. hold time), określający o ile aktywne zbocze zegara musi wyprzedzać zmianę sygnału wejściowego (D). W polskim piśmiennictwie czas podtrzymania jest nazywany także czasem przetrzymania lub utrzymywania.

O ile czas podtrzymania jest zagrożony głównie nierównomiernością dystrybucji zegara, o tyle zapewnienie prawidłowego czasu ustalania jest bardziej wymagające. W układach synchronicznych minimalny czas trwania cyklu zegara jest określony jako czas propagacji sygnału przez najdłuższą kombinacyjną ścieżkę przetwarzania między przerzutnikami (ang. critical path) zsumowany z czasem ustalania i marginesem na niedokładność okresu cyklu zegara (ang. jitter). Sygnał logiczny wychodzący z przerzutnika (Q) w n-tym cyklu zegara musi przepropagować się przez dołączoną do niego logikę kombinacyjną i dotrzeć na wejście (D) docelowego przerzutnika przed nadejściem (n+1)-go aktywnego zbocza zegara (z wyprzedzeniem określonym przez czas ustalania). Kryteria czasowe mogą być sprawdzone za pomocą analizy statycznej (ang. static timing analysis) lub symulacji z uwzględnieniem rzeczywistych czasów propagacji (ang. SDF delay backannotation).

W technologii CMOS czas propagacji silnie zależy od następujących czynników:

  • napięcia zasilającego (silnie wzrasta przy spadku napięcia),
  • temperatury (wzrasta liniowo ze wzrostem temperatury).

Ponadto zależy on również od parametrów projektowych:

  • długości ścieżki krytycznej,
  • procesu wytwarzania (ang. process corner, process conditions),
  • relacji między impedancją wyjściową bramki i wejściową obciążenia (ang. fan out i fan in),
  • pasożytniczych sprzężeń pojemnościowych między równocześnie przełączanymi sygnałami.

Wszystkie te parametry przekładają się bezpośrednio na minimalną długość cyklu zegara.

Commons


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2006 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -