Badanie elektronicznych układów cyfrowych 312[02].O2.02

Podobne dokumenty
Tranzystor JFET i MOSFET zas. działania

LEKCJA. TEMAT: Funktory logiczne.

12. Wprowadzenie Sygnały techniki cyfrowej Systemy liczbowe. Matematyka: Elektronika:

Badanie układów średniej skali integracji - ćwiczenie Cel ćwiczenia. 2. Wykaz przyrządów i elementów: 3. Przedmiot badań

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

Lista tematów na kolokwium z wykładu z Techniki Cyfrowej w roku ak. 2013/2014

Arytmetyka liczb binarnych

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Rys. 2. Symbole dodatkowych bramek logicznych i ich tablice stanów.

Układy Logiczne i Cyfrowe

WSTĘP DO ELEKTRONIKI

Dr inż. Jan Chudzikiewicz Pokój 117/65 Tel Materiały:

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Podstawy Automatyki. Wykład 9 - Podstawy matematyczne automatyki procesów dyskretnych. dr inż. Jakub Możaryn. Instytut Automatyki i Robotyki

Cyfrowe układy scalone c.d. funkcje

TEMAT: PROJEKTOWANIE I BADANIE PRZERZUTNIKÓW BISTABILNYCH

Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).

Temat 7. Dekodery, enkodery

ćwiczenie 202 Temat: Układy kombinacyjne 1. Cel ćwiczenia

Automatyzacja i robotyzacja procesów produkcyjnych

Architektura komputerów Wykład 2

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

UKŁAD SCALONY. Cyfrowe układy można podzielić ze względu na różne kryteria, na przykład sposób przetwarzania informacji, technologię wykonania.

UKŁADY CYFROWE. Układ kombinacyjny

4. UKŁADY FUNKCJONALNE TECHNIKI CYFROWEJ

Wielkość analogowa w danym przedziale swojej zmienności przyjmuje nieskończoną liczbę wartości.

Automatyka. Treść wykładów: Multiplekser. Układ kombinacyjny. Demultiplekser. Koder

1.1. Pozycyjne systemy liczbowe

Kodowanie informacji. Kody liczbowe

Podstawowe układy cyfrowe

Podstawy Automatyki. Wykład 12 - synteza i minimalizacja funkcji logicznych. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

INSTYTUT CYBERNETYKI TECHNICZNEJ POLITECHNIKI WROCŁAWSKIEJ ZAKŁAD SZTUCZNEJ INTELIGENCJI I AUTOMATÓW

Logika binarna. Prawo łączności mówimy, że operator binarny * na zbiorze S jest łączny gdy (x * y) * z = x * (y * z) dla każdego x, y, z S.

Stan wysoki (H) i stan niski (L)

Arytmetyka komputera. Na podstawie podręcznika Urządzenia techniki komputerowej Tomasza Marciniuka. Opracował: Kamil Kowalski klasa III TI

Lekcja na Pracowni Podstaw Techniki Komputerowej z wykorzystaniem komputera

Układy kombinacyjne Y X 4 X 5. Rys. 1 Kombinacyjna funkcja logiczna.

Wstęp do Techniki Cyfrowej... Algebra Boole a

RODZAJE INFORMACJI. Informacje analogowe. Informacje cyfrowe. U(t) U(t) Umax. Umax. R=(0,Umax) nieskończony zbiór możliwych wartości. Umax.

Metoda Karnaugh. B A BC A

Układy cyfrowe. Najczęściej układy cyfrowe służą do przetwarzania sygnałów o dwóch poziomach napięć:

Elektronika (konspekt)

Funkcja Boolowska a kombinacyjny blok funkcjonalny

CYFROWE UKŁADY SCALONE STOSOWANE W AUTOMATYCE

Arytmetyka komputera

Układy kombinacyjne. cz.2

Systemy zapisu liczb.

b) bc a Rys. 1. Tablice Karnaugha dla funkcji o: a) n=2, b) n=3 i c) n=4 zmiennych.

Podstawy Elektroniki dla Elektrotechniki. Liczniki synchroniczne na przerzutnikach typu D

Zadania do wykładu 1, Zapisz liczby binarne w kodzie dziesiętnym: ( ) 2 =( ) 10, ( ) 2 =( ) 10, (101001, 10110) 2 =( ) 10

Układy kombinacyjne 1

dwójkę liczącą Licznikiem Podział liczników:

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

Statyczne badanie przerzutników - ćwiczenie 3

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

ARYTMETYKA BINARNA. Dziesiątkowy system pozycyjny nie jest jedynym sposobem kodowania liczb z jakim mamy na co dzień do czynienia.

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

LICZNIKI Liczniki scalone serii 749x

Podstawy działania układów cyfrowych...2 Systemy liczbowe...2 Kodowanie informacji...3 Informacja cyfrowa...4 Bramki logiczne...

1.Wprowadzenie do projektowania układów sekwencyjnych synchronicznych

Cyfrowy zapis informacji. 5 grudnia 2013 Wojciech Kucewicz 2

Statyczne i dynamiczne badanie przerzutników - ćwiczenie 2

LABORATORIUM ELEKTRONIKI UKŁADY KOMBINACYJNE

Cyfrowe bramki logiczne 2012

Państwowa Wyższa Szkoła Zawodowa

Technika cyfrowa Synteza układów kombinacyjnych

Techniki multimedialne

Zapoznanie się z podstawowymi strukturami liczników asynchronicznych szeregowych modulo N, zliczających w przód i w tył oraz zasadą ich działania.

Laboratorium podstaw elektroniki

PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE

Systemy liczbowe używane w technice komputerowej

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

AKADEMIA MORSKA KATEDRA NAWIGACJI TECHNICZEJ

Synteza układów kombinacyjnych

Podstawy Informatyki Elementarne podzespoły komputera

Technologie Informacyjne

Kodowanie informacji. Przygotował: Ryszard Kijanka

Ćw. 7: Układy sekwencyjne

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Technika cyfrowa Synteza układów kombinacyjnych (I)

Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego

SYSTEMY LICZBOWE 275,538 =

Wstęp do Techniki Cyfrowej i Mikroelektroniki

WSTĘP. Budowa bramki NAND TTL, ch-ka przełączania, schemat wewnętrzny, działanie 2

Minimalizacja form boolowskich

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

POLITECHNIKA POZNAŃSKA

Krótkie przypomnienie

Wstęp do Techniki Cyfrowej... Układy kombinacyjne

Tab. 1 Tab. 2 t t+1 Q 2 Q 1 Q 0 Q 2 Q 1 Q 0

PRZEWODNIK PO PRZEDMIOCIE

Arytmetyka binarna - wykład 6

Moduł 2 Zastosowanie systemów liczbowych w informacji cyfrowej

Wstęp do informatyki- wykład 1 Systemy liczbowe

Podstawy Automatyki. Wykład 13 - Układy bramkowe. dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

LICZNIKI PODZIAŁ I PARAMETRY

Urządzenia Techniki. Klasa I TI. System dwójkowy (binarny) -> BIN. Przykład zamiany liczby dziesiętnej na binarną (DEC -> BIN):

Architektura komputerów ćwiczenia Bramki logiczne. Układy kombinacyjne. Kanoniczna postać dysjunkcyjna i koniunkcyjna.

Transkrypt:

MINISTERSTWO EDUKACJI NARODOWEJ Jarosław Świtalski Badanie elektronicznych układów cyfrowych 32[2].O2.2 Poradnik dla ucznia Wydawca Instytut Technologii Eksploatacji Państwowy Instytut Badawczy Radom 27

Recenzenci: doc. dr inż. Stanisław Derlecki dr inż. Marian Jerzy Korczyński Opracowanie redakcyjne: mgr inż. Ryszard Zankowski Konsultacja: mgr Małgorzata Sienna Poradnik stanowi obudowę dydaktyczną programu jednostki modułowej 32[2].O2.2 Badanie elektronicznych układów cyfrowych, zawartego w programie nauczania dla zawodu technik teleinformatyk. Wydawca Instytut Technologii Eksploatacji Państwowy Instytut Badawczy, Radom 27

SPIS TREŚCI. Wprowadzenie 3 2. Wymagania wstępne 5 3. Cele kształcenia 6 4. Materiał nauczania 7 4.. Podstawy matematyczne układów cyfrowych 7 4... Materiał nauczania 7 4..2. Pytania sprawdzające 22 4..3. Ćwiczenia 24 4..4. Sprawdzian postępów 24 4.2. Układy kombinacyjne i sekwencyjne 25 4.2.. Materiał nauczania 25 4.2.2. Pytania sprawdzające 38 4.2.3. Ćwiczenia 39 4.2.4. Sprawdzian postępów 4 4.3. Bloki funkcjonalne i typowe układy cyfrowe 4 4.3.. Materiał nauczania 4 4.3.2. Pytania sprawdzające 68 4.3.3. Ćwiczenia 68 4.3.4. Sprawdzian postępów 7 4.4. Wybrane aspekty układów cyfrowych 7 4.4.. Materiał nauczania 7 4.4.2. Pytania sprawdzające 8 4.4.3. Ćwiczenia 8 4.4.4. Sprawdzian postępów 82 5. Sprawdzian osiągnięć 83 6. Literatura 88 2

