Öncelik Kodlayıcı / Priority Encoder

Tek bir veri giriş hattını seçen ve daha sonra bu verileri tek bir çıkış hattına veya anahtarına gönderen bir multiplexerları (çoklayıcı) geçen yazımızda incelemiştik. Onlardan farklı olarak, ikili kodlayıcı şeklinde adlandırılan dijital kodlayıcı, tüm veri girişlerini birer birer almaktadır. Daha sonra bunları tek bir kodlanmış çıkışa dönüştürmektedir. Bu nedenle, ikili kodlayıcının girişlerindeki mantık seviyesi “1” verilerini, çıkışında eşdeğer ikili koda dönüştüren çok girişli bir kombinasyonel mantık devresi olduğunu söyleyebiliriz.

Genel olarak dijital kodlayıcılar, veri giriş hatlarının sayısına bağlı olarak 2 bit, 3 bit veya 4 bit kodların çıktılarını üretmektedir. Bir” n-bit ” ikili kodlayıcı, 4×2, 8×3 ve 16×4 hat konfigürasyonlarını içeren ortak tiplere sahip 2n giriş hatlarına ve n-bit çıkış hatlarına sahiptir.

Bir dijital kodlayıcının çıkış satırları, değeri “1” e eşit olan giriş satırının ikili eşdeğerini oluşturur. Ondalık veya onaltılık bir giriş desenini tipik olarak bir ikili veya “B. C. D” (ikili kodlanmış ondalık) çıkış koduna kodlamak için kullanılabilir.

4×2 Bit İkili Kodlayıcı

Öncelik Kodlayıcı
4×2 Bit İkili Kodlayıcı

Standart dijital kodlayıcıların en büyük dezavantajlarından biri, “1”mantık seviyesinde birden fazla giriş olduğunda yanlış çıkış kodu üretebilmeleridir. Örneğin, D1 ve D2 girişlerini aynı anda “1” mantığında yüksek yaparsak, elde edilen çıktı ne “01” ne de “10” olmayacaktır. Ancak gerçek girişten farklı bir çıkış ikili numarası olan “11” de olacaktır.

Bu sorunun üstesinden gelmenin basit bir yolu, her giriş pininin seviyesini “Önceliklendirmek” tir. Bu nedenle, aynı anda “1” mantık seviyesinde birden fazla giriş varsa, gerçek çıkış kodu yalnızca belirlenen en yüksek önceliğe sahip girişe karşılık gelir. Daha sonra bu tür bir dijital kodlayıcı genellikle öncelikli kodlayıcı veya kısaca P-kodlayıcı olarak bilinir.

Öncelikli Kodlayıcı

Öncelik kodlayıcı, her girişe bir öncelik düzeyi ayırarak yukarıda belirtilen sorunları çözer. Öncelikli enkoderlerin çıkışı, en yüksek önceliğe sahip olan mevcut aktif girişe karşılık gelir. Bu nedenle, daha yüksek önceliğe sahip bir giriş olduğunda, daha düşük önceliğe sahip diğer tüm girişler göz ardı edilmektedir.

Öncelik kodlayıcı, aşağıda gösterilen doğruluk tablosuyla birlikte 8 girişli bir öncelik kodlayıcı örneği ile birçok farklı biçimde karşımıza çıkmaktadır.

8×3 Bit Öncelikli Kodlayıcı

Öncelik Kodlayıcı
8×3 Bit Öncelikli Kodlayıcı

Öncelikli kodlayıcılar standart IC formunda mevcuttur. TTL 74LS148, sekiz aktif düşük (mantık “0”) girişe sahip olan ve çıkışında en yüksek dereceli girişin 3 bitlik bir kodunu sağlayan bir öncelikli kodlayıcıdır.

