CAN anlamına gelir Denetleyici Alanı Ağı protokol. tarafından geliştirilen bir protokoldür. Robert Bosch CAN protokolü, mikrodenetleyicinin ve diğer cihazların herhangi bir ana bilgisayar olmadan birbirleriyle iletişim kurmasını sağlamak için tasarlanmış bir standarttır. CAN protokolünü diğer iletişim protokolleri arasında eşsiz kılan özellik, veriyolunun yayın tipidir. Burada yayın, bilginin tüm düğümlere iletilmesi anlamına gelir. Düğüm, bilgisayarın USB kablosu veya ethernet bağlantı noktası aracılığıyla ağ üzerinden iletişim kurmasını sağlayan bir sensör, mikro denetleyici veya ağ geçidi olabilir. CAN, mesaj tabanlı bir protokoldür; bu, mesajın mesaj tanımlayıcısını taşıdığı ve tanımlayıcıya göre önceliğe karar verildiği anlamına gelir. CAN ağında düğüm tanımlamaya gerek olmadığından onu ağa eklemek veya ağdan silmek çok kolay hale gelir. Seri yarı çift yönlü ve asenkron tipte bir iletişim protokolüdür. CAN ağı iki kablolu veri yolu üzerinden bağlandığından, CAN iki kablolu bir iletişim protokolüdür. Teller, her iki uca bağlı 120Ω karakteristik empedansa sahip bükümlü çifttir. Başlangıçta esas olarak araçların içindeki iletişim için tasarlanmıştı ancak artık birçok başka bağlamda da kullanılıyor. UDS ve KWP 2000 gibi CAN da yerleşik teşhis için kullanılabilir.
Neden CAN?
Elektronik cihazların sayısının artması nedeniyle merkezi bir standart iletişim protokolüne ihtiyaç duyuldu. Örneğin modern bir araçta gösterge paneli, şanzıman kontrolü, motor kontrol ünitesi ve daha birçok alt sistem için 7'den fazla TCU bulunabilir. Tüm düğümler bire bir bağlanırsa iletişimin hızı çok yüksek olur, ancak kabloların karmaşıklığı ve maliyeti de çok yüksek olur. Yukarıdaki örnekte, tek bir gösterge paneli 8 konnektör gerektirir; dolayısıyla bu sorunun üstesinden gelmek için CAN, iki kablo (yani CAN yüksek ve CAN düşük) gerektiren merkezi bir çözüm olarak tanıtıldı. CAN protokolünü kullanmanın çözümü, mesaj önceliklendirmesi nedeniyle oldukça verimlidir ve ağı etkilemeden bir düğüm eklenip çıkarılabileceği için esnektir.
CAN protokolünün uygulamaları
Başlangıçta CAN protokolü, araçların içinde meydana gelen iletişim sorununu hedef almak için tasarlandı. Ancak daha sonra sunduğu özelliklerden dolayı farklı alanlarda da kullanılmaya başlanmıştır. CAN protokolünün uygulamaları şunlardır:
java sürümü linux
- Otomotiv (binek araçları, kamyonlar, otobüsler)
- Havacılık ve navigasyon için elektronik ekipmanlar
- Endüstriyel otomasyon ve mekanik kontrol
- Asansör ve yürüyen merdivenler
- Bina otomasyonu
- Tıbbi alet ve ekipmanlar
- Denizcilik, tıbbi, endüstriyel, tıbbi
CAN katmanlı mimarisi
Bildiğimiz gibi OSI modeli iletişim sistemini 7 farklı katmana ayırır. Ancak CAN katmanlı mimarisi iki katmandan oluşur;
Her iki katmanı da anlayalım.
- Veri Bağlantı Katmanı: Bu katman, düğümden düğüme veri aktarımından sorumludur. Bağlantıyı kurmanızı ve sonlandırmanızı sağlar. Ayrıca fiziksel katmanda oluşabilecek hataların tespit edilmesi ve düzeltilmesinden de sorumludur. Veri bağlantısı katmanı iki alt katmana bölünmüştür:
MAC: MAC, Medya Erişim Kontrolü anlamına gelir. Bir ağdaki cihazların ortama nasıl erişim sağladığını tanımlar. Verilerin Kapsüllenmesi ve Kapsülden Çıkarılması, Hata tespiti ve sinyalizasyon sağlar. - Fiziksel katman: Fiziksel katman, ham verilerin iletilmesinden sorumludur. Gerilim seviyesi, zamanlama, veri hızları ve konnektör gibi parametrelere ilişkin spesifikasyonları tanımlar.
CAN spesifikasyonları, CAN standardında tanımlanan CAN protokolünü ve CAN fiziksel katmanını tanımlar. ISO 11898. ISO 11898'in üç bölümü vardır:
- ISO 11898-1: Bu bölüm, Veri bağlantısı katmanının ve fiziksel sinyal bağlantısının özelliklerini içerir.
- ISO 11898-2: Bu bölüm, yüksek hızlı CAN için CAN fiziksel katmanının altına gelir. Yüksek hızlı CAN, güç aktarma organlarında ve aracın şarj alanında 1 Mbps'ye kadar veri hızına izin verir.
- ISO 11898-3: Bu bölüm aynı zamanda düşük hızlı CAN için CAN fiziksel katmanının altına gelir. 125 kbps'ye kadar veri hızına izin verir ve iletişim hızının kritik bir faktör olmadığı durumlarda düşük hızlı CAN kullanılır.
CiA DS-102: CiA'nın tam biçimi, CAN konektörünün özelliklerini tanımlayan Otomasyondaki CAN'dır.
nick pulos kara yıldırım
Uygulama söz konusu olduğunda, CAN denetleyicisi ve CAN alıcı-vericisi yazılımda uygulama, işletim sistemi ve ağ yönetimi fonksiyonlarının yardımıyla uygulanır.
CAN Çerçeveleme
CAN çerçevesinin yapısını anlayalım.
Şimdi verilerin CAN ağı üzerinden nasıl iletildiğini göreceğiz.
Bir CAN ağı birden fazla CAN düğümünden oluşur. Yukarıdaki durumda üç CAN düğümünü ele aldık ve bunları A düğümü, B düğümü ve C düğümü olarak adlandırdık. CAN düğümü aşağıda verilen üç öğeden oluşur:
- Ev sahibi
Ana bilgisayar, belirli bir işi yapmak için bazı uygulamaları çalıştıran bir mikro denetleyici veya mikro işlemcidir. Toplantı sahibi, alınan mesajın ne anlama geldiğine ve daha sonra hangi mesajı göndermesi gerektiğine karar verir. - CAN Denetleyicisi
CAN denetleyicisi, CAN protokolü tarafından açıklanan iletişim işlevleriyle ilgilenir. Ayrıca CAN mesajlarının iletimini veya alımını da tetikler. - CAN Alıcı-Vericisi
CAN alıcı-vericisi, CAN veriyolundaki verilerin iletilmesinden veya alınmasından sorumludur. Veri sinyalini CAN veriyolundan toplanan ve CAN denetleyicisinin anlayabileceği veri akışına dönüştürür.
Yukarıdaki şemada, verileri iletmek veya almak için blendajsız bükümlü çift kablo kullanılmıştır. CAN veriyolu olarak da bilinir ve CAN veriyolu iki hattan oluşur; yani sırasıyla CANH ve CANL olarak da bilinen CAN düşük hattı ve CAN yüksek hattı. İletim bu hatlara uygulanan diferansiyel gerilim nedeniyle gerçekleşir. CAN, ortamı nedeniyle bükümlü çift kablo ve diferansiyel voltaj kullanır. Örneğin bir arabada, motorda, ateşleme sisteminde ve daha birçok cihazda gürültü nedeniyle veri kaybı ve veri bozulmasına neden olabilir. İki çizginin bükülmesi manyetik alanı da azaltır. Veri yolu her iki uçta 120Ω dirençle sonlandırılmıştır.
CAN Özellikleri
Diferansiyel voltajın yardımıyla 0 ve 1'in CAN bus üzerinden nasıl iletildiğini belirleyeceğiz. Yukarıdaki şekil CAN low ve CAN high voltaj seviyesini gösteren voltaj grafiğidir. CAN terminolojisinde mantık 1'in resesif, mantık 0'ın ise baskın olduğu söylenir. CAN yüksek hattı ve CAN düşük hattı 2,5 volt ile uygulandığında, gerçek diferansiyel voltaj sıfır volt olacaktır. CAN veriyolundaki sıfır volt, CAN alıcı-vericisi tarafından resesif veya mantık 1 olarak okunur. CAN veriyolundaki sıfır volt, veriyolunun ideal durumudur. CAN üst hattı 3,5 volta, CAN alt hattı ise 1,5 volta çekildiğinde veriyolunun gerçek diferansiyel voltajı 2 volt olacaktır. CAN alıcı-vericisi tarafından baskın bit veya mantık 0 olarak değerlendirilir. Veri yolu durumu baskın veya mantık 0'a ulaşırsa, başka herhangi bir düğüm tarafından resesif duruma geçmek imkansız hale gelir.
CAN özelliklerinden öğrenilen önemli noktalar
- Mantık 1 resesif bir durumdur. CAN veriyolu üzerinden 1 iletmek için hem CAN yüksek hem de CAN düşük 2,5V ile uygulanmalıdır.
- Mantık 0 baskın bir durumdur. CAN veriyolu üzerinden 0 iletmek için CAN yüksek 3,5V'da, CAN düşük ise 1,5V'de uygulanmalıdır.
- Otobüsün ideal durumu resesiftir.
- Düğüm baskın duruma ulaşırsa, başka hiçbir düğüm tarafından resesif duruma geri dönemez.
CAN veri yolu mantığı
Yukarıdaki senaryodan, baskın durumun resesif durumun üzerine yazdığını biliyoruz. Düğüm baskın ve resesif biti aynı anda gönderdiğinde veri yolu baskın kalır. Resesif seviye yalnızca tüm düğümler resesif biti gönderdiğinde ortaya çıkar. Böyle bir mantık AND mantığı olarak bilinir ve fiziksel olarak açık kolektör devresi olarak uygulanır.
CAN İletişim Prensibi
Mesajın tahkim alanında belirlenen önceliğe göre gönderildiğini biliyoruz. Standart çerçeve için mesaj tanımlayıcısı 11 bit, genişletilmiş çerçeve için ise mesaj tanımlayıcısı 29 bittir. Sistem tasarımcısının mesaj tanımlayıcısını tasarımın kendisinde tasarlamasına olanak tanır. Mesaj tanımlayıcısı ne kadar küçük olursa mesajın önceliği de o kadar yüksek olur.
Arraylist Java sıralaması
Tahkimin bir akış şeması aracılığıyla nasıl çalıştığını anlayalım.
Gönderici mesajı göndermek istiyor ve CAN veriyolunun boşta kalmasını bekliyor. CAN veri yolu boştaysa gönderen, veri yolu erişimi için SOF'u veya baskın biti gönderir. Daha sonra en anlamlı bitteki mesaj tanımlayıcı biti gönderir. Düğüm, resesif biti iletirken veri yolundaki baskın biti tespit ederse, bu, düğümün tahkimi kaybettiği ve daha fazla bit iletmeyi durdurduğu anlamına gelir. Gönderen, otobüsün serbest kalmasından sonra mesajı bekleyecek ve yeniden gönderecektir.
CAN Tahkim Örneği
Üç düğümü (Düğüm 1, Düğüm 2 ve Düğüm 3) ele alırsak, bu düğümlerin mesaj tanımlayıcıları sırasıyla 0x7F3, 0x6B3 ve 0x6D9'dur.
En anlamlı bit ile üç düğümün tamamının iletimi yukarıdaki diyagramda gösterilmiştir.
bahar önyükleme ek açıklamaları
on birbubit: Düğümlerin üç biti de resesif olduğundan, veri yolu biti de resesif kalacaktır.
10bubit: Tüm düğümler resesif olarak 10. bit'e sahiptir, dolayısıyla veri yolu da resesif kalacaktır.
9bubit: Düğüm 1 resesif bit içerirken diğer düğümler baskın bit içerir, dolayısıyla veri yolu da baskın kalacaktır. Bu durumda, düğüm 1 tahkimi kaybetmiştir, dolayısıyla bit göndermeyi durdurur.
8bubit: Hem düğüm 2 hem de düğüm 3 resesif bit gönderiyor, böylece veri yolu durumu resesif kalıyor.
7bubit: Düğüm 2 baskın bit gönderirken düğüm 3 resesif bit gönderir, böylece veri yolu durumu baskın kalır. Bu durumda, düğüm 3 tahkimi kaybetmiştir, dolayısıyla düğüm 2 tahkimi kazanırken mesaj göndermeyi durdurur, yani mesaj alınana kadar veriyolunu tutmaya devam edeceği anlamına gelir.