Dzięki PCIe samochód przyszłości staje się rzeczywistością

| Technika

Projektowanie podstawowych wersji systemów wspomagania kierowcy samochodu (ADAS) nie jest już dzisiaj zadaniem wymagającym, ale nowe ulepszone funkcje tego typu, które łączą różne poziomy złożoności, wymagają użycia wydajnych układów SoC i podłączenia ich do standardowego interfejsu komunikacyjnego, tak aby przetwarzane dane mogły być udostępniane dla innych systemów w pojeździe.

Dzięki PCIe samochód przyszłości staje się rzeczywistością

Wydajne chipy umożliwiają realizację równoległej funkcjonalności, w której wiele jednostek działa wspólnie, na przykład udostępnia dane wykrywania zagrożeń z kamer i radarów, które następnie dostępne są dla sterowników przednich reflektorów, umożliwiając im wyróżnienie ważnych elementów na drodze, iluminacji promienia zakrętu lub wychodzącego pieszego. Magistrala PCIe pozwala na udostępnianie danych w wielu układach SoC i łączność dla funkcji pojazdu, podczas gdy wykorzystywany przez model oprogramowania umożliwia bezproblemową rozbudowę pojemności w generacjach PCIe i SoC i ostatecznie w platformach samochodowych. Chęć zapewnienia przyszłości platformom na wiele lat napędza rozwój technologii PCIe.

Historia PCIe

Historia magistrali PCI sięga wiele lat wstecz do czasów równoległych magistral interfejsów komputerowych, używanych w wielu serwerach, pecetach i systemach embedded jako peryferyjne połączenie międzysystemowe. Została ona zdefiniowana i ujednolicona w ramach PCI SIG (Special Interest Group). PCIe umożliwiało podłączenie wielu systemów do jednego chipa SoC. Początkowo były to głównie układy Intela lub AMD x86, zapewniające połączenie się z siecią, urządzeniami peryferyjnymi lub kontrolerem grafiki. PCI ewoluowała od 32- do 64-bitowych magistrali danych działających z taktowaniem 32 do 64 MHz i w kolejnych generacjach ostatecznie stała się szeregowa.

PCIe umożliwiało szybkie połączenia danych przez interfejs różnicowy (symetryczny napięciowo), z liniami jedna do transmisji i jedna do odbioru. Taka para różnicowa jest powszechnie nazywana "torem" (lane). Mogą one być grupowane w porty w zależności od podłączonego urządzenia peryferyjnego lub SoC, szerokość może wynosić od jednego toru na port do 16 lub 32 torów na port.

 
Tab. 1. Wydajność łącza PCI Express

Zalety Ethernetu

W komputerze PC komunikacja jest prosta. Jest jeden wydajny centralny układ SoC, do którego podłączonych jest wiele szybkich urządzeń peryferyjnych. Tak samo było w przypadku serwerów, ale w miarę rozwoju serwerów posiadanie dwóch chipów SoC umieszczonych blisko obok siebie na PCB i współdzielenie urządzeń peryferyjnych w tym dostępu do pamięci masowej, szybkiej pamięci, a czasami danych, okazało się zaletą.

Taka architektura jest podstawą przełączników PCIe. Przełącznik PCIe umożliwia niezależny, oddzielny dostęp do SoC (oznaczony jako Root Complex) w systemie wielochipowym przez wspólny zestaw urządzeń peryferyjnych, zwanych punktami końcowymi. Każdy taki SoC w systemie ma niezależny dostęp do tych urządzeń peryferyjnych, ze względu na funkcję znaną jako Non-Transparent Bridging (NTB). SoC wykorzystujący przełącznik PCIe w tego typu systemie korzysta z bardzo szybkiej łączności o niskim opóźnieniu. Jest to komunikacja na krótkim dystansie.

Porównując to z Ethernetem, czyli standardem IEEE, pierwszą różnicą jest dystans komunikacji wynoszący kilkanaście metrów, a drugim szybkość rzędu 100 Mb/s albo 1000 Mb/s. Co więcej, Ethernet został opracowany w ramach Open Alliance, aby dodać specyficzne funkcje motoryzacyjne, takie jak wskaźniki jakości sygnału (Signal Quality Indicator) i tryb uśpienia (Wake/Sleep).

