Kombinaciona kola Vanr.prof.dr.Lejla Banjanović Mehmedović Enkodiranje i dekodiranje Enkodiranje je proces postavljanja sekvenc ekarkatera (slova, brojevi i određeni simboli)u specijalizirani digitalni format za efikasnu transmisiju ili transfer. Dekodiranje je suprotan proces konverzija digitalnog signala u usekvencu karaktera. 1
Enkodiranje i dekodiranje Enkodiranje i dekodiranje se koriste u komunikaciji podataka, umrežavanju i storiranju. Kodovi korišteni kod računara: ASCII, Unicode, BinHex. U komunikaciji podataka (Manchester enkodiranje) specijalna forma enkodiranja gdje binarne cifre predstavaljaju tranziciju između logičkih stanja Osobito bitna terminologija u radio (bežičnim, eng. wireless) komunikacionim sistemima. Morse code U analogno digitalnoj i digitalno analognoj konverziji Encoding vs. encripting različita termonologija Dekoder i Koder DECODER - digitalno kolo koje konvertuje ulazni binarni kod u pojedinačan numerički izlaz. CODER digitalno kolo koje proizvodi binarni izlazni kod ovisno koji je od njegovih ulaza aktiviran. 2
Dekoderi Dekoderi kombinacione mreže sa više ulaza i izlaza, gdje svaka n bitna ulazna kombinacija aktivira tačno jedan od 2 n izlaza. Integrisana kola namjenjena za funkciju dekodiranja kada sadrže i ulaz za dozvolu (eng. enable), to im omogućava povećanje kapaciteta dekodera. Dekoder n-u-2 n Dekoder 1/2 3
Dekoder 2/4 Tabela istine i jednačine Dekoder generator mintermi Primjer kombinacionih kola (Sumator baziran na dekoderu) Dva 3 u 8 dekodera implementiraju C i S kao sumu mintermi (C= prenos, S = suma) 4
Primjer kombinacionih kola (Sumator baziran na dekoderu) Korištenje samo jednog dekodera 3 u 8: 3 u 8 dekoder 3 to 8 dekoder konstruisan iz dva 2 u 4 dekodera: 5
Dekoderi 4 u 16 Realizacija dekodera 4/16 pomoću dva dekodera 3/8 Varijacije standardnih dekodera Aktivni high dekoder; generiše minterme Aktivni low dekoder; generiše maksterme 6
Primjer aktivnog law dekodera Implementirati funkciju: f(x,y,z) = ΠM(4,5,7) Ilustracija kaskadnog dekodera Dekoder 3x8 formiran od dekodera 2x4 i 1x2 Mapiranje n-> 2 n 7
Primjer hijerarhijskog dekodiranja Dekoder 4 u 16 pomoću dekodera 2 u 4 5 u 32 dekoder 8
Nepotpuni dekoder Binarni u decimalni sistem (BCD): dekoder Potpuni dekoder se može uprostiti ako se pouzdano zna da se nikad neće pojaviti neke ulazne kombinacije. Način uprošćavanja se sastoji od izostavljanja onih I kola koja realizuju takve logičke proizvode čije vrijednosti nikada ne mogu postati jedinice. Nepotpuni dekoder dobijen na ovaj način će ispravno funkcionisati ali moguće je i dalje uprošćavanje. Tipičan primjer nepotpunog dekodera je BCD dekoder, koji služi za dekodiranje binarno kodiranih decimalnih cifara. Kombinaciona tabela BCD dekodera se dobija iz kombinacione tabele dekodera 4/16 izostavljanjem zadnjih šest linija jer kombinacije brojeva od 10 do 15 se ne mogu pojaviti. Nepotpuni dekoder Mapiranje n-> 2 n Binarni u decimalni sistem (BCD): dekoder Kombinaciona tabela BCD dekodera Logička mreža koja realizuje minimizirani BCD dekoder (4/10) 9
4 -u- 10 Decoder Binarni koder Binarni koder 2 n u n Na izlazu se generiše n bitni binarni broj koji ukazuje na indeks ulaza čija je vrijednost 1. Aktivan najviše jedan ulaz Funkcija suprotna funkciji dekodera 10
Binarni koder Koder 4 u 2 Potpuni koder Mapiranje 2 n ->n Izlazni kod dužine n bita potpunog kodera se formira na osnovu 2 n ulaza. U tabeli su prikazani samo oni redovi od svih mogućih 2 8 =256 u kojima samo jedna ulazna promenljiva ima vrijednost logičke jedinice. Kombinaciona tabela kodera 8/3 i odgovarajuće izlazne logičke funkcije Logička mreža koja realizuje koder 8/3 11
Nepotpuni koder Mapiranje 2 n ->n Decimalni u binarni (DC-BCD): koder Nepotpuni koder kada je broj mogućih stanja na ulaznim linijama manji od 2 n. Tipičan primjer kodiranje cifara decimalnog brojnog sistema pomoću četiri izlazne linije (bit a). Naziv ovog kodera je DC BCD koder. Kombinaciona tabela DC/BCD kodera i odgovarajuće logičke funkcije Logička mreža koja realizuje DC-BCD koder ELECTRONIC ENCODER - DECIMAL TO BCD Decimal input 7 5 0 3 Decimal to BCD Encoder BCD output 0 10 0 1 0 1 12
10-u-4 Encoder 10-u-4 Encoder 13
10-u-4 Encoder Prioritetni koder Prioritetni koder kolo ili algoritam koji kompresuje veći broj binarnih ulaza u manji broj izlaza. 14
Prioritetni koder problem Kako definisati izlaz kodera u slučaju da je istovremeno aktivno više od jednog ulaza? Mapiranje 2 n ->n rješenje Definiše se lista prioriteta za ulazne signale Ulaz najvećeg prioriteta Ulaz najnižeg prioriteta Prioritetni koder Mapiranje 2 n ->n Tipičan primer je obrada prekida kod mikrokontrolera. Više signala mogu istovremeno da imaju vrijednost logičke jedinice jer je priroda logičkih signala asinhrona (potiču iz spoljašnjih kola). U takvim situacijama mikrokontroler odlučuje koji zahtjev za prekid će se prvi opslužiti. Ovakav zadatak se unutar mikrokontrolera rješava pomoću prioritetnog kodera. Kombinaciona tabela prioritetnog kodera 8/3 15
Prioritetni koder Primjer primjene izbor signala prekida Prioritetni koder Ako su dva ili više ulaza jednaka 1 u isto vrijeme, ulaz koji ima najviši prioritet će uzeti prvenstvo. 16
Pretvarači koda Kombinacione mreže, koje podatke iz jednog kodnog sistema pretvaraju u drugi, nazivamo pretvaračima koda. Teoretski se svaki pretvarač koda može konstruisati kaskadnom vezom jednog dekodera i jednog kodera. Međutim, često postoji veliki prostor u minimizaciji jednog takvog pretvarača koda. Pretvarač prirodnog binarnog koda u Gray ov kod Uporedna tabela trobitnog prirodnog binarnog koda i trobitnog Gray ovog kola Pretvarač koda realizovan kaskadnom vezom dekodera i kodera 17
Pretvarač prirodnog binarnog koda u Gray ov kod Minimizacijom prethodnih logičkih funkcija se dobijaju sljedeći, jednostavniji izrazi: Minimizovani pretvarači koda: (a) iz binarnog u Gray-ov kod i (b) iz Gray-ovog koda u binarni. Primjer realizacije više izlaza 18
BCD u 7-segmentni Decoder/Driver BCD u 7-segmentni Decoder/Driver 19
BCD u 7-segmentni Decoder/Driver BCD u 7-segmentni Decoder/Driver 20
Kako rješiti ovaj problem? Izbjegavanje prepreka => navigacija mobilnog robota L IR R IR Move L Mtr R Mtr 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 1 1 1 0 1 1 0 1 1 0 1 1 0 1 1 1 0 0 21