8.2 KODLAYICILAR (Encoders)

8.2.1 Tanım
Kodlayıcı devre (encoder circuit) kod çözücü devrenin tersi işlemi yapar. Bu devreler, decimal veya bilinen klasik şekillerdeki bilgileri sayısal devrelerin işlem yapabileceği şekle dönüştürürler. Yani günlük hayatta kolayca anlaşılabilen sayısal bilgileri, ikili sistemdeki sayısal bilgilere dönüştüren devrelerdir. Bir kodlayıcı (encoder) 2n (ya da daha az) giriş hattı ve n sayıda çıkış hattına sahiptir. Bir başka deyişle 'n' girişli bir sistemde, girişindeki bilgiyi başka bir ikili sistemdeki sayısal bilgilere dönüştüren devrelere 'Kodlayıcı Devre' denilmektedir.

Şekil 8.2 Kodlayıcı devresi genel blok şeması

Dört girişe sahip bir kodlayıcının çıkışı, ikili sisteme Şekil 8.3'deki gibi dönüştürülebilir. Dört giriş, çıkışta iki bitlik ikili sayı ile temsil edilir. Girişlerden herhangi birinin aktif olması ile çıkışlar uygun kombinasyonu alır. Bu devreye, ‘4 girişten 2 çıkışa kodlayıcı devresi’ denebilir.

Şekil 8.3 İkili sistemde çıkış veren kodlayıcı sembolü, doğruluk tablosu ve uygulaması


8 giriş 3 çıkış kodlayıcı devresinin çalışması 4 giriş 2 çıkış kodlayıcı devresiyle aynıdır. Aktif olan girişin ikilik sistemdeki karşılığı çıkışa aktarılır. Örneğin , D3 girişi aktif ise çıkışta 3 sayısının ikilik karşılığı olan (011)2 değeri okunur. Bu durumların tamamı Tablodaki doğruluk tablosunda görebilir. Bu devrede de dikkat edilmesi gereken nokta girişlerden aynı anda sadece bir tanesinin aktif olmasıdır. Aksi taktirde çıkışımız karışır.

Şekil 8.4 8 giriş 3 çıkış kodlayıcı blok şeması


Şekil 8.5 8 giriş 3 çıkış kodlayıcı lojik devresi


Tablo 8.1 8 giriş 3 çıkış kodlayıcı doğruluk tablosu

Girişler

Çıkışlar

D0

D1

D2

D3

D4

D5

D6

D7

A

B

C

1

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

0

1

0

0

0

1

0

0

0

0

0

0

0

1

0

0

1

0

1

0

0

0

0

0

0

1

0

1

1

0

0

0

0

0

0

0

0

1

1

1

1


 

8.2.2 Decimal-BCD Encoder
Decimal – BCD encoder girişindeki decimal bilgiyi kodlayarak BCD kod karşılığını dört bitlik çıkışta gösterir. Aşağıda 10 x 4 encoder lojik sembolü ve doğruluk tablosu verilmiştir.

Şekil 8.6 10x4 encoder lojik sembolü


Tablo 8.2 10x4 encoder  doğruluk tablosu

Decimal Digit

BCD Kodu

A3

A2

A1

A0

0

0

0

0

0

1

0

0

0

1

2

0

0

1

0

3

0

0

1

1

4

0

1

0

0

5

0

1

0

1

6

0

1

1

0

7

0

1

1

1

8

1

0

0

0

9

1

0

0

1

Çıkışların Lojik ifadelerini doğruluk tablosundan yazmak istersek;

A3 = D8 + D9

A2 = D4 + D5 + D6 + D7

A1 = D2 + D3 + D6 + D7

A0 = D1 + D3 + D5 + D7 + D9


