Picproje Elektronik Sitesi

BİLGİSAYAR => Donanım ve Yazılım => Konuyu başlatan: ÜC - 06 Eylül 2017, 22:54:26

Başlık: INT0IE kesmesine alternatif
Gönderen: ÜC - 06 Eylül 2017, 22:54:26
        Entegreden gelen kısa süreli bir sinyali algılamak istiyorum ama  ne INT0IE (Portb.0 kesmesi) nede RBIE (Portb değişim kesmesi) kesmelerini kullanamıyorum tüm portb pinleri aktif başka  işler için kullanılıyor. Gelecek sinyali devamlı kontrol imkanıda yok , program alt programlarda işini bitirdiğinde sinyali kontrol etsin istiyorum yani zamanla ilgili bir kısıtlama olmasın.
    Sinyal ile kapasitörü doldursam , kontrol zamanı geldiğinde kapasitörü kontrol etsem diye düşündüm ama kapasitörü nasıl boşaltacağımı bilemedim. Kontrol ettiğim pini giriş yapsam kapasitör boşalırmı ? yada başka bir çözüm önerebilirmisiniz arkadaşlar ?
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: mehmet - 06 Eylül 2017, 23:41:42
Mcu nedir? Belki adc kesmesi kullanılabilir.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: ÜC - 06 Eylül 2017, 23:43:53
  18F4431  sinyal TTL seviyede Mehmet hocam
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: Tagli - 07 Eylül 2017, 02:35:08
Flip-flop iş görebilir belki. Ama tabi sinyal okunduktan sonra başka bir bacakla resetleme yapmak gerekebilir.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: kantirici - 07 Eylül 2017, 08:29:20
Sinyalin high-low süreleri ne kadar? İlgili pin bir timer ile pooling yapılabilir.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: XX_CİHAN_XX - 07 Eylül 2017, 09:52:32
Timer0 veya Timer1 için external clock girişlerini veya comparator girişlerini kullanabilirsin. Veya yakalamak istediğin sinyal çok kısa süreli değilse süreyi yakalayacak bir periyotta timer kesmesi kurup her kesmede periyodik olarak sinyal girişlerini sordurabilirsin.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: ÜC - 07 Eylül 2017, 14:00:08
   Flip-flop için 2 transistör , 2 kapasitör , 4 drenç gerekiyor bunları alacak kadar boş yer yok malesef , eğer 1 kapasitor 1 transitör ile olsa sıkıştırabilirdim ama bunlarla olurmu bilmiyorum. Boş pinlerim var 1 kapasitör ile olma imkanı varmı ?

  Daha önce söylemeliydim entegre PT2272 RF sinyal çözücü entegresi. VT pininden (17.pin) gelen sinyali algılayacağım , datasheette zamanı ile ilgili bir açıklamayı çözemedim malesef.

  Sinyal her datada tek palslik bir sinyal. Tek bir pals ile timere nasıl kesme oluşturacağımı bilemiyorum. İşlemci benim için teferruatlı , komperatör girişlerinden nasıl kesme oluşturulacağını araştırıyorum bu en pratik yöntem olacak sanırım.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: yas - 07 Eylül 2017, 14:20:47
Alıntı yapılan: umitco - 06 Eylül 2017, 22:54:26
        ..... ama  ne INT0IE (Portb.0 kesmesi) nede RBIE (Portb değişim kesmesi) kesmelerini kullanamıyorum tüm portb pinleri aktif başka  işler için kullanılıyor. .....

Alıntı yapılan: umitco - 06 Eylül 2017, 23:43:53
  18F4431  sinyal TTL seviyede Mehmet hocam

Bu mcu da INT0 portb.0 da değil portc.3 te tekrar bir bakın bence.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: ÜC - 07 Eylül 2017, 14:43:53
      Rezil olduk o zaman desene , bakayım hemen.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: mehmet - 07 Eylül 2017, 15:49:40
Adc kesmesi ile değer okunur. TTL
seviyesi üzerindeyse işlem yapılır.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: ÜC - 07 Eylül 2017, 15:56:31
   Evet PORTC.3 te imiş external kesme , hatta 3 tane external pin varmış. INTCON.1 ve 4 pinlerine bakıp diğer işlemcilerle  aynı diye düşünmüştüm.
    Sorunumu giderdim ama arkadaşların önerilerinden flip-flop devresi veya komperatör kesmesi kullanılarak sinyalin algılanabileceğini öğrenmiş oldum.

      Cevap yazıp öneride bulunan tüm arkadaşlara çok teşekkür ederim.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: HexfeT - 07 Eylül 2017, 16:15:58
Giriş tanımlı herhangi bir pin ile normalde kullandığımız bir kesme pini arasına diyot koyarız. Kesme rutininde pini kontrol edip işlem yaparız. Kesme oluşturması istenen her sıradan pin, bir diyot ile kesme pinine bağlanıp kesme rutininde pinler kontrol edilerek kaynak tespit edilebilir.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: ÜC - 07 Eylül 2017, 21:03:35
   Mehmet hocam adc ile sinyal algılama yapılabilir ama kapıda bekleyip gelince içeri alınması lazım bense hiç kapıda beklemek istemiyordum , işim bitince kapıda bekleyen varmı diye kotrole gitmek istedim.

HexfeT hocam tam anlayamadım resim üzerinden biraz daha açabilirmisiniz ?

(https://s26.postimg.cc/ih2jbhrdh/Kesme.jpg) (https://postimg.cc/image/ih2jbhrdh/)

Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: HexfeT - 07 Eylül 2017, 23:37:30
RB0'ı pull down edip yükselen kenarda kesme oluşacak şekilde konfigüre ettiğimizi varsayalım. Diyelim ki RB0 haricinde 4 harici kesmeye daha ihtiyaç var. RA0, RA1, RA2, RA3 pinlerinden aynı şekilde birer diyotu RB0'a bağlarız. Bu pinlerden biri lojik 1 aldığında pindeki diyot üzerinden RB0'a iletilir ve kesme oluşur. Kesme rutininde RA0, RA1, RA2, RA3 pinlerinin durumuna bakıp kesmenin nereden geldiğini anlarız. Hangisi lojik 1 ise kesme oradan gelmiştir. İşlemler ona göre akar...

Bu arada normalde RB0 için kullandığımız kesme kaynağını da diyot üzerinden bağlamak gerekir. Böylece bir kesme pini + 4 normal pin ile 5 kaynaktan kesme alabiliriz.

Bunu denemedim tabi ama olmaması için bir sebep görünmüyor. Atladığım bir şey varsa tecrübeli biri düzeltsin.
Başlık: Ynt: INT0IE kesmesine alternatif
Gönderen: ÜC - 08 Eylül 2017, 01:35:55
  Bahsettiğiniz yöntemde external kesmesi olan bir pin kullanılmalı ama benim bu pinlerimin hepsi meşkul daha doğrusu ben öyle sanıyordum. External ve değişim kesmesi pinlerini kullanamadığımı düşünüp başka bir çözüm arayışına girdim. External kesmesinin Portb de olduğunu sanıyordum Yas arkadaşın uyarısıyla PORTC.3 de olduğunu öğrendim
   
   Gösterdiğniz yöntemide öğrenmiş olduk HexfeT hocam işimize yarayacaktır birgün mutlaka ilgi ve cevap için teşekkürler