İkili Kod Çözücü / Binary Decoder

Kod çözücü, kodlanmış bilgileri bir formattan diğerine çevirmek veya çözmek anlamına gelmektedir. Böylece ikili kod çözücü, “n” ikili giriş sinyallerini 2n çıkışlarını kullanarak eşdeğer bir koda dönüştürmektedir.

İkili kod çözücü n girişleri alırsa (genellikle tek bir ikili veya Boole numarası olarak gruplandırılır), diğer tüm çıkışlar devre dışı bırakıldığında bu girişe dayanarak 2^n çıkışlarından birini ve yalnızca birini etkinleştirir.

İkili Kod Çözücü

Örneğin, bir invertör (Lojik NOT Kapısı ) 1×2 ikili kod çözücü olarak sınıflandırılabilir, Çünkü 1-giriş ve 2-çıkış (21) mümkündür, Daha sonra, standart bir kombinasyonel mantık kod çözücüsünün, m ≤ 2n ve çıkışı Q’nun sadece mevcut giriş durumlarına bağlı olduğu bir nxm kod çözücü olduğunu söyleyebiliriz. Başka bir deyişle, bir ikili kod çözücü mevcut girişlerine bakar, girişlerinde hangi ikili kodun veya ikili sayının bulunduğunu belirler ve bu ikili girişe karşılık gelen uygun çıkışı seçer.

Bir ikili kod çözücü, kodlanmış girişleri kodlanmış çıkışlara dönüştürmektedir; Burada giriş ve çıkış kodları farklıdır. Kod çözücüler, ikili veya BCD (8421 kodu) giriş desenini tipik olarak bir ondalık çıkış koduna “çözmek” için kullanılabilmektedir. Yaygın olarak bulunan BCD-ondalık kod çözücüleri TTL 7442 veya CMOS 4028 içerir. Genel olarak, kod çözücülerin çıkış kodu genellikle giriş kodundan daha fazla bit içerir ve pratik “ikili kod çözücü” devreleri 2’den 4’e, 3’ten 8’e ve 4’ten 16’ya kadar hat konfigürasyonlarını içermektedir.

2×4 İkili Kod Çözücüleri

İkili Kod Çözücü
2×4 İkili Kod Çözücüleri
İkili Kod Çözücü

2’den 4’e kadar olan bir ikili kod çözücünün yukarıdaki bu basit örneği, dört VE kapılarından oluşmaktadır. A ve B etiketli ikili giriş, 4 çıkıştan birine çözülür, bu nedenle 2 ila 4 ikili kod çözücünün açıklaması. Her çıkış, 2 Giriş değişkeninin minitermlerinden birini temsil eder olacaktır. (her çıkış = bir miniterm)

İkili girişler A ve B, Q0’dan Q3’e hangi çıkış hattının “1” mantık seviyesinde “yüksek” olduğunu belirlerken, kalan çıkışlar “0” mantığında “düşük” tutulur. Böylece herhangi bir zamanda sadece bir çıkış aktif (yüksek) olabilir. Bu nedenle hangi çıkış satırı “yüksek” ise, girişte bulunan ikili kodu tanımlamaktadır.

Bazı ikili kod çözücüler, cihazdan gelen çıkışları kontrol eden “Etkinleştir” etiketli ek bir giriş pinine sahiptir. Bu ekstra giriş, kod çözücülerin çıkışlarının gerektiği gibi “açık” veya “kapalı” olmasını sağlar. Bu tür ikili kod çözücüler, mikroişlemci bellek uygulamalarında yaygın olarak “bellek Adres kod çözücüleri” olarak kullanılmaktadır.

İkili Kod Çözücü
74LS138 İkili Kod Çözücü

İkili kod çözücünün, kod çözücüyü etkinleştirmek için kullanılan ek bir veri hattına sahip bir demultiplexer olduğunu söyleyebiliriz. Dekoder devresine bakmanın alternatif bir yolu, a, b ve C girişlerini adres sinyalleri olarak görmektir. A, B veya C’nin her kombinasyonu benzersiz bir bellek adresi tanımlar.

2-4 satırlık bir ikili kod çözücünün (TTL 74155), her olası giriş kombinasyonu için bir tane olmak üzere dört çıkış sağlamak ve herhangi bir 2 bitlik ikili kodu çözmek için kullanılabileceğini gördük. Bununla birlikte, bazen mevcut olandan daha fazla çıkışa sahip bir ikili kod çözücüye sahip olmak gerekir, bu nedenle daha fazla giriş ekleyerek, kod çözücü potansİyel olarak 2^n daha fazla çıkış sağlayabilir. Örneğin, 3 ikili girişli ( n = 3) bir kod çözücü, 3×8 satırlık bir kod çözücü (TTL 74138) ve 4 girişli ( n = 4 ) bir 4×16 satırlık kod çözücü (TTL 74154) olarak çalışacaktır.

