CanBus node Sayısı

Başlatan M_B, 28 Şubat 2016, 12:44:21

ErsinErce

@CLR burada "Canbus standardında cihazların adresi yoktur, mesajların adresi vardır. max 64 bitlik veri iletişimi yapabileceğin hafıza adresleri gibidir." dediğimiz şeyi ve o maskelemeleri sanırım biraz yanlış anlamış olabilirsin.

Siz bu hafıza adreslerini nodelar arasında bölüştürerek mesaj ID'yi node ID olarak kullanmışsınız. Yapabilirsiniz bunda bir sıkıntı yok.
mesaj ID yi node ID olarak kullanırsanız max dediğiniz gibi 11 bit sınırı 2048 de kalırsınız. Daha değişik bir algoritma ile mesaj içeriği aracılığıyla 64 bit adreslemeye de çıkabiliriz.
tamamen kullanıca kalmış bir haberleşme standartı, RS232 gibi. Sadece donanım tabanlı bir haberleşme ama kendine ait bazı özel bölümleri var, Ethernet haberleşmesi gibi.

Bu donanım katmanını modbus gibi protokol katmanı ile karşılaştırmamız bile yanlış aslında ama şöyle özetlemeye çalışayım;

mesala xxxx adresi nemi, yyyy adresi sıcaklığı veriyor olsun.

1. cihaz sadece nem bilgisine ihtiyacı varsa maskelemeye xxxx adresini girerek nem bilgisi yayını yapılırken alır ve kesmeye bağlanma özelliği vs ile istediği işlemi yapar.
2. cihaz sadece sıcaklık ihtiyacı varsa maskelemeye yyyy adresi girip yine kendine göre işlemler yapabilir.
3. cihaz iki bilgiyede ihtiyacı varsa ya maskeleme kullanmaz yada donanımda maskeleme adresleri girilebilecek birden fazla bölüm vardır sırayla onlara girip o bilgiler filtrelenerek mailbox lara düşer.

Acil durumlarda sistemin durmasını gerektirecek şeyler olabilir, bu konuda yetkili nodelar gerektiğinde acil durma konumuna geçiricek adrese bilgi basabilir.
bu durumda her node farklı bir iş yapabilir. bu tarz bir sistemde Canbus gerçek özelliklerini kullandırmaya başlıyor.

0001 adresi acil durma içeriği de durma sebebi olsun

sıcaklığı ölçerek yyyy adresini yayınlayan node sıcaklık değeri belli bir değerin üzerinde iken 0001 adresine sıcaklık sorunu olduğuna dair bilgi basıp diğer sistemlerin durmasını sağlayabilir.
nem ölçerek xxxx de benzer bir yapıda 0001 adresine yayın yapabilir.

gelen mesaj id'sini (içerik adresini) görmemizin sebebi bu.



CLR

@ErsinErce

Anlattıklarında hem fikirim. Fakat ID listelemede veya maskelemede yanlış anlama yok, zaten bahsettiğin şekilde kullanıyorum.  Bir yöntem olarak 2048'e kadar nodeyi can bus'ın kendiside çözülebilir diye örnek vermiştim. Sonra her karta veya node'ye bir ID vererek kullanmıyorum ve öyle tavsiye ediyorum gibi anlaşıldı.
Knowledge and Experience are Power

Icarus

CanBus ID'leri hakkında herkesin atladığı çok önemli birşey var.
Ama ne ? Biz zahmet ISO standartını alıp okuyun ;)

bulut_01

Peki can 2.0A ile 2.0B aynı platformda kullanılabiliyor mu?
YENİLMEZ..

Kerim42

Merhabalar,
    Şimdi sorumuz canbus hattına kaçtane  node bağlayabilirz.
Her bir node bir isme, yani bir ID sahip dolayısıyla 11 bit yada 29 bit düşünüp buradan maxsimum bağlanabilecek node ıd yi hesaplarız. Ama sadece bağlarız. Büyük bir ihtimalle çalışmayacaktır:D
Çünkü Node sayısı aşağıdaki parametrelere göre değişkenlik gösterir.
-Kullanılan canbus trancieiver çeşidi
-Kullanılan canbusın haberleşme protokolü
-Canbus haberleşme hızı
-Gerekli olan canbus kablo uzunluğu
-Canbus hattının kapasitansı
-canbus topolojisi
-Canbus veri yolundaki node ların durumu. (Geveze içine kapanık:D) Bus yoğunluğu.

Şimdi yukarıdaki bilgilere göre 125kbps ile 500m elde edebilirsin. Piyasada kolay bulacağın canbus trancieiver ile max 127 node ıd bağlarsın. Yalnız bus yoğunluğun %50 üzerinde çıkması sistemde aksamalara sebep olacaktır. Yoğun bir veri trafiğin varsa, ya node sayısını azalt malısın, ya baudrate artır malısın, yada kullandığın canbus protokolünü değiştir melisin. Protokol için örnek senin ihtiyacın olan sistem riseponse time ını belirlersin daha sonra node ların ortasına senkron sinyali at. Node larada  tek olan sayıda sistemin bir kısmı çift olanda diğer kısmı yesin dersin protokolle yarıya düşer. Ama bir buton bilgisi için bu kadar bus yoğunluğu olacağını zannetmiyorum. Sistem yoğunluğunu canbus analyzer ile ölcebilirsin eğer kurulu bir sistem varsa. Bu şartlar altında ben daha çok node kullanmak istiyorum diyorsan mutlaka canbus switch kullanmalısın. internetten aratıp örnek buldum ama kullanmadım. Bir form sitesinde 1500 Id kullandığını söyleyen var. Bir marine uygulamasında kullanmış TKE WCS-10.

Canbus 2.0A ve 2.0B aynı anda kullanılabilir mi?
İşlemci acısından başlangıçta ayarların yapılması gerekiyor. İşlemci ikisinide destekliyor ama aynı anda ikisini desteklemiyor. O zaman yolda giderken ayarları sürekli değiştiriyim diyorsun. Evet sistem çalışıyor ama sistem amacından sapıp çok yavaş çalışıyor. Bazı işlemciler aynı anda ikisini de destekleye bilir. Yada çift can çıkışlı işlemci kullanılabilir.
Şimdi ikisini de destekleyen işlemciyi bulduk unutmamamız gereken bir handicap var. Canbus ta öncelik yazılım harici nodelarda bulunan canbus trancieiver arasındada vardır bu yazılımdan bağımsız donanımla alakalıdır. Bus yoğunluğunuz  fazla ise donanım önceliği küçük olan ID ye verecektir. Kısaca bir arada kullanılabilir veri yoğunluğu ve öncelik durumuna dikkat etmek gerekir.

Yazılarımda bazı yerlerde Türkçe kullanamadım kusura bakmayın umarım anlaşılmıştır.
Alemi padişah olmak bir kuru kavga imiş. Bir veliye bende olmak cümleden ala imiş. (Yavuz Sultan Selim)