10dan fazla chip ile haberleşme

Başlatan powerelectronic, 02 Nisan 2014, 22:55:18

powerelectronic

10 tane veya daha fazla pic ile bir tanesi yönetici olmak şartıyla haberleşme yapmam gerekiyor. Daha önce spi yada i2c kullanmadım bu haberleşme şekillerinin hangisi benim için faydalı olur? Haberleşeceğim chipler birbirine yakın olacak.
Çalışan kazanır.

Kabil ATICI

spi olabilir.
Oldukça yüksek hızlarda haberleşme sağlanır.
veri alma ve gönderme işlemi aynı anda yapılabilir.
cip seçme ile haberleşme kontrol edilebilir.
ambar7

powerelectronic

Peki bu adresleme mantığından biraz bahseder misin? 8 bitlik verinin önüne bir adres verisi mi koyuyorum? 4. chipin adresini nasıl bileceğim spi registerlerinde onu tanımlıyor muyum?
Çalışan kazanır.

camby

SPI'da donanımsal olarak slave seçiliyor , chip select diye bir pin ile. Bir kaç SPI dökümanı inceleyebilirseniz net anlaşılır.

SPI için çok pin harcanır,

USART da kullanabilirsiniz , hepsi tek bir hat üzerinde bağlanır , hepsinin kendi adresi olur , master hangisi ile haberleşmek istiyorsa o adresi kullanarak haberleşir. Örneğin : MODBUS

sadogan

Bu 10 tane pic birbirlerine yakınmı. Ne kadar yakınlar.

powerelectronic

Alıntı yapılan: sadogan - 02 Nisan 2014, 23:54:12
Bu 10 tane pic birbirlerine yakınmı. Ne kadar yakınlar.
maksimum 30cm mesafede olalcaklar hocam
Çalışan kazanır.

tuthenstein

Alıntı yapılan: camby - 02 Nisan 2014, 23:30:17
SPI'da donanımsal olarak slave seçiliyor , chip select diye bir pin ile. Bir kaç SPI dökümanı inceleyebilirseniz net anlaşılır.

SPI için çok pin harcanır,

USART da kullanabilirsiniz , hepsi tek bir hat üzerinde bağlanır , hepsinin kendi adresi olur , master hangisi ile haberleşmek istiyorsa o adresi kullanarak haberleşir. Örneğin : MODBUS

4 pin ile bütün hat dolaşılmıyor mu?

i2c var  full duplex olmayacaksa iletim. bir clock bir data ile bütün hattı dolaşır. usarttan bile az kablo, pin yer.

powerelectronic

Alıntı yapılan: tuthenstein - 03 Nisan 2014, 00:19:36
4 pin ile bütün hat dolaşılmıyor mu?

i2c var  full duplex olmayacaksa iletim. bir clock bir data ile bütün hattı dolaşır. usarttan bile az kablo, pin yer.
Master olarak çalışacak olan chip karşıdaki 10 chipten hem data lacak hem data gönderecek. Full duplex tam olarak ne oluyor? Datasheet okumaya başlamadan önce bir ön bilgi toplamak istedim bu konu başlığında.
Çalışan kazanır.

tuthenstein

full duplexte iki tarafta aynı anda konuşabilir. ama half duplexte biri konuşurken diğerleri dinler. telsizlerde veya bas konuşlarda basıp konuşursun o sırada karşıdaki kişi konuşursa duymazsın. ama telefonda iki tarafta birbirini dinlemeden konuşabilir bu da full duplex oluyor.

spi da mosi ve miso vardır ayrı pinlerden haberleştiği için aynı anda hem okuma hem yazma yapılabilir. i2c de ise sadece tek data pini vardır.

spi da master konuşmak istediği picin chip select pinini aktif hale getirir ve slave ini seçer. sonra saat frekansına bağlı olarak data alıp verebilir aynı anda.
tabi aynı anda haberleşme kısmı pic için biraz göreceli çünkü paralel işlem olmuyor picte ama fpga tarafında daha çok lazım oluyor o işler.

i2c de ise slave in bir adresi vardır ve bu adrese gönderdiğin bilgiler o adresteki slave tarafından alınır.

iki sistemde de senkronu sağlayan bir de saat pini vardır. her saat darbesinde o an ki datanın 1 veya 0 olmasına göre karşı tarafa mesaj iletilmiş olur.

çok mu karışık oldu acaba :)

powerelectronic

Alıntı yapılan: tuthenstein - 03 Nisan 2014, 00:57:22
full duplexte iki tarafta aynı anda konuşabilir. ama half duplexte biri konuşurken diğerleri dinler. telsizlerde veya bas konuşlarda basıp konuşursun o sırada karşıdaki kişi konuşursa duymazsın. ama telefonda iki tarafta birbirini dinlemeden konuşabilir bu da full duplex oluyor.

spi da mosi ve miso vardır ayrı pinlerden haberleştiği için aynı anda hem okuma hem yazma yapılabilir. i2c de ise sadece tek data pini vardır.

