Pic I/O çoğaltma

Başlatan efe1409, 20 Haziran 2006, 15:21:29

efe1409

16F877 deki I/O sayılarını nasıl çoğaltabiliriz.877 deki analog kanalların hepsini aynı anda kullanmak mümkünmüdür.
Vatanın bağrına düşman dayamış hançerini, Yok mudur kurtaracak bahtı kara maderini (Anasını)                                                                       Namık Kemal

sezgin05

Piclerde I/O çoğullamak mümkündür.Giriş olarak çoğullamak için seri giriş parelel çıkış veren shift register entegreleri (74165.....gibi) kullanabilirsiniz.Çıkış olarakda aynı türden enteghreler (74164,74595 yada BCD giriş DEC çıkış...) kullanılabilir.
877 nin analog girişlerinin tamamını kullanabilmek için configürasyon ayarlarını yapmanız gerekir.ADCO1 register dan yaparsınız.Bkz.Datasheet.

XX_CİHAN_XX

Analog girişlerin tamamını aktif olarak kullanabılırsınız fakat burada aynı anda derken ölçume baslama ve bitiş surecının butun gırısler ıcın kullanımını kastettıysenız bu mumkun degıldır.Ornegın kanal 1 ı okursunuz okuma bıttıkten sonra kanal 2 yı o bıttıkten sonra kanal 3u vs...
bu sekılde okuyarak tum kanalları bırden aktıf olarak kullanabılırsınız.Port cogullama ısıne gelınce @sezgin05 seri lerden ornek vermıs bende paralellerden verebılırım 74hc273 gırıs ıcın 74hc373 cıkıs ıcın 8 bit paralel gırıs ve paralel cıkıs elde ederek ve bu sıstemı paralellestırıp entegre sayısı kadar 8 bıtlık I/O  elde edebılırsın veya alternatıf bır fıkır sunayım bu cok daha profesyonel olur 8255 kullanabılırsın 8 bıt ve sanırım 4 yada 5 bıtlık kontrol ucları ıle tek bır 8255 entegresını kontrol ederek 24 bitlik IO elde edebılırsın....
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

efe1409

Alıntı yapılan: "XX_CİHAN_XX"Analog girişlerin tamamını aktif olarak kullanabılırsınız fakat burada aynı anda derken ölçume baslama ve bitiş surecının butun gırısler ıcın kullanımını kastettıysenız bu mumkun degıldır.Ornegın kanal 1 ı okursunuz okuma bıttıkten sonra kanal 2 yı o bıttıkten sonra kanal 3u vs...
bu sekılde okuyarak tum kanalları bırden aktıf olarak kullanabılırsınız.Port cogullama ısıne gelınce @sezgin05 seri lerden ornek vermıs bende paralellerden verebılırım 74hc273 gırıs ıcın 74hc373 cıkıs ıcın 8 bit paralel gırıs ve paralel cıkıs elde ederek ve bu sıstemı paralellestırıp entegre sayısı kadar 8 bıtlık I/O  elde edebılırsın veya alternatıf bır fıkır sunayım bu cok daha profesyonel olur 8255 kullanabılırsın 8 bıt ve sanırım 4 yada 5 bıtlık kontrol ucları ıle tek bır 8255 entegresını kontrol ederek 24 bitlik IO elde edebılırsın....

Şu paralel giriş/paralel çıkış işlemini biraz daha açabilirmisin
Vatanın bağrına düşman dayamış hançerini, Yok mudur kurtaracak bahtı kara maderini (Anasını)                                                                       Namık Kemal

XX_CİHAN_XX

http://www.antrak.org.tr/gazete/122001/yesim.htm
Bunun gibi bircok ornek google de var biraz ararsan cok rahat bulursun
Kolay gelsin...
Yirmi yaşındaki bir insan, dünyayı değiştirmek ister . Yetmiş yaşına gelince , yine dünyayı değiştirmek ister, ama yapamayacağını bilir.

aster


SpeedyX vermişti bu şemayı konu "Dijital Ayarlanabilir Guc Kaynagi"
başlığında geçiyor

gochisar

Konu hızlı çalışmak ise 74HC serisi tristate bufferlar imdadına yetişir. Ama bir buffer ile 8 bitlik kontrol yapılıyor ve aynı anda ya hepsi çıkış ya hepsi giriş oluyor. Ama kullanmaya değer çünki tepki süreleri çok hızlı. Yapman gereken sadece bir portu okuma yazma için ayırman ve başka bacakları ise entegre ve yön seçici olarak kullanman. Bu şekilde teorikte sonsuz giriş çıkış elde edersin. Tabi kontrol içinde aynı veri portu ile 74HC573 gibi tek yönlü buffer entegresi ile tristateleri kontrol edersen işin acayip kolaylaşır.
ADC okumaların aynı anda yapılması senin için önemli ise Seri bağlanabilen ADC entegreler var onları kullanman uygun olur. Ama 20 mikro saniye sürede ölçüm yapabilen 16f877 saniyede 8 ADC girişinin her birinden 6250 okuma alırsın. Senin için kaç giriş gerekiyor aceba ve ne kadarlık bir süreç yeterli olur?
siensi

efe1409

Benim ihtiyacım olan 64 I/O süre çok kısa değil.Analog sinyal olarak 4 adet sinyalim var.
Vatanın bağrına düşman dayamış hançerini, Yok mudur kurtaracak bahtı kara maderini (Anasını)                                                                       Namık Kemal

tnen

Bence port cogullama için 8255 kullan 24 tane basit I/O olusturursun bir tanesi ile 3 tane bundan kullan mesela portD den bunlara bilgi gonder yada oku kontrolunude diger portlardan biri ile yaparsın. analog sinyaller içinde picin kendi ADC lerini kullanırsın.