. WPROWADZENIE Poradnik będzie Ci pomocny w przyswajaniu wiedzy o podstawowych elementach i blokach funkcjonalnych układów cyfrowych i kształtowaniu umiejętności badania układów cyfrowych. W poradniku zamieszczono: wymagania wstępne wykaz umiejętności, jakie powinieneś mieć już ukształtowane, abyś bez problemów mógł korzystać z poradnika, cele kształcenia wykaz umiejętności, jakie ukształtujesz podczas pracy z poradnikiem, materiał nauczania wiadomości teoretyczne niezbędne do opanowania treści jednostki modułowej, zestaw pytań, abyś mógł sprawdzić, czy już opanowałeś określone treści, ćwiczenia, które pomogą Ci zweryfikować wiadomości teoretyczne oraz ukształtować umiejętności praktyczne, sprawdzian postępów, sprawdzian osiągnięć, przykładowy zestaw zadań. Zaliczenie testu potwierdzi opanowanie materiału całej jednostki modułowej, literaturę uzupełniającą. 3

32[2].O2 Podstawy elektroniki analogowej i cyfrowej 32[2].O2. Badanie elektronicznych układów analogowych 32[2].O2.2 Badanie elektronicznych układów cyfrowych Schemat układu jednostek modułowych 4

2. WYMAGANIA WSTĘPNE Przystępując do realizacji programu nauczania jednostki modułowej powinieneś umieć: stosować jednostki układu SI, przeliczać jednostki, posługiwać się podstawowymi pojęciami z zakresu elektrotechniki, elektroniki, rozróżniać podstawowe wielkości elektryczne i ich jednostki, rozróżniać elementy obwodu elektrycznego, odczytywać schematy prostych układów elektrycznych i elektronicznych, charakteryzować wymagania dotyczące bezpieczeństwa pracy przy urządzeniach elektrycznych, łączyć układy elektryczne i elektroniczne zgodnie ze schematem, wyjaśniać działanie prostych układów elektronicznych na podstawie ich schematów, korzystać z różnych źródeł informacji, obsługiwać komputer, współpracować w grupie. 5

3. CELE KSZTAŁCENIA W wyniku realizacji programu jednostki modułowej powinieneś umieć: zapisać liczby w różnych kodach, wykonać operacje logiczne i arytmetyczne na liczbach zapisanych w różnych kodach, zastosować prawa i aksjomaty algebry Boole'a do przekształceń funkcji logicznych, zminimalizować funkcje logiczne, rozpoznać bramki logiczne, przerzutniki, bloki funkcjonalne na podstawie symboli graficznych, tabel prawdy, tabel stanów, tabel wzbudzeń lub grafów przejść, sklasyfikować układy logiczne, zaprojektować proste układy cyfrowe, skorzystać z katalogów i innych źródeł informacji o cyfrowych elementach i układach elektronicznych, przeanalizować działanie elementów i bloków funkcjonalnych, wchodzących w skład układów cyfrowych, porównać parametry cyfrowych układów scalonych wykonanych w różnych technologiach, zmierzyć wybrane parametry elementów i układów cyfrowych, przetestować działanie elementów i układów cyfrowych, wykonać operacje logiczne i arytmetyczne przy pomocy układów cyfrowych, zaobserwować stany logiczne oraz przebiegi na wejściach i wyjściach układów za pomocą przyrządów specjalistycznych lub oscyloskopu, obsłużyć wybrany program wspomagający projektowanie układów logicznych, wyjaśnić zasady łączenia układów cyfrowych w technologiach TTL i CMOS, dokonać analizy działania translatorów sygnałów TTL/CMOS i CMOS/TTL, określić zasady łączenia układów cyfrowych z urządzeniami wejściowymi i wyjściowymi, scharakteryzować budowę i parametry przetworników A/C i C/A, posłużyć się układami pamięci ulotnych i nielotnych. 6

4. MATERIAŁ NAUCZANIA 4.. Podstawy matematyczne układów cyfrowych 4... Materiał nauczania Obecnie często urządzenia elektroniczne są realizowane przy pomocy techniki cyfrowej, która charakteryzuje się tym, że informacja wewnątrz tych urządzeń kodowana jest przy pomocy liczb. Liczba jak wiadomo jest to uporządkowany ciąg cyfr. W urządzeniach takich jak kalkulator, odtwarzacz MP3, multimetr, komputer sygnały wewnętrzne mają postać cyfrową. Wielkość cyfrowa to taka, która w swoim przedziale zmienności przyjmuje skończoną liczbę wartości. Wynika stąd wniosek, że jest to zbiór przeliczalny. Na przykład biorąc pod uwagę zbiór dwuelementowy znaków i można podać dokładnie cztery kombinacje tych cyfr:,,,. W układach cyfrowych ważna rolę odgrywają zbiory znaków składające się z 2, 8,, 6 elementów. Używając cyfr arabskich,, 2, 3, 4, 5, 6, 7, 8, 9 i dużych liter alfabetu A, B, C, D, E, F można zapisywać liczby w różnych systemach. Do podstawowych systemów zapisywania liczb należą systemy pozycyjno wagowe, w których wartość cyfry zależy od miejsca, czyli pozycji, jaką ta cyfra zajmuje w napisanej liczbie. Każda pozycja ma określoną stałą wagę liczbową (znaczenie). Oznaczając podstawę dowolnego pozycyjnego systemu liczbowego przez p, można każdą n - cyfrową liczbę całkowitą przedstawić w postaci szeregu: a lub w skróconej postaci: n n n 2 n p + an2 p +... + a p + a p = i= [ a n a n a a ] 2... p gdzie: p podstawa systemu, którą jest liczba całkowita dodatnia, n numer pozycji a i cyfry z zakresu od do p. Pierwszej cyfrze w lewo od przecinka przypisuje się wagę p, drugiej p, a trzeciej p 2. Natomiast cyfrom zapisywanym w prawo od przecinka przypisuje się kolejno następujące wagi: pierwszej p -, drugiej p -2, trzeciej p -3 i tak dalej. (patrz przykład i 2). W systemach cyfrowych bardzo ważną rolę odgrywają zbiory znaków złożone z 2, 8, i 6 elementów. Zbiory takie nazywamy odpowiednio: zbiorem dwójkowym (binarnym) o podstawie p = 2, zbiorem ósemkowym (oktalnym) o podstawie p = 8, zbiorem dziesiątkowym o podstawie p =, zbiorem szesnastkowym (heksadecymalnym) o podstawie p = 6. W tabeli przedstawiono cyfry używane w systemach o p = 2, 3, 8, i l6. Zwróć uwagę, że dla p > należy wprowadzić dodatkowe znaki. a i p i 7

Tabela. Cyfry używane w systemach liczbowych Podstawa p System liczbowy Cyfry używane w systemie liczbowym 2 Dwójkowy, 3 Trójkowy,, 2 8 Ósemkowy,, 2, 3, 4, 5, 6, 7 Dziesiętny,, 2, 3, 4, 5, 6, 7, 8, 9 6 Szesnastkowy,, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F Dwójkowy system liczbowy Najważniejszą rolę w układach cyfrowych odgrywa dwójkowy system liczbowy, wykorzystujący zapis pozycyjny. Jest on uważany za najprostszy a zarazem najczęściej używany system liczbowy w technice cyfrowej. Elementami zbioru znaków systemu dwójkowego jest para cyfr: i. Znak dwójkowy (ang. Binary Digit) często jest nazywany w skrócie bitem. W dwójkowym systemie liczbowym podstawa systemu p = 2. Kilka wybranych liczb dwójkowych przedstawiono w drugiej kolumnie tabeli 2. Przykład Zapis: 2 oznacza liczbę całkowitą powstałą z sumowania ( 2 3 )+( 2 2 )+( 2 )+( 2 ) = 8+4+=3 Przykład 2 Zapis:, 2 jest zapisem skróconym liczby z częścią ułamkowa: ( 2 3 )+( 2 2 )+( 2 )+( 2 )+( 2 - )+( 2-2 )+( 2-3 )+( 2-4 ) = 9,825 Konwersji (zamiany) dziesiętno dwójkowej można dokonać wielokrotnie dzieląc przez 2 część całkowitą liczby oraz mnożąc przez 2 ułamkową część przetwarzanej liczby dziesiętnej. Przykład 3 Niech liczba zapisana w systemie dziesiętnym L = 9,825 9 : 2 = 4 reszta (LSB) 4 : 2 = 2 2 : 2 = : 2 = (MSB),825 2 =,625 =,625 nadmiar (MSB),625 2 =,25 =,25,25 2 =,5 =,5,5 2 =, =, (LSB) Ostatecznie otrzymujemy: 9,825 =, 2 gdzie: LSB ( ang. Least Significant Bit) najmniej znaczący bit MSB ( ang. Most Significant Bit) najbardziej znaczący bit 8

