Bilmece bulmaca x4 encoderi simule etmece

Mikro Step

Kıdemli Üye
Katılım
25 Eylül 2022
Mesajlar
8,419
Gene bir simulator calismasi icin ornek.

Encoderlari biliyorsunuz. A ve B olmak uzere 2 cikisi vardir.

Milini bir yone cevirmeye basladiginizda her bir ilerletme adiminda 00-01-11-10 seklinde kod uretir.

Milini ters yonde cevirdiginizde ise en son hangi cikis degerinde ise o degerden yukaridaki gecis paterni terse doner.

Ornegin 11 durumunda iken mil ters yone cevrilirse her bir ilerletme adiminda bu kez 01-00-10-11 seklinde pasler uretir.

Bu kisa hatirlatmadan sonra

Encoder gibi davranan bir lojik devre tasarlayacagiz.

Dir ve Clk adinda iki sinyal girisimiz ile A ve B olmak uzere quadrature cikisimiz olacak.

Dir=0 iken her bir clk darbesi cikisin 00-01-11-10 seklinde gecislere neden olurken Clk uygulamadan once Dir=1 yapildiginda
o anki sayma degerinden geriye dogru gecis yapacak.

inverter 2 ceza puani
AND, OR 3 ceza puani
XOR 4 ceza puani
FF (turden bagimsiz olarak) 5 ceza puani
her bir diyod 1 ceza puani
her bir tansistor/Fet, Mosfet 1 ceza puani

En az ceza puani yarismayi kazanir.
 
Gene bir simulator calismasi icin ornek.

Encoderlari biliyorsunuz. A ve B olmak uzere 2 cikisi vardir.

Milini bir yone cevirmeye basladiginizda her bir ilerletme adiminda 00-01-11-10 seklinde kod uretir.

Milini ters yonde cevirdiginizde ise en son hangi cikis degerinde ise o degerden yukaridaki gecis paterni terse doner.

Ornegin 11 durumunda iken mil ters yone cevrilirse her bir ilerletme adiminda bu kez 01-00-10-11 seklinde pasler uretir.

Bu kisa hatirlatmadan sonra

Encoder gibi davranan bir lojik devre tasarlayacagiz.

Dir ve Clk adinda iki sinyal girisimiz ile A ve B olmak uzere quadrature cikisimiz olacak.

Dir=0 iken her bir clk darbesi cikisin 00-01-11-10 seklinde gecislere neden olurken Clk uygulamadan once Dir=1 yapildiginda
o anki sayma degerinden geriye dogru gecis yapacak.

inverter 2 ceza puani
AND, OR 3 ceza puani
XOR 4 ceza puani
FF (turden bagimsiz olarak) 5 ceza puani
her bir diyod 1 ceza puani
her bir tansistor/Fet, Mosfet 1 ceza puani

En az ceza puani yarismayi kazanir.
https://www.falstad.com/s.php?s=sWDwcO
1.png


Kırmızı oklar ile işaretlediğim palsleri nasıl yok edebilirim?
Çok ceza puanım var. :)
2 adet D flip/flop = 10 puan
1 adet xor =4 puan
Toplam ceza puanı =14
 
2 FF'dan kacis yok zaten.

Yok ben U/D counter kullanacagim dersek o zaten hile sayilir. 100 ceza puani olur.

Dir sinyalini FF'un cikis fonksiyonunda degil de gecis fonksiyonunda kullanirsan glitch sorunlari yasamazsin.
 
Bu soru iki sekilde ele alinabilir.

1) Klasik up/down sayici yapilir 00-01-10-11 seklinde sayar. Dir sinyalinin durumuna gore bu cikislar yeniden kodlanir.
Yani FF cikislarinin arkasinda kombinasyonel lojik olur.

2) Diger cozumde gene u/d sayici yapilir fakat FF'larin durum gecisleri Dir sinyaline gore belirlenir.
 
00-01-10-11 olması gerekmez mi? Niye 0-1-3-2 diye sayıyoruz?
aa.jpg

Dişlilerin arasında kalan sensör değerlerini 0 kabul edersek
resimdeki A ve B sensörleri dişliler kırmızı ok yönünde giderse 0-2-3-1
resimdeki A ve B sensörleri dişliler mavi ok yönünde giderse 0-1-3-2
Şekilde saydığı için.
 
Untitled.png

Aha, 2 kat daha hızlı, ayrıca bundaki XOR daha az yakıyor:D Yani, basitçe zaten flipflop çıkışını inverter ile 90° kaydırınca sonuca ulaşırsın. Bu daha ne kadar basitleştirilebilir, kafa yormak lazım. Mesela XOR için 2 transistör ve sınırsız direnç hakkımızı kullanabiliriz, böylece 2 puan daha düşer. Tersleyici için transistör kullanırız, ordan da 1 puan. Sonra sıra flipfloplara gelir.
 

Çevrimiçi üyeler

Forum istatistikleri

Konular
9,342
Mesajlar
149,309
Üyeler
3,866
Son üye
ElektrikMarketimiz

Son kaynaklar

Back
Top