spi da master konuşmak istediği picin chip select pinini aktif hale getirir ve slave ini seçer. sonra saat frekansına bağlı olarak data alıp verebilir aynı anda.
tabi aynı anda haberleşme kısmı pic için biraz göreceli çünkü paralel işlem olmuyor picte ama fpga tarafında daha çok lazım oluyor o işler.

i2c de ise slave in bir adresi vardır ve bu adrese gönderdiğin bilgiler o adresteki slave tarafından alınır.

iki sistemde de senkronu sağlayan bir de saat pini vardır. her saat darbesinde o an ki datanın 1 veya 0 olmasına göre karşı tarafa mesaj iletilmiş olur.

çok mu karışık oldu acaba :)

Yok hocam gayet açıklayıcı oldu elinize sağlık.
Çalışan kazanır.

Murat Mert

S.A.
tuthenstein  dediği gibi I2C ile hallolur ama endüstriyel ortamlarda SPI veI2C nin birbirlerine oldukça yakın olması lazım yada mesafeyi açmadan özel kablo kullanmanız gerekir. Bunlar Data ve clok hatları herhangi bir dış parazitlenmeden etkilenmemesi için. Mesafelerle ilgili aralık varsa ve endüstriyel bir ortamsa tavsiyem 485 veya can kullanmanız. Kolay gelsin.
mert07

powerelectronic

Alıntı yapılan: mert07 - 03 Nisan 2014, 08:29:23
S.A.
tuthenstein  dediği gibi I2C ile hallolur ama endüstriyel ortamlarda SPI veI2C nin birbirlerine oldukça yakın olması lazım yada mesafeyi açmadan özel kablo kullanmanız gerekir. Bunlar Data ve clok hatları herhangi bir dış parazitlenmeden etkilenmemesi için. Mesafelerle ilgili aralık varsa ve endüstriyel bir ortamsa tavsiyem 485 veya can kullanmanız. Kolay gelsin.
A.s anladım hocam. Endüstriyel bir ortam değil ama verdiğiniz bilgiler için teşekkür ederim.
Çalışan kazanır.

Murat Mert

S.A.
Sn. Arkadaşım spi hızlı olur onunda en güvenlisi her işlemci için CS pini ayarlaman bu da ana işlemcinden pin alır. Şunu da yapabilirsin 74595 ile cs pinlerini sürebilirsin yada çok hız problemin yoksa (ic2 de fena değildir) aynı slave yazılımla adresleri değiştirerek bilgilerini alır veya yazarsın kolay gelsin ;)
mert07

mufitsozen

#13
canbus bu is icin icat edildi. ama forumda daha once bu tip isteklerde bulunanlara bakarak buyuk ihtimalle ilgilenmezsiniz: :P


  • vakit yok, ben 5 aydir forumda tartisiyorum! 15 dkda yapmam lazim diye yaza yaza dilimde tuy bitti! :D
  • yav simdi kitap mitap okumak iazim, okumak zor is :), turkce kaynak varmi, ingilizcem yeterli değil ...
  • sanki sen hayatinda 10 chip haberlesen devre yaptinmida bana canbus diyorsun :-[
  • canbus ne yaa, hic duymadim, ne bicim isim bu, yok artik recepbus desinler bari!. Cok aptalca, boyle birseyin olduguna inanmiyorum ;D
  • isime yarayacagi ne malum, bana devre cizimlerini ve ornek programlari isisde yapip deneyip altium dosyalari ile beraber 10 tane PCB yolla vaktim olursa bakarim 8)
  • ben PIC/ARM MCU kullanmiyacagim, transistorle yaptigim kendi processorumu yapmak istiyorum.. vs  ;D

mesaj birleştirme:: 07 Nisan 2014, 10:40:41

Ozur! :-[ :-[ :-[ :-[

aralarinda 30cm olacak bahsini simdi okudum, gerci canbus 30cm değil 30 metredede calisir hemde yuksek hizda ama, yinede tam okumadan mesaj yazdim!  :-[

bu ihtiyar bunak yine gece uyumadigi icin kafasi karismis deyiverin,
Aptalca bir soru yoktur ve hiç kimse soru sormayı bırakana kadar aptal olmaz.

Murat Mert

Alıntı yapılan: mufitsozen - 07 Nisan 2014, 10:34:09
canbus bu is icin icat edildi. ama forumda daha once bu tip isteklerde bulunanlara bakarak buyuk ihtimalle ilgilenmezsiniz: :P


  • sanki sen hayatinda 10 chip haberlesen devre yaptinmida bana canbus diyorsun :-[

mesaj birleştirme:: 07 Nisan 2014, 10:40:41

Ozur! :-[ :-[ :-[ :-[

aralarinda 30cm olacak bahsini simdi okudum, gerci canbus 30cm değil 30 metredede calisir hemde yuksek hizda ama, yinede tam okumadan mesaj yazdim!  :-[

bu ihtiyar bunak yine gece uyumadigi icin kafasi karismis deyiverin,

S.A.
Sn. Müfit Sözen ithamınız (alınma babın da değil ) haberleşme konusunda 60 slavenin üstüne çıkamadım. :)
mert07