Przełączanie oparte na Layer 2 Media Access Control (MAC) zapewnia pakietom danych transmisję z dowolnego punktu w sieci przez interfejsy fizyczne i media o różnych prędkościach do dowolnego innego punktu. Dzięki temu sieci Ethernetowe są uniwersalne i są szeroko aplikowane w różnych branżach.

Takie cechy Ethernetu, a więc standardu działającego z relatywnie dużą prędkością i na dłuższych dystansach oraz zdolność do realizacji komunikacji w różnych aplikacjach, odróżniają go od PCIe, który działa na krótszych dystansach, przy bardzo wysokich szybkościach transmisji danych. Bez względu na to oba te rozwiązania są używane w nowoczesnych pojazdach.

PCIe umożliwia łączność wielu urządzeń

Tym co połączyło PCIe z Etherentem było pojawienie się na rynku samochodów z funkcjonalnością ADAS Level 3 i wyższych. W przypadku systemów krytycznych dla bezpieczeństwa, które często posługują się danymi z kamer w czasie rzeczywistym w swoich procesach decyzyjnych, nie tylko niezbędne jest posiadanie danych wideo bez kompresji, ale również dostępnych bez opóźnień wynikających z protokołu, np. pakowania w ramki. W większości przypadków dane z kamery są bezpośrednio podawane do odpowiednich interfejsów wideo w SoC. W systemie może być więcej niż jeden SoC do współdzielenia tego obciążenia lub dla zapewnienia akwizycji w czasie rzeczywistym, a także w celu jednoczesnego przetwarzania strumieni wideo. Dostępne są również akceleratory przeznaczone do usprawnienia obsługi przepływów zbiorów danych w aplikacjach zakresie sztucznej inteligencji i uczenia maszynowego.

Zmniejszenie opóźnienia podczas transferu danych wewnątrz takiego wydajnego komputera w pojeździe, jest domeną magistrali PCIe. Z jej pomocą łączy się wiele procesorów SoC oraz urządzeń takich jak dyski SSD, karty sieciowe oraz przełączniki PCIe z funkcjami NTB. Prostsza komunikacja jest efektem użycia lepszego hardware, ale także dzięki oprogramowaniu i funkcjach definiowanych programowo. Takie możliwości zapewniają przełączniki PCIe, które umożliwiają pełne wykorzystanie zasobów systemowych. Ogólnie współdzielenie zasobów jest postrzegane jako kluczowa funkcja systemowa dla producentów OEM.

Przełącznik PCIe jest ponadto standardowym i zoptymalizowanym podzespołem, co przekłada się na niższe koszty oraz pewność działania, czyli parametr zawsze krytyczny dla bezpieczeństwa systemów. Może on łączyć wiele układów SoC w moduły albo być zamontowany na końcu magistrali, po to, aby można było go w kolejnym kroku użyć jako funkcjonalność dodatkowa po to, aby np. dealer dołączył do niego płatną ekstra część pojazdu. Może to być związane z aktualizacją oprogramowania, lepszą komunikacją oferowaną w momencie sprzedaży nowego pojazdu lub przy zmianach właściciela. Pozwala to uzyskać dodatkowe dochody związane z możliwością ulepszenia samochodu, który jest już kilka lat w eksploatacji i otwiera podwaliny do koncepcji "Car As A Service" czyli samochód jako usługa.

Kolejny argument za użyciem przełącznika PCIe bierze się z bezpieczeństwa. Pozwala on na zamontowanie kilku podobnych jednostek roboczych w tym samym pojeździe, tak aby jedna awaria była zarządzana przez działający system w celu zapobiegania usterce fatalnej.

PCIe i skalowalny model oprogramowania

Konstrukcja szyny PCIe we wszystkich tych systemach jest do siebie bardzo podobna. Układy SoC wykorzystują system transakcji do przenoszenia danych z pamięci do przestrzeni adresowej urządzenia, zaś przełączniki magistrali pozwalają na elastyczne zarządzanie dołączonymi zasobami, np. współpracę z jednym urządzeniem teraz, ale w przyszłości jest możliwość dołączenia kolejnych. Funkcje bazujące na oprogramowaniu umożliwiają w kolejnych wersjach tworzenie nowych opcji, w tym także zmianę standardowego przełącznika na bardziej zaawansowany z opcją failover.

Przykłady możliwości aktualizacji mogą obejmować włączenie Virtual Root Complex, co pozwala przełącznikowi rozpoznawać dodatkowe jednostki SoC przez cały okres użytkowania platformy, umożliwiając zamianę SoC, a nawet ulepszenia w celu bezpiecznego autoryzowania dostępu SoC do współdzielonych zasobów w zabezpieczony sposób przez uwierzytelnienie.