Dziesiętny system liczbowy Do zapisania dowolnej liczby w powszechnie stosowanym dziesiętnym systemie liczbowym wykorzystuje się dziesięć (wszystkie) cyfr arabskich. W dziesiętnym systemie liczbowym podstawa systemu p =. Kilka wybranych liczb dziesiętnych przedstawiono w pierwszej kolumnie tabeli 2. Przykład 4 Liczbę 5, zapisaną w systemie dziesiętnym można zapisać: 5 = ( )+(5 ) Liczba ta składa się z pięciu elementów o wadze = i jednego elementu o wadze =. Przykład 5 Zapis: 574, 28 jest skróconym zapisem wyrażenia : (5 2 )+(7 )+(4 )+(2 - )+(8-2 ) W tym przykładzie 5 jest na pozycji setek ( 2 ), 7 na pozycji dziesiątek ( ), 4 na pozycji jedności ( ), 2 na pozycji dziesiętnych ( - ) i 8 na pozycji setnych ( -2 ). Szesnastkowy system liczbowy Szesnastkowy system liczbowy jest to taki system pozycyjny, którego podstawa p = 6. Do przedstawienia liczb w tym systemie potrzebnych jest 6 znaków. Dziesięć znaków stanowią cyfry arabskie, a pozostałe 6 znaków pierwsze litery alfabetu: A reprezentuje, B reprezentuje,..., F reprezentuje l5. Kilka wybranych liczb szesnastkowych przedstawiono w czwartej kolumnie tablicy 2. Przykład 6 Niech liczba wyrażona w systemie szesnastkowym ma postać: F3A, C8 6 Równoważną jej liczbą dziesiętną jest liczba o postaci:. (5 6 2 ) + (3 6 ) + ( 6 ) + (2 6 - ) + (8 6-2 ) = 3898,7825 Przykład 7 Liczba zapisana w systemie heksadecymalnym ma postać: 3F 6. Liczba ta oznacza liczbę powstałą przez sumowanie: (3 6 ) + (5 6 ) =48+5= 63. Konwersji dziesiętno - szesnastkowej można dokonać na drodze wielokrotnego dzielenia na 6 części całkowitej oraz mnożenia przez 6 części ułamkowej przetwarzanej liczby dziesiętnej. Przykład 8 Dana jest liczba L = 2527,7825 2527 = 9DF 6,7825 = C8 6 Wynik konwersji: 2527,7825 = 9DF, C8 6 Liczba przedstawiona w systemie dwójkowym może być bezpośrednio przetworzona na liczbę przedstawioną w systemie szesnastkowym. W tym celu należy liczbę dwójkową podzielić na grupy czterobitowe (tetrady) poczynając od przecinka w lewo i w prawo i zastąpić otrzymane tetrady ekwiwalentnymi cyframi szesnastkowymi. 9

Przykład 9 Dana jest liczba L 2 =, Dla części całkowitej liczby otrzymuje się = 6, = A, = 8 natomiast dla części ułamkowej = F, = 5, = C zatem po odrzuceniu zera na początku i dwóch zer na końcu otrzymuje się, 2 = 6A8,F5C H Tabela 2. Przykłady liczb wyrażonych w różnych systemach System dziesiętny System dwójkowy System ósemkowy System szesnastkowy 2 2 2 3 3 3 4 4 4 5 5 5 6 6 6 7 7 7 8 8 9 9 2 A 3 B 2 4 C 3 5 D 4 6 E 5 7 F 6 2 7 2 8 22 2 9 23 3 2 24 4 44 64 75 3E8 Kody Kod jest to zestaw symboli, przyporządkowany danej informacji. Czynność przyporządkowania tych symboli nazywa się kodowaniem. Parametry określające kod to: długość m jest to liczba bitów informacji albo liczba zmiennych, pojemność P jest to liczba kombinacji wartości zmiennych występujących w kodzie. W celu zautomatyzowania procesów przetwarzania i transmisji informacji cyfrowej, zamiast znaków graficznych, którymi posługujemy się na co dzień, są wykorzystywane specjalne kody zbudowane z bardzo prostych symboli. Za pomocą kodów najczęściej koduje się liczby. W układach cyfrowych najczęściej stosuje się kod binarnym, i jego szczególny przypadek kod dwójkowo dziesiętny. Kody zbudowane z symboli dwuwartościowych noszą nazwę kodów dwójkowych. Symbole dwuwartościowe (lub dwójkowe), które przyjmują wartości cyfrowe lub, nazywa się bitami. Znaki przedstawia się w postaci ciągów symboli dwójkowych, a ciągi te nazywane są słowami kodowymi. Inaczej mówiąc, m (czyt. liczba) bitów, które odpowiadają wartościom M zmiennych tworzy tzw. słowo dwójkowe (kodowe). Jedno słowo dwójkowe składające się z m bitów informacji może reprezentować 2 m różnych elementów informacji, np. kod dwójkowy złożony z siedmiu bitów umożliwia zakodowanie 2 7 = 28 znaków. Kodowanie za pomocą kodu dwójkowego oznacza zapisanie liczb w systemie dwójkowym.

Najlepiej jest, gdy wszystkie znaki są przedstawione za pomocą słów kodowych o jednakowej długości. Z uwagi na szybkość i wydajność procesów przetwarzania informacji, należy posługiwać się słowami o jak najmniejszej długości. Kodowanie informacji pozwala na zmniejszenie liczby torów transmisji potrzebnych do przesłania informacji. Podział kodów W zależności od parametru P kody dzielimy na zupełne i niezupełne. Kody zupełne, które zawierają wszystkie możliwe kombinacje wartości zmiennych. Kody niezupełne, które nie wykorzystują wszystkich kombinacji. Kody systematyczne i niesystematyczne Kody systematyczne tworzy się na podstawie reguły formalnej, w której każda kombinacja wartości zmiennych jest zdefiniowana w sposób jednoznaczny, do kodów systematycznych zaliczamy m.in. wszystkie kody wagowe. Kody niesystematyczne wymagają podania tabeli, która określa kolejność poszczególnych kombinacji występujących w dowolnym porządku. do kodów niesystematycznych zaliczamy na przykład kody Watha i dalekopisowy. Kody dwójkowe wagowe i niewagowe Jeśli każdy bit (pozycja) kodu dwójkowego ma określoną i niezmienną wagę (znaczenie) liczbową to taki kod nazywamy kodem wagowym; pozostałe kody są kodami niewagowymi. Wagi są przeważnie liczbami całkowitymi. Wartości liczbowe słowa kodowego będą sumą wag tych pozycji, które zawierają jedynki. Najprostszym wagowym kodem dwójkowym jest tzw. naturalny kod dwójkowy (kod binarny, kod BIN) (tabela 3). Wagi naturalnego kodu dwójkowego n bitowego (n pozycyjnego) wynoszą 2 i, (gdzie i =,, 2,..., 2n-), tzn. są kolejnymi potęgami liczby 2.Powszechnie stosowanym kodem dwójkowym niewagowym jest kod Graya, w którym sąsiednie słowa różnią się wartością tylko jednego bitu. Tabela 3. Kody 4 bitowe: naturalny i Graya 2 3 4 5 6 7 8 9 2 3 4 5 Naturalny kod dwójkowy BIN DCBA 8 4 2 2 3 4 5 6 7 8 9 2 3 4 5 Kod Graya ( niewagowy) ZWYX Kody dwójkowo dziesiętne Ważną odmianę kodów dwójkowych stanowią kody dwójkowo - dziesiętne BCD (ang. Binary Coded Decimal). W kodach tych poszczególne cyfry dziesiętne są przedstawione w kodzie dwójkowym, każdej cyfrze kodu dziesiętnego są przyporządkowane cztery bity

