CAN etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
CAN etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

25 Haziran 2025 Çarşamba

CAN Bus Fiziksel Katmanı Nedir?

Otomotiv endüstrisinden endüstriyel otomasyona kadar pek çok alanda yaygın olarak kullanılan CAN Bus (Controller Area Network), güvenilirliği ve dayanıklılığıyla ön plana çıkar. Ancak bu protokolün arkasındaki en temel yapı taşı fiziksel katmanıdır. Bu yazıda, CAN Bus'ın fiziksel katmanını detaylı şekilde ele alacağız. 😊

Diagram showing the CAN Bus physical layer with twisted pair wiring, terminator resistors, and transceiver between microcontroller and bus lines

📚 Fiziksel Katman Neyi İfade Eder?

OSI modelinde "Fiziksel Katman" (Physical Layer), verilerin elektriksel ve fiziksel taşıma biçimidir. CAN Bus özelinde bu, veri hattının nasıl sinyal taşıdığı, hangi kabloların kullanıldığı, napaj (power supply) düzenlemeleri ve elektriksel gürültüye karşı önlemleri içerir.

📏 CAN Bus Fiziksel Katman Bileşenleri

İyi bir CAN haberleşmesi için, aşağıdaki temel bileşenlerin doğru şekilde yapılandırılması gerekir:

  • Diferansiyel Hatlar (CAN_H ve CAN_L): İletim sırasında voltaj farkı üzerinden veri taşır. Bu sayede elektromanyetik parazitlere karşı dirençlidir.
  • Transceiver (Alıcı-Verici): Mikrodenetleyici ile CAN hattı arasında köprü görevi görür.
  • 120 Ohm Sonlandırıcı Dirençler: Veri hattının her iki ucuna bağlanır. Yansıma (refleksiyon) engellenir.
  • Bükümlü Çift Kablo (Twisted Pair): Gürültüye karşı koruma sağlar.
  • Topraklama (Ground): Gerilim farklarını dengelemek için ortak referans noktasıdır.

🧪 Voltaj Seviyeleri ve Sinyal Yapısı

CAN haberleşmesinde kullanılan iki temel voltaj seviyesi şunlardır:

Durum CAN_H CAN_L Diferansiyel Voltaj (Vdiff)
Recessive (Boşta) ~2.5V ~2.5V 0V
Dominant (Aktif) ~3.5V ~1.5V ~2V

Bu diferansiyel sinyal yapısı sayesinde, CAN Bus oldukça sağlam bir iletişim sunar.

🛡️ Elektromanyetik Uyumluluk ve Koruma

CAN Bus kabloları, dış ortamda oluşabilecek elektromanyetik gürültüye karşı bükümlü çift (twisted pair) olarak döşenir. Gerekirse bu kablolar shielding (ekranlama) ile daha da korunabilir.

🔌 Kablolama Kuralları

Aşağıdaki kurallar CAN hattının sağlıklı çalışması için oldukça kritiktir:

  • Kablolama lineer (doğrusal) olmalıdır, dallanmalardan kaçınılmalıdır.
  • Hattın iki ucunda 120Ω sonlandırma mutlaka olmalıdır.
  • Toplam kablo uzunluğu 500m’yi geçmemelidir (10kbps için).
  • Bağlantı noktaları 1m’den uzun olmamalıdır.

⚙️ Hız ve Kablo Uzunluğu İlişkisi

Veri Hızı (kbps) Maksimum Kablo Uzunluğu
1000 kbps 40 m
500 kbps 100 m
250 kbps 250 m
125 kbps 500 m
50 kbps 1000 m

🔧 CAN Transceiver Seçimi

CAN transceiver’lar, mikrodenetleyiciler ile CAN hattı arasında fiziksel bağ kurar. Aşağıdaki özelliklere dikkat etmek gerekir:

  • ISO 11898-2 uyumluluğu
  • EMI performansı
  • Çalışma sıcaklık aralığı
  • Standby ve düşük güç modları

Popüler transceiver örnekleri: TJA1050, SN65HVD230, MCP2551.

❓ CAN Bus Fiziksel Katmanı Sık Sorulan Sorular

  • CAN_H ve CAN_L ters bağlanırsa ne olur? Genellikle sistem çalışmaz, ama transceiver zarar görmez.
  • Tek direnç yeterli mi? Hayır, her iki uçta 120 ohm olmalı. Aksi halde yansıma oluşur.
  • Toprak bağlantısı olmazsa ne olur? Gerilim farkları iletişimi bozabilir. Ortak ground önerilir.

🔖 Terimler Sözlüğü

Terim Açıklama
CAN_H Yüksek seviyeli CAN hattı
CAN_L Düşük seviyeli CAN hattı
Transceiver Veri alışverişini gerçekleştiren alıcı-verici devre
Diferansiyel Sinyal İki hat arasındaki voltaj farkına dayalı iletişim
Sonlandırma Direnci Veri hattı ucuna takılan 120Ω direnç

📌 Ekstra Kaynaklar

23 Haziran 2025 Pazartesi

OBD-II ve DTC Kodları Nedir? Arabaların Konuşma Dili!

🚗 OBD-II ve DTC Kodları Nedir? Arabaların Konuşma Dili!

