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:
33212
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