Koder

Kodiranje je suprotna operaciju od dekodiranja i označava postupak dogovornog jednoznačnog pridruživanja skupa ulaznih binarnih cifri odgovarajućem binarnom nizu - kodu. Kombinaciona mreža koja obavlja ovu operaciju naziva se koder (engleski encoder).
Koder je kombinaciona mreža koja na izlazu daje n bitni binarni kod zavisno od m aktiviranih ulaza, 0<=m<=2n-1.

Kod kodera na ulazima može biti maksimalno jedan aktivan ulaz

i njegov položaj (id) se izbacuje na izlaz:

2n ulaza (ali samo jedan aktivan)  n izlaza

Odnos broja ulaza i izlaza definiše da li je koder potpun ili nepotpun.

Pod koderom, uopšteno, može se smatrati i program (pa čak i algoritam i čovjek) koji obavlja konverziju podataka iz jednog formata (ili načina zapisa) u drugi.

Potpuni i nepotpuni koderi

Koderi mogu biti potpuni, odnosno binarni, kada imaju 2n ulaza i n izlaza i nepotpuni, kada je za n izlaza broj ulaza manji od 2n.

Za potpune kodere važi m = 2n; imaju n izlaza i 2n ulaza
Za nepotpune kodere važi m < 2n imaju n izlaza i manje od 2n ulaza

U opštem slučaju koder na izlazu daje kodovanu informacija u vidu binarnog broja sa n cifara i predstavlja se blok šemom na slici lijevo

U praksi (praktičnim implementacijama) koriste se prioritetni koderi, svakom ulazu je dodjeljen prioritet, a izlaz kodera, interpretiran kao binarni broj, ukazuje na indeks aktivnog ulaza najvišeg prioriteta. Za sve vrijeme dok je aktivan ulaz visokog prioriteta, svi ulazi nižeg prioriteta se ignorišu. 

 

Potpuni koder 3/8 (Octal to binary encoder)

Potpuni koder 8/3 ima 8 ulaza i 3 izlaza.U datom trenutku samo jedan od ulaza kodera može biti aktivan (imati signal 1). U tom trenutku, u zavisnosti od toga koji je ulaz aktivan, na izlazu se generiše binarna kombinacija bitova koja odgovara rednom broju aktivnog ulaza.


 

 

U ovoj definiciji kodera u pojedinom trenutku samo jedan od ulaza smije biti u stanju jedinice.

Neregularna stanja kodera

Treba primjetiti da će na izlazu biti "000" čak i kad su svi ulazni neaktivni. Ako se želi razrješiti i ova situacija može se dodati još jedan izlaz koji bi označavao da li su podaci na izlazu validni (ispravni u smislu jedan ulaz je aktivan) ili nisu (svi ulazi su nekativni).  Moguće rješenje ovog problema je prioširenje kombinacione tablice kodera tako da dodamo još jedan izlaz W pa bi ta tablica izgledala:

 

Izlaz w pokazuje regularno stanje u slučaju kada je 1. Kada je w=0 indicira se neregularno stanje.

 

Prioritetni koderi 

U slučaju kada je više od jednog ulaza aktivno, koder će izbaciti pogrešnu vrijednost. U nekim slučajevima je zgodno imati i koder koji bi imao mogućnost rada i u slučajevima kada je više ulaza istovremeno aktivno. Takvi koderi se nazivaju koderi sa prioritetom, jer na izlaz izbacuju kod ulaza višeg prioriteta.

Definisanje prioriteta rješava slično predhodnom primjeru sljedeća kombinaciona tablica:

gdje su proizvoljna stanja na ulazu prikazuju kao X (nije važno da li su 0 ili 1). Kod ovakvih kodera kad pritisnete više tastera smatra se da je aktivan samo onaj koji ima  najveću težinu - prioritet (bez obzira što su pritisnuti drugi).

Napomena: U slučaju prioritetnog kodera obavezna je kontrolni izlaz w koji indicira neregularnost.

 

 

 

Rješavanje problema START

copyright M2M
BL-2011/14