kodu binarnego. Do zakodowania dziesięciu cyfr potrzebne są co najmniej cztery bity, bo: 2 3 < < 2 4. Sześć spośród szesnastu kombinacji kodu 4 - bitowego nie będzie wykorzystanych. Kody BCD mogą być wagowe i niewagowe (przedstawione w tabeli 4 i 5). W kodach wagowych każda pozycja ma określoną wagę. Ciąg wag kodu jest zwykle używana jako nazwa kodu. Podstawowym wagowym kodem BCD jest kod 842 BCD lub po prostu kod BCD (tabela 5), w którym wykorzystuje się pierwsze dziesięć tetrad 4 bitowego naturalnego kodu dwójkowego. Przykładem kodu niewagowego BCD jest kod z nadmiarem 3 (tabela 6). Kod ten otrzymuje się dodając trzy do cyfry dziesiętnej i zapisując ją następnie w kodzie 842. W tym kodzie nie ma możliwości przypisania wagi każdej pozycji. Tabela 4. Kody dwójkowo dziesiętne wagowe Kod BCD Aikena Wagi 8 4 2 2 4 2 2 4 2 7 4 2 8 4 2 2 3 4 5 6 7 8 9 Tabela 5. Kody dwójkowo dziesiętne niewagowe Z nadmiarem 3 (+3, Kod: Graya plus 3, Cyfra z nadmiarem 3 excess 3. XS3) 2 3 4 5 6 7 8 9 Wattsa Johnsona pseudopierścieniowy Wskaźników cyfrowych siedmiosegmentowych Kody detekcyjne, korekcyjne i alfanumeryczne Oprócz omówionych powyżej kodów możemy wyróżnić także kod detekcyjny z kontrolą parzystości, kod ze stałą liczbą jedynek w słowie kodowym oraz 7 bitowy kod alfanumeryczny ASCII, do przesyłania informacji pomiędzy komputerami czy dalekopisami. Algebra Boole a Istotą techniki cyfrowej jest wytwarzanie cyfrowych sygnałów wyjściowych jako odpowiedzi na cyfrowe sygnały wejściowe. Na przykład sumator 6 bitowy przetwarza doprowadzone do wejść dwie liczby 6 bitowe na sumę 6 bitową tych liczb oraz bit przeniesienia. Można także zbudować układ do mnożenia dwóch liczb. Są to operacje w rodzaju tych, jakie powinna wykonywać jednostka arytmetyczna komputera. Innym zadaniem może być porównanie dwóch liczb w celu sprawdzenia, która z nich jest większa. Typowymi zadaniami układów cyfrowych jest pobranie pewnych liczb binarnych, ich wyświetlenie, wydrukowanie jako znaków dziesiętnych. We wszystkich tych zadaniach sygnały (stany) wyjściowe są zdeterminowanymi funkcjami sygnałów (stanów) wejściowych. 2

Wszystkie zadania mogą być wykonane za pomocą urządzeń zwanych bramkami, które realizują działania algebry Boole a w dziedzinie elementów dwustanowych (binarnych). Każda ze zmiennych boolowskich może być równa tylko zeru lub równa tylko jedynce. To założenie można zapisać w postaci: X =, jeśli X X, jeśli X = Funkcję, której zmienne lub ona sama przyjmuje wartości ze zbioru {, } nazywamy funkcją boolowską (logiczną, przełączającą). Natomiast układ przetwarzający logiczne sygnały wejściowe na logiczne sygnały wyjściowe nazywa się układem logicznym. Przy projektowaniu dwustanowych ( stan niski, stan wysoki) układów cyfrowych posługujemy się algebrą Boole a, która opiera się na trzech zasadniczych funkcjach logicznych. Jedną z postaci algebry Boole a jest znany rachunek zdań, gdzie zamiast znaków sumy + stosuje się łącznik lub, zamiast znaku iloczynu łącznik i, a do negacji używamy słowa nie. Algebra Boole a posługuje się szeregiem praw i tożsamości, które przedstawione są poniżej. Prawo przemienności mnożenia i dodawania: a b A+B = B+A A B = B A Prawo łączności: a b mnożenia A+B+C = A+(B+C) = (A+B)+C dodawania A B C = A (B C) = (A B) C Prawo rozdzielczości: mnożenia względem dodawania a A (B + C) = A B + A C dodawania względem mnożenia b A + B C = (A + B) (A + C) Prawa podstawowe: a A + = b A = A a A + =A b A = a A + A = A b A A = A a A + A = A b A A = Prawa de Morgana: a A + B + C +... = A B C... b A B C... = A + B + C +... 3

Podstawowe tożsamości algebry Boole a: a A B + A C = A (B + C) b (A + B) (A + C) = A + B C a A B +B C+A C=A B+A -C b (A + B) (B + C) (A +C) = (A+B) (A + C) a b A B + A B = B (A + B) (A + B) = B Podstawowe funkcje logiczne i bramki układów cyfrowych iloczyn logiczny I (ang. AND), Y = A B suma logiczna LUB (ang. OR), Y = A + B negacja (inwersja) NIE (ang. NOT), Y = A Operacja sumy logicznej jest zdefiniowana następująco. Jeżeli co najmniej jeden z argumentów jest równy, to wynik jest równy. Zatem suma logiczna jest równa tylko dla przypadku, gdy wszystkie argumenty są równe. Operacja iloczynu logicznego jest zdefiniowana następująco wynik iloczynu jest równy, wtedy i tylko wtedy, gdy wszystkie argumenty przyjmują wartość. Operacja negacji jest operacją jednoargumentową i jest zdefiniowana jako zmiana wartości argumentu, tj. jeśli argument ma wartość, to operacja ta daje w wyniku wartość, a jeśli argument ma wartość, to operacja ta daje w wyniku wartość. Stosowane są również operatory złożone (pochodne), jak: suma zanegowana NOR, Y = A + B iloczyn zanegowany NAND, Y = A B równoważność EX-NOR, Y = A B nierównoważność, zwana sumą modulo 2, EXOR, XOR, Y = A B Funkcja I (AND) Do przedstawienia iloczynu logicznego X na przykład dwóch zmiennych A i B są stosowane wyrażenia: X = A B = AB = A B = A B Najczęściej używane jest pierwsze i drugie wyrażenie. Funkcję I (AND) dwóch zmiennych boolowskich przedstawiono na Rys.. Funkcja iloczynu logicznego przyjmuje wartość wtedy i tylko wtedy, gdy wszystkie zmienne, A i B przyjmują wartość. W każdym innym przypadku iloczyn logiczny tych sygnałów wynosi. Tabela 6. Dwuargumentowa funkcji I (AND). A B X = AB 4

A B Rys.. Realizacja fizyczna dwuargumentowej funkcji I (AND) Operację iloczynu logicznego X, realizują szeregowo połączone klucze A i B w obwodzie elektrycznym. Napięcie baterii będzie wykorzystane do rozświecenia żarówki, tzn. X = tylko wtedy, jeśli zarówno klucz A, jak i klucz B będą zamknięte, to znaczy A = i B = (patrz rysunek ). Funkcja LUB (OR) Do przedstawienia sumy logicznej Y na przykład dwóch zmiennych A i B są stosowane wyrażenia: Y = A + B = A B = A B Najczęściej używane jest pierwsze wyrażenie. Jeżeli na wejścia układu podamy sygnał A i sygnał B, to na jego wyjściu otrzymamy sygnał będący ich sumą A + B. Przyjmuje ona poziom, gdy A lub B ma poziom. Funkcja sumy logicznej przyjmuje wartość wtedy, gdy wszystkie zmienne przyjmują wartość. Funkcję LUB (OR) dwóch zmiennych boolowskich przedstawiono na rys. 2, który ilustruje różnicę między sumą logiczną a sumą arytmetyczną. W ostatnim wierszu tablicy widzimy, że + = dla sumy logicznej. Liczba zmiennych sumowanych logicznie może być dowolna. Tabela 7. Dwuargumentowa funkcji LUB (OR) A B X = A + B Obwód elektryczny z równolegle połączonymi kluczami A i B, które realizują operację sumy logicznej Y, jest przedstawiony na rys. 2. Napięcie baterii spowoduje zapalenie się żarówki, czyli Y = l, wtedy, gdy klucz A lub klucz B, lub obydwa są zamknięte (patrz rysunek 2). A B X = AB Y = A+B Rys. 2. Realizacja fizyczna dwuargumentowej funkcji LUB (OR) 5

Funkcja NIE (NOT) Do przedstawienia negacji N na przykład zmiennej A są stosowane wyrażenia: N = A = A' Najczęściej używane jest pierwsze wyrażenie. Symbol A odczytuje się jako nie A lub A zanegowane, lub dopełnienie A. Funkcja NIE (NOT) polega na inwersji (negacji) zmiennej, czyli zamienia stan wysoki na stan niski lub odwrotnie. Jeżeli na wejście podamy sygnał logiczny A, to na wyjściu otrzymamy jego negację A ( nie A ). Funkcję NIE (NOT) przedstawiono na tabela 8. Tabela 8. Jednoargumentowa funkcja logiczna NIE (NOT) A X Funktory układów logicznych Bramkami (funktorami logicznymi) nazywane są kombinacyjne układy cyfrowe, realizujące proste funkcje logiczne jednej lub wielu zmiennych logicznych. Zmienną logiczną jest sygnał elektryczny występujący na wejściach i wyjściach tych układów. Poniżej zostanie przedstawione działanie logiczne podstawowych typów bramek logicznych. Bramka I (AND) A B F F A B = A B Rys. 3. Dwuwejściowa bramka I (AND): a) tablica prawdy i symbol graficzny Bramka LUB (OR) Bramka ta jest układem o dwu lub większej liczbie wejść, realizującym funkcję sumy logicznej zmiennych wejściowych (rys. 4). Wyjście bramki OR (LUB) jest w stanie wysokim, jeżeli któreś z wejść (lub oba) jest w stanie wysokim. Można to wyrazić za pomocą tablicy prawdy. a) b) F = A + B A B F A B F Rys. 4. Dwuwejściowa bramka LUB (OR): a) tablica prawdy, b) symbol graficzny W algebrze Boole a symbolowi OR odpowiada symbol +. A LUB B jest zapisywane jako A + B. 6

