Jak uprościć samochód – ECU i motoryzacyjna rewolucja

Marcin Medyński, Consultant GlobalLogic SA 

Samochody są skomplikowane. Zawsze takie były i nie budzi to wątpliwości. Gdyby było inaczej, każdy z nas mógłby w garażu stworzyć własny pojazd, którym co rano odwoziłby dzieci do szkoły i docierał do pracy. Jak zareagowałbyś jednak, gdybym powiedział ci, że twój zaparkowany pod domem samochód poziomem skomplikowania przewyższa myśliwiec F-22 Raptor, wysłany na Marsa łazik Curiosity, boeinga 747 i Wielki Zderzacz Hadronów razem wzięte? Zdziwiony, prawda?

Samochód osobowy już od dawna jest czymś więcej niż tylko maszyną składającą się z czterech kół, silnika i kierownicy. To ogromna liczba elementów mechanicznych, ale także elektronika, której urządzenia pracują dzięki oprogramowaniu. A to rośnie z roku na rok, wykonując coraz więcej trudnych zadań.

Dziesiątki małych mózgów – ECU

Funkcje, dzięki którym samochód działa, realizowane są zwykle przez szereg niezależnych od siebie sterowników elektronicznych, tak zwanych ECU (od angielskiego „electronic control unit”). Połączone ze sobą magistralą danych, tworzą sieć, która we współczesnym samochodzie obejmuje ponad sto jednostek. Czym zajmują się ECU? Realizują szereg zadań. Wyróżniamy nieskomplikowane sterowniki, nadzorujące proste czujniki, na przykład temperatury, oraz elementy wykonawcze, jak centralny zamek. Bardziej skomplikowane jednostki odpowiedzialne są za pracę świateł, a najbardziej zaawansowane umożliwiają działanie nowoczesnych systemów IVI, a więc samochodowych systemów rozrywki multimedialnej i informacji dla kierowcy.

Każdy ze sterowników jest więc czymś w rodzaju małego mózgu, który zarządza określoną częścią samochodu. Wraz z rozwojem technologii i nowymi funkcjonalnościami pojawiającymi się we współczesnych pojazdach, tworzona przez ECU sieć robi się coraz bardziej skomplikowana. Ilekroć producent chce dodać nową funkcję lub element wyposażenia w nowym modelu, nierzadko musi zainstalować kolejny ECU, a tym samym też odpowiednie czujniki i przewody oraz wskaźnik danych lub wyświetlacz. To powoduje niełatwe do rozwiązania problemy i prowadzi do sytuacji, w której dalszy rozwój elektroniki samochodowej w obecnej formie przestaje być możliwy.

Samochód nie jest z gumy

Jakie podstawowe problemy napotykają na swojej drodze producenci, którzy chcą wykorzystać nowe technologie i rozwinąć dostępne modele?

  • Waga i miejsce

Dostępna przestrzeń „pod maską” nie jest nieograniczona, a projektowanie większych gabarytowo pojazdów kłóci się z ideą ekonomicznego samochodu, który ma małe spalanie, nadaje się do miasta, nie zużywa szybko opon i może pochwalić się właściwą aerodynamiką nadwozia. Istotnym czynnikiem jest też tutaj masa, którą producenci próbują ograniczać, by wyniki spalania były mniejsze, a w przypadku pojazdów elektrycznych zasięg na każdym ładowaniu większy.

  • Koszty

Już dzisiaj producenci przyznają, że okablowanie konieczne do połączenia wszystkich sterowników ECU jest trzecim z najwyższych kosztów produkcji pojazdu. Rosnąca liczba jednostek sprawia, że potrzebne nakłady jeszcze rosną. Zwiększa się też skala inwestycji na integrację i testy konieczne dla certyfikacji ECU, których skala współzależności i stopień konfiguracji są coraz bardziej skomplikowane.

  • Bugi i zagrożenia

W przypadku sieci ECU mówimy o bardzo złożonych rozwiązaniach informatycznych. To różne platformy oraz narzędzia do rozwoju i testowania. Ten stopień zaawansowania, wraz z przyjętym sposobem rozwijania elektroniki samochodowej, sprawia, że jej aktualizowanie i modernizowanie stanowi duże wyzwanie. Funkcje samochodu podzielone są na wiele ECU, a dostęp do nich i modyfikacja odpowiedzialnego za funkcje oprogramowania nie jest prostą sprawą, co z kolei przekłada się np. na dużo bardziej czasochłonny proces eliminowania wykrytych bugów.

Zespolenie sterowników ECU

