- Kodlayıcının Temel Prensibi:
- Kombinasyonel Mantık Tasarımlarını Kullanarak Kodlayıcılar Oluşturma
- 8: 3 Kodlayıcılar:
- Normal Kodlayıcıların Dezavantajı:
- Öncelikli Kodlayıcı:
Kodlayıcılar, adından da anlaşılacağı gibi, daha büyük bir bilgi bitini daha küçük bir bit değerine kodlar. Giriş ve çıkışların sayısına ve nasıl çalıştığına bağlı olarak birçok kodlayıcı türü vardır. Ancak her Kodlayıcının bir temel kuralı vardır, bir Kodlayıcıdaki çıkış satırı sayısı her zaman giriş satırı sayısından az olacaktır. Bu yazıda kodlayıcılar, kodlayıcı nedir, dijital devrelerde nasıl ve neden kullanıldıklarına dair daha fazla bilgi edineceğiz.
Kodlayıcının Temel Prensibi:
Bir Kodlayıcının, aşağıda gösterildiği gibi, Giriş satırlarının sayısını sihirli bir şekilde 4'ten yalnızca 2 çıkış satırına düşüren, ancak yine de aynı bilgileri veri kaybı olmadan sağlayan bir kara kutu olarak hayal edelim.
Öncelikle bu Kodlayıcının adının ne olacağını belirleyelim. Dört girişi ve iki çıkışı vardır, bu nedenle bu Kodlayıcının adı 4: 2 Kodlayıcı olacaktır. Bir Kodlayıcı " n " sayıda çıkış satırına sahipse, bu durumda giriş satırlarının sayısı 2 olacaktır. n, bizim durumumuzda çıkış hatlarının sayısı ikidir (n = 2), dolayısıyla giriş satırlarının sayısı (2 2 = 4) dört olmalıdır ki bu durum tam olarak böyledir. Dört Giriş Pini I0 ile I3 arasında etiketlenir ve iki çıkış pini O0 ile O1 arasında etiketlenir
Öyleyse, Kodlayıcı dört sinyali nasıl ikiye dönüştürür, aşağıdaki doğruluk tablosuna bakarak anlaşılabilir. Burada gösterilen gibi sıradan bir Kodlayıcının, belirli bir zamanda yalnızca bir giriş pininin yüksek olması gerektiği, dolayısıyla aşağıdaki doğruluk tablosunda yalnızca bir girişin yüksek olacağı kuralına sahip olduğunu bilmek de önemlidir.
Girişin olası her koşulu, çıkış yukarıdaki doğruluk tablosunda gösterilmiştir. Örneğin, yalnızca O1 yüksek (1) ve diğer tüm girişler düşük (0) olduğunda, her iki çıkış pini de düşük (0) olacaktır. Benzer şekilde, her durum için çıkış pinleri de durumunu değiştirecektir. Bu Çıkış bitleri durumunu kullanarak kullanıcı, Kodlayıcıya hangi giriş sinyalinin verilmiş olacağına geri dönebilir.
Tamam, 4 satırı 2 hatta dönüştürmenin nesi süslü, neden buna ihtiyacımız var?
Anlamak amacıyla 4: 2 Kodlayıcıyı açıkladık, ancak 8: 3 Kodlayıcı, 16: 4 Kodlayıcı vb. Bir MCU / MPU'da kullanılan pim sayısını azaltmamız veya PLC ve bir dizi anahtar veya LED'in bulunduğu diğer sistemlerde sinyal taşıyan tellerin sayısını azaltmamız gerektiğinde Kodlayıcı çok kullanışlıdır. Daha az kablo kullanarak verimli bir şekilde veri aktarımında da kullanılır. Bazı uygulamalarda, birden fazla girdinin yüksek olabileceği bir durum olabilir (1) bu durumda, bu makalede daha ayrıntılı olarak tartışacağımız Öncelikli Kodlayıcı adlı bir şey yapacağız.
Kombinasyonel Mantık Tasarımlarını Kullanarak Kodlayıcılar Oluşturma
Artık bir Kodlayıcının nasıl çalıştığını ve nerede kullanıldığını biliyoruz. Basit mantık kapılarını kullanarak nasıl inşa edeceğimizi öğrenelim. 8: 3 gibi Enkoderler, SN74LS148 gibi düzgün tek paket IC olarak mevcut olsalar da, gerekli doğruluk tablosuna göre projelerimiz için özel kodlayıcılar yapabilmemiz için nasıl inşa edildiklerini bilmek önemlidir.
Boolean İfadesi:
Birleşimsel Mantık aygıtını tasarlarken birincisi, doğruluk tablosu için Boole İfadesini bulmaktır. Çok kolaydır ve sadece doğruluk tablosuna bakarak kolayca belirlenebilir. Daha önce gördüğümüz doğruluk tablosu, daha iyi anlamanızı sağlamak için aşağıda bazı resimlerle verilmiştir.
İfadelerin sayısı çıktı satırlarının sayısına eşit olacaktır, burada iki çıktımız var ve dolayısıyla iki İfademiz var. İlk O0 çıkışı için, sadece hangi koşulda yüksek (1) olduğunu kontrol edin ve yine yüksek kalan (1) karşılık gelen giriş pini numarasını izleyin. Benzer şekilde tüm O0 değerleri için hangi giriş pin sayısının yüksek olduğunu not edin ve pinleri ekleyin. O0 Çıkış pinine karşılık gelen giriş pinleri yukarıda kırmızı ile ve O1 için Mavi ile vurgulanmıştır. Yani O0 ve O1 için İfadeler
O 1 = I 3 + I 2 O 0 = I 3 + I 1
4: 2 Kodlayıcı Devre Şeması:
Boolean İfadesini elde ettiğimizde, onu sadece Gates biçiminde çizmemiz gerekir. Burada toplama (+) işlemimiz olduğundan, devrelerimizi oluşturmak için OR kapılarını kullanacağız. Boole ifadesini ihtiyaçlarınıza göre basitleştirebilir veya değiştirebilirsiniz. Yukarıdaki ifadenin devre şeması aşağıda gösterilmiştir.
Devre, bir 7432 OR geçidi IC kullanılarak kolayca inşa edilebilir. Kodlayıcı devremizi aşağıda gösterildiği gibi bir devre tahtası üzerine kurdum
Dört giriş hattı (I0, I1, I2 ve I3) dört düğmeyle sağlanır, düğmeye basıldığında pime + 5V bağlayarak mantık 1 yapar ve düğmeye basılmadığında pim yere tutulur. Mantık sıfır yapmak için 10k aşağı çekme direnci ile. Çıkışlar (O0 ve O1) bir çift kırmızı LED kullanılarak temsil edilir. LED yanarsa, çıkış mantığının 1 olduğu ve kapatıldıkları takdirde çıkış mantığının 0 olduğu anlamına gelir . Kodlayıcı Devresinin tam çalışması aşağıdaki videoda gösterilmektedir.
İlk düğmeye basıldığında görebileceğiniz gibi I0 girişi yüksek yapılır ve dolayısıyla her iki çıkış da düşük kalır. İkinci düğmeye basıldığında, I1 girişi açılır ve böylece O0'ın yüksek olduğunu göstermek için bir LED yükselir. Son olarak, dördüncü düğmeye basıldığında, I3 girişi yükseltilir ve böylece her iki LED de yükselir. Bu çok basit bir devredir, dolayısıyla devre tahtasında kolayca oluşturduk, ancak pratik kodlayıcılar için devre biraz daha karmaşık hale gelecektir. Ancak Enkoderler, projenize uygunsa satın alınabilecek IC paketleri olarak da mevcuttur.
8: 3 Kodlayıcılar:
8: 3 Enkoderin çalışması ve kullanımı, giriş ve çıkış pinlerinin sayısı dışında 4: 2 Kodlayıcıya benzer. 8: 3 Kodlayıcı aynı zamanda Sekizli - İkili Kodlayıcı olarak da adlandırılır, 8: 3 Kodlayıcı blok diyagramı aşağıda gösterilmiştir.
Burada Kodlayıcının 8 girişi ve 3 çıkışı vardır, yine herhangi bir zamanda yalnızca bir giriş yüksek (1) olmalıdır. 8 giriş olduğu için sekizlik giriş olarak adlandırılır ve üç çıkış olduğu için ikili çıkış olarak da adlandırılır. Kodlayıcının doğruluk tablosu aşağıda gösterilmiştir.
8: 3 Kodlayıcı Doğruluk Tablosu:
Boolean İfadesi:
Size çıktılara sahip olduğumuz için, aşağıda gösterildiği gibi üç ifadeye sahip olacağız.
O 2 = I 7 + I 6 + I 5 + I 4 O 1 = I 7 + I 6 + I 3 + I 2 O 0 = I 7 + I 5 + I 3 + I 1
8: 3 Kodlayıcı Devre Şeması:
Boole ifadesi her zaman olduğu gibi elde edildiğinde, aşağıda gösterildiği gibi OR kapılarını kullanarak devre şemasını oluşturabiliriz.
Devre 4 girişli bir OR geçidi IC kullanır, ayrıca diğer normal 2 girişli Kapı IC'leri kullanmak için Boole İfadesini basitleştirebilirsiniz.
Normal Kodlayıcıların Dezavantajı:
Bu tür Kodlayıcılar aşağıdaki büyük dezavantajlardan muzdariptir
- Girişlerden hiçbiri yüksek olmadığında, Çıkış tamamen sıfıra eşit olacaktır, ancak bu koşullar da ilk bitin yüksek olmasıyla (MSB) çelişir. Bu nedenle her zaman en az bir bitin her zaman AÇIK kalmasına dikkat edilmelidir.
- Birden fazla girdi yüksek olduğunda, çıktı daralır ve karışıklığa yol açan girdilerden herhangi biri için sonuç verebilir.
Bu zorlukların üstesinden gelmek için, çıktının geçerli olup olmadığını belirlemek için ek bir çıkış kullanan Priority Encoder adı verilen farklı bir kodlayıcı türü kullanıyoruz ve birden fazla giriş yardımcı olduğunda LSD'den başlayarak yükseğe çıkan tek başına değerlendirilirken diğer girdileri göz ardı ederek.
Öncelikli Kodlayıcı:
Normal bir Kodlayıcıdan nasıl farklı olduğunu anlamak için bir örnek olarak 4: 2 Öncelikli Kodlayıcıyı analiz edelim ve yukarıda belirtilen iki dezavantajın üstesinden gelebilir. 4: 2 Öncelikli Kodlayıcının blok şeması aşağıda gösterilmiştir
Öncelikli 4: 2 Enkoder ayrıca 4 giriş ve 2 çıkışa sahiptir, ancak geçerli bit anlamına gelen V adında başka bir çıkış ekleyeceğiz. Bu geçerli bit, dört giriş pininin hepsinin düşük (0) olup olmadığını kontrol edecek, eğer düşükse bit, çıktının geçerli olmadığını belirterek kendini düşük yapacaktır, böylece yukarıda bahsedilen ilk dezavantajın üstesinden gelebiliriz.
4: 2 Öncelikli Kodlayıcı Doğruluk Tablosu:
Bir sonraki dezavantaj, MSB bitlerine öncelik verilerek önlenebilir, Kodlayıcı MSB'den kontrol edecek ve o kadar yüksek (1) ilk biti bulduğunda buna göre çıktı üretecektir. Yani diğer pinlerin yüksek veya düşük olması önemli değil. Dolayısıyla aşağıdaki doğruluk tablosunda 1'e ulaşıldığında umursama değerleri “X” ile gösterilir.
Boolean İfadesi:
Şimdi, O0, O1 ve V için üç İfade türetmeliyiz. Doğruluk tablosunda maddeler olmadığından, bunun için Boole İfadesini türetmek için K-haritası yöntemini kullanmalıyız. Bu makalenin kapsamı dışında olduğu için K-haritalarını nasıl çözeceğimizi anlatmayacağız. Ancak, müdahale edip kendi başınıza öğrenebilmeniz için Harita aşağıda gösterilmiştir.
Yukarıdaki haritalarda soldaki O1 ve sağdaki O0 içindir. Çıkış hatları y ile belirtilir ve giriş hatları x ile belirtilir. Denklemi buna göre düzenlediğimizde aşağıdakileri alacağız.
O 1 = I 3 + I 2 O 0 = I 2 I 1 '+ I 3
Benzer şekilde, geçerli "V" biti için Boole ifadesi şu şekilde verilebilir:
V = ben 3 + ben 2 + ben 1 + ben 0
Devre şeması:
Bu proje için devre şeması Boole ifadeleri kullanılarak oluşturulabilir.
Devre, temel NOT, AND ve OR kapıları kullanılarak oluşturulabilir. Burada O0 ve O1 bitleri çıkış olarak kabul edilirken, V biti çıkışı doğrulamak için kullanılır. Sadece bit V yüksekse, V değeri düşükse (0) çıktı dikkate alınacaktır, çünkü bu tüm giriş pinlerinin sıfır olduğunu ima eder.