Arabamızda bir şeylerin ters gittiğini gösteren motor arıza ışığı yandığında çoğumuzun kafasında soru işaretleri oluşur. Ne bozuldu? Pahalı bir şey mi? Acaba kullanmaya devam edebilir miyim? İşte bu sorulara cevap veren sistemin adı OBD-II (On-Board Diagnostics - Gömülü Teşhis Sistemi). Ve bu sistemin dili de DTC kodlarıdır. 😊

Car interior with OBD-II scanner connected under dashboard and diagnostic app showing error codes on phone

🔧 OBD-II Nedir?

OBD-II, 1996 yılından itibaren Amerika’da satılan tüm araçlarda zorunlu hale gelen, aracın elektronik sistemlerini denetleyen ve arızaları kayıt altına alan bir teşhis protokolüdür. Avrupa’da ise buna benzer sistemler EOBD olarak adlandırılır.

  • Motor, şanzıman, egzoz ve yakıt sistemini denetler
  • Arızaları tanımlar ve saklar
  • Servis teknisyenlerinin doğru teşhis koymasını sağlar
  • Sürücüyü uyararak güvenliği artırır

📟 OBD-II Nasıl Çalışır?

OBD-II sistemi, araç üzerindeki çeşitli sensörlerden veri toplar. Bu veriler kontrol üniteleri (ECU) tarafından analiz edilir. Eğer bir değer olması gereken aralığın dışına çıkarsa, sistem bunu bir DTC (Diagnostic Trouble Code) olarak kaydeder ve genellikle gösterge panelinde “Check Engine” ışığını yakar.

🔢 DTC Kodları Ne Anlatır?

DTC kodları, arızanın tipini ve yerini belirlemek için kullanılır. Her kod 5 karakterden oluşur:

Örnek Kod: P0301

P = Powertrain (Güç Aktarma Organları)
0 = SAE standardı (Üreticiye özgü değil)
3 = Ateşleme Sistemi
01 = 1 numaralı silindirde ateşleme hatası

Yani P0301 kodu, "1 numaralı silindirde ateşleme problemi var" anlamına gelir. Kodun ilk harfi sistem tipini gösterir:

  • P – Powertrain (motor ve şanzıman)
  • B – Body (karoser, klima vs.)
  • C – Chassis (şasi, direksiyon, fren vs.)
  • U – Network (CAN-Bus, iletişim sorunları)

🧰 En Sık Görülen DTC Kodları

Kod Açıklama
P0300 Rastgele/çoklu silindirlerde ateşleme hatası
P0420 Katalitik konvertör verimliliği düşük
P0171 Sistem çok fakir çalışıyor (bank 1)
P0455 Yakıt buhar sisteminde büyük kaçak

🔌 OBD-II Tarayıcılar Nasıl Kullanılır?

Aracınızın direksiyon altı bölgesinde bir 16 pin'lik OBD-II portu bulunur. Buraya bağlanabilen ucuz (genellikle ELM327 tabanlı) veya profesyonel cihazlarla DTC kodlarını okuyabilirsiniz.

  • Mobil uygulamalar (Torque, OBDeleven, Car Scanner)
  • Bluetooth/Wi-Fi adaptörleri
  • Servis cihazları (Launch, Autel, Bosch vs.)

📱 Akıllı Telefonla Teşhis: Uygulamalar

Bluetooth destekli OBD-II cihazınızı telefonla eşleştirdikten sonra, birçok uygulama sayesinde hem DTC kodlarını okuyabilir hem de bazı sensörleri anlık takip edebilirsiniz:

  • Torque Pro (Android)
  • OBD Fusion (iOS)
  • Car Scanner

🧠 DTC Kodunu Okuduk. Sonra Ne Olacak?

Kodun anlamını öğrendikten sonra bu kodu internetten veya araç üreticisinin servis dökümanlarından araştırabilirsiniz. Ama dikkat: bazı arızalar kendiliğinden silinmez! Kodun silinmesi için önce sorunun çözülmesi gerekir. Aksi halde motor ışığı tekrar yanacaktır.

❗ Yaygın Hatalar ve Yanılgılar

  • “Kod silinirse sorun çözülür” → Yanlış! Kod, sadece semptomdur. Kök neden çözülmeli.
  • “Tüm DTC kodları motorla ilgilidir” → Hayır! Şasi, ağ, gövde sistemleriyle ilgili olanlar da vardır.
  • “OBD-II her şeyi gösterir” → Kısmen doğru. Bazı üreticiye özel arızalar sadece orijinal cihazlarla görülebilir.

🔍 OBD-II'nin Geleceği

Günümüzde OBD-II sistemleri, sadece arıza teşhisiyle sınırlı kalmıyor. Artık uzaktan teşhis (remote diagnostics), kablosuz OTA güncellemeleri ve gerçek zamanlı araç izleme gibi fonksiyonlara entegre ediliyor. Özellikle elektrikli ve otonom araçlarla birlikte bu sistemlerin daha da gelişmesi kaçınılmaz.

🎯 Sonuç

OBD-II sistemleri ve DTC kodları, günümüz araçlarının vazgeçilmez teşhis araçlarıdır. Aracınızı daha iyi anlamak, sürüş güvenliğinizi artırmak ve gereksiz masrafların önüne geçmek için bu sistemi tanımak büyük avantaj sağlar.

🔖 Terimler Sözlüğü

