CAN BUS ta Onaylama

Başlatan Erol YILMAZ, 09 Ekim 2007, 10:42:43

Erol YILMAZ

CAN bus ta slave cihazın adresi 1000 olsun,

Bu 1000 adresine 1 verisi gönderdik.
Bu gönderimden sonra bize ONAY gönderiyor mu?

2. adım da;
Diyelim ki bu 1000 adresi ortak bir adres,
ve 40 ayrı parçayı alakadar ediyor
Bütün cihazlar mastera ayrı ayrı ONAY mı gönderecek ?

kurumahmut

CanBus mesaj tabanlı bir sistemdir. Bu nedenle slave adresi 1000 olan cihaz demen yanlış. Ancak şu şekilde denebilir. 1000 ID li mesaj ile ilgilenen cihazlar.

1000 ID li mesajı Canbus ta her hangi bir node başarıyla alırsa mesaj başarıyla alındı bilgisi yollanır. Bu bilgi gönderici tarafından her hangi bir birimden başarıyla alınabilirse bu mesajla ilgilenen diğer birimlerden de mesaj alındı bilgisi almayı beklemez. Hattı boşaltır.

http://kurumahmut.blogcu.com/

da Canbus hakkında kısa bir makale bulabilirsin...

Erol YILMAZ

Tanımlamamdaki yanlışı anladım.
Peki 1000 ID nolu mesajı okuyan herhangibir node un ONAY vermesi yeterli. bunlar birbirlierini de tanımıyorlar, Hangisi ONAY verecek ?

Soruma bloğunuzu inceledikten sonra okuyarak şunu gördüm :))

Alıntı YapAlındı Bilgisi Alanı (Acknowledgement Field - ACK Field)



Bunu bir mesaj iletimiyle açıklayalım. Gönderici Başla biti ile iletim hattında şu an gönderici benim der. Ardından Mesaj ID Alanı, Kontrol Alanı, Veri Alanı, CRC Alanı gönderilir. Alındı Bilgisi Alanında ise iletim ortamı çekinik tutulur. Eğer diğer tüm ünitelerden biri, mesaj onu ilgilendirse ya da ilgilendirmese dahi, mesajı alabiliyorsa iletim ortamını baskın yapar ve böylece gönderici en az bir ünite veriyi alabildiği için bitir bitini yollayıp iletim ortamını diğerlerinin kullanımı için bırakır. Yani Alındı Bilgisi Alanında "Aldınız mı?" sorusuna yanıt beklenir. Eğer Alındı Bilgisi sürecinde herhangi bir üniteden alındığına dair bilgi alamazsa ACK hatasından kaynaklı hata oluştuğunu belirten Hata Çerçevesi üretilir ve gönderici tekrar yollamaya çalışır.

Eğer gönderen İstek Çerçevesi yollamışsa, alıcı da iletim hattının boş bir anında cevabını göndericiye yollar.

Erol YILMAZ

CAN Bus endüstriyel ortamlarda, otomotivde kullanılıyor.
Burada problem yok.

Peki şimdi şöyle bir soru işareti var.

Bir otobüsteyiz.
Araç içi Aydınlatmayı kapatıp gece moduna geçmek istiyoruz.
yani beyaz renkli fluorasantları kapatıp küçük mavi ledleri yakacağız.

Kontrol biriminden hangi ID nolu mesajı göndermemiz gerekiyor?
Bu soruya nasıl cevap verebiliriz?


http://www.sae.org/standardsdev/groundvehicle/j1939a.htm

Cevabı buradamı ?

kurumahmut

Kendi sisteminizi tasarlarken mesajlara vereceğiniz ID leri kendiniz belirleyebiliyorsunuz. Mesaj önceliğini de siz belirlemiş oluyorsunuz.

Sanırım siz varolan sistemlere müdahale etmek istiyorsunuz. Bunun için sistemi yapanlarla görüşmek gerek ya da bunun için bir standarda uyulmşmu araştırmak gerek. Ancak böle bir genelleme yapılacağını sanmıyorum. Özgünlük kalmaz. Birbirlerinin sistemlerine müdahale edilir ki bunu da pek kimse istemez. Bilmiyorum. Araştırmanız gerek...

picusta

Yanlis hatirlamiyorsam, CAN ile haberlesen sistemleri kurmak için yardimci programlar var. mesajlar tanimlaniyor öncelik veriliyor sonra program buna göre mesaj ID'si atamsi yapiyor, ve sistemdeki MCUlari programlamak için mesaj filtreleri, mesaj içerikleri barindiran hazir dosya üretiyor.
Yani sistemin konfigürasyonu otomatik yapiliyor (1000 mesaj içeren bir sistem için el ile yapilmasi daha uzun ve hatali olabilir).
Hazir sisteme ek modül ilave etmek istiyorsaniz bos bir mesaj ID'si bulmaniz gerekiyor. Belki bazi standartlar vardir mesela motor kontrolü için su araliklarda mesaj (yüksek öncelikli), kapilar için ... ile ... arasi mesajlar, aydinlatma vs... belki ilave mesajlar için (kullanici) bos numaralar vardir.

ggokhans

CAN BUS eğitimi veren bir kurum var mı ankarada yada istanbulda bu konuda yardım istemekteyim

kurumahmut

Alıntı yapılan: kurumahmut - 09 Ekim 2007, 17:45:30CanBus mesaj tabanlı bir sistemdir. Bu nedenle slave adresi 1000 olan cihaz demen yanlış. Ancak şu şekilde denebilir. 1000 ID li mesaj ile ilgilenen cihazlar.

1000 ID li mesajı Canbus ta her hangi bir node başarıyla alırsa mesaj başarıyla alındı bilgisi yollanır. Bu bilgi gönderici tarafından her hangi bir birimden başarıyla alınabilirse bu mesajla ilgilenen diğer birimlerden de mesaj alındı bilgisi almayı beklemez. Hattı boşaltır.

http://kurumahmut.blogcu.com/

da Canbus hakkında kısa bir makale bulabilirsin...

2007 de yazdığım makale nin bir çok türevi olsa da ilk halini buradan tekrar yayınlıyorum. Ayrıca içerisinde bir çok zengin teknoloji bilgisi de bulabileceğiniz bir BLOG çevirmiştim.

https://kurumahmut.gitbook.io/genel/canbus