Multiplexer ile devre çoklayıcı yapımı?

hkeskin

Üye
Katılım
1 Ağu 2008
Mesajlar
56
Puanları
1
Yaş
40

Bu proje, PIC16F877A MCU'sunun port durumlarını okur ve RS232 üzerinden bilgisayara gönderir.
Bilgisayardaki arayüz yazılımı ise port durumlarını LED benzeri şekilde gösterir.
Proje çok basit olmasına rağmen;
Geliştirilmeye açık olduğundan dolayı, paylaşılacağı zaman kaynak belirtilirse sevinirim.
Zira az çok emek harcadım... :eek:



Ekli dosyayı görüntüle 24227

Ekli dosyayı görüntüle 24226
konu detayı için tıklayınız
https://www.kontrolkalemi.com/forum...urumunu-bilgisayar-arayüzünde-gösterme.64825/

YARARMAN arkadaşımın yaptığı bu devreyi yapıp test ettim çalışıyor..

Fakat bu devreden 3-4 tane yapıp tek serial porttan nasıp PC ye aktarırım.. buton sayısını arttırmak istiyorum.
4:1 Multiplexer lar işimi görür diye düşünüyorum fakat bi devre bulamadım..

Yardımlarınızı bekliyorum..
 
74150 serisi entegreler varmış ama bi devre şeması bulamadım nette.. benim devreyle nasıl birleştireceğim... multiplexer devresi yapan yok mu?
 
Sistem gayet basit çalışıyor, giriş sayısını arttırmak sorun olmaz sanırım.. 74150 ile tek tek bit okumak hem seni yorar hem işlemciyi.. Bence PORTE yi feda edip 74165 veya 74166 kullan derim..

Sadece giriş yapmak için while döngüsünün hemen sonrasına, girişleri latch, clock ve data ile önce latch yapıp sonra kaydırma usulü 8biti birden rame alıp printf ile göndereceksin..

Ben asmciyim, C okuyabiliyorum ama yazamıyorum kusura bakma.. =)

Bu arada bu kod çok yavaş, sadece yardımcı olmak için yapılmış, yaklaşık saniyede 4 örnek.. Ben olsam ticari bir iş için daha hızlı veri aktarmayı denerim.. 18,432 MHz Xtal ile 115200 baudrate de kodu optimize ettiğinde saniyede 5 porttan toplam 40 girişten 2304 örnek alabilirsin.. Hatta sadece değişim olan portu aktararak örnek sayısını 1920-5760 arasında tutabilirsin.. Tabi giriş sayısını arttırdıkça hız düşecektir.. :)
 
Sistem gayet basit çalışıyor, giriş sayısını arttırmak sorun olmaz sanırım.. 74150 ile tek tek bit okumak hem seni yorar hem işlemciyi.. Bence PORTE yi feda edip 74165 veya 74166 kullan derim..

Sadece giriş yapmak için while döngüsünün hemen sonrasına, girişleri latch, clock ve data ile önce latch yapıp sonra kaydırma usulü 8biti birden rame alıp printf ile göndereceksin..

Ben asmciyim, C okuyabiliyorum ama yazamıyorum kusura bakma.. =)

Bu arada bu kod çok yavaş, sadece yardımcı olmak için yapılmış, yaklaşık saniyede 4 örnek.. Ben olsam ticari bir iş için daha hızlı veri aktarmayı denerim.. 18,432 MHz Xtal ile 115200 baudrate de kodu optimize ettiğinde saniyede 5 porttan toplam 40 girişten 2304 örnek alabilirsin.. Hatta sadece değişim olan portu aktararak örnek sayısını 1920-5760 arasında tutabilirsin.. Tabi giriş sayısını arttırdıkça hız düşecektir.. :)

Dediğin gibi sadece örnek amaçlı yazıldı.
Elbette hız arttırılabilir...
Ben kolay okuma yapsın diye aradaki bekleme sürelerini yüksek tuttum. :)
 
Sistem gayet basit çalışıyor, giriş sayısını arttırmak sorun olmaz sanırım.. 74150 ile tek tek bit okumak hem seni yorar hem işlemciyi.. Bence PORTE yi feda edip 74165 veya 74166 kullan derim..