Terim Anlamı
OBD-II Gömülü Teşhis Sistemi
DTC Arıza Teşhis Kodu
ECU Elektronik Kontrol Ünitesi
ELM327 OBD-II okuyucu yongası
Check Engine Motor arıza uyarı ışığı

📌 Ekstra Kaynaklar

22 Haziran 2025 Pazar

Otomobillerin Dili: CAN Bus Protokolü Nedir?

🚗 Otomobillerin Dili: CAN Bus Protokolü Nedir?

Modern otomobiller, sadece motor ve direksiyon gibi mekanik bileşenlerden ibaret değil. Aracınızda onlarca elektronik kontrol ünitesi (ECU) bulunur. Bu üniteler birbiriyle sürekli veri alışverişi yapar: Hız bilgisi, fren durumu, motor sıcaklığı, hava yastığı tetik durumu... Hepsi anlık olarak paylaşılır.

Peki tüm bu iletişim nasıl oluyor?
Cevap: CAN Bus (Controller Area Network) protokolü!

Bu yazıda, otomotiv dünyasında en yaygın kullanılan veri haberleşme protokolü olan CAN Bus’un ne olduğunu, nasıl çalıştığını, hangi alanlarda kullanıldığını ve örnek veri yapısını öğreneceksiniz. Teknik terimleri sadeleştirerek, anlaşılır bir dille aktarıyoruz 😊

Car systems connected through CAN Bus showing data flow between ECUs and dashboard controls.

🧭 CAN Bus Nedir?

CAN (Controller Area Network), Bosch firması tarafından 1980’lerde geliştirilen, araç içi elektronik sistemlerin birbiriyle hızlı ve güvenli haberleşmesini sağlayan bir protokoldür.

CAN Bus, çoklu cihazların (multi-master) birbirini beklemeden haberleşmesine olanak tanır. Tek bir veri yolu (bus) üzerinde tüm kontrol üniteleri konuşabilir.

🧩 Temel Özellikleri

ÖzellikAçıklama
Veri YönüÇift yönlü (multi-master)
Veri Hızı10 kbps - 1 Mbps (standart CAN), 5 Mbps (CAN FD)
Fiziksel KatmanDiferansiyel sinyal (CAN_H - CAN_L)
Veri Formatı11-bit veya 29-bit ID + veri (max 8 byte / CAN FD ile 64 byte)
Hata KontrolCRC, ACK, Bit stuffing

🧠 Nasıl Çalışır?

CAN Bus, çok noktaya yayın (broadcast) mantığıyla çalışır. Bir cihaz (örneğin fren sistemi) bir mesaj yayınladığında, veri yoluna bağlı tüm diğer cihazlar bu mesajı alır.

CAN Mesaj Yapısı (Standart Format):

| Başlık (ID) | Kontrol | Veri | CRC | ACK | End |
  • ID: Mesajın kimliği (öncelik içerir)
  • Veri: 0–8 byte (CAN FD ile 64 byte)
  • CRC: Hata kontrol kodu
  • ACK: Onay biti (alıcılar tarafından set edilir)

Örnek:

  • ID: 0x120 → Motor Devir Bilgisi
  • Veri: 0x0F 0xA0 → 4000 RPM
  • ACK: Başarılı iletim

🚘 Nerelerde Kullanılır?

CAN Bus sadece otomobillerde değil, birçok alanda kullanılır:

  • Otomobiller (ABS, ECU, ESP, Klima)
  • Tarım makineleri
  • Raylı sistemler
  • Sanayi otomasyonu
  • Elektrikli bisikletler ve scooter’lar
  • Tıbbi cihazlar

⚖️ CAN Bus ile ARINC 429 Karşılaştırması

ÖzellikCAN BusARINC 429
YönÇift yönlüTek yönlü
Master tipiMulti-masterPoint-to-point
Veri Uzunluğu8-64 byte32 bit sabit
Hata TespitiCRC + ACKParity biti
Kullanım AlanıOtomotivHavacılık

🔄 Arbitration: Kim Önce Konuşur?

CAN Bus sisteminde aynı anda iki cihaz konuşmak isterse, önceliği daha yüksek olan ID kazanır. Bu işleme arbitration (çekişme çözümü) denir.

Örnek: 0x100 (düşük ID) ve 0x3F0 (yüksek ID) aynı anda veri göndermek ister. 0x100 kazanan olur çünkü daha “önemli” sayılır.

🧪 Gerçek Hayat Senaryosu

Fren pedalına bastığınızda şu olur:

  1. Fren sensörü 0x300 ID’li bir mesaj yayınlar: “Pedala basıldı”
  2. ESP, ABS, Motor ve Gösterge Paneli bu mesajı alır.
  3. ESP freni optimize eder, gösterge paneli uyarı verir.

Tek mesaj, çoklu tepki. CAN Bus’ın en büyük avantajı budur!

🧰 Donanım Tarafı

  • CAN_H ve CAN_L olmak üzere iki telli diferansiyel yapı
  • Her iki uçta 120Ω sonlandırma direnci
  • Transceiver örnekleri: MCP2551, TJA1040

🛠️ Geliştiriciler İçin

CAN Bus ile çalışmak isteyenler için bazı öneriler:

  • Arduino + MCP2515 modülü
  • STM32 microcontroller + HAL kütüphaneleri
  • PCAN-USB dongle ile analiz
  • CANoe veya SavvyCAN yazılımları

