- Temel Kod Çözücü Prensibi:
- Standart Kod Çözücülerin Dezavantajları:
- Öncelikli Kod Çözücü:
- 3: 8 Kod Çözücüler:
- 4:16 Kod çözücü:
- Uygulamalar:
Kod çözücü, küçük bir bit değerini büyük bit değerine deşifre eden birleşik Devre türüdür. Normalde bir kod çözücünün yaptığının tam tersini yapan kodlayıcılarla birlikte kullanılır, bu nedenle Kod Çözücülerle devam etmeden önce burada Kodlayıcılar hakkında bilgi edinin. Yine, Kodlayıcılar gibi, birçok Kod Çözücü türü de vardır, ancak bir kod çözücüdeki çıkış hatlarının sayısı her zaman giriş hatlarının sayısından daha fazla olacaktır. Bu eğitimde bir kod çözücünün nasıl çalıştığını ve projemiz için nasıl oluşturabileceğimizi öğreneceğiz.
Temel Kod Çözücü Prensibi:
Daha önce de söylendiği gibi, kod çözücü, Kodlayıcının sadece bir sayaç parçasıdır. Giriş olarak belirli sayıda ikili değer alır ve daha sonra mantık kullanarak daha fazla satıra kod çözer. Bir örnek kod çözücü giriş ve 4 Lines dönüştürür olarak 2 Hatlarında alır aşağıda gösterilmiştir.
Dekoderlerle ilgili diğer bir pratik kural, eğer giriş sayısı n olarak kabul edilirse (burada n = 2), o zaman çıkış sayısının her zaman 2 n'ye (2 2 = 4) eşit olacağıdır ki bu bizim durumumuzda dörttür. Dekoderin 2 giriş hattı ve 4 çıkış hattı vardır; bu nedenle bu tür bir Dekoder 2: 4 Dekoder olarak adlandırılır. İki giriş pini I1 ve I0 olarak adlandırılır ve dört çıkış pini yukarıda gösterildiği gibi O0 ile O3 arasında adlandırılır.
Burada gösterilen gibi sıradan bir Kod Çözücünün, her iki girişin de sıfır olması (diğer devrelere bağlı olmaması) ve her iki girişin düşük olması (mantık 0) arasında ayrım yapamama dezavantajına sahip olduğunu bilmek de önemlidir. Bu dezavantaj, bu makalenin ilerleyen bölümlerinde öğreneceğimiz Öncelikli Kod Çözücü kullanılarak çözülebilir. Sıradan bir Kod Çözücünün doğruluk tablosu aşağıda gösterilmiştir
Gönderen dekoder doğruluk tablosu biz her Çıktı hattı için Boole ifadesini yazmak sadece I1 ve I0'ın değerlerine dayalı bir VE mantık çıkışı yükseldiğinde nerede takip edip oluşturabilir. Encoder yöntemine çok benzer, ancak burada OR mantığı yerine AND mantığını kullanıyoruz. Dört satırın tümü için Boole İfadesi aşağıda verilmiştir, burada (.) Sembolü AND mantığını ve (') NOT Mantığı'nı temsil eder.
O 0 = I 1 '.I 0 ' O 1 = I 1 '.I 0 O 2 = I 1.I 0 ' O 3 = I 1.I 0
Artık dört ifadenin tümüne sahip olduğumuza göre, bu ifadeleri AND kapılarını ve NOT kapılarını kullanarak bir kombinasyonel mantık kapısı devresine dönüştürebiliriz. Basitçe (.) Yerine AND geçitlerini ve (') yerine bir NOT geçidini (tersine çevrilmiş mantık) kullanın ve aşağıdaki mantık diyagramını alacaksınız.
Bize inşa edelim 4 dekoder devre şeması: 2 ile ilgili deneysel devre ve gerçek yaşamda nasıl çalıştığını kontrol edin. Bir donanım olarak çalışmasını sağlamak için, NOT kapısı için 7404 ve AND geçidi için 7408 gibi mantık geçidi IC'yi kullanmanız gerekir. İki giriş I0 ve I1 bir basma düğmesiyle sağlanır ve çıkış LED ışıklarla izlenir. Bağlantı tahtasında bağlantı kurduğunuzda, aşağıdaki resimde böyle bir şeye benzeyecektir.
Anakart, Vcc (pim 14) ve toprak (pim 7) pimleri aracılığıyla Gate IC'ye sırayla güç sağlayan harici bir + 5V kaynağı ile güçlendirilmiştir. Giriş butonlarla verilir, basıldığında mantık 1'dir ve basılmadığında mantık 0 verir, pinlerin kayma durumunu önlemek için giriş satırları boyunca 1k değerinde bir aşağı çekme direnci de eklenir. Çıkış hatları (O0 ila O3) bu kırmızı LED ışıklar aracılığıyla verilir, eğer parlarlarsa mantık 1, aksi halde mantık 0'dır. Bu dekoder devresinin tam çalışması aşağıdaki videoda gösterilmektedir.
Her giriş için doğruluk tablosunun sol üst köşede görüntülendiğini ve LED'in de aynı sırayla yandığını unutmayın. Benzer şekilde, tüm Dekoder türleri için kombinasyonel mantık diyagramı oluşturabilir ve bunları bunun gibi bir donanım üzerine inşa edebiliriz. Ayrıca, projeniz uygunsa, mevcut kod çözücü IC'lerine de bakabilirsiniz.
Standart Kod Çözücülerin Dezavantajları:
Tıpkı bir Enkoder gibi, standart Kod Çözücü de aynı sorundan muzdariptir, eğer her iki giriş de bağlı değilse (mantık X), çıkış sıfır olarak kalmayacaktır. Bunun yerine Dekoder bunu mantık 0 olarak kabul edecek ve bit O0 yüksek yapılacaktır.
Öncelikli Kod Çözücü:
Bu nedenle, bu sorunun üstesinden gelmek için Öncelikli Kod Çözücüyü kullanıyoruz, bu tür bir kod çözücünün, öncelikli Kod Çözücünün geçerli pinine bağlanacak olan “E” (Etkinleştir) olarak etiketlenmiş ekstra bir giriş pini vardır. Dekoder bir öncelik için blok şeması aşağıda gösterilmiştir.
Öncelik Encoder için doğruluk tablosu da burada X hiçbir bağlantısı temsil eder ve '1' mantığı en yüksek temsil ve '0' mantık düşük temsil aşağıda gösterilmiştir. Giriş hatlarında bağlantı olmadığında etkinleştirme bitinin 0 olduğuna ve dolayısıyla çıkış hatlarının da sıfır kalacağına dikkat edin. Bu şekilde yukarıda belirtilen dezavantajın üstesinden gelebileceğiz.
Doğruluk tablosundan her zaman olduğu gibi, O0'dan O3'e çıkış hatları için Boole ifadesini çalıştırabiliriz. Yukarıdaki doğruluk tablosu için Boole İfadesi aşağıda gösterilmiştir. Daha yakından bakarsanız, ifadenin normal 2: 4 kod çözücününki ile aynı olduğunu, ancak Etkinleştir bitinin (E) AND ile yapıldığını fark edebilirsiniz.
O 0 = EI 1 '.I 0 ' O 1 = EI 1 '. I 0 O 2 = EI 1.I 0 ' O 3 = EI 1.I 0
Yukarıdaki Boole ifadesi için kombinasyonel mantık diyagramı, bir çift İnvertör (NOT Kapıları) ve 3 girişli AND geçidi kullanılarak oluşturulabilir. Sadece (') sembolünü invertörlerle ve (.) Sembolünü AND geçidi ile değiştirin ve aşağıdaki Mantık diyagramını alacaksınız.
3: 8 Kod Çözücüler:
Daha yaygın olarak kullanılan 3: 8 Kod Çözücü ve 4:16 Kod Çözücü gibi bazı üst düzey Kod Çözücüler de vardır. Bu Kod Çözücüler genellikle IC paketlerinde devrenin karmaşıklığı için kullanılır. Daha yüksek seviyeli bir Kod Çözücü oluşturmak için 2: 4 Kod Çözücüler gibi daha düşük seviyeli kod çözücüleri birleştirmek de çok yaygındır. Örneğin 2: 4 Dekoderin 2 Girişe (I0 ve I1) ve 4 Çıkışa (O0 - O3) ve 3: 8 Dekoderin üç girişe (I0 - I2) ve Sekiz Çıkışa (O0 - O7) sahip olduğunu biliyoruz. 3: 8 Kod Çözücü gibi daha yüksek sıralı bir kod çözücü oluşturmak için gereken düşük dereceli kod çözücülerin (2: 4) sayısını hesaplamak için aşağıdaki formülleri kullanabiliriz.
Gerekli Alt Sıra Şifre Çözücü sayısı = m2 / m1 Burada, m2 -> alt sıra Şifre çözücü için çıkış sayısı m1 -> daha yüksek sıralı Şifre çözücü için çıkış sayısı
Bizim durumumuzda m1'in değeri 4 ve m2'nin değeri 8 olacaktır, bu nedenle yukarıdaki formüllerde bu değerleri uygulayarak elde ederiz
3: 8 Dekoder için gerekli 2: 4 Dekoder sayısı = 8/4 = 2
Artık 3: 8 Kod Çözücü oluşturmak için iki 2: 4 Kod Çözücüye ihtiyacımız olduğunu biliyoruz, ancak bu ikisinin bir araya gelmesi için nasıl bağlanması gerekiyor. Aşağıdaki blok diyagram sadece şunu göstermektedir:
Gördüğünüz gibi, A0 ve A1 girişleri her iki kod çözücü için paralel girişler olarak bağlanır ve daha sonra ilk Dekoderin Etkinleştirme pini A2 (üçüncü giriş) olarak işlev görür. A2'nin tersine çevrilmiş sinyali, Y0'dan Y3'e çıkışları elde etmek için ikinci kod çözücünün Etkinleştirme pinine verilir. Burada Y0'dan Y3'e çıkışlar düşük dört minterm olarak adlandırılır ve Y4 ila Y7 çıkışları yüksek dört minterm olarak adlandırılır. Düşük dereceli mintermler ikinci kod çözücüden elde edilir ve daha yüksek dereceli mintermler birinci kod çözücüden elde edilir. Bu tip kombinasyonel tasarımda göze çarpan bir dezavantaj, Dekoderin, daha önce tartıştığımız sorunlara duyarlı hale getiren bir Etkinleştirme pimine sahip olmamasıdır.
4:16 Kod çözücü:
3: 8 Kod Çözücüye benzer şekilde 4:16 Kod Çözücü, iki 3: 8 Kod Çözücünün birleştirilmesiyle de oluşturulabilir. 4: 16 Dekoder için dört girişimiz (A0 - A3) ve on altı çıkışımız (Y0 - Y15) olacaktır. Oysa 3: 8 Dekoder için sadece üç girişimiz olacak (A0'dan A2'ye).
Gerekli Dekoder sayısını hesaplamak için formülleri zaten kullandık, bu durumda m1 değeri 8 olacaktır, çünkü 3: 8 kod çözücünün 8 çıkışı vardır ve 4:16 kod çözücünün 16 çıkışı olduğundan m2 değeri 16 olacaktır, bu değerleri yukarıdaki formüllerde uygulayarak
4:16 Dekoder için gerekli 3: 8 Dekoder sayısı = 16/8 = 2
Bu nedenle 4:16 Kod Çözücü oluşturmak için iki adet 3: 8 Kod Çözücüye ihtiyacımız var, bu iki 3: 8 Kod Çözücünün düzeni de daha önce yaptığımıza benzer olacak. Bu iki 3: 8 Dekoderi birbirine bağlamak için blok şeması aşağıda gösterilmiştir.
Burada Y0'dan Y7'ye çıktılar daha düşük sekiz minterm olarak kabul edilir ve Y8'den Y16'ya çıktı daha yüksek sekiz minterm olarak kabul edilir. Sağ alttaki mintermler doğrudan A0, A1 ve A2 girişleri kullanılarak oluşturulur. Aynı sinyaller, birinci Dekoderin üç girişine de verilir, ancak birinci kod çözücünün Etkinleştirme pini, dördüncü giriş Pini (A3) olarak kullanılır. Dördüncü A3 girişinin ters çevrilmiş sinyali, ikinci Dekoderin etkinleştirme pimine verilir. İlk kod çözücü daha yüksek sekiz minterm değerini verir.
Uygulamalar:
Bir Kod Çözücü genellikle bir Kodlayıcı ile birlikte kullanılır ve dolayısıyla ikisi de aynı uygulamaları paylaşır. Kod Çözücüler ve Kodlayıcılar olmadan, cep telefonu ve Dizüstü Bilgisayarlar gibi modern elektronik cihazlar mümkün olamazdı. Dekoderlerin birkaç önemli uygulaması aşağıda listelenmiştir.
- Sekanslama Sinyali Uygulaması
- Zamanlama Sinyali Uygulamaları
- Ağ hatları
- Bellek öğeleri
- Telefon Ağları