Bramka NIE (NOT) Często potrzebujemy zmienić stan logiczny na przeciwny, nazywa się to również negowaniem stanu logicznego. Jest to funkcja inwertora, bramki o jednym wejściu (rysunek 5). a) b) F = A A F A F Rys. 5. Bramka NIE (NOT): a) tablica prawdy, b) symbol graficzny Do podstawowych bramek negacyjnych należy bramka I-NIE (Not AND lub krócej NAND) oraz bramka LUB-NIE (Not OR lub krócej NOR). Bramka I NIE (NAND) Bramka ta jest układem realizującym funkcję negacji iloczynu, a więc zgodnie z prawem de Morgana również funkcje sumy negacji zmiennych wejściowych (rysunek 6). Funkcja NOT może być połączona z innymi funkcjami, tworząc NAND. Bramka I-NIE (NAND) jest bramką podstawową w kilku klasach scalonych układów cyfrowych. a) b) F = A B = A + B A B F A B F Rys. 6. Bramka I NIE (NAND): a) tablica prawdy, b) symbol graficzny Bramka LUB NIE (NOR) Bramka ta jest układem realizującym funkcję negacji sumy, a więc zgodnie z prawem de Morgana również funkcję iloczynu negacji zmiennych wejściowych. Podobnie jak bramka I-NIE (NAND), również i ta bramka jest podstawową bramką w kilku klasach scalonych układów cyfrowych (rysunek 7b). F a) b) = A + B = A B A B F A B F Rys. 7. Bramka LUB - NIE (NOR): a) tablica prawdy, b) symbol graficzny 7

Sposoby przedstawiania funkcji logicznych Do przedstawiania funkcji logicznych służy nam opis słowny. Na podstawie opisu można sporządzić tablicę wartości zwaną tablicą wierności lub tablicą prawdy (ang. Truth Table). Tablica ta składa się z wierszy, w których wpisuje się wszystkie kombinacje zerojedynkowe zmiennych niezależnych. Wszystkie kombinacje zmiennych zapisujemy tak, aby tworzyły kolejne liczby dziesiętne zapisane w systemie dwójkowym. Ostatnia kolumna jest przeznaczona do zapisania wartości funkcji dla poszczególnych kombinacji zerojedynkowych. Inną metodą bezpośredniego zapisu funkcji n zmiennych są tablice Karnaugha. Tablice te są prostokątne i zwierają 2 n pól. Jest to zapis bardziej zwarty i prostszy w użyciu niż tablica wartości. Metoda tablic Karnaugha zapewnia minimalizację funkcji logicznych czyli zapisywanie tych funkcji w sposób prostszy w porównaniu z innymi metodami, a praktyczna realizacja funkcji jest ekonomicznie tańsza, ponieważ wymaga mniejszej ilości zastosowania bramek cyfrowych. Metoda tablic Karnaugha Najczęściej stosowanym i najprostszym rodzajem opisu układu kombinacyjnego jest tablica wartości, która ukazuje zależność sygnałów wyjściowych od sygnałów zmiennych wejściowych. Tablice Karnaugha służą do bezpośredniego zapisu n zmiennych. Tablice te są prostokątne i zawierają 2 n pól. Kolumnom i wierszom siatek zostały przypisane wartości w kodzie Graya, gdzie dwie sąsiednie pozycje różnią się jednym znakiem. Kolejność taka jest charakterystyczną właściwością tablicy Karnaugha, która wykorzystuje reguły sklejania, zapisane poniżej dla zmiennych A, B funkcji logicznej. AX + AX = A A( X + X ) = A ( B + X )( B + X ) = B BB + BX + BX + X X = B B + B( X + X ) + = B B + B + = B Zmienną, która w dwóch sąsiednich polach przyjmuje różne wartości można pominąć. Najprostszą z możliwych tablic Karnaugha dla układu dwuwejściowego przedstawiono na rysunku 8. Za jej pomocą możemy opisać funkcję logiczną dwu sygnałów wejściowych (D i D ). 8

a) b) D D D D Y = D D D D Y 3 D D 2 Rys. 8. Tablica Karnaugha dla układu dwuwejściowego: a) niewypełniona, b) przykładowe jej wypełnienie Na rysunku zaznaczono strzałkami, jakim kombinacjom sygnałów wejściowych odpowiada dane pole. Tablica ta jest niewypełniona, tzn. nie opisuje żadnej funkcji logicznej. Jej wypełnienie polega na wpisaniu w każde pole takiego stanu (, ), jaki powinien pojawić się na wyjściu układu przy danej kombinacji sygnałów wejściowych. Na rysunku 8 przedstawiono wypełnioną przykładowo tablicę Karnaugha. Obok niej zapisano występujące możliwe kombinacje stanów logicznych sygnałów wejściowych D i D oraz odpowiadający im sygnał wyjściowy Y. Zatem, tablica Karnaugha jest to specjalny rodzaj tablicy, do której w pola opisane jednoznacznie kombinacją sygnałów wejściowych wpisuje się odpowiadającą im wartość sygnału wyjściowego. Na rysunku 9 przedstawiono tablicę czterech zmiennych. Każde dwa sąsiadujące ze sobą pola (stykające się jednym bokiem oraz leżące przy krawędziach A - A i B-B ) tej tablicy różnią się w opisach odpowiadających im sygnałów wejściowych tylko jednym bitem (jedną pozycją). CD AB 3 2 4 5 7 6 2 3 5 4 8 9 Rys. 9. Tablica Karnaugha czterech zmiennych Aby zapisać do tablicy Karnaugha funkcję o większej liczbie sygnałów wejściowych, należy stopniowo zwiększać jej rozmiary, stosując w tym celu tzw. metodę odbicia lustrzanego. Sposób tworzenia tablicy dla czterech zmiennych z tablicy dwóch zmiennych przedstawiono na rysunku. 9

a) b) c) d) Rys.. Etapy tworzenia tablicy Karnaugha dla czterech sygnałów wejściowych L - L' oś odbicia lustrzanego Polega on na przekształceniu tablicy Karnaugha dla dwóch sygnałów wejściowych A, B (rysunek a) w tablicę dla trzech sygnałów wejściowych A, B, C (rysunek b) a następnie w tablicę dla czterech sygnałów A, B, C, D (rysunek c, d). Każde zwiększenie liczby sygnałów wejściowych o jeden powoduje podwojenie rozmiarów tablicy. Następnym krokiem jest wypełnienie pól tak utworzonej tablicy. Funkcja logiczna może być podana na przykład w postaci: opisu słownego, zbioru liczb, dla których reprezentacji dwójkowej odpowiada na wyjściu poziom lub innego jednoznacznego opisu. Sposób wypełniania tablicy: każdą liczbę, dla której funkcja wyjściowa przyjmuje wartość przedstawiamy za pomocą kodu dwójkowego. każdą liczbę możemy zapisać za pomocą czterech bitów (czterech sygnałów wejściowych). Zatem potrzebna jest czterowejściowa tablica Karnaugha. w poszczególne pola tej tablicy należy wpisać wartości funkcji Y dla poszczególnych kombinacji sygnałów wejściowych. W tym miejscu zwykle wyłania się problem. Jak w stosunkowo krótkim czasie znaleźć pola odpowiadające danej kombinacji wejściowej (problem ten ma większe znaczenie, gdy tworzymy tablice o większej liczbie sygnałów wyjściowych). Kombinacje sygnałów wejściowych dzielimy przerywaną linią w taki sposób, aby przebiegała ona między sygnałami opisującymi kolumny a sygnałami opisującymi wiersze tablicy Karnaugha Na przykład bity A, B opisują wiersze, a bity C, D - kolumny. Zatem każde pole jest opisane kolumną i wierszem. 2