Öncelikli kodlayıcılar ilk önce en yüksek mertebeden girişi çıkarmaktadır. Örneğin, “D2“, “D3” ve “D5” giriş hatları aynı anda uygulanırsa, çıkış kodu “D5” (“101”) girişi için olacaktır. Çünkü bu 3 girişten en yüksek mertebeye sahiptir. “D5 ” girişi kaldırıldıktan sonra, bir sonraki en yüksek çıkış kodu “D3” (“011”) girişi için olacaktır.

8×3 bit öncelikli kodlayıcı için doğruluk tablosu şu şekilde verilmiştir:

Öncelik Kodlayıcı
8×3 Bit Öncelik Kodlayıcı Doğruluk Tablosu

Burada x , mantık” 0 “düzeyinde veya bir mantık” 1″ düzeyinde olabilir. Yani iki duruma da sahip olabileceği anlamına gelmektedir Bu doğruluk tablosundan, yukarıdaki kodlayıcı için D0-D7 veri girişleri ve Q0, Q1, Q2 çıkışları ile Boole ifadesi şu şekilde verilmiştir:

Çıkış Q0

Öncelik Kodlayıcı
Çıkış Q0

Çıkış Q1

Öncelik Kodlayıcı
Çıkış Q1

Çıkış Q2

Öncelik Kodlayıcı
Çıkış Q2

Öncelikli Kodlayıcı Çıkış İfadesi

Öncelik Kodlayıcı
Öncelikli Kodlayıcı Çıkış İfadesi

Uygulamada, bu sıfır girişler, 8×3 öncelikli kodlayıcının çıktıları için son Boole ifadesinin uygulanmasına izin vererek göz ardı edilecektir. Aşağıdaki gibi bireysel veya kapıları kullanarak yukarıdaki ifadeden basit bir kodlayıcı oluşturabiliriz.

Mantık Kapıları İle Dijital Kodlayıcı

Öncelik Kodlayıcı
Mantık Kapıları İle Dijital Kodlayıcı

Dijital Kodlayıcı (Encoder) Uygulamaları

Klavye Kodlayıcı

Öncelikli enkoderler, belirli bir devrede veya birden fazla girişe sahip bir uygulamada ihtiyaç duyulan kablo sayısını azaltmak için kullanılabilir. Örneğin, bir mikrobilgisayarın standart bir QWERTY klavyenin 104 tuşunu okuması gerektiğini ve herhangi bir zamanda yalnızca bir tuşa “yüksek” veya “düşük” basılacağını varsayalım.

Bir yol, 104 telin tümünü klavyedeki tek tek tuşlardan doğrudan bilgisayar girişine bağlamak olacaktır, ancak bu küçük bir ev bilgisayarı için pratik olmayacaktır. Başka bir alternatif ve daha iyi bir yol, klavyeyi bir öncelik kodlayıcı kullanarak PC’ye bağlamak olacaktır.

104 ayrı düğme veya tuş, klavyenin her bir tuşunu veya karakterini temsil etmek için yalnızca 7 bitlik (0 ila 127 ondalık) standart bir ASCII koduna kodlanabilir. Daha sonra doğrudan bilgisayara çok daha küçük bir 7 bitlik B. C. d kodu olarak girilebilir. 74C923 20 tuşlu kodlayıcı gibi tuş takımı kodlayıcıları bunu yapmak için kullanılabilir.

Konumsal Kodlayıcılar

Diğer bir yaygın uygulama, gemi navigasyonunda veya Robotik kol konumlandırma vb uygulamalar için kullanılan manyetik konumsal kontroldür. Burada örneğin bir pusulanın açısal veya döner konumu, 74LS148 8×3 hat öncelikli kodlayıcı tarafından dijital bir koda dönüştürülür. Navigasyon verileri sağlamak için sistem bilgisayarına giriş yapılır ve basit bir 8 pozisyonundan 3-bit çıkış pusula kodlayıcısına bir örnek aşağıda gösterilmiştir.

Öncelikli Kodlayıcı Navigasyonu

Öncelik Kodlayıcı
Öncelikli Kodlayıcı Navigasyonu
Öncelik Kodlayıcı
Doğruluk Tablosu