CAN BUS SİSTEMİ NEDİR?
CAN BUS SİSTEMİ NEDİR
“Controller Area Network Bus” olan yani “Kontrol Alan Ağı
Veri yolu”dur.
CAN, otomotiv endüstrisindeki en bilinen haberleşme
sistemidir. Her ne kadar başlangıçta yalnızca otomotiv uygulamaları için
tasarlanmış olsa da yüksek performansı güvenirliliğinden dolayı birçok dağıtık
(distrubuted) endüstriyel kontrol uygulamalarında yaygın olarak
kullanılmaktadır.
Güvenliğin çok önemli olduğu gerçek zamanlı uygulamalarda da
kullanılır. Öyle ki istatistiksel olasılık hesapları sonucunda bir asırda bir
tane tespit edilemeyen mesaj hatası yapabileceği tespit edilmiştir.
Uygulama alanı yüksek hızlı ağlardan düşük maliyetli çoklu
kablolamalı sistemlere kadar geniştir. CAN-BUS, otomobil
elektroniği, akıllı motor kontrolü, robot kontrolü, akıllı sensörler,
asansörler, makine kontrol birimleri, kaymayı engelleyici sistemler, trafik
sinyalizasyon sistemleri, akıllı binalar ve laboratuar otomasyonu gibi uygulama
alanlarında maksimum 1Mbit/sn lik bir hızda veri iletişimi sağlar.
CAN-BUS sisteminin sahip olduğu özellikler:
- Mesaj
önceliği
- Kayıp
zaman güvenliği
- Yapılandırma
esnekliği
- Senkronizasyonlu
çoklu kabul: Aynı veri birçok ünite tarafından alınabilinir
- Sistemdeki
veri yoğunluğunu kaldırabilme
- Çok
efendili (Multimaster) çalışma
- Hata
tespiti ve hataya ilişkin sinyalleri üretme
- Mesajın
yollanmasında hata oluşması halinde mesajın iletim hattının (BUS) boş
olduğu bir anda mesajın otomatik tekrar yollama
- Ünitelerde
oluşan geçici ve kalıcı hataları ayırt edebilme ve özerk olarak kalıcı
hatalı üniteleri kapatabilme
CAN BUS SİSTEMİ
TARİHÇESİ
Kontrol Alanı Ağı (CAN veriyolu) zengin bir geçmişe sahiptir
ve çeşitli geliştirme aşamalarından geçmiştir. Yıllar içindeki gerçek gelişim
aşamaları aşağıda görülebilir:
·
CAN veri
yolunun gelişimi, Bosch'un daha sonra ISO 11898-1 standardına göre kodlanan
Kontrol Alanı Ağı'nı ilk olarak icat ettiği 1983 yılına kadar gider.
·
CAN
protokolü daha sonra 1986'da Otomotiv Mühendisleri Derneği tarafından (SAE) yayınlandı.
·
Intel ,
1987'de CAN denetleyici yongalarını ilk tanıtan firmaydı ve Phillips bundan
kısa bir süre sonra Intel'e katıldı.
·
1991
yılında Bosch, CAN 2.0'ı yayınladı (CAN 2.0A: 11 bit, 2.0B: 29bit).
·
CAN bus,
ISO 11898'de uluslararası bir standart olarak, 1993 yılında benimsenmiştir.
·
2003
yılında ISO 11898 standart bir seri haline geldi.
·
2012
yılında Bosch, esnek veri hızı CAN FD 1.0'ı piyasaya sürdü.
·
2015
yılında CAN FD protokolü ISO 11898-1'de standardize edilmiştir.
·
Son
olarak, 5 Mbit/sn'ye kadar olan fiziksel CAN katmanı, 2016 yılında ISO
11898-2'de standardize edilmiştir.
Görsel-1.1
CAN BUS SİSTEMİ NASIL
ÇALIŞIR
CAN-BUS’ ı ISO/OSI Reference Modeli üzerinden açıklamak
istersek CAN BUS’ı:
- Nesne
Katmanı (Object layer)
- İletim
Katmanı (Transfer layer)
- Fiziksel
Katman (Physical layer)
şeklinde üç alt bölüme ayırabiliriz. Bu üç alt bölümü
alatacak olursak…
Nesne Katmanı
Nesne Katmanının görevleri;
- Hangi
mesajın transfer edileceğini tespit etmek
- İletim
katmanında hangi mesajın alınacağına karar vermek
- Donanımla
ilgili uygulamaya arayüz sağlamaktır.
İletim Katmanı
İletim katmanının başlıca görevi transfer protokolüdür.
·
Çerçeve (frame) kontrolü
·
Mesaj önceliği belirleme
·
Hata kontrolü
·
Hata sinyalleşmesi
·
Hata kapatma
İletim katmanı yeni bir mesajı yollamadan önce iletim
hattının boş olmasına dikkat eder. İletim hattından veri alınmasından da
sorumludur. Ayrıca senkron iletişim için veri transferi sırasında bit
zamanlamasının bazı parametrelerini göz önünde bulundurur.
Fiziksel Katman
Fiziksel Katman, üniteler arasında veri haberleşmesi
sırasındaki tüm elektriksel kısımdır.
ÇALIŞMA MANTIĞI
CAN-BUS üzerinden
haberleşen tüm sistem bileşenlerine ünite (node) denir. Örneğin 100 tane birbirinden bağımsız
mikrodenetleyicili devrelerimiz olsun. Bunları CAN—BUS sistemi ile
haberleştirdiğimizi varsayım. Bu sistemde her bir mikrodenetleyicili sistem bir
üniteyi oluşturur. CAN-BUS sisteminde tüm üniteler iletim hattına eşit
öncelikli veri yollama hakkına sahiptirler. Buna multimaster çalışma denir.
CAN, iletişim ortamına erişim yöntemi olarak bit öncelikli
yapı ile CSMA/CD (Carrier Sense Multiple Access with Collision Detection)
kullanır. CSMA/CD (Carrier
Sense Multiple Access with Collision Detection) den kısaca
bahsedersek CAN sistemi, güvenli iletişim gücünü bu yapıyı kullanmasından alır.
CAN ile tüm veriler çerçeveler halinde gönderilir ve dört
tür vardır:
- Veri çerçeveleri, verileri bir
veya daha fazla alıcı düğümüne aktarır
- Uzak çerçeveler diğer
düğümlerden veri ister
- Hata çerçeveleri rapor
hataları
- Aşırı yük çerçeveleri, aşırı yük
durumlarını bildirir
Mesaj uzunluğunun iki çeşidi vardır: standart ve
genişletilmiş. Gerçek fark, tahkim alanındaki ek 18 bitlik tanımlayıcıdır.
Görsel-1.2
CAN VERİ MESAJ YAPISI
(CAN ÇERÇEVESİ)
Alan Bitler Tanım
SOF 1 Tek
baskın Çerçeve Başlangıcı. Bu bit, bir mesajın başlangıcını işaretler. Boşta
kalma süresinin ardından düğümleri
senkronize eder.
Identifier 11
Tanımlayıcı.CAN 11 bit tanımlayıcı veri alanı mesaj önceliğini belirler. Daha
düşük değerler, daha yüksek öncelikler
anlamına gelir.
RTR 1 Uzaktan
İletim Talebi. Bu bit, bilgi başka bir düğüm tarafından talep edildiğinde
baskındır. Tüm düğümler isteği alır, ancak tanımlayıcı istenen düğümü belirler.
IDE 1 Tanımlayıcı
Uzantı biti, standart bir CAN tanımlayıcının (uzatılmış değil) aktarıldığını
gösterir.
R0 1 Gelecekte
kullanılmak üzere rezerve edilmiştir.
DLC 4 Veri
Uzunluğu Kodu, iletimdeki bayt sayısını içerir.
Veri 0 – 64 Aktarılan
gerçek veriler.
CRC 16 16
bitlik (15 bit artı sınırlayıcı) döngüsel artıktık denetimi (CRC), hata
algılamayı iletmek için önceki uygulama verilerinin sağlama toplamını (iletilen
bit sayısı) içerir.
ACK 2 Bir
düğüm başarılı bir şekilde bir mesaj aldığında, ACK bunun üzerine yazarak bu
bitin üzerine baskın bir biti yazar. Öte yandan, bir düğüm bir mesajda bir hata
bulursa, bu bitin resesif kalmasına izin verir ve mesajı yok sayar. ACK yuvası
ve ACK sınırlayıcısının her biri bir bit uzunluğundadır.
EOF 7 Çerçeve Sonu, her CAN çerçevesinin
(mesajının) sonunu gösteren 7 bitlik bir alandır.
IFS 3+ Çerçeveler Arası Boşluk (IFS), denetleyicinin
bir çerçeveyi (mesajı) arabellek alanındaki konuma taşıması gereken zamandır.
IFS’nin minimum üç ardışık resesif (1) bit içerdiğine dikkat edin. Üç resesif
bit geçtikten sonra, baskın bir bit algılandığında, sonraki çerçevenin SOF biti
olur.
CAN VERİ YOLUNUN ÇEŞİTLERİ
- Düşük
Hızlı CAN
- Yüksek
Hızlı CAN
- CAN
FD (Esnek Veri Hızı CAN)
Düşük Hızlı CAN
Yüksek güncelleme oranları gerektirmeyen hataya dayanıklı
sistemler için kullanılır. Maksimum veri aktarım hızı 125 kbps’dir, ancak bu
nedenle kablolama, yüksek hızlı CAN’den daha ekonomiktir. Otomotiv
uygulamalarında, teşhis, gösterge paneli kontrolleri ve ekranları, elektrikli
camlar vb. İçin düşük hızlı CAN kullanılır.
Yüksek Hızlı CAN
Yüksek güncelleme hızları ve yüksek veri doğruluğu gerektiren
kritik alt sistemler arasındaki iletişimler için kullanılır (örneğin,
kilitlenme önleyici fren sistemi, elektronik denge kontrolü, hava yastıkları,
motor kontrol üniteleri, vb.). Yüksek hızlı CAN’ın veri aktarım hızları
saniyede 1 kbit ile 1 Mbit arasında değişir.
Yüksek hızlı CAN, düşük hızdan daha hızlıdır, ancak yeni
otomotiv uygulamalarının bant genişliği gereksinimi her yıl artmaktadır, bu
nedenle otomobil OEM’leri artık CAN FD’yi yeni arabalara kurmaktadır. CAN FD,
yanak dilini “steroidler üzerinde CAN” olarak tanımlanmıştır.
CAN FD (Esnek Veri Hızı CAN)
CAN’ın en son sürümü, esnek bir veri hızı, mesaj başına daha
fazla veri ve çok daha yüksek hızlı aktarımlar sunar. Her standart (düşük hız
ve yüksek hız) CAN mesajındaki veri uzunluğu 8 bayttır, ancak CAN FD ile
bu, %800 artırılarak 64 bayta çıkarılmıştır. Ek olarak, maksimum veri hızı da
önemli ölçüde 1 Mbps’den 8 Mbps’ye yükseltildi.
Görsel-1.3
CAN FD ayrıca geriye dönük olarak uyumludur ve CAN 2.0
iletişim protokolünün yanı sıra CAN çıkışının salt okunur olarak kullanıldığı
SAE J1939 gibi özel protokolleri destekler. CAN FD, esasen ISO 11898-1’de
belirtildiği gibi orijinal CAN standardının bir uzantısıdır ve klasik CAN
sistemleriyle tamamen uyumludur.
CAN FD, ECU’ların gerçek zamanlı gereksinimlere göre iletim
hızlarını dinamik olarak değiştirmelerine ve daha büyük veya daha küçük mesaj
boyutları seçmelerine izin verdiği için ileriye doğru önemli bir adımdır. Şimdi
yüksek performanslı araçlarda bulunur, ancak ECU performansı yükseldikçe ve CAN
FD donanım maliyetleri düştükçe, CAN FD’nin neredeyse tüm araçlara girmesi
sadece bir zaman meselesidir.
BAZI CAN BUS
ÖRNEKLERİ
Görsel-1.4
Görsel-2
Görsel-3
KAYNAKÇA
dewesoft.com/blog/what-is-can-bus
autopi.io/blog/can-bus-explained/
CAN Bus
Explained - A Simple Intro [v1.0 | 2019] - YouTubewww.youtube.com
en.wikipedia.org/wiki/CAN_FD
What is this CAN Bus? - YouTubewww.youtube.com
CAN (Controller Area Network) Hattı | Motor Dersiwww.motordersi.com
CAN
Bus Communication Explained (Part 1) - YouTubewww.youtube.com
CAN
Bus Explained - A Simple Intro [v1.0 | 2019] - YouTubewww.youtube.com
rmc.com.tr/can-bus-controller-area-network-nedir-ve-diger-arac-bus-veri-yolu-aglari-ile-nasil-karsilastirilir/#:~:text=CAN%20Bus%20(Veri%20Yolu)%20Protokolü,tasarlanmış%20mesaj%20tabanlı%20bir%20protokoldür.
Görsel-1.2: https://rmc.com.tr/wp-content/uploads/2022/08/Picture5-2.png
Görsel-1.3: https://rmc.com.tr/wp-content/uploads/2022/08/Picture6-3.png
Görsel- 1.4: https://www.seeedstudio.com/blog/2019/11/27/introduction-to-can-bus-and-how-to-use-it-with-arduino/
Görsel-2: https://esd.eu/en/support/can-bus-wiring-notes
Görsel-3: https://www.snapon.com/EN/US/Diagnostics/News-Center/CAN-Bus
Yorumlar
Yorum Gönder