4×16 İkili Kod Çözücü Yapılandırması

İkili Kod Çözücü
4×16 İkili Kod Çözücü Yapılandırması

Girişler A, B, C, her iki kod çözücüde hangi çıkışın “1” (Yüksek) mantığında olacağını seçmek için kullanılır. Giriş D, hangi kodlayıcının birinci veya ikinci çıkışının “1”olacağını seçmek için enable girişi ile kullanılır.

Bununla birlikte, belirli bir kod çözücü için kullanılabilecek girişlerin sayısı için bir sınır vardır, Çünkü n arttıkça, bir çıkış üretmek için gereken kapı sayısı da artmaktadır. Bu da onları sürmek için kullanılan kapıların fan çıkışının büyük olmasına neden olur.

Bu tür aktif ”yüksek” kod çözücü, sadece invertörler ve kapılar kullanılarak uygulanabilir. Çıkış için temel kod çözme elemanı olarak bir VE kapısı kullanmak uygundur, Çünkü sadece tüm girişleri mantık “1” olduğunda “yüksek” veya mantık “1”çıkışı üretir.

Ancak bazı ikili kod çözücüler, çözülmüş çıktıları için VE DEĞİL kapıları kullanılarak inşa edilmektedir. Çünkü VE DEĞİL kapıları, tasarımlarında uygulamak için daha az transistöre ihtiyaç duyduklarından daha ucuzdur.

2X4 NAND İkili Kod Çözücü

İkili Kod Çözücü
2X4 NAND İkili Kod Çözücü

NAND kod çözücü için, sadece bir çıkış düşük olabilir. Herhangi bir zamanda “0” mantığına eşit olabilir ve diğer tüm çıkışlar yüksek durumda olacaktır. Kod çözücüler ayrıca kod çözülmüş çıkışın sırasıyla “1” veya “0” mantığı uygulanarak “açık” veya “kapalı” olmasını sağlayan ek bir “Enable” giriş pini ile de mevcuttur. Örneğin, enable girişi ” 0 ” mantık seviyesinde olduğunda, (EN = 0) tüm çıkışlar, A ve B girişlerinin durumundan bağımsız olarak “0” mantığında “kapalı” olacaktır.

Bellek Adresi Kod Çözücü

İkili kod çözücüler, daha karmaşık dijital sistemlerde, bir bilgi işlem cihazı tarafından üretilen bir “adrese” dayalı belirli bir bellek konumuna erişmek için kullanılmaktadır. Modern mikroişlemci sistemlerinde, gerekli bellek miktarı oldukça yüksek olabilir. Bu sorunun üstesinden gelmenin bir yöntemi, çok sayıda ayrı bellek yongasını birbirine bağlamak ve verileri ortak bir “Veri Yolu” üzerinde okumaktır. Verilerin her bellek yongasından aynı anda “okunmasını” önlemek için, her bellek yongası birer birer ayrı seçilir ve bu işlem Adres kod çözme olarak bilinir.

Bu tür bir uygulamada, Adres kodlanmış veri girişini temsil eder. Çıkışlar belirli bellek öğesi seçme sinyalleridir. Her bellek yongası, gerektiğinde uygun bellek yongasını seçmek için MPU (mikroişlemci birimi) tarafından kullanılan Chip Select veya CS adlı bir girişe sahiptir. Genellikle chip select (CS) girişindeki mantık “1” durumu bellek cihazını seçerken, girişteki bir mantık “0” durumu onu seçmektedir.

Bu nedenle, her bir yongayı birer birer seçerek veya devre dışı bırakarak, belirli bir adres konumu için doğru bellek adresi cihazını seçmemize izin verir. Adres kod çözmenin avantajı, belirli bir bellek adresi belirttiğimizde, karşılık gelen bellek konumunun yalnızca çiplerden birinde bulunmasıdır.

Örneğin, yalnızca 1KB (bin bayt) RAM belleği ve 10 bellek Adres satırı bulunan çok basit bir mikroişlemci sistemimiz olduğunu varsayalım. Bellek 128×8 bit (128×8 = 1024 bayt) cihazlardan oluşur ve 1Kb için 8 ayrı bellek yongasına ihtiyacımız olacaktır, ancak doğru bellek yongasını seçmek için 3×8 satırlık bir ikili kod çözücüye de ihtiyacımız olacaktır.