🎯 Sonuç

CAN Bus, otomotiv sektörünün haline gelmiştir. Hızlıdır, güvenlidir, yaygındır. Bir otomobilin kalbinde hangi verilerin aktığını anlamak için CAN Bus’u anlamak şart.

Bir mühendis, tekniker ya da meraklı biriyseniz, CAN Bus öğrenmek size otomotiv sistemlerinin işleyişini anlamada büyük bir pencere açacaktır.

🔖 Terimler Sözlüğü

TerimAnlamı
IDMesaj kimliği ve önceliği
CRCVeri bütünlüğü kontrolü
ACKMesajın alındığını onaylayan bit
ArbitrationÇekişme çözümü, öncelik sırası
Multi-masterBirden fazla cihazın veri gönderebilmesi

📌 Ekstra Kaynaklar

🎨 Görsel Önerisi

Prompt (Görsel üretimi için):
"A modern car dashboard showing interconnected ECUs via CAN Bus, with data flowing in lines between components like ABS, engine, and infotainment systems. Realistic horizontal digital illustration."

Alt Text:
Car systems connected through CAN Bus showing data flow between ECUs and dashboard controls.

21 Haziran 2025 Cumartesi

Gökyüzünde Konuşan Sistemler: ARINC 429 Protokolü Nedir? (Temel Anlatım ve Örneklerle)

✈️ Gökyüzünde Konuşan Sistemler: ARINC 429 Protokolü Nedir?

Havacılık sektörü, veri güvenliği ve tutarlılığı açısından en hassas endüstrilerden biridir. Uçakta yüzlerce sistem aynı anda çalışır; pilotun önündeki ekranlardan uçuş kontrol yüzeylerine kadar her şey, dakik hesaplamalar ve kesin bilgi akışıyla işler.

Peki, bu sistemler birbiriyle nasıl haberleşiyor?
Cevap: ARINC 429 protokolü!

Bu yazıda, ARINC 429’un ne olduğunu, nasıl çalıştığını, nerelerde kullanıldığını ve örnek veri formatlarını sade bir dille anlatacağız. Havacılığa meraklı biri ya da bu alana giriş yapmak isteyen biri için temel bir ARINC 429 rehberi olacak 😊

Cockpit view showing ARINC 429 data flow from aircraft sensors to cockpit instruments and flight recorder

🧭 ARINC 429 Nedir?

ARINC (Aeronautical Radio, Incorporated) 429, uçak içindeki elektronik sistemlerin birbiriyle veri alışverişi yapmasını sağlayan, bir yönlü (unidirectional), seri haberleşme protokolüdür.

“O zaman USB kablosu gibi bir şey mi?”
Aslında benziyor ama çok daha güvenli, sağlam ve havacılık şartlarına özel tasarlanmış bir sistemdir.

🧩 Temel Özellikleri

ÖzellikAçıklama
Veri YönüTek yönlü (1 gönderici ➝ 1 veya daha fazla alıcı)
Veri Hızı12.5 kbps veya 100 kbps (yaygın olan 100 kbps)
Fiziksel KatmanDiferansiyel sinyal (RS-422 tabanlı)
Veri FormatıHer veri 32 bittir
Bağlantı TipiPoint-to-point veya Multi-drop

🧠 Nasıl Çalışır?

ARINC 429'da her veri iletimi 32 bitlik kelimeler (word) halinde yapılır. Her bir kelime belirli alanlara ayrılmıştır.

📦 ARINC 429 Veri Yapısı

| 31   | 30-29 | 28-27 | 26-11              | 10-9 | 8-1    | 0     |
| Parity | SSM | SDI | Veri (Data) | RT | Label | Parity |
AlanBit NoAçıklama
Label1-8Hangi verinin gönderildiğini belirten etiket (ör: hız, irtifa)
SDI9-10Kanal seçici (opsiyonel)
Data11-29Asıl veri kısmı (ör: 300 knots)
SSM30-31Verinin durumu (normal, hata, geçersiz vb.)
Parity32Veri doğrulama biti (tek sayıda 1 için)

Örnek:

  • Label: 203 → Hava Hızı
  • Data: 300 knots
  • SSM: 00 → Normal veri
  • Parity: 1 → Hataları tespit etmek için

✈️ Nerelerde Kullanılır?

ARINC 429, özellikle sabit kanatlı uçaklarda (örneğin Airbus, Boeing) kullanılır. Aşağıdaki sistemlerde yaygın olarak görülür:

  • Uçuş yönetim sistemleri (FMS)
  • Otomatik pilot
  • Navigasyon cihazları (IRS, GPS)
  • Hız sensörleri (Pitot tüpleri)
  • Işık sistemleri
  • Uçuş veri kaydedicileri (black box)

🔄 Neden Tek Yönlü?

ARINC 429’un tek yönlü olması, karmaşayı azaltır ve güvenliği artırır.

Sistem şöyle işler:

  • Veriyi sadece bir cihaz gönderir.
  • Birden fazla cihaz aynı veriyi dinleyebilir.

Örnek: “Hava hızı 300 knots” bilgisi bir sensörden çıkar, aynı anda otopilot, ekranlar ve black box bu veriyi alır.