Örnek 8.1 Tablo 8.2'de 10x4 kodlayıcının lojik diyagramını ayrıntısıyla inceleyelim. D1, D3, D5, D7 ve D9 girişlerinin veya kapısıyla işleme aktarılmasından A0 çıkışını elde ettik. D2, D3, D6 ve D7 girişlerinin veya ile işleme aktarılmasından A1 çıkışını; D4, D5, D6 ve D7 girişlerinin veya ile işleme aktarılmasından A2 çıkışını ve son olarak D8 ve D9 girişlerinin veya ile işleme aktarılmasından A3 çıkışını elde ettik.

                                                                        

8.2.3 Decimal-BCD Öncelikli Kodlayıcı (Priority Encoder)
Decimal-BCD öncelikli kodlayıcı (Priorty Encoder) girişindeki öncelik sırasına bağlı olarak kodlama yapan devre elemanlarıdır. Yüksek sayılı girişten itibaren öncelik sırası verilmiştir. Aşağıda 74147 Decimal-BCD öncelikli kodlayıcının doğruluk tablosu ve lojik sembolü verilmiştir.

Şekil 8.7 Decimal-BCD öncelikli kodlayıcının lojik sembolü


Tablo 8.3 74147 Decimal-BCD öncelikli kodlayıcının doğruluk tablosu

GİRİŞLER

ÇIKIŞLAR

IN1

IN2

IN3

IN4

IN5

IN6

IN7

IN8

IN9

D

C

B

A

1

1

1

1

1

1

1

1

1

1

1

1

1

X

X

X

X

X

X

X

X

0

0

1

1

0

X

X

X

X

X

X

X

0

1

0

1

1

1

X

X

X

X

X

X

0

1

1

1

0

0

0

X

X

X

X

X

0

1

1

1

1

0

0

1

X

X

X

X

0

1

1

1

1

1

0

1

0

X

X

X

0

1

1

1

1

1

1

0

1

1

X

X

0

1

1

1

1

1

1

1

1

0

0

X

0

1

1

1

1

1

1

1

1

1

0

1

0

1

1

1

1

1

1

1

1

1

1

1

0

Yukarıdaki doğruluk tablosu yardımıyla kodlayıcının çalışması anlaşılabilir. Eğer öncelikli girişlerden birisine Lojik-0 gelmişse diğer girişlerin durumuna bakılmaksızın girişin değillenmiş BCD kod karşılığı gösterilir. Örneğin IN6 girişine gelen Lojik-0 ile daha az öncelikli girişlerin durumları önemsiz olur.

Burada önemli olan bir konu da çıkışların değillenmiş olarak alınmasıdır. Örneğin; altıncı satırdaki (0) bilgisi 5. girişe aittir. 5 sayısının binary sistemdeki karşılığı ''101 dir. Ancak çıkıştan alınan bilgi bunun tam tersi yani değillenmiş hali olan ''110'' dır.

Şekil 8.8 74148 Entegresi bacak bağlantısı ve blok şeması

Tablo 8.4 kodlayıcı devresi doğruluk tablosu

Ein

GİRİŞ

OKTAL

ÇIKIŞ

GS

Eout

0

1

2

3

4

5

6

7

A2

A1

A0

1

X

X

X

X

X

X

X

X

0

1

1

1

1

1

0

1

1

1

1

1

1

1

1

0

1

1

1

1

0

0

X

X

X

X

X

X

X

0

7

0

0

0

0

1

0

X

X

X

X

X

X

0

1

6

0

0

1

0

1

0

X

X

X

X

X

0

1

1

5

0

1

0

0

1

0

X

X

X

X

0

1

1

1

4

0

1

1

0

1

0

X

X

X

0

1

1

1

1

3

1

0

0

0

1

0

X

X

0

1

1

1

1

1

2

1

0

1

0

1

0

X

0

1

1

1

1

1

1

1

1

1

0

0

1

Yukarıdaki doğruluk tablosu yardımıyla öncelik kodlayıcısının çalışma mantığı rahatça anlaşılabilir. Eğer öncelikli girişlerden birisine Lojik-0 gelmişse diğer girişlerin durumuna bakılmaksızın girişin değillenmiş binary kod karşılığı gösterilir.

