CAN Bus Haberleşme Sistemleri
Giriş
Modern araçlarda çok sayıda elektronik kontrol ünitesi (ECU) bulunur ve bu birimlerin birbirleriyle hızlı, güvenilir ve koordineli şekilde iletişim kurması gerekir. CAN (Controller Area Network, Denetleyici Alan Ağı) otomotiv dünyasında bu ihtiyaca cevap veren temel bir seri iletişim protokolüdür. Bosch tarafından 1980’lerin ortasında geliştirilen CAN, karmaşık analog sinyal hatlarının yerini alarak araç içerisindeki kablolamayı basitleştirmiştir. CAN, basit çift kablolu bir yapı ile düğümler (ECU’lar) arasında veri iletimini sağlar. Elektromanyetik parazitlere ve kesintilere karşı çok dayanıklıdır; kritik uygulamalar (örneğin fren ve hava yastığı sistemleri) için tercih edilir. Ayrıca sabit maliyetli ve merkezileştirilmiş bir ağ yapısı sunar, arıza tespit kapasiteleri yüksektir. Bu yazıda CAN protokolünün tarihçesinden başlayarak otomotivdeki rolü, standartları, elektriksel yapısı, topolojisi, transceiver devreleri, üst protokolleri (ör. SAE J1939, OBD-II) ve hata kontrol mekanizmaları detaylı olarak incelenecektir.
1. CAN Nedir, Tarihçesi ve Otomotivdeki Yeri
CAN, “Denetleyici Alan Ağı” anlamına gelen Controller Area Network’ün kısaltmasıdır. 1980’lerde otomobil üreticileri araç içi ağırlığı azaltmak ve birden fazla ECU arasındaki iletişimi sağlamak için yeni yöntemler aramışlardır. Bosch, Mercedes-Benz, Intel ve üniversitelerin işbirliğiyle 1983’te CAN geliştirilmiş; 1986’da SAE kongresinde sunulmuştur. Geleneksel kablolama binlerce kablo gerektirdiğinden (ışıklar, göstergeler, sensörler için ayrı teller) araç ağırlığı yükselmekteydi. CAN ile tek bir çift kablo üzerinden mesaja dayalı iletişim kurulmuş, kablo karmaşıklığı ve ağırlık ciddi oranda azalmıştır.
Otomotivde CAN, başlangıçta motor, şasi ve güvenlik sistemleri arasında veri aktarımı için benimsendi. Hava yastığı, ABS, motor kontrol ünitesi (ECU) gibi modüller CAN üzerinden sinyaller alışverişi yapar. Avrupa merkezli arabalar başta olmak üzere dünyada pek çok araçta CAN yaygınlaştı. Ayrıca forklift, endüstriyel robot, asansör, gemi ve hatta ev aletleri gibi farklı uygulamalarda da kullanıldı. Günümüzde otomotiv dışında tarım, savunma ve medikal gibi alanlarda da CAN standardı tercih edilmektedir. CAN, tek bir veriyolu ile çok sayıda ECU’nun birbiriyle iletişmesine izin verdiği için ağır sistemlerin kontrolünde dağıtılmış mimarinin temel taşı olmuştur.
- Çift telli (CANH/CANL) yapısı sayesinde parazitlere karşı bağışıklık
- Mesajların önceliklerine göre iletim (düşük kimlik numarası = yüksek öncelik)
- Hataya duyarlı kodlama (bit stuffing, CRC)
- Yüksek veri hızı desteği (1 Mbit/s’ye kadar)
Bu nedenle CAN, gerçek zamanlı gömülü kontrol sistemlerinin vazgeçilmez iletişim altyapısıdır.
2. CAN 2.0A (Standart), 2.0B (Uzatılmış) ve CAN FD Protokollerinin Farkları
- CAN 2.0A (Standart): 11-bit ID, 8 bayta kadar veri, ~1 Mbps. Öncelik en önemli mesaj, bitwise arbiter ile sağlanır.
- CAN 2.0B (Uzatılmış): 29-bit ID, 8 bayta kadar veri, ~1 Mbps. Çok sayıda farklı mesaj adresleyebilme imkanı.
- CAN FD (Flexible Data-rate): 29-bit ID (geliştirilmiş 2.0B formatında), veri alanı 0–64 bayt, 1–8 Mbps. Arbitrasyon 1 Mbps, veri kısmı 8 Mbps; %800 daha fazla veri; geri dönük uyumlu.
CAN FD, veri alanını 8 bayttan 64 bayta çıkarır ve veri kısmı daha yüksek hızda iletilebilir. Tüm bu iyileştirmelere rağmen CAN FD, geri dönük uyumludur ve CAN 2.0B ile aynı fiziksel katmanı paylaşır. CAN protokolünün avantajları arasında düşük maliyet, sistem kararlılığı, veri bütünlüğü kontrolleri ve EMI bağışıklığı yer alır.
3. CAN Haberleşmesinin Elektriksel Yapısı
- Diferansiyel Sinyalleşme: CAN, diferansiyel voltajlar üzerinden çalışır. Parazit sinyallere karşı bağışıklık sağlar. Dominant bit iletiminde CANH ~3,5 V’a, CANL ~1,5 V’a çekilir; recessive durumda her iki hat da yaklaşık 2,5 V seviyesine döner.
- Voltaj Seviyeleri: Transceiver entegreleri genellikle 5 V (ya da 3,3 V) beslenir. Dominant “0” bit gönderilirken CANH yüksek, CANL alçak çekilir. Recessive “1” ise her iki hattın yaklaşık aynı seviyeye çıkmasıyla elde edilir.
- Kablolama ve Burulmuş Çift: CAN hatları genellikle bükümlü (twisted pair) kablo ile çekilir. Her iki uçta 120 Ω’luk terminasyon dirençleri bulunur. Topoloji olarak da çift hatlı doğru hat (linear bus) kullanılır; yıldız veya çoklu dal oluşumuna izin verilmez.
- Hat Uzunluğu ve Hız: 1 Mbps hız için önerilen maksimum hat uzunluğu yaklaşık 40 metredir. Daha uzun hatlarda alt hız seçilir.
4. CAN Transceiver Nedir, Çalışma Prensibi ve Popüler Modeller
CAN transceiver (alıcı-gönderici), mikrodenetleyici/CAN denetleyicisi ile fiziksel CAN bus arasındaki arabirimdir. Transceiver, transmit edilen dijital veriyi diferansiyel sinyale dönüştürür ve hattaki CANH/CANL pinlerine aktarır; aynı zamanda bus’tan gelen sinyalleri dijital mantığa çevirip denetleyiciye iletir. Bu sayede, mikrodenetleyici yalnızca iki pin (TXD, RXD) üzerinden haberleşirken, transceiver fiziksel şartları soyutlar.
- MCP2551: Yüksek hızlı CAN transceiver yongasıdır. 8-pinli, 5 V ile çalışır. TXD pini mikrodenetleyiciden gelen veriyi alır; CANH/CANL çıkışı aracılığıyla bus’a gönderir. RXD pini ise bus’taki diferansiyel gerilimi okur ve mantıksal 0/1 koduna çevirir.
- TJA1050: ISO 11898-2 ile uyumlu, 1 Mbaud hıza kadar çalışabilen bir yüksek hızlı transceiver’dır.
- SN65HVD serisi (TI), ADM305x (Analog Devices): Diğer popüler CAN transceiver modelleridir.
Transceiver devreleri, her node’un alıcı-vericisinin bus sinyallerini hem iletebilmesini hem de dinleyebilmesini sağlayan “wired-AND” prensibini uygular.
5. CAN Bus Topolojisi, Bağlantı Şekli, Hat Uzunluğu ve Hız İlişkisi
CAN ağları tipik olarak doğru hat (linear bus) topolojisine sahiptir. Tüm düğümler (ECU’lar) tek bir ana iletim hattına zincir şeklinde bağlanır; hattın her iki ucunda 120 Ω’luk terminatör dirençleri bulunur. Yıldız veya çoklu dal (star) topolojisi yüksek hızlı CAN’da önerilmez. Düşük hızlı fault-tolerant CAN ise gerektiğinde yıldız yapı veya segmentler arası terminasyon kullanabilir.
Hattın toplam uzunluğu ile veri hızı arasında ters oran vardır. Yüksek hızda çalışabilmek için hat kısa olmalıdır. 1 Mbps hız için tavsiye edilen maksimum hat uzunluğu yaklaşık 40 metredir. Düşük hız (125 kbps) modunda bu mesafe kilometrelere kadar çıkabilir.
6. SAE J1939 Protokolü: Yapısı ve Kullanımı
SAE J1939, ağır vasıta (kamyon, otobüs, tarım, iş makineleri) iletişimi için geliştirilmiş üst seviye bir CAN protokolüdür. 29-bit uzatılmış CAN çerçeveleri üzerine kurulu olan J1939, motor, şasi, fren gibi sistemler arasında veri alışverişini standartlaştırır.
- Öncelik (3 bit), Rezerve (1 bit), Veri Sayfa (1 bit), PDU Format (8 bit), PDU Specific (8 bit), Kaynak Adresi (8 bit)
- Parameter Group Number (PGN) ile mesaj türü belirlenir.
- Genellikle 250 veya 500 kbps veri hızı, 8 bayt veri alanı.
- ABD’deki ağır hizmet araçlarında zorunlu hale gelmiştir.
J1939, tekdüzen 29-bit adresleme, parametre grupları (PGN) aracılığıyla ortak mesaj kümeleri, 250/500 kbps veri hızı ve 8 bayt veri ile ağır vasıta haberleşmesini kolaylaştırır.
7. CAN Üzerinden OBD-II Teşhis Sistemleri
OBD-II (On-Board Diagnostics II) sistemi, araç arıza kodlarını ve sensör verilerini okumaya yarayan bir standarttır. 2008’den itibaren ABD’de üretilen tüm binek otomobillerde OBD-II için CAN (ISO 15765-4) protokolü zorunlu hale gelmiştir. OBD-II mesajları genellikle standart 11-bit CAN kimlikleriyle taşınır. Yaygın uygulamada, fonksiyonel sorgu için 0x7DF ID’si kullanılır; cevaplar ise 0x7E8–0x7EF aralığındaki ID’lerle döner.
- OBD-II özel mesaj içeriği ISO 15765-4 (CAN) üzerinde ISO-TP (15765-2) ile paketlenir.
- Teşhis bağlantı noktası (SAE J1962 konnektörü) üzerinden 16 pinli bir konnektör vasıtasıyla tarayıcı cihazlara erişilir.
- Motor devrini sorgulamak için 01 0C PID komutu yollanır; yanıtında 2 baytla devir değeri gelir.
OBD-II’de CAN, hata kodları ve telemetri verilerini güvenilir bir şekilde taşımak için altyapı görevi görür.
8. Uygulamalı Örnekler: ECU Bağlantısı, Mesaj Formatı, Çerçeve Örneği
- Identifier (Mesaj Kimliği): Standart CAN’da 11 bit, uzatılmış CAN’da 29 bit uzunlukta. Mesajın önceliği bu kimliğe göre belirlenir (düşük değer yüksek öncelikli).
- RTR (Remote Transmission Request): 1 bit. ‘Recessive’ gönderilirse data çerçevesi, ‘dominant’ gönderilirse uzaktan veri isteme çerçevesi anlamındadır.
- IDE (Identifier Extension): 1 bit. 0=standart, 1=uzatılmış kimlik kullanılıyorsa.
- DLC (Data Length Code): 4 bit. Veri alanındaki bayt sayısını belirtir (0–8 klasik CAN, CAN FD’de 0–15 kodlanarak 0–64 bayt).
- Veri Alanı (Data): DLC tarafından belirtilen uzunlukta (klasik CAN için ≤8 bayt, CAN FD’de ≤64 bayt).
- CRC (Cyclic Redundancy Check): 15 bit + 1 bit delimiter. Çerçevenin başlık ve veri kısımlarına dayalı bir hata kontrol kodudur.
- ACK (Acknowledgement): 1 bit gönderici (recessive) + 1 bit delimiter. Alıcılardan en az biri, çerçeveyi doğru aldığını göstermek için bu bit’i dominant (logic 0) yapar.
- EOF (End of Frame): 7 recessive bit. Çerçevenin sonunu belirtir.
- IFG (Interframe Space): Mesajlar arasında en az 3 recessive bit boşluk bırakılır.
Örneğin otomotiv ECU iletişimlerinde “dominant 0 bitliği” genellikle çekişme ve hata işaretleri (ACK, CRC hata vb.) için kullanılır. Bir örnek CAN mesajı: motor devri değeri içeren bir çerçevede ID=0x0CFF, DLC=2, veri= {0x1A, 0xF8} gibi baytlar bulunabilir. CAN’ın kayıpsız arbiter mekanizması sayesinde, düşük ID’li (en öncelikli) çerçeve her zaman veri yolunu kazanır, diğerleri 1 bit sonra tekrar deneme yapar.
9. Güvenlik, EMC ve Hata Kontrolü (CRC, ACK, Bit Stuffing)
- EMC (Elektromanyetik Uyumluluk): CAN’ın diferansiyel sinyalleşme yapısı doğal olarak parazite dayanıklıdır. Slope control modları ve bükümlü kablo kullanımı ile EMI minimize edilir.
- Hata Kontrolü: Her CAN mesajında yer alan CRC alanı, polinomsal bölme ile hesaplanan bir kontrol toplamıdır. Bit stuffing ve ACK slotu ile mesaj bütünlüğü aktif olarak denetlenir. Hata durumunda bir hata çerçevesi tüm düğmlerce yayılır ve iletilen çerçeve yeniden gönderilir.
- Güvenlik (Security): Standart CAN protokolü özel şifreleme içermez ve yetkisiz erişime karşı doğrudan bir koruma sağlamaz. Kritik uygulamalarda üst katmanlarda şifreleme, kimlik doğrulama veya MAC gibi yöntemler ek protokollerle sağlanır.
EMC ve hata kontrolü yapısıyla sağlanan sağlamlık, araç içi haberleşmede sistem güvenliğinin önemli bir parçasıdır.
Sonuç
Bu yazıda CAN Bus haberleşme sistemi, otomotiv sektörü uygulamaları odaklı olarak kapsamlı bir biçimde ele alınmıştır. CAN’ın tarihçesi ve tanımı üzerinden başlayarak, 2.0A/2.0B ile CAN FD arasındaki farklar ve kullanım alanları detaylandırılmış, elektriksel katman (diferansiyel sinyal, voltaj seviyeleri, terminasyon) açıklanmıştır. Transceiver devreleri incelenmiş, örnek bir devre (MCP2551) üzerinden çalışma prensipleri anlatılmıştır. Topoloji ve bağlantı kuralları üzerinde durularak, hat uzunluğu ile hız arasındaki bağlantı ve ideal bağlantı şekilleri belirtilmiştir. Ağır vasıta uygulamalarında kullanılan SAE J1939 protokolü, 29-bit ID yapısı ve PGN sistemiyle tanıtılmıştır. OBD-II teşhis için CAN’ın kullanımı vurgulanmış, tipik OBD-II CAN ID’leri ve gereksinimleri ele alınmıştır. Son olarak, hata kontrolü ve güvenlik önlemleri açıklanarak CAN’ın sistem bütünlüğünü nasıl koruduğu özetlenmiştir. Bu bilgiler, elektronik mühendisliği öğrencileri ve araştırmacılar için CAN haberleşme sisteminin otomotivdeki rolünü ve teknik detaylarını anlama açısından eksiksiz bir kaynak teşkil etmektedir.