🧪 Senaryo ile Açıklama

Hayal edin:

  • Uçakta bir hava hızı sensörü var.
  • Bu sensör, ARINC 429 üzerinden veri gönderiyor.
  • 3 sistem bu veriyi dinliyor: Otomatik pilot, ekranlar, kara kutu

Gönderilen veri:

  • Label: 203
  • Data: 300 knots
  • SSM: 00
  • Parity: 1

Hiçbir sistem cevap vermez, sadece veri alır.

⚙️ Diğer Protokollerle Karşılaştırma

ÖzellikARINC 429CAN BusRS-485
Veri YönüTek yönlüÇift yönlüÇift yönlü
Kullanım AlanıHavacılıkOtomotiv, endüstriEndüstri
Veri Formatı32-bit sabitDeğişkenEsnek
Hata TespitiParity bitiCRC + ACKGenelde yok
KararlılıkÇok yüksekOrtaDüşük-Orta

🔒 Neden Hâlâ Kullanılıyor?

  • Stabil ve test edilmiş sistem
  • Deterministik yapı (önceden öngörülebilirlik)
  • Basit mimari
  • Geriye dönük uyumluluk

Yeni nesil uçaklarda ARINC 664 (AFDX) gibi sistemler gelse de ARINC 429 hâlâ güvenilir bir standardır.

🧰 Donanım Tarafı

  • Diferansiyel sinyal (RS-422 uyumlu)
  • 2 kablo yeterlidir
  • Örnek entegre: Holt HI-3593

🧪 Simülasyon ve Hobi Seviyesi Uygulamalar

  • ARINC 429 USB dongle
  • Arduino ile temel sinyal üretimi
  • Simulink ile blok bazlı modelleme

🎯 Sonuç

ARINC 429 öğrenmeye değer mi? Kesinlikle evet!

Özellikle havacılıkta çalışmak isteyen mühendisler için vazgeçilmez bir altyapıdır. Sadeliği sayesinde öğrenmesi kolay, uygulaması güçlüdür.

🔖 Terimler Sözlüğü

TerimAnlamı
LabelVeriyi tanımlayan numara
SSMVerinin geçerlilik durumu
ParityHata kontrol biti
TransmitterVeri gönderen cihaz
ReceiverVeriyi alan cihaz

📌 Ekstra Kaynaklar

  • Holt Integrated Circuits
  • ARINC 429 PDF dokümanı (Google üzerinden erişebilirsiniz)
  • GitHub’da ARINC 429 simülasyon projeleri

28 Şubat 2025 Cuma

UN R156 Regülasyonu: Araç Yazılım Güncellemeleri için Güvenlik ve Süreç Yönetimi

Otomotiv endüstrisi, dijitalleşmenin hız kazanmasıyla birlikte giderek daha fazla siber güvenlik tehdidine maruz kalıyor. Günümüzde modern araçlar, internet bağlantıları, kablosuz güncellemeler (OTA - Over-the-Air) ve akıllı sistemler sayesinde daha fazla yazılım bileşeni içeriyor. Ancak bu gelişmeler, araçların siber saldırılara karşı korunmasını zorunlu hale getiriyor. İşte tam da bu noktada, Birleşmiş Milletler Avrupa Ekonomik Komisyonu (UNECE) tarafından yayınlanan UN R156 regülasyonu devreye giriyor.

Bu yazıda, UN R156’nın ne anlama geldiğini, hangi konuları kapsadığını ve otomotiv sektöründeki önemini temel seviyede ele alacağız.

UN R156 Nedir?

UN R156 (Regulation No. 156), araçların yazılım güncellemeleriyle ilgili güvenlik ve yönetim gereksinimlerini belirleyen bir düzenlemedir. Bu regülasyon, özellikle araçların uzaktan güncellenmesi (OTA) süreçlerinin güvenli ve izlenebilir olmasını sağlamayı amaçlar. UNECE tarafından geliştirilen bu regülasyon, Software Update Management System (SUMS) yani Yazılım Güncelleme Yönetim Sistemi kavramını ortaya koyarak, otomobil üreticilerinin yazılım güncellemelerini sistematik bir şekilde yönetmelerini zorunlu kılar.

Regülasyonun ana hedefi, kötü amaçlı yazılım yüklenmesini önlemek, güvenli güncelleme süreçleri sağlamak ve araç içindeki yazılım değişikliklerinin kayıt altına alınmasını garanti etmektir.

UN R156 Hangi Konuları Kapsar?

Bu regülasyon, otomotiv sektöründe yazılım güncellemelerinin düzenlenmesi için dört ana gereksinim belirler:

  1. Yazılım Güncelleme Yönetim Sistemi (SUMS) Kurulumu:

    • Araç üreticileri, tüm yazılım güncellemelerini yönetebilecek bir sistem kurmalı ve bu sistemi resmi olarak belgelendirmelidir.
    • Bu sistem, güncelleme süreçlerini şeffaf ve izlenebilir hale getirmelidir.
  2. Güncelleme Süreçlerinin Güvenliği:

    • Tüm yazılım güncellemelerinin kimlik doğrulaması yapılmalı ve yetkisiz erişimlere karşı korunmalıdır.
    • Yazılımın güncelleme sırasında bozulmaması için güvenlik mekanizmaları (örn. şifreleme, imza doğrulama) uygulanmalıdır.
  3. Güncellemelerin Takibi ve Belgelendirilmesi:

    • Yapılan tüm yazılım değişiklikleri kayıt altına alınmalı ve gerektiğinde denetim için hazır tutulmalıdır.
    • Üreticiler, bir aracın hangi yazılım sürümüne sahip olduğunu gösterebilmelidir.
  4. Araç Sahibi ve Yetkililer için Bilgilendirme:

    • Yazılım güncellemeleri sırasında kullanıcılar bilgilendirilmeli, güncelleme süreci hakkında şeffaf bir iletişim sağlanmalıdır.
    • Güncellemelerin araç fonksiyonlarına etkisi açıkça belirtilmelidir.