w tablicy Karnaugha odszukujemy wiersz opisany kombinacją AB (sygnałów wejściowych). po odnalezieniu odpowiedniego wiersza. poruszamy się wzdłuż niego, szukając kolumny opisanej kombinacja CD. w pole tablicy leżące na przecięciu odszukanego wiersza i kolumny wpisujemy wartość. (Strzałkami zaznaczono pola, które odpowiadają poszczególnym kombinacjom). jeżeli funkcja określała pola, którym odpowiadają poziomy, to w pozostałe wolne pola należy wpisać. Dysjunkcyjna postać kanoniczna Dowolną funkcję logiczną n zmiennych można także przedstawić w dysjunkcyjnej postaci kanonicznej lub koniunkcyjnej postaci kanonicznej. Pierwsza postać dotyczy sumy iloczynów pełnych, druga iloczynu sum pełnych. Wyjaśnimy to na przykładzie funkcji logicznej trzech zmiennych X,Y,Z przedstawionej w tablicy 9. Tabela 9. Przykładowa tablica wartości funkcji f(x, Y, Z) j X Y Z f 2 3 4 5 6 7 Jak wynika z tablicy wartości, funkcja ta przyjmuje wartość w wierszach 2, 3, 5 i 6, a wartość w pozostałych wierszach. Zatem funkcja f wyrażona w postaci dysjunkcyjnej przyjmuje postać: f ( X, Y, Z) = 3 2 U j= a j I j = I + I + I 2 + I 3 + I 4 + I 5 + I 6 + I Każdy składnik typu I j = nie zmienia wartości funkcji, może więc być wyeliminowany. Wtedy funkcja ta przyjmuje postać: f ( X, Y, Z ) I + I + I + I = XY Z + XYZ + XYZ + XY Z = 2 3 5 6 7 Przykład: Wyrazić funkcję f ( X,Y,Z ) XY Z + XYZ + XYZ + XY Z = w postaci kanonicznej f ( X, Y, Z ) = XY Z + XYZ + XYZ + XY Z = = { + { + { + { = = 2 3 U (2,3,5,6 ) 5 6 Drugą postacią algebraiczną funkcji n zmiennych jest koniunkcyjna postać kanoniczna. 2

Y = f ( X gdzie: n 2 I, X,..., X n ) = ( a j + S j ) j= a j = lub, a znak I oznacza iloczyn logiczny. Jak wynika z tablicy wartości, funkcja ta przyjmuje wartość w wierszach,, 4 i 7, a wartość w pozostałych wierszach. Zatem funkcja przyjmuje postać: f ( X, Y, Z) = ( + S)( + S)( + S2)( + S3)( + S4)( + S5)( + S6)( + S7) Każdy czynnik typu +S j = nie zmienia wartości funkcji, może więc być wyeliminowany. Zatem: f ( X, Y, Z) = SSS 4S7 = ( X + Y + Z)( X + Y + Z)( X + Y + Z)( X + Y + Z) Jako czynniki do iloczynu wchodzą te sumy Sj, które odpowiadają kombinacjom zerojedynkowym zmiennych niezależnych, dla których funkcja przyjmuje wartość. Wyrazić funkcję trzech zmiennych X,Y,Z w postaci koniunkcyjnej: f ( X, Y, Z) = ( X + Y + Z)( X + Y + Z)( X + Y + Z)( X + Y + Z) f ( X, Y, Z) = ( X + Y + Z)( X + Y + Z)( X + Y + Z)( X + Y + Z) = = { { { { = I (,,4,7 ) 4..2. Pytania sprawdzające 4 7 Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.. W jaki sposób można zapisać n-cyfrową liczbę całkowitą? 2. Jakie są podstawowe systemy liczbowe? 3. Jakie znaki używane są w systemie szesnastkowym? 4. W jaki sposób można zamienić liczbę dziesiętną na liczbę dwójkową? 5. W jaki sposób można zamienić liczbę w systemie szesnastkowym na liczbę dziesiętną? 6. W jaki sposób można zamienić liczbę w systemie binarnym na liczbę w systemie szesnastkowym? 7. Jak można wyjaśnić pojęcie kodu? 8. W jaki sposób klasyfikuje się kody? 9. Jak można zdefiniować funkcję boolowską?. Jakie są podstawowe prawa algebry Boole a?. Jakie są podstawowe funkcje logiczne? 2. W jaki sposób można przedstawić podstawowe funkcje logiczne? 3. Jakie są metody przedstawiania dowolnej funkcji logicznej? 4. W jaki sposób przedstawia się funkcję logiczną przy pomocy tablicy Karnaugha? 5. W jaki sposób przedstawia się funkcję logiczną według dysjunkcyjnej postaci kanonicznej? 6. W jaki sposób przedstawia się funkcję logiczną według koniunkcyjnej postaci kanonicznej? 22

4..3. Ćwiczenia Ćwiczenie Sklasyfikuj wskazane przez nauczyciela systemy liczbowe. Omów sposoby zamiany liczby całkowitej z dziesiętnego systemu liczbowego na binarny i szesnastkowy. Sposób wykonania ćwiczenia Aby wykonać ćwiczenie, powinieneś: ) odszukać w materiałach dydaktycznych kryteria klasyfikacji systemów liczbowych, 2) dokonać analizy zapisu liczb w różnych systemach liczbowych, 3) rozpoznać rodzaje systemów dotyczących ćwiczenia, 4) zapisać w prosty sposób zamianę liczby całkowitej z systemu dziesiętnego na binarny i szesnastkowy. Wyposażenie stanowiska pracy: papier formatu A4, flamastry, literatura zgodna z punktem 6 poradnika. Ćwiczenie 2 Dane są liczby całkowite zapisane w systemie dziesiętnym. L = 74 i L2 = 548. Dokonaj konwersji tych liczb na system binarny i szesnastkowy. Sposób wykonania ćwiczenia Aby wykonać ćwiczenie, powinieneś: ) odszukać odpowiednie terminy, 2) odnaleźć metody konwersji, 3) wykonać obliczenia, 4) przeanalizować poprawność zamian (konwersji), 5) uzasadnić otrzymane wyniki. Wyposażenie stanowiska pracy: papier formatu A4, flamastry, literatura zgodna z punktem 6 poradnika Ćwiczenie 3 Dane są liczby całkowite zapisane w systemie szesnastkowym. L = BABA i L2 = ABBA. Dokonaj konwersji tych liczb na system dziesiętny i binarny. Sposób wykonania ćwiczenia Aby wykonać ćwiczenie, powinieneś: ) odszukać odpowiednie terminy, 2) odnaleźć metody konwersji, 3) wykonać obliczenia, 4) przeanalizować poprawność zamian (konwersji), 5) uzasadnić otrzymane wyniki. 23

Wyposażenie stanowiska pracy: papier formatu A4, flamastry, literatura zgodna z punktem 6 poradnika 4..4. Sprawdzian postępów Czy potrafisz: Tak Nie ) zapisać n-cyfrową dwójkową liczbę całkowitą? 2) zamienić liczbę dziesiętną na liczbę dwójkową? 3) rozpoznać podstawowe systemy liczbowe? 4) zamienić liczbę w systemie binarnym na liczbę w systemie szesnastkowym? 5) wyjaśnić pojęcie kodu? 6) sklasyfikować różne kody binarne? 7) zdefiniować funkcję boolowską? 8) zdefiniować podstawowe funkcje logiczne? 9) przedstawić podstawowe funkcje logiczne? ) opisać metody przedstawiania dowolnej funkcji logicznej? ) przedstawić dowolną funkcję logiczną przy pomocy tablicy Karaugha? 2) przedstawić funkcję logiczną według dysjunkcyjnej postaci kanonicznej? 3) przedstawić funkcję logiczną według koniunkcyjnej postaci kanonicznej? 24

4.2. Układy kombinacyjne i sekwencyjne 4.2.. Materiał nauczania Do układów przełączających logicznych zaliczamy układy kombinacyjne i sekwencyjne. Cechą odróżniającą układy kombinacyjne i sekwencyjne jest właściwość pamiętania stanów logicznych, która jest charakterystyczna dla układów sekwencyjnych. Układy kombinacyjne są bezpamięciowe. Układ kombinacyjny służy do przetwarzania informacji dyskretnej dwuwartościowej. W układzie kombinacyjnym każda kombinacja sygnałów wejściowych określa jednoznacznie kombinację sygnałów wyjściowych. Sygnały wejścia i sygnały wyjścia przyjmują skończoną liczbę kombinacji i skończoną liczbę wartości. Kombinacje sygnałów wejściowych są to stany wejść układu, a kombinacje sygnałów wyjściowych stany wyjść układu. Z układem kombinacyjnym mamy do czynienia, jeżeli wartość zmiennych ze zbioru Y zależy od wartości zmiennych ze zbioru X. Działanie układu kombinacyjnego możemy opisać wyrażeniem: Y = f (X) gdzie: X zbiór wszystkich możliwych, dla danego układu stanów wejść, X = {x, x 2,...,x n,}, Y zbiór wszystkich możliwych, dla danego układu stanów wyjść, Y = {y, y 2,,...,y n }. Zależność Y = f (X) jest równoważna zespołowi (rodzinie) funkcji logicznej: y = f (x...x n ) y 2 = f 2 (x 2...x n ) y m = f m (x...x n ) gdzie: n liczba wejść układu kombinacyjnego, m liczba wyjść układu kombinacyjnego. Układ przełączający (logiczny) o n wejściach i m wyjściach można przedstawić w postaci pokazanej na rysunku. Rys.. Układ przełączający X = {x, x 2,...,x n }, Y = {y, y 2,,...,y n } Do realizacji fizycznej kombinacyjnych układów cyfrowych są stosowane bramki logiczne. W układach kombinacyjnych stosuje się metodę Karnaugha. Synteza układu kombinacyjnego sprowadza się do realizacji zespołu funkcji logicznych określonych na tym samym zbiorze zmiennych. O złożoności układowej świadczy liczba funktorów w układzie oraz liczba połączeń, czyli sumaryczna liczba wejść wszystkich funktorów. Obie te liczby stanowią o koszcie układu. Przy syntezie zespołu funkcji logicznych należy dążyć do minimalizacji funkcji kosztu, biorąc pod uwagę możliwość wykorzystania wspólnych iloczynów (sum) wchodzących w skład rozpatrywanych funkcji. 25

