tr
tr

AUTOSAR Nedir?

Giriş: Otomotiv Yazılımı Geliştirme

Otomotiv sektöründe gömülü sistemler için yazılım geliştirme web, masaüstü ya da mobil uygulamalar gibi diğer yazılım geliştirme alanlarından oldukça farklıdır. Otomotiv sektörüne yeni adım atmış bir yazılım mühendisi genellikle büyük bir şok ile karşılaşır.

Terimler başkadır, kullanılan derleyici başkadır, kurallar başkadır ve her şeyden de önemlisi hiç kimse bilgi paylaşmaz. Var olan bilgi oldukça genel ve yüzlerce sayfalık (binlerce de olabilir), oldukça yüzeysel, oldukça genel tanımların yapıldığı şartname kitapçıklarında ya da konuyla ilgili piyasada bulabileceğiniz, pratik hayatta pek bir karşılığı olmayan bilgiler kitaplarda yazılıdır.

Bunun yanı sıra pratik olarak kullanılan bilgi, bilgi güvenliği ya da çalışanların bilgiyi kendine saklama gibi dürtülerinden ötürü çoğunlukla hiçbir yerde yazılı olarak bulunmaz.

Büyük bir kaosun ortasında, yeni başlayan bir yazılım mühendisini korkunç zorlu, iğneyle kazarak bir şeyleri öğrenebildiği yeni bir süreç bekler. Bu süreci olabildiğince kısaltmak adına, yıllarını Almanya’da, otomotiv sektöründe gömülü sistemler geliştirerek geçirmiş, AUTOSAR konusunda eğitimler veren bir mühendis olarak, AUTOSAR konusunda Türkçe neredeyse hiçbir yerde bulamayacağınız konulara değineceğim. (ki AUTOSAR hakkında internette ve yazılı medyada Türkçe neredeyse hiçbir şey yok. O anlı şanlı otomotiv mühendislerimiz ne yapıyor acaba?)

Günümüzde üretilen her otomobilin yüzde 80‘i elektronik sistemlerden oluşmaktadır. Her bir otomobilde ortalama 70 ile 90 arasında EKÜ* vardır. AUTOSAR ise bu EKÜ’ler için geliştirilen yazılımda çok önemli bir rol oynar.

*EKÜ: Elektronik Kontrol Ünitesi

AUTOSAR Logosu

AUTOSAR nedir?

Aynı ya da benzer yazılım birleşenlerinin tekrar tekrar geliştirilmesini engellemek, bu birleşenleri belli kurallar altında standartlaşmak amacıyla bir araya gelmiş bir konsorsiyumu. Bu konsorsiyum farklı ortaklık çerçevesinde gelişmiştir. Konsorsiyum BMW, Daimler, VW, Ford, GM, Toyota, PSA, Continental ve Bosch gibi büyük otomotiv devleri tarafından 2003 yılında kurulmuştur.

AUTOSAR ortaklıkları

Otomobil üreticileri, yan sanayi, yazılım ve uygulama üreticileri tek çatı altında toplanmıştır.

Hedef nedir?

  • “Cooperate on standards, compete on implementation.” Standartlarda işbirliği, uygulamada ise rekabet…
  • Yazılım bir projeden başka bir projeye donanımdan (EKÜ) bağımsız rahatlıkla aktarılabilir.
  • Yazılımın her yeni proje için yeniden sıfırdan geliştirilmesini engellemek önemli bir hedeftir.
  • Açık ve standart bir gömülü sistem mimarisine sahip olur: Böylelikle benzer ya da aynı işlevler(fonksiyonlar), ara birimler, veri alışverişi türü ve metodları standartlaştırılabilir.
  • En önemlisi belki de, yazılım donanımdan ayrılır. AUTOSAR olmayan gömülü sistemlerin en büyük dezavantajı donanıma yani EKÜ’ye bağımlı olmaları ve farklı bir EKÜ için yazılımın neredeyse sıfırdan geliştirilme zorunluluğudur. AUTOSAR ile donanımdan bağımsız bir şekilde yazılım geliştirilebilir ve bu yazılımı istenilen herhangi bir sistemde/EKÜ’de kullanılabilir. Temel yazılım, farklı EKÜ’lerde ve alanlarda kullanılabilir. Farklı araç, platformlara ve EKÜ donanımlarına adapte edilebilir.
  • Ölçeklendirme ve iyileştirme, araç ağında gerçekleştirilebilir.
  • Bilinen neredeyse tüm otomotiv standartlarıyla uyumludur.
  • Yazılım geliştirmeye ayrılan zaman ve maliyeti azalır. Yazılım geliştirmenin yerini AUTOSAR kod oluşturma ve modelleme araçlarıyla yapılandırma alır.
  • Kod kalitesini artar. Bakım maliyetlerini düşer.
  • Geniş bir çeşitlilikte fonksiyonel alanı destekler: Body/İç Konfor, Sürücü asistan sistemleri, güç aktarım organları (power train), kullanıcı ve yaya güvenliği ve diğer AUTOSAR olmayan sistemler
  • Çeşitli iş ortakları arasında iş birliği sağlanır: Bunu veri alışverişi türünü standartlaştırarak sağlar.
  • Yüksek güvenilir sistemleri destekler.
  • AUTOSAR, otomotiv sektöründeki EKÜ’ler için tasarlanmıştır. Bu tür EKÜ’ler şu özelliklere sahiptir:

1) Donanım ile güçlü bir iletişime, etkileşime sahiptir. (Sensör ve eyleyiciler gibi)

2) CAN*, LIN*, Flexray, Ethernet gibi araç ağlarına bağlantı

3) Tipik olarak 16 Bit ya da 32 Bit olan mikrodenetleyiciye sahip

4) Gerçek zamanlı sistem

5) İç ve dış flash hafızadan program yürütmesi

  • Mekanik geliştirme AUTOSAR’ın kapsamında değildir.
  • Eğer ki sistemde birden fazla mikrodenetleyici varsa her mikrodenetleyici için ayrı bir AUTOSAR EKÜ tanımı yapılandırması oluşturulur.

CAN: Controller Area Network

LIN: Local Interconnect Network

AUTOSAR Katmanlı Yazılım Mimarisi

Autosar, gömülü sistem yazılımını 5 ana katmana ayırır. İlk bakışta OSI Modeli‘ni andıran, mantık olarak oldukça benzeyen fakat kendine has yapısı olan bir katman modeli görmekteyiz. Her katmanda belli yazılım modülleri diğer katmanlardan soyutlanır ve katmanlar birbirleri arasında AUTOSAR arayüzleri üzerinden iletişime geçer.

  • AUTOSAR yazılımın hiyerarşik yapısını yukarıdan aşağıya bir yaklaşımla tanımlar.
  • Temel yazılım modüllerini yazılım katmanlarıyla eşleştirir ve bunlar arasındaki ilişkiyi belirler.

Mikrodenetleyici Soyutlama Katmanı (Microcontroller Abstraction Layer -MCAL)

  • Temel yazılımın en alt yazılım katmanını oluşturur.
  • Sürücüler içerir ki bunlar mikrodenetleyiciye direkt erişimi olan yazılım modülleridir.
  • Görevi üst katmanları mikrodenetleyiciden bağımsız yapmak.

EKÜ Soyutlama Katmanı (ECU Abstraction Layer – ECAL)

Mikrodenetleyici Soyutlama Katmanı’nın sürücülerine arayüzdür. Arayüz kısaca donanımdan kaç adet ya da donanımın ne yapıda olduğundan bağımsız bir şekilde donanım fonksiyonlarına erişimi sağlar. Arayüz, verinin içeriğini değiştirmez. Örnek: Kaç tane CAN denetleyicisi olduğu bilgisinden bağımsız CAN iletişimine bu arayüzle erişebilir.

Bunun haricinde bu katman enjeksiyon kontrolü, elektrik vana kontrolü gibi AUTOSAR’da standartlaşmamış, harici cihazlar için sürücüler içerir.

Görevi üst katmanları EKÜ’den bağımsız yapmak.

Servisler Katmanı (Services Layer)

Uygulama ve diğer temel yazılımlar için gerekli temel yazılım modülleri içeren katmandır. Örnek: İşletim sistemi, ağ iletişimi, hafıza yönetimi (NvRAM), tanı servisleri (Diagnostics, UDS) ve hata tanımı, Watchdog, vb.

Görevi, üst katmanları EKÜ ve Mikrodenetleyiciden bağımsız yapmak.

AUTOSAR Çalıştırma Ortamı – AUTOSAR Runtime Environment (RTE)

AUTOSAR’ın kalbi diyebileceğimiz katmandır.

  • Bir nevi çağrı merkezi operatörlüğü yapar. Uygulama yazılım(Application Software)modülleri arasında ve bu yazılım modüllerinin temel yazılım modülleriyle iletişimini sağlar. Veri, bilgi alışverişi sağlanır.
  • Uygulama yazılımı (SW-C*) ile temel yazılım modülleri arasında ara yazılım olarak çalışır.
  • Uygulama yazılımındaki olayların/fonksiyonların, RTE etkinlikleriyle(Belirli bir zamana ya da olaya bağlı olarak fonksiyonun düzenli ya da düzensiz tetiklenmesi) çalıştırır.
  • SW-C: Software Component, Yazılım Birleseni

Uygulama Katmanı – Application Layer

Bir EKÜ’nün ya da bir otomobilin uygulama yazılımı birbirine bağlı birden fazla yazılım birleşeninden oluşan bir sistem olarak tasarlanabilir.


Özet:

AUTOSAR Katmanlı yazılım mimarisiyle bir otomobilde ya da bir EKÜ’de kullanılacak yazılım, donanımdan (EKÜ’den) bağımsız bir şekilde geliştirilebilir ve başka projelere aktarılabilir. Bunun yanında iletişim, hata tanımlama gibi alt yapısal ve tüm otomotiv üreticilerinin ortak kullandığı yazılımlar, standart yazılım pakedi olarak yazılım üreticileri tarafından üretilir, otomotiv üreticileri ve yan sanayi tedarikçileri ise sadece bu yazılım paketlerini belirli masaüstü programlarını kullanarak yapılandırır. (Configuration)

M.Eng.Can Acar

Mechatnom Mühendislik Müdürü