Örneğin, tabloda 5. satırdaki ‘0’ bilgisine bakılırsa, 5. girişe ait olduğu görülecektir. Bunu binary olarak karşılığı ‘101’ bilgisidir. Fakat 74148 entegresinin çıkışı terslenerek alınmasından dolayı çıkışta ‘010’ bilgisi görünür.

Eğer çıkış normal hale getirmek istenirse, 7404 ve benzeri entegrelerle tekrar değilleme işlemine tabi tutulabilir.

Bu entegreyi kullanırken ayrıntılarını data sheet (bilgi sayfası) lerde bulabileceğiniz bazı teknik özelliklerine dikkat edilmelidir.Bu özellikler;

Ein (Enable Input) ‘0’ yapılmalı, böylece entegreye çalışmaya başlama izni verilmiş (enable-etkinleştirilmiş) olur. Eğer Ein’ e ‘1’ bilgisi verilirse tüm çıkışlar Lojik-1 olur ve entegre aktif 0 mantığına göre çalıştığından dolayı entegre kullanılamaz (disable-devredışı) hale gelir.

GS(Group Strobe) ve Eout(Enable Output) uçları ise çalışmanın düzgün olup olmadığını kontrol eden uçlardır. Çeşitli giriş değerlerine göre aldığı durumlar tabloda gözükmektedir.

Örnek 8.2 74LS148 Entegresi kullanılarak dijital pusula yapımı

Pusula veya açısal döner pozisyonlu bir  74LS148 8x3 encoder entegresiyle dijital bir koda dönüştürülür. Aşağıdaki örnekte görülen 8 farklı konum bilgisayardan isimlendirilerek belirlenir. Mıknatısların açısal konumunu belirtmek için 8 adet pusula noktası kullanılır.

Tablo 8.5 Pusula örneğinin doğruluk tablosu

Pusula Yönü İkili Çıktı
Q0 Q1 Q2
Kuzey 0 0 0
Kuzey-Doğu 0 0 1
Doğu 0 1 0
Güney-Doğu 0 1 1
Güney 1 0 0
Güney-Batı 1 0 1
Batı 1 1 0
Kuzey-Batı 1 1 1


Şekil 8.9 74148 entegreli 8’den 3’e öncelik kodlayıcı devresi uygulama şeması


Diğer bir 8’den 3’e öncelikli kodlayıcı entegresi olan 4532 entegresinin bacak bağlantısı ve lojik görünümü şekilde verilmiştir. 4532 entegresinin Lojik-1 çıkışlı olduğuna dikkat edilmelidir.

Şekil 8.10 4532 Entegresi bacak bağlantısı ve lojik görünümü

Örnek 8.3 8 hattan 3 hatta öncelik kodlayıcı lojik diyagramını tasarlayınız.
Aşağıdaki devre 74148 MSI entegresi şeklinde kullanılmaktadır. Bu devre yalnızca bir girişi aktif olduğu sürece basit bir kod çözücü gibi çalışır. Eğer birden fazla giriş aktif ise devre, içlerinden en yüksek dereceli girişi kullanır. Bunun sebebi devrenin öncelik kodlayıcı olmasıdır. Bu devre basitçe kaskad bağlanabildiği için sıkça binary (ikili) kod üretmekte kullanılır.