W celu dokonania realizacji układu kombinacyjnego należy: określić funkcję logiczną rozpatrywanego problemu, np. za pomocą tablicy wartości, dokonać minimalizacji funkcji logicznej wykorzystując tablice Karnaugha, przedstawione w poniższym rozdziale, lub metody algebraiczne, sporządzić schemat układu logicznego, realizującego zminimalizowaną funkcję logiczną. Istnieją dwie podstawowe metody minimalizacji funkcji:. metoda analityczna algebry Boole a. 2. metoda z użyciem tablicy Karnaugha (czyt. karno). Minimalizacja analityczna metodą algebry Boole a polega na zapisaniu funkcji logicznej, a następnie zminimalizowaniu (skróceniu zapisu jej z zastosowaniem praw algebry Boole a (podanych w rozdziale 4..). Układy komutacyjne Układy komutacyjne służą do łączenia ze sobą bloków funkcjonalnych i przełączania sygnałów cyfrowych. Określony kod stosujemy zależnie od jego zastosowania. Przy wyborze należy brać pod uwagę możliwość osiągnięcia minimum kosztów układu realizującego daną operację oraz zapewnienie prawidłowości jej realizacji w obecności zakłóceń i uszkodzeń w systemie. Aby dokonać konwersji danego kodu na inny kod, liczba słów kodowych w obydwu kodach musi być identyczna, natomiast długość słów obydwu kodów nie musi być jednakowa. Układy komutacyjne służą do łączenia ze sobą bloków funkcjonalnych i przełączania sygnałów cyfrowych. Do układów komutacyjnych systemów cyfrowych zaliczamy: konwertery kodów (w tym kodery i dekodery), demultipleksery, multipleksery. Konwerterem (przetwornikiem) nazywamy układ służący do przekształcenia jednego kodu w inny kod. Przetwornik przekształcający kod z n na żądany kod, nazywa się koderem (zwany też enkoderem), natomiast przetwornik zmieniający dowolny kod w kod z n dekoderem. Pozostałe przetworniki noszą nazwę transkoderów. Szczególnym rodzajem dekoderów są multipleksery i demultipleksery, zwane selektorami. Enkodery Enkodery zwykłe są to układy zmieniające kod z n na określony binarny kod wyjściowy. Układy te posiadają n wejść, przy czym tylko jedno z wejść jest w danym czasie aktywne. Jeśli kodem wejściowym jest kod z n bez negacji, to wejście aktywne znajduje się w stanie, a pozostałe w stanie. Natomiast jeśli kodem wejściowym jest kod z n z negacją, to wejście aktywne znajduje się w stanie, a pozostałe w stanie. Sygnał aktywny, pojawiający się na jednym z n wejść, zostaje zakodowany w słowo binarne m bitowe (m wyjść enkodera) i na wyjściach pojawia się numer wyjścia aktywnego, przedstawiony w żądanym kodzie dwójkowym. 26

Kod z n KOD WYJŚCIOWY Rys. 2. Enkoder zwykły Przykładem może być zamiana kodu z na kod BCD 842, oraz zamiana kodu z na kod BCD 842. Tabela. Tablica prawdy enkoderów zwykłych Wejścia Przykładowe wyjścia Kod z Kod z 9 8 7 6 5 4 3 2 9 8 7 6 5 4 3 2 D C B A 2 3 4 5 6 7 8 9 Na podstawie tablicy prawdy możemy wywnioskować, że wyjście A =, jeśli wejście jest w stanie lub jeśli wejście 3 jest w stanie, lub jeśli wejście 5 jest w stanie, lub jeśli wejście 7 jest w stanie, lub wejście 9 jest w stanie. Wobec tego w notacji algebry Boole'a można to za pisać w postaci funkcji: A = +3+5+7+9 Podobnie B = 2+3+6+7 C = 4+5+6+7 D = 8+9 27

a) b) Kod z 9 8 7 6 5 4 3 2 Kod z 9 8 7 6 5 4 3 2 A A B B C C D D Rys. 3. Przykłady enkoderów Dekodery Dekodery są to układy kombinacyjne n / m (liczba wejść / liczba wyjść) przekształcające określony kod wejściowy o długości m na kod wyjściowy z n. Dekoder posiada m wyjść, a każdemu ze słów wyjściowych jest przyporządkowany sygnał aktywny ( lub ), pojawiający się tylko na jednym z m wyjść, pozostałe zmienne wyjściowe mają wartość przeciwną. Rozróżniamy dwa rodzaje dekoderów: pełny, jeśli dla rozpatrywanego dekodera zachodzi równość 2 n = m, gdzie n liczba wejść, niepełny, jeśli dla rozpatrywanego dekodera zachodzi nierówność 2 n > m, gdzie nie wszystkie słowa kodowe są wykorzystane. Przykładowo rozpatrzmy syntezę dekodera pełnego 2/4, czyli dekodera posiadającego 2 wejścia i 4 wyjścia. Wejścia rozpatrywanego dekodera oznaczono literami: A, B a wyjścia liczbami:,, 2, 3. Kod wejściowy i kod wyjściowy dekodera przedstawiono w tablicy. Tabela. Tablica prawdy dekodera pełnego 2/4 Wyjścia Wejścia z 4 B A z 4 2 3 2 3 Gdy kodem wyjściowym dekodera jest kod z 4 bez negacji, to dekoder jest układem realizującym następujące funkcje przełączające: 28

= A B = A B 2 = A B 3 = AB albo = A B = A + B = A B = A + B 2 = A B = A + B 3 = AB = A + B 2 z4 2 z4 A 3 A 3 B B Rys. 4. Realizacja dekoderów Transkodery Transkodery są to układy służące do konwersji kodu dwójkowego, innego niż kod pierścieniowy ( z n), na inny kod dwójkowy, ale również nie pierścieniowy. Przykładem transkodera jest konwerter kodu wskaźnika siedmiosegmentowego na kod 842 BCD. Transkodery są często zaliczane do grupy dekoderów. Transkodery można zrealizować w postaci układu złożonego z dekodera (zmieniającego kod wejściowy X na kod pierścieniowy) i enkodera (zmieniającego kod pierścieniowy uzyskany na wyjściach dekodera na żądany kod wyjściowy Y). Takie rozwiązanie jest korzystne wtedy, gdy zarówno wymagany dekoder jak i enkoder, albo przynajmniej jeden z nich, są dostępne. 29

Kod wejsciowy X Dekoder Kod pierścien. wy Enkoder Kod wyjściowy X Kod wejściowy X Transkoder Kod wyjściowy X Rys. 5. Schematy ideowe transkoderów: a) zbudowanych z enkodera i dekodera, b) zbudowanych w postaci kombinacyjnego układu wielowyjściowego Jeśli zarówno dekoder jak i enkoder nie są dostępne w postaci układów scalonych, to lepsze rozwiązanie można uzyskać w wyniku syntezy transkodera jakowielowyjściowego układu kombinacyjnego. Przykłady syntezy i rozwiązań transkoderów Zaprojektować transkoder służący do przetwarzania kodu 842 BCD na kod 2*42 BCD. W celu zaprojektowania transkodera: 842 BCD na kod 2*42 BCD należy przedstawić rozpatrywane kody w tablicy (rys. 6). Tablica kodów stanowi tablicę wartości rozpatrywanego układu kombinacyjnego. Jest to układ 4 wyjściowy. Kolumny wejścia A i D (patrz tablica kodów) są tożsame z kolumnami wyjściowymi A' i D', a zatem: A' = A D' = D W celu wyznaczenia funkcji B' i C' należy zastosować metody minimalizacji, np. za pomocą tablic Karnaugha, lub dostrzec związki logiczne, jakie otrzymuje się z tych tablic, czyli: B' = B+D C' = C+D Schemat logiczny układu realizującego powyższe funkcje przełączające pokazano na rysunku 5. 3