UN R156 Neden Önemlidir?

Eskiden, araç yazılımlarının güncellenmesi yalnızca servislerde yapılan fiziksel işlemlerle gerçekleşiyordu. Ancak modern araçlarda kablosuz (OTA) güncellemeler yaygınlaştıkça, güvenli yazılım yönetimi kritik bir hale geldi.

Bu regülasyonun otomotiv sektörü açısından en önemli faydaları şunlardır:
Siber Güvenliği Artırır: Yetkisiz yazılım yüklemelerinin önüne geçerek araçların siber saldırılara karşı korunmasını sağlar.
Hukuki ve Ticari Riskleri Azaltır: Üreticilerin, yazılım kaynaklı hatalara karşı daha hızlı müdahale edebilmesine yardımcı olur.
Regülasyon Uyumluluğu Sağlar: UN R156, Avrupa Birliği başta olmak üzere birçok ülkede yasal bir zorunluluk haline gelmiştir. Uyumsuzluk durumunda üreticilere ciddi yaptırımlar uygulanabilir.
Araç Yaşam Döngüsünü Uzatır: Güvenli yazılım güncellemeleri sayesinde araçlar daha uzun süre güncel ve işlevsel kalır.

Sonuç

UN R156, otomotiv sektöründe yazılım yönetiminin güvenli ve sistematik bir şekilde yapılmasını zorunlu kılan bir regülasyondur. Siber güvenlik tehditlerinin arttığı bir dönemde, araç yazılım güncellemelerinin güvenliğini sağlamak, sadece üreticiler için değil, kullanıcılar için de büyük önem taşımaktadır.

Özellikle otonom sürüş teknolojilerinin yaygınlaşmasıyla birlikte, yazılım güncellemelerinin güvenli olması hayati bir konu haline gelmiştir. Bu nedenle, UN R156 regülasyonu, gelecekte daha da önem kazanacak ve tüm otomotiv üreticileri için standart bir gereklilik haline gelecektir.

19 Mart 2024 Salı

CAN Bus Frame Tipleri

Yazıya başlamadan önce CAN Bus temelleri ve mesaj yapısının temellerini incelemek için bu linkte yer alan blog yazısını inceleyebilirisiniz.

CAN Bus hattında kullanılan 4 tip frame (çerçeve, yapı) vardır.

  • Data Frame: Data framei, temelde data/veri taşımak için kullanılan ana yapıdır. CAN Bus sistemleri arasında veri transferi için kullanılır. Tek bir data framei üzerinden minimum 1 maksimum 8 byte veri transferi tek seferde gerçekleştirilebilir.
  • Remote Frame: Remote frame, veri talep etme frameidir. Remote framede tanımlanan ID CAN Bus ağına basılır. İlgili mesaj paketini barındıran sistem bu ağa ilgili data frameini basar. Remote frame, bir sistemin, bir veriye özellikle ihtiyaç duyduğu zamanda kullanılır.
  • Error Frame: SOF ile CRC arasında 6 veya 12 bit boyunca aynı seviye (High/Low, Recessive/Dominant) veri gönderilmesiyle error framei tanımlanmış olur ve hattaki sistemler ilgili framei error frame olarak işaretler. Error frame istemli gönderilen bir frame değildir. Bir sistem bir paketi göndermeye başladıktan sonra bir hata tespit edilirse ilgili frame error frameine çevrilir.
  • Overload Frame: CAN Bus peripheralı meşgul olduğu durumlarda hattı meşgul tutmak için overload frame hatta basar. Bu bilgi hattın durdurulması için kullanılır. Günümüzde genellikle kod üzerinden kontrol edilmez. CAN Bus peripheralları bu durumu kendisi tespit eder ve gerektiği kadar hattı meşgulde tutar, sonrasında bırakır.



Kaynaklar
  1. https://medium.com/@mohammednumeir13/can-protocol-types-of-can-frames-51c8444176bb
  2. https://www.researchgate.net/publication/340883976_Cyberattacks_and_Countermeasures_For_In-Vehicle_Networks/figures?lo=1

1 Mart 2024 Cuma

CAN Bus Fiziksel Katmanı

CAN (Controller Area Network) Bus CANH, CANL şeklinde isimlendirilen ikili hat üzerinden birden çok sistemin konuşabildiği, aynı anda tek bir sistemin konuştuğu (half-dublex), yüksek hızlı uygulamalara izin veren bir ağ yapısıdır.

Haberleşme yapılarında farklı seviye katmanlar ve uygulama tipleri vardır. Bu kapsamda CAN Bus'ın fiziksel katmanı üzerine detaylı bir inceleme gerçekleştirilmiştir.

