Arabanıza bindiniz, marş düğmesine bastınız ve motor bir anda canlandı, peki arabanız çalışıp çalışmamasına nasıl karar verdi?

Arabayı çalıştırmak için birkaç anten ve Elektronik Kontrol Ünitesi anahtarlıkla iletişim kurdu. Denetleyici Alan Ağı (CAN) protokolü, anahtarlığınız, antenler ve ECU'lar arasındaki iletişimin arabanızın içinde uygun şekilde gerçekleşmesini sağlar.

Peki CAN protokolü nedir ve aracınızın sistemlerindeki cihazların birlikte çalışmasına nasıl yardımcı olur? Peki, öğrenelim.

CAN Protokolü Nedir ve Neden Gereklidir?

Eskiden arabalarda çok fazla elektronik yoktu. Aslında 1900'lerin başında aracınızı çalıştırmak istiyorsanız, aracınızdan inip motoru elle çalıştırmanız gerekiyordu.

Bugünün arabaları, aksine, birkaç elektronik sensöre sahiptir ve elektronik cihazlar, kabin sıcaklığından krank milinin devirlerine kadar her şeyi izler.

Bununla birlikte, bu sensörlerden alınan verilerin işlenene kadar hiçbir değeri yoktur. Bu veri işleme, Elektronik Kontrol Birimleri (ECU'lar) olarak bilinen bilgi işlem cihazları tarafından gerçekleştirilir.

instagram viewer
Resim kredisi: SenseiAlan/Flickr

Tek bir CPU'ya sahip bir bilgisayarın aksine, bir arabanın her biri belirli bir görevi yerine getirmekten sorumlu olan birkaç ECU'su vardır. Bu ECU'lar tek bir görevi verimli bir şekilde yerine getirebilse de, aşağıdaki gibi özellikleri sağlamak için birlikte çalışmalıdırlar. ABS ve ESC düzgün çalış.

Bu nedenle, bir arabadaki tüm ECU'ların bağlanması gerekir. Bu bağlantıları yapmak için her ECU'nun doğrudan diğer tüm ECU'lara bağlı olduğu noktadan noktaya topoloji kullanılabilir. Ancak, bu mimari sistemi karmaşık hale getirecektir. Aslında, modern bir araçta 70'in üzerinde ECU vardır ve bunları bire bir şekilde bağlamak, kablolamanın ağırlığını katlanarak artıracaktır.

Bu sorunu çözmek için Bosch, Mercedes-Benz ve Intel ile birlikte 1986 yılında Controller Area Network protokolünü oluşturdu. Bu protokol, ECU'ların CAN veri yolu olarak bilinen paylaşılan bir veri yolu kullanarak birbirleriyle iletişim kurmasını sağladı.

CAN nasıl çalışır?

CAN protokolü, veri iletimi için bir dizi bükülü çift kabloya dayanan mesaj tabanlı bir iletişim metodolojisidir. Bu teller CAN yüksek ve CAN düşük olarak bilinir.

Bu tellerde veri iletimini sağlamak için voltaj seviyeleri değiştirilir. Voltaj seviyelerindeki bu değişiklikler daha sonra bir arabadaki ECU'ların birbirleriyle iletişim kurmasını sağlayan mantık seviyelerine çevrilir.

İmaj Kredisi: Spinningspark/Wikimedia

CAN veriyolunda mantık 1'i iletmek için her iki hattın voltajı 2,5 volt olarak ayarlanmıştır. Bu durum aynı zamanda çekinik durum olarak da bilinir; bu, CAN veri yolunun herhangi bir ECU tarafından kullanılabilir olduğu anlamına gelir.

Aksine, CAN yüksek hattı 3,5 voltta ve CAN düşük hattı 1,5 voltta olduğunda CAN veriyolunda mantık 0 iletilir. Otobüsün bu durumu, sistemdeki her ECU'ya başka bir ECU olduğunu söyleyen baskın durum olarak da bilinir. gönderiyor, bu yüzden mesajlarını iletmeye başlamadan önce iletimin bitmesini beklemelidirler.

Bu voltaj değişikliklerini etkinleştirmek için aracın ECU'ları bir CAN alıcı-vericisi ve bir CAN denetleyicisi aracılığıyla CAN veri yoluna bağlanır. Alıcı-verici, CAN veriyolu üzerindeki voltaj seviyelerini ECU'nun anlayabileceği seviyelere dönüştürmekten sorumludur. Kontrolör ise alınan verileri yönetmek ve protokolün gerekliliklerinin yerine getirilmesini sağlamak için kullanılır.

CAN bus'a bağlı tüm bu ECU'lar bükümlü kablo üzerinde veri iletebilir, ancak bir yakalama var, CAN bus'ta sadece en yüksek önceliğe sahip mesaj iletilebilir. Bir ECU'nun CAN veriyolu üzerinde nasıl veri ilettiğini anlamak için CAN protokolünün mesaj yapısını anlamamız gerekir.

CAN Protokolünün Mesaj Yapısını Anlama

İki ECU iletişim kurmak istediğinde, aşağıdaki yapıya sahip mesajlar CAN veriyolunda iletilir.

Bu mesajlar, CAN veriyolu üzerindeki voltaj seviyeleri değiştirilerek aktarılır ve CAN kablolarının bükümlü çift tasarımı, iletim sırasında veri bozulmasını önler.

  • SOF: Çerçeve Başlangıcı'nın kısaltması olan SOF biti, tek bir baskın bit veri çerçevesidir. Bu bit, bir düğüm tarafından CAN veriyolu üzerinden veri göndermek istediğinde iletilir.
  • tanımlayıcı: CAN protokolündeki tanımlayıcı, boyut olarak 11 bit veya 29 bit olabilir. Tanımlayıcının boyutu, kullanılan CAN protokolünün sürümüne bağlıdır. CAN'ın genişletilmiş versiyonu kullanılıyorsa, tanımlayıcının boyutu 29 bit ve diğer durumlarda tanımlayıcının boyutu 11 bittir. Tanımlayıcının temel amacı, mesajın önceliğini belirlemektir.
  • RTR: Uzaktan İletim Talebi veya RTR, başka bir düğümden veri talep edilmesi gerektiğinde bir düğüm tarafından kullanılır. Bunu yapmak için, veriyi isteyen düğüm, istenen düğüme RTR çerçevesinde resesif bit içeren bir mesaj gönderir.
  • DLC: Veri uzunluğu kodu, veri alanında iletilen verilerin boyutunu tanımlar.
  • Veri alanı: Bu alan veri yükünü içerir. Bu yükün boyutu 8 bayttır, ancak CAN FD gibi daha yeni protokoller bu yükün boyutunu 64 bayta çıkarır.
  • ÇHS: Döngüsel Artıklık Kontrolü'nün kısaltması olan CRC alanı, bir hata kontrol çerçevesidir. Aynısı 15 bit boyutundadır ve hem alıcı hem de verici tarafından hesaplanır. Gönderen düğüm, iletildiğinde veriler için bir CRC oluşturur. Verileri alırken, alıcı alınan veriler için CRC'yi hesaplar. Her iki CRC de eşleşirse, verilerin bütünlüğü onaylanır. Değilse, verilerde hatalar vardır.
  • Teşekkür alanı: Veri alındığında ve hatasız olduğunda, alıcı düğüm, alındı ​​çerçevesine baskın bir bit besler ve bunu vericiye geri gönderir. Bu, vericiye verilerin alındığını ve hatasız olduğunu söyler.
  • Çerçevenin Sonu: Veri iletimi tamamlandığında, ardışık yedi resesif bit iletilir. Bu, tüm düğümlerin bir düğümün veri iletimini tamamladığını bilmesini ve veri yolu üzerinde veri iletebilmelerini sağlar.

Yukarıdaki bitlere ek olarak, CAN protokolünün gelecekte kullanılmak üzere ayrılmış birkaç biti vardır.

Bir Örnek Yoluyla CAN'ı Basitleştirme

Artık CAN veriyolundaki bir mesajın nasıl göründüğüne dair temel bir anlayışa sahip olduğumuza göre, verilerin farklı ECU'lar arasında nasıl iletildiğini anlayabiliriz.

Basitlik için, arabamızın 3 ECU'su olduğunu varsayalım: Düğüm 1, Düğüm 2 ve Düğüm 3. 3 ECU'dan Düğüm 1 ve Düğüm 2, Düğüm 3 ile iletişim kurmak istiyor.

CAN protokolünün böyle bir senaryoda iletişimin sağlanmasına nasıl yardımcı olduğunu görelim.

  • Otobüsün durumunu algılama: Araçtaki tüm ECU'lar CAN veri yoluna bağlıdır. Örneğimizde, Düğüm 1 ve Düğüm 2, başka bir ECU'ya veri göndermek istiyor; bunu yapmadan önce, her iki ECU'nun da CAN veriyolunun durumunu kontrol etmesi gerekir. Veri yolu baskın durumdaysa, veri yolu kullanımda olduğu için ECU'lar veri iletemez. Öte yandan, veri yolu çekinik durumdaysa, ECU'lar veri iletebilir.
  • Çerçevenin Başlangıcını Gönderme: CAN veriyolundaki diferansiyel voltaj sıfırsa, hem Düğüm 1 hem de Düğüm 2, baranın durumunu baskın olarak değiştirir. Bunu yapmak için, CAN yüksek voltajı 3,5 volta yükseltilir ve CAN düşük voltajı 1,5 volta düşürülür.
  • Hangi düğümün bus'a erişebileceğine karar vermek: SOF gönderildiğinde, her iki düğüm de CAN veriyoluna erişmek için rekabet eder. CAN veri yolu, hangi düğümün erişim alacağına karar vermek için Taşıyıcı Algısı Çoklu Erişim/Çarpışma Algılama (CSMA/CD) protokolünü kullanır. Bu protokol, her iki düğüm tarafından iletilen tanımlayıcıları karşılaştırır ve daha yüksek önceliğe sahip olana erişim sağlar.
  • Veri gönderme: Düğüm veriyoluna eriştiğinde, veri alanı CRC ile birlikte alıcıya gönderilir.
  • İletişimi kontrol etme ve sonlandırma: Verileri alırken Düğüm 3, alınan verilerin CRC'sini kontrol eder. Herhangi bir hata yoksa Düğüm 3, iletişimi sonlandırmak için EOF ile birlikte alındı ​​çerçevesi üzerinde baskın bir bit ile verici düğüme bir CAN mesajı gönderir.

Farklı CAN Türleri

CAN protokolü tarafından kullanılan mesaj yapısı aynı kalsa da, veri iletim hızı ve veri bitlerinin boyutu, daha yüksek bant genişliklerinde veri aktarmak için değiştirilir.

Bu farklılıklar nedeniyle, CAN protokolünün farklı sürümleri vardır ve bunlara genel bir bakış aşağıda verilmiştir:

  • Yüksek hızlı CAN: CAN kabloları üzerindeki veriler seri olarak iletilir ve bu iletim farklı hızlarda yapılabilir. Yüksek hızlı CAN için bu hız 1 Mbps'dir. Bu yüksek veri aktarım hızı nedeniyle, aktarma organları ve güvenlik sistemlerini kontrol eden ECU'lar için yüksek hızlı kutu kullanılmaktadır.
  • Düşük hızlı CAN: Düşük hızlı CAN durumunda, verilerin iletilme hızı 125 kbps'ye düşürülür. Düşük hız, daha düşük veri hızları sunabileceğinden, klima veya bilgi-eğlence sistemi gibi yolcunun konforunu yöneten ECU'ları bağlamak için kullanılır.
  • FD yapabilir: CAN esnek veri hızının kısaltması olan CAN FD, CAN protokolünün en yeni versiyonudur. Veri çerçevesinin boyutunu 64 bayta çıkarır ve ECU'ların 1 Mbps ile 8 Mbps arasında değişen hızlarda veri iletmesine izin verir. Bu veri aktarım hızı, sistem gereksinimlerine bağlı olarak ECU'lar tarafından gerçek zamanlı olarak yönetilebilir ve verilerin daha yüksek hızlarda aktarılmasına olanak tanır.

Otomotiv İletişiminin Geleceği Nedir?

CAN protokolü, birkaç ECU'nun birbiriyle iletişim kurmasına izin verir. Bu iletişim, elektronik stabilite kontrolü ve kör nokta algılama ve uyarlanabilir hız sabitleyici gibi gelişmiş sürücü yardım sistemleri gibi güvenlik özelliklerine olanak tanır.

Bununla birlikte, otonom sürüş gibi gelişmiş özelliklerin ortaya çıkmasıyla, CAN veriyolu tarafından iletilen veri miktarı katlanarak artıyor. Bu özellikleri etkinleştirmek için CAN protokolünün CAN FD gibi daha yeni sürümleri piyasaya giriyor.