Drugim przykładem jest popularny mechanizm używany w centrach danych, który umożliwia wielu SoC- om dostęp do dysków SSD, przy czym dostęp każdego SoC jest niezależny, chroniony i zarządzany przez mechanizm o nazwie SR- IOV (Single Root IO Virtualization). Zwykle odbywa się to za pomocą skomplikowanego oprogramowania w SoC, ale można to zrealizować w jednym sterowniku wewnątrz przełącznika. To kolejny przykład, w którym złożoność rozwoju oprogramowania jest znacznie uproszczona.

 
Rys. 1. Poziomy ADAS/AD

Wiele sposobów rozbudowy PCIe

Jak już wspomniano, układy SoC można zainstalować jako wymienne jednostki na płycie bazowej zawierającej przełącznik PCIe. Taki system może być w pełni lub częściowo zapełniony. Łączność PCIe można również rozszerzyć, dodając dodatkowe płyty backplane i łącząc je ze sobą. To jest zwykle realizowane za pośrednictwem PCB stanowiącej backplane złączy. Jeśli konieczne jest użycie drugiej obudowy. Często łatwiej jest zapewnić osobne miejsce w pojeździe na drugą jednostkę i połączyć ją wiązką przewodów z resztą niż demontować istniejące urządzenia, aby uzyskać do nich dostęp w celu np. modernizacji. Gdy odległość jest niewielka można posłużyć się magistralą PCIe, w innym przypadku Ethernetem.

Firma Microchip przygotowała płytkę ewaluacyjną "Automotive PCIe" wyposażoną w standardowe złącza H- MTD, aby ułatwić ocenę możliwości komunikacji i dostępnego zasięgu połączenia kablowego z PCIe, a także zbadać własności EMC takich systemów. W testach w warunkach rzeczywistych osiągnięto zasięg kilku metrów przy użyciu łączy PCIe Gen3 i Gen4.

 
Rys. 2. Car As A Service (samochód jako usługa) zdefiniowany programowo jest centrumdanych na kołach

FuSa w systemie PCIe z wydajnymi SoC

używanych w systemach autonomicznej i półautonomicznej jazdy obsługuje wyższe poziomy bezpieczeństwa funkcjonalnego (FuSa), na przykład poziom ASIL D. Poziom D wymaga obecności wielu rdzeni, co jest często nieopłacalne dla wielu SoC, które są wystarczająco zaawansowane pod względem wydajności, aby zapewnić funkcję ADAS. W przypadku komponentów na poziomie ASIL B, aby uzyskać ocenę systemu na poziomie C lub wyższym niezbędna jest dekompozycja funkcjonalna i partycjonowanie. PCIe oferuje wiele zabezpieczeń, dzięki którym certyfikacja tego systemu jest możliwa, dzięki łączom na poziomie kontenera fizycznego i wirtualnego oraz poprzez wewnętrzne ścieżki danych. Taka ochrona ścieżki, dekompozycja funkcjonalna, partycjonowanie i możliwość posiadania jednostek zapasowych lub awaryjnych w systemie, to to, co Microchip może zapewnić producentom OEM w krytycznej dla bezpieczeństwa domenie asystenta kierowcy poziomu 3.

Kiedy wszystko się połączy

Podczas gdy końcowym celem może być autonomiczna jazda poziomu 4, zwykle producent OEM chce przyjąć podejście platformowe umożliwiające dodawanie funkcji i usług z modeli klasy ADAS poziomu 2 lub 3. Wymusza to nastawienie projektów systemów elektronicznych na skalowalność i rozbudowę, a nie na to, aby od razu były gotowe do najbardziej wymagających obciążeń. Skalowalność układów SoC, możliwość udostępniania dodatkowych zasobów w czasie i użycie dodatkowej obudowy zawierającej przełączniki PCIe tworzy wspólną platformę bazową dla modeli i platform pojazdów na wiele lat. Konsument będzie korzystał z "samochodu jako usługi" opartego na zdefiniowanym programowo pojeździe wykorzystującym centrum danych na kołach. Wszystko to jest możliwe do osiągnięcia już dziś.

 

Richard Herbert, Automotive
Networking Product Marketing
Manager – Microchip Technology

Microchip
www.microchip.com

Zobacz również