Bu konuya giriş yaparken donanım seviyesinden işi ele alıp elektriksel seviyeye ilerlemek mantıklı olacaktır.

Öncelikle yazı  kapsamında kullanılacak tanımlardan bahsetmek gerekirse, sistem ifadesini CAN Bus hattına bağlanabilen ve haberleşebilen her şey olarak düşünebiliriz. Otomotiv üzerinden örnek verecek olursak VCU, BMS, Inverter gibi CAN Bus ile haberleşen yapılara sistem diyebiliriz.

Bir CAN Bus hattı CANH ve CANL hatlarının burulmuş çifti (twisted pair) ile birbirine bağlanır. Bu yapı ethernet kablolarında da benzer şekilde kullanılır. Bu bağlantı elektromanyetik yayılıma karşı hattın güçlü olmasını sağlar. Bu yapıda hat üzerinde indüklenen gürültü akımları her iki hatta neredeyse ortak seviyede etkileyeceği için CANH, CANL arasındaki fark neredeyse sabit kalır. 

Örnek bir burulmuş çift (twisted pair) görseli aşağıda görebilirsiniz.

CANH, CANL twisted pair kablo üzerinden iletildikten sonra elektronik devre üzerindeki yapılar ile karşılaşıyoruz. Burada temel yapıyı anlamak için CAN Bus dönüştürücüler ile anlatıma devam etmek faydalı olacaktır. Sektörde de sıklıkla kullanılan SN65HVD1050 entegresini örnek olarak ele alabiliriz. Bu yapılar mikrodenetleyicilerden çıkan CANTX, CANRX pinlerini CANH, CANL seviyesine dönüştürür. CAN Bus dönüştürücü entegrelerinin ana görevi budur. Tamamen analog yapılar bu dönüşüm için yeterlidir. Bununla birlikte hat ile ilgili temel elektriksel kontrolleri yapabilir. Entegre özelinde sıcaklık kontrolü ve koruması yapabilir. ESD korumaları sağlayabilir. Bublar zorunlu fonksiyonlar değildir.

SN65HVD1050'nin iç yapısı aşağıdaki gibidir.

CAN Bus dönüştürücüleri giriş tarafında CANH, CANL değerlerinin elektriksel farkına göre RXD ucuna 1/0 bilgisi gönderir. CANH, CANL aynı değerlerde ise lojik 1, aradaki fark 2.5 V ise lojik değer 0'dır.


Gönderici taraftan bakacak olursak TXD pini üzerinden bir sürücü kısım aktifleşir ve çıkış anahtarlarını sürer. Bu anahtarlar TXD lojik 0 iken aktif çalışır ve CANH, CANL hattını 2.5 V farka çeker. Aksi durumda aynı değerde tutar.

CAN Bus'ın özelliklerinden biri hattı sürerken aynı zamanda aktif olarak okumaya devam etmesi ve CAN mesaj paketi içerisinde belli bitleri takip ederek karşı alıcının mesajı sağlıklı bir şekilde alıp almadığını doğrulamasıdır. Bu sayede gönderilen mesajların en az bir alıcıya ulaşıp ulaşmadığından gönderici taraf emin olur.

Ek ve büyük bir katkısı da veri gönderirken okumaya devam etmesi sayesidne herhangi bir durumda önceliği yüksek bir mesaj paketi başka bir sistem üzerinden gönderilirse, hattı her sistem sürekli okuyarak çalışmaya devam ettiği için ilgili yüksek öncelikli mesaja diğer tüm sistemler izin/öncelik verir.

Kaynaklar:

  1. https://www.ti.com/lit/an/sloa101b/sloa101b.pdf

26 Şubat 2024 Pazartesi

ESP32 ile Kristal veya Osilatör Kullanmadan RMII Üzerinden Ethernet Haberleşmesi ve İpuçları

İnternette gördüğüm ESP32 ve ethernet uygulamalarının çoğunda ethernet chipine kristal takarak uygulama çalıştırılmış. Bunun sinyal kalitesi açısından faydası olabilir ancak tek çözüm bu değil. ESP32 modüllerinden de ethernet için gerekli clock çıkışını alabilirsiniz.

Bunun için örnek devrede de gösterildiği gibi ESP32 ile ethernet chipinin clock uçlarını birleştirmek yeterli. Burada frekans 50 MHz mertebesinde olduğu için mümkün oldukça yakın olması önemli.

Benim yaptığım uygulamadan hat boyu yaklaşık 44 mm ve 2 adet via kullanılıyor. Buna rağmen sorunsuz bir şekilde sistemin çalıştığını gördüm.



ESP32 clock çıkışı için GPIO0, GPIO16, GPIO17 pinleri kullanılabilir.


Arduino arayüzünde varsayılan olarak clock ESP32'ye girecek şekilde tanımlanmıştır. Ethernet clock çıkışını tanımlamak için aşağıdaki satır kullanılabilir. Bu begin fonksiyonu üzerinden ethernet chipi, clock yönü ve pini seçilebilir.

ETH.begin(0,-1,23,18,ETH_PHY_LAN8720,ETH_CLOCK_GPIO17_OUT);

