TECHNIKA CYFROWA | Lab. 9 | Podstawowe układy sekwencyjne
Transkrypt
TECHNIKA CYFROWA | Lab. 9 | Podstawowe układy sekwencyjne
Technika Cyfrowa 2014/15 Laboratorium 2012/2013 ćw. 6 Podstawowe układy sekwencyjne (liczniki, generatory sekwencji) 1. Licznik synchroniczny Licznik synchroniczny o dowolnej liczbie bitów można zrealizować za pomocą układów scalonych 74163N. Piny pojedynczego układu rozplanowane są następująco: (w Multisim A odpowiada najmłodszej poz.) Sposób szeregowego łączenia kilku liczników ilustruje schemat z noty technicznej: Zadanie 1. Wykorzystaj dwa 4-bitowe liczniki synchroniczne (74163N) do wygenerowania sekwencji kolejnych 18 liczb szesnastkowych, z których pierwsza odpowiada pierwszej literze nazwiska według poniższej tabeli: A I P 1a 1b B J R b3 b2 C, Ć K S 2c 2e D L Ś 8f 87 E Ł T 75 74 F M U 4e 4c G N W 3b 3a H O Z, Ź, Ż a1 a2 Można pobrać przygotowany dla ćwiczenia plik ms10. Należy uzupełnić brakujące połączenia. 1 2. Generator dowolnej sekwencji Aby utworzyć generator dowolnej sekwencji, można użyć przerzutników dowolnego typu, projektując odpowiednio ich funkcje wzbudzeń. Zakłada się, że stany generatora mają być dostępne bezpośrednio na wyjściach przerzutników, a więc nie dopuszcza się użycia tam jakichkolwiek układów kombinacyjnych. Jeżeli w pożądanej trajektorii licznika ten sam stan występuje kilkakrotnie, konieczne jest użycie dodatkowych elementów pamięci, za pomocą których możliwe jest rozróżnienie poszczególnych stanów wewnętrznych. W poniższej tabeli zestawiono wartości funkcji wzbudzeń dla wszystkich możliwych zmian stanu przerzutnika x: Stan poprzedni Stan następny Qx Qx+ 0 0 1 1 0 1 0 1 Przerzutnik JK Przerzutnik Przerzutnik T D Jx Kx Tx Dx 0 1 dc dc dc dc 1 0 0 1 1 0 0 1 0 1 Zadanie 2. Zaprojektuj generator sekwencji przebiegający kolejno po stanach: 33212 Należy zaprojektować funkcje wzbudzeń poszczególnych przerzutników w oparciu o tablicę prawdy. Zabronione jest zastosowanie logiki kombinacyjnej na wyjściach pierwotnych (dozwolona jedynie obserwacja stanu przerzutników). Zwróć uwagę, aby zbudowany licznik był bezpieczny (tzn. załadowany dowolnym ciągiem powinien powracać do zasadniczej trajektorii). Dokonaj syntezy dla przerzutników typu JK i zbuduj układ w Multisim w oparciu o elementy scalone 74109N. Szablon układu można pobrać stąd. Wykorzystano w nim możliwość asynchronicznego załadowania przerzutników. 2 3. Generowanie m-sekwencji Rejestry liniowe stanowią szczególny przypadek liczników, w których funkcje wzbudzeń kolejnych przerzutników D (oprócz najstarszego), pobierane są bezpośrednio z wyjść ich poprzedników. W rejestrze liniowym Fibonacciego funkcja wzbudzenia najstarszego przerzutnika jest sumą modulo 2 wyjść niektórych przerzutników. Wybór tych przerzutników ma zasadnicze znaczenie dla liczby stanów, które występują w trajektorii licznika. Struktura odczepów, uczestniczących w realizacji sprzężenia zwrotnego, może być scharakteryzowana za pomocą wielomianów generujących. Przykładowo wielomian g(x) = x4+x+1 opisuje rejestr Fibonacciego: Wielomian g(x) jest tzw. wielomianem pierwotnym (albo prymitywnym), a utworzony na jego podstawie rejestr Fibonacciego ma w swojej trajektorii dokładnie 24-1 stanów. Używając rejestrów liniowych, można wygenerować tzw. m-sekwencję. Jest to sekwencja o długości 2n-1 bitów, gdzie n jest stopniem prymitywnego wielomianu generującego, użytego w specyfikacji rejestru liniowego. M-sekwencje mają ciekawe własności: zawsze taka sama względem n jest liczba zer i jedynek, oraz liczba zerowych i jedynkowych podciągów o określonej długości. M-sekwencję można otrzymać obserwując stan na dowolnym przerzutniku przez 2n-1kolejnych taktów zegara. Sekwencje „odczytane” z wyjść różnych przerzutników są względem siebie przesunięte w fazie i bardzo słabo skorelowane. Przesunięte w fazie msekwencje można otrzymać także poprzez zastosowanie przesuwników fazowych, które są zrealizowane jako suma modulo 2 wyjść kilku przerzutników. M-sekwencje są przykładem ciągów rozpraszających, które są wykorzystywane w telekomunikacji do realizacji tzw. zwielokrotnienia kodowego. Sygnały poszczególnych użytkowników są mnożone w nadajniku przez różne ciągi rozpraszające (w szczególności przez tę samą m-sekwencję, przesuniętą w fazie), dzięki czemu wzajemna korelacja sygnałów zostaje zmniejszona prawie do zera. Wówczas, korelacja sygnału odebranego (będącego sumą sygnałów nadawanych przez różnych użytkowników) z danym ciągiem rozpraszającym umożliwia wyodrębnienie z niego sygnału nadawanego przez jednego użytkownika. Zadanie 3. Korzystając z tablicy przejść odpowiedniego rejestru Fibonacciego pokaż, że wielomian x4 + x3 +1 jest prymitywny. Następnie wyznacz sekwencję, która jest obserwowana na wyjściu przesuwnika fazy PS1, jeżeli rejestr zaczyna pracę od stanu 1000. Potem zdefiniuj budowę przesuwnika fazy PS2, na którego wyjściu będzie obserwowana sekwencja opóźniona o trzy takty w stosunku do sekwencji wytwarzanej przez przesuwnik PS1. Po zbudowaniu odpowiedniego układu w Multisim zaobserwuj sekwencje na wyjściu przesuwników PS1 i PS2. Do budowy wykorzystaj układ scalony 74174N. Tutaj można pobrać szablon schematu. 3