folder Tahribat.com Forumları
linefolder Eğitim & Ödev & Bilimsel Döküman
linefolder Mikroişlemci - I2C Veya SPI Haberleşmesinde ?



Mikroişlemci - I2C Veya SPI Haberleşmesinde ?

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    banneduser
    banneduser's avatar
    Kayıt Tarihi: 15/Nisan/2013
    Erkek

    Hocalar mikroişlemcide i2c ile haberleşme yaparken, master işlemcinin bağlı oldukları slave işlemcileri tanıtırken isim verebilir miyim?

    İstediğim: tasarımda slave işlemciler master işlemcinin Rx veya Tx pinlerine bağlanacaklar ama tasarımdan dolayı slaveler yer değiştirebilecekler. Bu yüzden master işlemci bu slaveleri nasıl tanıyabilir. Master işlemci, slave devrelerden alacağı veya göndereceği bilgileri, slavelerin yerleri değiştirildiğinde slave ile nasıl haberleşebilir, önceki işlemlerden dolayı slave i nasıl tanıyabilir? 

    Daha da açacak olursak: A slave işlemcisi (devre şeması ile birlikte), normalde bağlı olduğu master işlemcinin bağlantısından çıkarılıp, aynı master işlemcinin farklı bir bağlantı yerine konulacak. Eskiden A slave işlemcisi yerine B slave işlemcisi (kendi devre şemasıyla birlikte) takılacak ve A ve B slave işlemcileri kendi devrelerini yapmaya ve masterla iletişimde kalmaya devam edecekler. 

     

    banneduser tarafından 24/Ara/19 15:47 tarihinde düzenlenmiştir

    ride or die..
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ADSIZ
    ADSIZ's avatar
    Kayıt Tarihi: 21/Eylül/2005
    Erkek

    Sekildeki gibi bağlantıyı yaparsın. Her slave işlemcinin kendine has adresi olur, bu adreslere göre istediğinle haberleşirsin. "normalde bağlı olduğu master işlemcinin bağlantısından çıkarılıp, aynı master işlemcinin farklı bir bağlantı yerine konulacak" burda ne demek istediğini anlayamadım.

  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    I2Cde adres, spida cs hattı, 1-wireda seri numarası belirleyicidir.

    rx-tx yazmışsınız. seri (rs232) iletişim noktadan noktayadır, ikiden fazla cihaz önerilmez.

    Sizin aradığınız rs485.


    Olaylara karışmayın!
  4. KısayolKısayol reportŞikayet pmÖzel Mesaj
    banneduser
    banneduser's avatar
    Kayıt Tarihi: 15/Nisan/2013
    Erkek
    ADSIZ bunu yazdı

    Sekildeki gibi bağlantıyı yaparsın. Her slave işlemcinin kendine has adresi olur, bu adreslere göre istediğinle haberleşirsin. "normalde bağlı olduğu master işlemcinin bağlantısından çıkarılıp, aynı master işlemcinin farklı bir bağlantı yerine konulacak" burda ne demek istediğini anlayamadım.

    Hocam eyw. Demek istediğim slave 1 işlmecisi çıkarılıp slave 2 ile slave 3 işlemcileri arasına konabiliyor olacak. Master işlemciden 4 farklı (veya daha fazla) bağlantı yer alacak, yani slave işlemciye bağlı devre istenildiği vakit master ile iletişimi kesilip istenildiğinde tekrar yerine takılacak. Bunun için SPI haberleşmede slavelere id vererek masterın onları tanıması mı gerekiyor, çünkü slave işlemci master ile tekrar iletişime geçtiiğinde slavein yaptığı işlemi kaldığı yerden devam ettirerek mastera data gönderecek.


    ride or die..
  5. KısayolKısayol reportŞikayet pmÖzel Mesaj
    banneduser
    banneduser's avatar
    Kayıt Tarihi: 15/Nisan/2013
    Erkek
    YeniHarman bunu yazdı

    I2Cde adres, spida cs hattı, 1-wireda seri numarası belirleyicidir.

    rx-tx yazmışsınız. seri (rs232) iletişim noktadan noktayadır, ikiden fazla cihaz önerilmez.

    Sizin aradığınız rs485.

    Doğru diyorsun hocam yeni öğreniyorum, spi full duplex olduğu için o sistemi kullanıcam sanırım veya duruma göre i2c kullanırım


    ride or die..
  6. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek

    SPI'da clock sinyalinin master tarafindan uretildigi, veri iletisiminin master olmadan gerceklesemeyecegini hesaba katmani tavsiye ederim. Bunun yaninda hot-swap destegi icin veri hatlarini yalitman gerekebilir. Spi ile baska baglanti sekilleri de olabilir. Ornegin tum slaveleri ayni cs hattina baglayabilirsin. Boylece adlandirma ile istedigin slave ile baglanti kurabilirsin. Ben hala senin ihtiyacinin Rs485 oldugunu dusunuyorum.

     

     


    Olaylara karışmayın!
  7. KısayolKısayol reportŞikayet pmÖzel Mesaj
    ADSIZ
    ADSIZ's avatar
    Kayıt Tarihi: 21/Eylül/2005
    Erkek
    banneduser bunu yazdı
    ADSIZ bunu yazdı

    Sekildeki gibi bağlantıyı yaparsın. Her slave işlemcinin kendine has adresi olur, bu adreslere göre istediğinle haberleşirsin. "normalde bağlı olduğu master işlemcinin bağlantısından çıkarılıp, aynı master işlemcinin farklı bir bağlantı yerine konulacak" burda ne demek istediğini anlayamadım.

    Hocam eyw. Demek istediğim slave 1 işlmecisi çıkarılıp slave 2 ile slave 3 işlemcileri arasına konabiliyor olacak. Master işlemciden 4 farklı (veya daha fazla) bağlantı yer alacak, yani slave işlemciye bağlı devre istenildiği vakit master ile iletişimi kesilip istenildiğinde tekrar yerine takılacak. Bunun için SPI haberleşmede slavelere id vererek masterın onları tanıması mı gerekiyor, çünkü slave işlemci master ile tekrar iletişime geçtiiğinde slavein yaptığı işlemi kaldığı yerden devam ettirerek mastera data gönderecek.

    SPI protokolünde SS (Slave Select) hattı ile slave seçilir. Slave1 i slave2 nin yerine takarsan slave işlemcinin slave1 olduğunu anlaman için fazladan işlem yapman gerekir.

     

    ADSIZ tarafından 25/Ara/19 22:22 tarihinde düzenlenmiştir
  8. KısayolKısayol reportŞikayet pmÖzel Mesaj
    banneduser
    banneduser's avatar
    Kayıt Tarihi: 15/Nisan/2013
    Erkek
    YeniHarman bunu yazdı

    SPI'da clock sinyalinin master tarafindan uretildigi, veri iletisiminin master olmadan gerceklesemeyecegini hesaba katmani tavsiye ederim. Bunun yaninda hot-swap destegi icin veri hatlarini yalitman gerekebilir. Spi ile baska baglanti sekilleri de olabilir. Ornegin tum slaveleri ayni cs hattina baglayabilirsin. Boylece adlandirma ile istedigin slave ile baglanti kurabilirsin. Ben hala senin ihtiyacinin Rs485 oldugunu dusunuyorum.

     

     

    Slave clock sinyaline ihtiyacım olacak çünkü slave kendi başına da kullanılabilecek ve süre sayacak. Bunun için harici quartz koysam çalışmaz mı?

     

    Edit: Bir de hocam spi veya i2c ile haberleşmesini istiyorum çünkü ilerde sadece 2 tane değil 10 kadar slave mikroişlemci olacak. 

     

    banneduser tarafından 26/Ara/19 09:05 tarihinde düzenlenmiştir

    ride or die..
  9. KısayolKısayol reportŞikayet pmÖzel Mesaj
    banneduser
    banneduser's avatar
    Kayıt Tarihi: 15/Nisan/2013
    Erkek
    ADSIZ bunu yazdı
    banneduser bunu yazdı
    ADSIZ bunu yazdı

    Sekildeki gibi bağlantıyı yaparsın. Her slave işlemcinin kendine has adresi olur, bu adreslere göre istediğinle haberleşirsin. "normalde bağlı olduğu master işlemcinin bağlantısından çıkarılıp, aynı master işlemcinin farklı bir bağlantı yerine konulacak" burda ne demek istediğini anlayamadım.

    Hocam eyw. Demek istediğim slave 1 işlmecisi çıkarılıp slave 2 ile slave 3 işlemcileri arasına konabiliyor olacak. Master işlemciden 4 farklı (veya daha fazla) bağlantı yer alacak, yani slave işlemciye bağlı devre istenildiği vakit master ile iletişimi kesilip istenildiğinde tekrar yerine takılacak. Bunun için SPI haberleşmede slavelere id vererek masterın onları tanıması mı gerekiyor, çünkü slave işlemci master ile tekrar iletişime geçtiiğinde slavein yaptığı işlemi kaldığı yerden devam ettirerek mastera data gönderecek.

    SPI protokolünde SS (Slave Select) hattı ile slave seçilir. Slave1 i slave2 nin yerine takarsan slave işlemcinin slave1 olduğunu anlaman için fazladan işlem yapman gerekir.

     

    Eyw hocam peki bu işlemi nasıl bulabilirim. ID gibi bir tanımlama yapıp mastera takılınca; slavein, kesme ile hangisi olduğunu mu taratmam gerekiyor? Bu işleme ne deniyor hocam o şekilde bakayım


    ride or die..
  10. KısayolKısayol reportŞikayet pmÖzel Mesaj
    YeniHarman
    YeniHarman's avatar
    Kayıt Tarihi: 17/Haziran/2012
    Erkek
    banneduser bunu yazdı
    YeniHarman bunu yazdı

    SPI'da clock sinyalinin master tarafindan uretildigi, veri iletisiminin master olmadan gerceklesemeyecegini hesaba katmani tavsiye ederim. Bunun yaninda hot-swap destegi icin veri hatlarini yalitman gerekebilir. Spi ile baska baglanti sekilleri de olabilir. Ornegin tum slaveleri ayni cs hattina baglayabilirsin. Boylece adlandirma ile istedigin slave ile baglanti kurabilirsin. Ben hala senin ihtiyacinin Rs485 oldugunu dusunuyorum.

     

     

    Slave clock sinyaline ihtiyacım olacak çünkü slave kendi başına da kullanılabilecek ve süre sayacak. Bunun için harici quartz koysam çalışmaz mı?

     

    Edit: Bir de hocam spi veya i2c ile haberleşmesini istiyorum çünkü ilerde sadece 2 tane değil 10 kadar slave mikroişlemci olacak. 

     

    Sanırım yanlış aktarmışım. Clock sinyali sadece mikrodenetleyiciler arasında iletişimin gerçekleşmesi için gerekli. Her mikrodenetleyicinin kendine ait (dahili ya da harici) bir saat sinyaline ihtiyacı var zaten.

    Sen bir şuraya bak istersen: https://www.instructables.com/id/RS485-Serial-Communication-Between-Arduino-Mega-an/

    Eğer bus üzerinde bir adet master olacaksa, fiziksel olarak çıkış pini sayısı yeterliyse SPI kullanılabilir.

    Slave olarak nitelendirilen cihazların addressi farklıysa doğrudan I2C kullanılabilir. Sizin durumunuzda slaveler de mikrodenetleyiciye sahip olup ayrıca programlanabildiği için adres değişikliği yapıp, çakışmaların önüne geçebilirsiniz. Yine de şuradaki (https://forum.arduino.cc/index.php?topic=305921.0) ikinci cevabı okumanızı tavsiye ederim.

     

    Düşük hızlı ağ veriyollarının karşılatırılması için https://www.wikizeroo.org/index.php?q=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9uZXR3b3JrX2J1c2Vz adresine bakabilirsiniz.


    Olaylara karışmayın!
Toplam Hit: 446 Toplam Mesaj: 10
pic c mikroişlemci ccs c