Kaynaklar;

  • https://docs.espressif.com/projects/esp-idf/en/release-v3.1/api-reference/ethernet/esp_eth.html
  • https://www.espressif.com/sites/default/files/documentation/esp32-wroom-32d_esp32-wroom-32u_datasheet_en.pdf

10 Ocak 2024 Çarşamba

STM32F103 Mikrodenetleyici Çevre Birimlerinde Karşılaştığım Bir Problem #STM32Tips

Konunun hikayesinden başlamak gerekirse, STM32F0 ve STM32F1 serisi işlemcilerden oluşan ve CAN Bus üzerinden birbirleri ile haberleşen bir tasarım üzerine çalışıyordum. Her bir kart için CAN Bus bağlantısının yanında bilgisayar bağlantısını da kurmak için USB bağlantısını sisteme dahil etmiştim. Bu tasarım STM32F0 serisi işlemcide CAN Bus ve USB sorunsuz çalıştı.

STM32F1 serisi işlemciyi kullanırken aynı yazılıp mimarisi üzerinden devam ediyordum ancak bir sorun ile karşılaştım. Bir şekilde CAN Bus hattını kullanamıyordum. Problemi araştırmaya başladığımda USB ve CAN Bus'ın birlikte kullanımı ile ilgili başka problem yaşayanların da olduğunu gördüm. Sonrasında kullandığım işlemci olan STM32F103CB'nin datasheetini (Reference Manual RM0008 Rev 21) inceledim. CAN Bus kısmında aşağıdaki gibi bir not olduğunu gördüm.

"In low, medium-, high- and XL-density devices the USB and CAN share a dedicated 512-

byte SRAM memory for data transmission and reception, and so they cannot be used concurrently (the shared SRAM is accessed through CAN and USB exclusively). The USB and CAN can be used in the same application but not at the same time."

Buradan anladığımız CAN Bus ve USB işlemci üzerinde aynı SRAM alanlarını kullanıyor ve bu yüzden her iki çevre birimi birlikte kullanılamıyor. USB'yi kapatıp CAN Bus'ı çalıştırmak veya tam tersi mümkün ancak her ikisi aynı anda asla çalıştırılamıyor. Bu yüzden örnek vermek gerekirse CAN Bus üzerinden alınan bir veriyi USB üzerinden gerçek zamanlı alıp işlemek mümkün değil.

Ek olarak STM32F0 serisi ile bir çok uygulama yapmıştım ve bu yüzden USPDP, USPDM hatlarını direkt konnektöre bağlamıştım. STM32F103CB işlemci kullanırken USBDP hattına 3.3 V'a 1.5 kR pull-up resistor gerekiyormuş.

STM32 USB kullanılan uygulamalarda donanım tasarımı hakkında aşağıdaki doküman yayınlamış. Donanım tarafında yapılması gereken işler tek bir dokümanda bütün işlemci ailesi için verilmiş. Gelecek tasarımlar için işe yarar gibi görünüyor.


Link: https://www.st.com/resource/en/application_note/an4879-introduction-to-usb-hardware-and-pcb-guidelines-using-stm32-mcus-stmicroelectronics.pdf (10.01.2024)

31 Aralık 2023 Pazar

CAN Bus Temel Özellikler, Avantajları ve Dezavantajları

Temel Özellikler

  • Bükümlü çift yapısında iki kablo
  • Hat baş ve sonra 2 direnç ile sonlandırılır
  • ~40 metre kablo için 1 Mbps veri iletim hızı vardır
  • Bir mesaj paketinde azami 8 byte veri gönderilir
  • Mesaj gönderme alma prosedürü hatalara dirençli (robust) bir şekilde çalışır
  • Mesaj ID'sine göre önceliklendirme yapısı vardır
  • İki sistem aynı anda mesaj paketi iletmek istese bile ID önceliklendirme yapısı hatayı engeller
  • Mesajlar hat üzerindeki tüm sistemlere iletilir
  • Mesaj iletilmeme durumunda yeniden gönderme yapısı CAN kontrolcüsü üzerinde gerçekleştirilir
  • Sabit/Sürekli bir hata durumunda CAN kontrolcüsü kendini belli durumlarda durdurur

Avantajlar

  • Düşük kablolama karmaşıklığı
  • Araç kablolama işlemlerinde kolaylık
  • Hatta yeni bir sistem eklemek veya hattan bir sistemi kaldırmakta kolaylık
  • Kapalı bir sistem hattı etkilemez
  • Çoklu yönetici, her bir sistem hatta veri basabilir ve hat üzerinde bulunan veriyi okuyabilir
  • Elektromanyetik yayılımdan etkilenmesi halinde emniyetlidir
  • Hata tespit yapıları vardır
  • Arıza durumunda teşhis ve bakım kolaylıkla yapılır
Dezavantajlar
  • Veri iletişim hızı ~1Mbps hızında sınırlıdır
  • Basit protokollere göre uygulaması daha maliyetlidir
  • Siber ataklara karşı açıktır. Kolaylıkla hatta erişilip veriler manipüle edilebilir




Otomotiv Ethernet vs CAN FD: Hangisi Otomotivin Geleceği?

🚗 Otomotiv Ethernet vs CAN FD: Hangisi Otomotivin Geleceği? Günümüzde otomotiv elektroniği baş döndürücü bir hızla gelişiyor. Otonom sürü...