Celem, do którego dążą producenci, jest więc ograniczenie liczby sterowników ECU przy jednoczesnym zachowaniu wszystkich ich funkcjonalności. Idealnym rozwiązaniem wydaje się tzw. zespolenie sterowników elektronicznych, inaczej zwane konsolidacją. Podejście to sprawdziło się z powodzeniem w przemyśle lotniczym. W tym rozwiązaniu jeden sterownik o dużej mocy obliczeniowej stanowi platformę realizującą liczne funkcje elektroniki pokładowej, za które dotychczas odpowiadał szereg oddzielnych sterowników. Każda z aplikacji uruchomionych na zespolonym ECU ma dostęp do jednego zestawu czujników, kamer, elementów wykonawczych i innych urządzeń. Dzięki temu spada koszt produkcji i montażu, a topologia sterowników staje się mniej rozproszona.

Zastosowanie zespolonych sterowników ECU w przypadku samochodów wiąże się jednak z wyzwaniem, bo muszą one odpowiadać różnym wymaganiom, które są stawiane poszczególnym funkcjom elektroniki. Obok siebie działają różne rodzaje ECU. Część podzespołów musi spełniać szereg ścisłych wymagań w czasie rzeczywistym, w tym tych związanych z niezawodnością i bezpieczeństwem, podczas gdy wydajność innej grupy nie ma już takiego krytycznego znaczenia. Integracja sterowników powinna to uwzględniać i zachować odrębność poszczególnych systemów operacyjnych, które będą działać na jednej platformie.

Wirtualizacja

Tu właśnie na scenę wkracza wirtualizacja. Elastyczność takiego rozwiązania umożliwia przypisanie każdej hostowanej partycji ściśle określonego i potrzebnego jej zakresu zasobów, jak liczba rdzeni procesora czy obszar pamięci. Odrębność systemów operacyjnych przekłada się na niezależność funkcji krytycznych dla bezpieczeństwa pojazdu od błędów mogących wystąpić w jednym z innych systemów. Jednocześnie umożliwia bezproblemową aktualizację firmware’u danej partycji bez najmniejszego wpływu na działanie pozostałych systemów operacyjnych.

Podstawą tego rozwiązania jest hypervisor – VMM, czyli monitor maszyny wirtualnej. Oddziela on zasoby platformy sprzętowej od wykonywanego na niej oprogramowania, tworząc partycje. Na nich mogą pracować, niezależnie od siebie, różne systemy operacyjne i aplikacje. Dzięki takiemu oddzieleniu, każdy z systemów wykonywanych na platformie sprzętowej działa tak, jakby dysponował jej zasobami wyłącznie dla siebie, choć w rzeczywistości dzieli je z innymi systemami operacyjnymi. Hypervisor może, zgodnie z zadaną konfiguracją, elastycznie rozdzielać i ograniczać zasoby pomiędzy systemami.

Konsolidacja nie jest łatwa

Jak producenci samochodów realizują konsolidację? Na dwa sposoby: w oparciu o architekturę strefową lub domenową. Pierwsza scala sterowniki w jeden ECU w danym regionie samochodu, na przykład w danej ćwiartce konstrukcji. Druga polega na integracji w zależności od funkcji, za które sterowniki odpowiadają.

Sama konsolidacja nie jest jednak wolna od wyzwań, którymi producenci muszą podołać. Podstawowym jest opracowanie sposobu komunikacji danych, który spełni wymagania użytkowe zespolonego ECU. Typowe systemy magistrali samochodowych okazują się w tym przypadku niewystarczające – nie zapewniają przepustowości i skalowalności niezbędnej dla ilości wymienianych danych. Osobną kwestią jest rosnąca złożoność samego ECU. O ile dotychczas dostawcy pierwszego szczebla oferowali własne, kompleksowe rozwiązania sprzętowo-programowe, zespolone ECU wymagają od nich integracji na własnych urządzeniach sprzętowych oprogramowania od różnych producentów. Muszą więc pracować z wirtualnym środowiskiem wielordzeniowym, obsługującym kilka systemów operacyjnych.

Zespolone sterowniki ECU u podstaw samochodów przyszłości

Wymagania stawiane samochodom i całej branży motoryzacji nieustannie rosną. Pojazdy mają być tanie w utrzymaniu, niezawodne, bezpieczne i wytrzymałe. Kierowcy liczą na praktyczne korzyści wynikające z większych możliwości modernizacji modeli czy opcji zdalnego sterowania i diagnostyki. Oczekują błyskawicznego usuwania wykrytych błędów i regularnych aktualizacji oprogramowania. U podstaw wszelkich udogodnień leży konsolidacja ECU, która umożliwi pokonanie wielu napotykanych obecnie trudności. By samochody, choć coraz bardziej skomplikowane, stały się jednocześnie nieco prostsze.