8.2.3.1 Tuş takımı kombinasyonu
4147 Decimal-BCD öncelikli kodlayıcının doğruluk tablosunu ve lojik sembolünü yukarıda gösterdik. Şimdi de asıl kullanım alanı olan tuş kombinasyonu şeklini inceleyelim. Hesap makinelerinde veya bilgisayarlarda kullanılan tuş takımı / gösterge sistemi, kod çevirme işlemlerinin birkaçının bir arada yapıldığı bir düzenektir. Tuş takımı / gösterge sisteminde, tuş takımıyla gösterge arasında kodlama ve kod çevirme işlemleri yapılır. Tuş takımındaki tuşlara basılmak suretiyle elde edilen değerler, onlu sistemden BCD’ye dönüştürülür (kodlayıcı). BCD olarak elde edilen bilgiler, BCD’den 7 parçalı göstergeye kod çevirme işleminden geçirilir ve göstergede onlu olarak okunur. Tuş takımı / gösterge sisteminde bulunan devreler bir arada düşünülerek kod çevirici olarak isimlendirilebilir. Bu durumda, aşağıdaki şekilde görülen kod çevirici işleminin genel anlamlı olduğu ve kodlayıcı/kod çözücü işlemlerini içerdiği söylenebilir. Bu özellik, kod çevirici devrelerin çok değişik yerlerde kullanılması sonucunu doğurur. Kod çevirici kullanılan devrenin (yerin) özelliklerine göre tasarlanır.

Şekil 8.11 Tuş takımı blok diyagramı

Şekil 8.12 74147 Tuş takımı devresi şekli



8.2.4 Decimal-Binary Kodlayıcı
Decimalden binarye kodlama, decimalden BCD’ye kodlamaya benzemektedir. Decimal sayıların tabanı olan 10 (0,1,2..8,9) rakamı adedince giriş vardır. Bunu binary olarak ifade etmek için gerekli olan 4 bit adedince de çıkış vardır.

Şekil 8.13 Decimal - Binary kodlayıcı blok şeması



Tablo 8.6 Decimal - Binary kodlayıcı doğruluk tablosu

GİRİŞ

DECIMAL

ÇIKIŞ

D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

QD

QC

QB

QA

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

1

0

0

0

0

0

0

0

2

0

0

1

0

0

0

0

1

0

0

0

0

0

0

3

0

0

1

1

0

0

0

0

1

0

0

0

0

0

4

0

1

0

0

0

0

0

0

0

1

0

0

0

0

5

0

1

0

1

0

0

0

0

0

0

1

0

0

0

6

0

1

1

0

0

0

0

0

0

0

0

1

0

0

7

0

1

1

1

0

0

0

0

0

0

0

0

1

0

8

1

0

0

0

0

0

0

0

0

0

0

0

0

1

9

1

0

0

1

Tabloya dikkat edilirse çalışma esnasında girişlerden sadece bir tanesinin Lojik-1 (+5V) değerine sahip olduğu görülecektir.Bu girişe ait decimal sayının binary değeri ise çıkışta görülecektir.

Şekil 8.14 Decimal - Binary kodlayıcı lojik devresi



8.2.4 Hexadecimal-Binary Kodlayıcı
Hexadecimal sayılar 0,1…E,F ile gösterilir. 16 farklı sayıya sahiptir. Buradaki sayıları binary olarak ifade etmek için 4 bit gereklidir. Bu nedenle 16 girişli 4 çıkışı olan kodlayıcıdır.

Burada da diğer kodlayıcılarda olduğu gibi aynı anda sadece tek bir girişe Lojik-1 bilgisi verilir. Diğer girişler Lojik-0 değerine sahiptir. Lojik-1 değerine sahip olan girişin binary değeri çıkışta görülür.

Şekil 8.15 Hexadecimal-Binary kodlayıcı blok şeması



Tablo 8.7 Hexadecimal-Binary kodlayıcı doğruluk tablosu

GİRİŞ

HEXADECIMAL

ÇIKIŞ

D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

DA

DB

DC

DD

DE

DF

QD

QC

QB

QA

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

2

0

0

1

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

3

0

0

1

1

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

4

0

1

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

5

0

1

0

1

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

6

0

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

7

0

1

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

8

1

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

9

1

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

A

1

0

1

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

B

1

0

1

1

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

C

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

D

1

1

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

E

1

1

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

F

1

1

1

1

 

Şekil 8.16 Hexadecimal-Binary kodlayıcı lojik devre