Sadece giriş yapmak için while döngüsünün hemen sonrasına, girişleri latch, clock ve data ile önce latch yapıp sonra kaydırma usulü 8biti birden rame alıp printf ile göndereceksin..

Ben asmciyim, C okuyabiliyorum ama yazamıyorum kusura bakma.. =)

Bu arada bu kod çok yavaş, sadece yardımcı olmak için yapılmış, yaklaşık saniyede 4 örnek.. Ben olsam ticari bir iş için daha hızlı veri aktarmayı denerim.. 18,432 MHz Xtal ile 115200 baudrate de kodu optimize ettiğinde saniyede 5 porttan toplam 40 girişten 2304 örnek alabilirsin.. Hatta sadece değişim olan portu aktararak örnek sayısını 1920-5760 arasında tutabilirsin.. Tabi giriş sayısını arttırdıkça hız düşecektir.. :)


ilgine teşekkür ederim

31 tane buton aktif şuan, amacım buton sayısını arttırmak.. eğer olacaksa PORTE yi seve seve feda ederim :)
bizim devreyi nasıl düzenleriz 74165 li felan.. ve kaç butona kadar arttırabilirim.. ve kontrol edebilirim.

yine YARARMAN arkadasımın desteğiyle resimdeki gibi arayüzle telefon hatlarını takip etmeye çalışıyorum.

bu devreyle 31 giriş olduğundan 15 telefon hattını takip ettirebiliyor (normal ve meşgul durumlarını gösterdiğinden ayrı ayrı giriş oldu yani 2 giriş 1 hat demek).. bunu arttırmak için çalışıyorum..

devre ticari değil işimi görsün yeter...
 
Sadece 3 hattan hız önemli değilse, ard arda tüm verileri yollayarak, sınırsız sayıda 74165 ya da 75166 bağlayabilirsin.. 74165 ve 74166 entegreleri seri bağlanır.. Eğer değişim olanı göndereceksen o zaman bunları rame yükleyip kontrol etmen gerekir.. Haliyle pic in ram ile yani 300 küsür bayt yani 300*8=2400 girişe kadar kontrol edebilirsin.. Tabi bilgisayar yazılımını da düzenlemen gerekir.. Bu şekilde o kadar şey kontrol etmen zor.. :) Tabi başka sorunlar da çıkacaktır bu kadar büyük bişey yaparsan, akım vs..
 
bu işler karışık diyorsun yani..
neyse ben şu 15 liyi tam olarak bitireyim bi.. sonrasına sonra bakarım artık.. sağoll
 
bu işler karışık diyorsun yani..
neyse ben şu 15 liyi tam olarak bitireyim bi.. sonrasına sonra bakarım artık.. sağoll

Yok karışık değil.. Sadece yapacağın devreye göre sorunların olabilir, iletimde ne tür bir protokol oluşturacağın vs vs hepsi etkiler.. Sadece ne yapmak istediğine ileriye dönük olarak karar vermen gerekir.. Mesela sadece değişim olan baytı iletmek istersen, 1 bayt değişen baytın adresini belirtip, 2. bayt o baytın son durumu olacak şekilde 2 bayt ile veri iletimi yaparsan.. Bu defa 256*8=2048 giriş kontrol edebilirsin.. 3 hatta da seri olarak 256 taneye kadar 74165 ya da 74166 bağlayabilirsin.. Ancak fazla giriş istersen clock, latch akımlarında ve 74165-74166 ların besleme akımlarında sorunun olabilir bi ihtimal.. Ya da clock ve latch hattı uzayacağından hızda sorunun olabilir..

Neyse karışık görünmesin aklıma gelen olasılıkları saymak istedim sadece.. :) Kolay gelsin..
 
3 hatta da seri olarak 256 taneye kadar 74165 ya da 74166 bağlayabilirsin.. Ancak fazla giriş istersen clock, latch akımlarında ve 74165-74166 ların besleme akımlarında sorunun olabilir bi ihtimal.. Ya da clock ve latch hattı uzayacağından hızda sorunun olabilir..

Bu şekilde olmaz demiyorum, olur.
Ancak koca bir board üzerine IC kurmuş olur. :)
Hayırlısı bakalım...
 

Forum istatistikleri

Konular
130,059
Mesajlar
932,626
Kullanıcılar
453,039
Son üye
mertşahin44

Yeni konular

Geri
Üst