Tabela 2. Dla transkodera 842 BCD na kod 2*42 2 3 4 5 6 7 8 9 BA DC B BA C DC X X X X X X X X X X X X A B A B C D Rys. 6. Transkoder służący do konwersji kodu 842 Multipleksery Multiplekser jest układem umożliwiającym przełączanie (komutację) sygnałów cyfrowych. Posiada on kilka wejść informacyjnych, jedno wyjście, wejścia adresowe (sterujące) oraz wejście strobujące. Multiplekser służy do wybrania jednego określonego sygnału wejściowego i przełączenia go do wyjścia. Sterowanie multiplekserem polega na podaniu na wejścia sterujące numeru (w kodzie BCD) wejścia, które ma być połączone z wyjściem. Wejście strobujące służy do zablokowania pracy multipleksera. W postaci układów scalonych dostępne są np. UCY745N, 745N, 7453N, 7457N. Rozpatrzmy przykładowo układ UCY745N. Układ ma 6 wejść danych (D D5), 4 wejścia adresowe (A B, C, D), wejście strobujące (S) i wyjście (W). Blokowanie układu następuje po podaniu poziomu na wejście strobujące S. Podanie na wejście strobujące poziomu powoduje działanie układu zgodnie z podaną poniżej tabelą. C D 3

Tabela 2a.Wejscia i wyjścia multipleksera Rys. 7. Multiplekser Demultipleksery Demultiplekser pełni funkcję odwrotną do multipleksera, a mianowicie realizuje funkcję przełączenia sygnału z jednego wejścia na określone jedno z wielu wyjść. Podobnie jak multiplekser posiada wejścia sterujące, wejście strobujące, jedno wejście, a kilka wyjść. W postaci układów scalonych dostępne są np. układy UCY7454N, 7455N. Poniżej przedstawiono oznaczenie symboliczne oraz tablicę działania demultipleksera UCY7454N. Na wyjściu wybranym przez słowo adresowe pojawia się stan tylko wtedy, gdy na obu wejściach G i G2 panuje stan. Wejścia G i G2 można połączyć w jedno i traktować jako wejście informacyjne lub jedno z nich stanowi wejście informacyjne, drugie zaś wejście strobujące. Doprowadzenie do wejścia strobującego poziomu logicznego powoduje zablokowanie multipleksera. Jeżeli do wejścia strobującego podamy stan logiczny to układ działa według podanej poniżej tabeli. 32

Tabela 3.Wejscia i wyjscia multipleksera Rys. 8.Widok demultipleksera Przykłady zastosowań Linijka diodowa. Efektownym zastosowaniem demultipleksera jest układ sterowania diodami typu LED. Wejścia G i G2 są połączone z masą co powoduje, że na wybranym przez słowo adresowe wyjściu pojawia się poziom logiczny i sterowana z tego wyjścia dioda świeci się. Przy sterowaniu cyklicznym wejść adresowych z pewną małą częstotliwością otrzymamy efekt przemiatania świecącej diody. 33

Rys. 9. Linijka diodowa Na rysunku 2 przedstawiono multiplekserowy system przesyłania informacji cyfrowej zrealizowany przy pomocy 8-bitowego multipleksera i 8-bitowego demultipleksera. Do wejść adresowych obu tych układów przyłączono liczniki wyzwalane wspólnym sygnałem taktującym T. Liczniki zliczają cyklicznie 8 kolejnych impulsów taktujących wyprowadzając na swe wyjścia reprezentację dwójkową liczby zliczonych impulsów. Po każdej zmianie adresu do wyjścia multipleksera jest przyłączone kolejne wejście. W demultiplekserze ten sam adres, który występuje w multiplekserze przyłącza linię przesyłową do jednego określonego wyjścia. Rys. 2. Multiplekserowe przesyłanie informacji. Przerzutniki W odróżnieniu od bramek logicznych przerzutniki są elementami, które cechuje pamięć. Doprowadzenie do przerzutnika nawet bardzo krótkiego impulsu sygnałowego powoduje zmianę stanu przerzutnika i tym samym zapamiętanie impulsu. Przerzutnik może zapamiętać jeden stan jednego sygnału (zarejestrować jedno zdarzenie). Inaczej mówiąc przerzutnik może zapamiętać jeden bit informacji. 34

Opis działania przerzutnika podaje się najczęściej ze względu na krótki i przejrzysty zapis w postaci tablic. W tablicy takiej wyszczególnione są wszystkie wejścia i wyjścia przerzutnika oraz wszystkie kombinacje stanów wejść z odpowiadającymi im stanami wyjść. Większość przerzutników (za wyjątkiem przerzutnika prostego RS) posiada wejście zegarowe (taktujące). Rodzaj sterowania tym wejściem (zależy od konstrukcji przerzutnika) jest oznaczony na symbolu przerzutnika. Przerzutniki mogą być sterowane poziomem lub zboczem. Wejście bez oznaczeń wskazuje na przerzutnik sterowany poziomem wysokim, natomiast przerzutnik sterowany poziomem niskim ma wejście zegarowe poprzedzone kółeczkiem (symbolem negacji). Wejścia zegarowe przerzutników sterowanych zboczem oznacza się małym trójkącikiem sterowane zboczem narastającym, lub trójkącikiem z symbolem negacji (kółeczkiem) sterowane zboczem opadającym. Rys. 2. Symbole wyzwalania przerzutników Przerzutnik prosty RS Przerzutnik taki posiada dwa wejścia: S (Set) -ustawiające i R (Reset) kasujące oraz dwa wyjścia komplementarne Q i Q. Po podaniu aktywnego sygnału wejściowego na wejście S ustawiamy na wyjściu Q poziom wysoki (ustawianie przerzutnika). Po podaniu sygnału na wejście R ustawiamy na wyjściu Q poziom niski (kasowanie przerzutnika). Na wyjściu Q panuje zawsze stan przeciwny do stanu na wyjściu Q. Przerzutnik ten można zbudować zarówno z bramek NOR jak i z bramek NAND. W zależności od rodzaju wykonania nieco różne jest jego działanie jednak podstawowe zależności takie same. Przerzutnik RS z bramek NOR R S Q Q- - Rys. 22. Przerzutnik RS dwóch bramek NOR Podanie dwóch zer na wejścia przerzutnika pozostawia go w stanie początkowym, podanie jedynki na wejście S i zera na wejście R powoduje ustawienie przerzutnika, podanie 35

zera na wejście S i jedynki na wejście R zeruje przerzutnik. Zabronioną kombinacją (oznacza ona niezanegowany wzajemnie stan wyjść) dla przerzutnika RS zbudowanego z bramek NOR jest podanie dwóch jedynek na wejścia. Przerzutnik RS z bramek NAND R S Q - Q- Rys. 23. Przerzutnik RS z bramek NAND Ustawienie przerzutnika zbudowanego z bramek NAND następuje po podaniu zera na wejście S i jedynki na wejście R. Skasowanie natomiast przez odwrotne podanie sygnałów. Podanie dwóch jedynek pozostawia przerzutnik w stanie początkowym. Kombinacją zabronioną dla tego przerzutnika jest podanie dwóch zer na wejścia Przerzutniki synchroniczne Przerzutnik synchroniczny do poprawnego działania wymaga doprowadzenia do wejścia zegarowego C (taktującego) sygnału w postaci fali prostokątnej. Przerzutnik RS z wejściem taktującym. W odróżnieniu od zwykłego przerzutnika RS, przerzutnik z wejściem taktującym ma trzy wejścia sterujące: R, S oraz C (Clock) wejście taktujące (zegarowe). Przez doprowadzanie sygnałów do wejść R i S można dowolnie ustawiać stany wyjść, ale tylko w tych momentach czasowych, w których na wejściu C panuje stan wysoki. Dzięki takiemu rozwiązaniu w większych systemach cyfrowych możliwe jest wcześniejsze przygotowanie odpowiednich sygnałów sterujących na wejściach poszczególnych stopni układu, a ustawienie sygnałów na wyjściach następuje po pojawieniu się sygnału taktującego - równocześnie na wszystkich przerzutnikach. Wejścia R i S nazywa się wejściami przygotowującymi. Występuje tutaj również zabroniona kombinacja wejść w postaci dwóch jedynek na wejściach R i S. Przerzutnik D Przerzutnik D jest rozszerzoną wersją przerzutnika RS. Występuje w nim tylko jedno wejście ustawiające (D) oraz wejście taktujące (C) (niektóre wersje posiadają dodatkowe wejścia R i S). W przerzutniku RS z wejściem taktującym może wystąpić taka kombinacja sygnałów (C = R = S = ), przy której stan wyjść jest zabroniony lub nieokreślony. Zostało to wyeliminowane w standardowym przerzutniku D (posiadającym jedynie wejścia D i C), dzięki zastosowaniu inwertera przed jedną z bramek wejściowych. Ponadto przerzutnik D może być tak wykonywany, że tylko zbocze narastające powoduje zmianę sygnału na wyjściu przerzutnika. Unika się dzięki temu ewentualnych zakłóceń, związanych ze zmianą stanu wejścia D podczas trwania impulsu zegarowego. 36