Dobór i wykorzystanie bezpośrednio programowalnych macierzy bramek (FPGA) pod kątem łączności zabezpieczeń dużych obciążeń obliczeniowych w motoryzacji
Przekazane przez: Północnoamerykańscy redaktorzy DigiKey
2022-01-12
Tradycyjnie zadania obliczeniowe w samochodach są wykonywane przez mikrokontrolery (MCU) i procesory aplikacji (AP). W typowym pojeździe średniej klasy może znajdować się od 25 do 35 mikrokontrolerów lub procesorów aplikacji, podczas gdy w samochodach luksusowych może ich być nawet 70 i więcej. Coraz częściej samochody wymagają niezwykle wyrafinowanych, intensywnych obliczeniowo funkcji do takich zadań, jak zaawansowane systemy wspomagania kierowcy (ADAS), systemy informacyjno-rozrywkowe, sterowanie, sieci i zabezpieczenia. Wiele z tych systemów wykorzystuje widzenie maszynowe w postaci przetwarzania obrazu i wideo w połączeniu ze sztuczną inteligencją (AI).
Wszystkie interfejsy elektryczne i protokoły wymagane przez urządzenia peryferyjne, takie jak czujniki, kamery i wyświetlacze, z trudem są obsługiwane przez samą architekturę procesora. Ponadto w wielu przypadkach procesory po prostu nie są w stanie sprostać ekstremalnym wymaganiom obliczeniowym zadań takich jak widzenie maszynowe i sztuczna inteligencja.
Aby sprostać tej złożoności, projektanci systemów motoryzacyjnych zwracają się w stronę bezpośrednio programowalnych macierzy bramek (FPGA) - nie po to, by zastępować nimi istniejące mikrokontrolery MCU lub procesory AP, ale raczej po to, by używać ich jako pomostów łączących z innymi urządzeniami, a także wspomagać ich działanie poprzez przekierowanie funkcji komunikacji i innych zadań wymagających dużej mocy obliczeniowej.
Ponieważ bezpośrednio programowalne macierze bramek (FPGA) można zaprogramować do obsługi szerokiej gamy protokołów i interfejsów elektrycznych, mogą one działać jako pomosty między mikrokontrolerami MCU lub procesorami AP a czujnikami, kamerami i wyświetlaczami. Ponieważ mogą one wykonywać obliczenia i operacje równolegle w sposób masowy, mogą także być używane do wykonywania intensywnych obliczeniowo zadań przetwarzania wizji i sztucznej inteligencji, zwalniając w ten sposób procesory hosta do innych operacji.
W tym artykule omówiono wymagania dotyczące przetwarzania w nowoczesnych pojazdach i opisano niektóre rozwiązania motoryzacyjne, w których mogą znaleźć zastosowanie bezpośrednio programowalne macierze bramek. Następnie przedstawiono kilka przykładowych bezpośrednio programowalnych macierzy bramek firmy Lattice Semiconductor oraz sposób ich wykorzystania do rozwiązania problemów z łącznością, przetwarzaniem i bezpieczeństwem. Przedstawiono także powiązane płytki rozwojowe, które mogą pomóc projektantom w rozpoczęciu prac.
Zastosowania motoryzacyjne bezpośrednio programowalnych macierzy bramek (FPGA)
Wsparciem dla funkcji zaawansowanych systemów wspomagania kierowcy (ADAS) są we współczesnych samochodach liczne czujniki zewnętrzne, kamery, radary, systemy LiDAR i detektory ultradźwiękowe. W wielu przypadkach konieczne jest pobranie danych z różnych czujników, ich wstępne przetworzenie (usunięcie szumu i sformatowanie zgodnie z wymaganiami) oraz konsolidacja w taki sposób, aby w efekcie dane te charakteryzowała mniejsza niepewność niż gdyby wykorzystywać nieskonsolidowane dane z poszczególnych czujników. W wielu przypadkach do analizy danych, podejmowania decyzji i odpowiednich działań wykorzystuje się aplikacje sztucznej inteligencji (AI).
Stosunkowo niedawnym trendem jest stosowanie elektronicznych lusterek wstecznych (znanych również jako „cyfrowe”). W tym przypadku w tylnej szybie zamontowana jest szerokokątna kamera o wysokiej rozdzielczości. Strumień wideo z tej kamery jest wyświetlany na cyfrowym wyświetlaczu, który zastępuje tradycyjne lusterko, zapewniając wyraźny widok do tyłu, niezasłonięty przez pasażerów na tylnych siedzeniach. W niektórych przypadkach strumienie wideo z kamer zamontowanych na lusterkach bocznych mogą być łączone ze strumieniem wideo z kamery tylnej szyby. Te trzy kanały są „zespalane”, aby zapewnić jednolity obraz prezentowany na superszerokim lusterku elektronicznym, gwarantując w ten sposób kierowcy znacznie wyższy poziom świadomości sytuacyjnej tego, co dzieje się wokół pojazdu.
Innym niedawnym trendem jest stosowanie kamer kabinowych montowanych na desce rozdzielczej, na kolumnie kierownicy lub zintegrowanych z lusterkiem wstecznym (zwykłym lub elektronicznym). W połączeniu ze sztuczną inteligencją te lusterka kabinowe mogą być wykorzystywane do wielu różnych zadań, takich jak rozpoznawanie kierowcy i odpowiednie regulowanie jego fotela oraz lusterek. Oprócz tego, że system taki monitoruje kierowców, aby upewnić się, że zwracają uwagę na drogę i nie drzemią, może również wykrywać oznaki senności, a także stres lub problemy zdrowotne, takie jak atak epilepsji lub zawał serca, podejmując odpowiednie działania. Działania te mogą obejmować włączenie świateł awaryjnych, włączenie hamulców i skierowanie pojazdu na pobocze. Inne zastosowania to uniemożliwianie pozostawienia małych dzieci lub zwierząt przez pomyłkę bez opieki na tylnych siedzeniach poprzez zapobieganie zamykaniu samochodu i miganie światłami, a także ostrzeganie kierowcy o pozostawieniu np. telefonu, torby lub paczki przez pasażera na tylnym siedzeniu.
W przypadku zastosowań wideo w niektórych sytuacjach wymagane jest podzielenie pojedynczego wejścia wideo na wiele strumieni, w innych wymogiem projektowym może być agregacja wielu strumieni wideo w jeden.
Wraz z rosnącym rozpowszechnieniem pojazdów elektrycznych (EV) pojawia się potrzeba monitorowania silników i sterowania nimi oraz monitorowania procesu ładowania i zarządzania nim w celu osiągnięcia maksymalnej żywotności baterii.
Co więcej, wiele dzisiejszych samochodów zaczyna obsługiwać komunikację 5G lub V2X, gdzie V2X („komunikacja pojazd-cokolwiek”) odnosi się do komunikacji między pojazdem a jakąkolwiek inną jednostką, która może mieć (lub ma) wpływ na pojazd - od elementów infrastruktury drogowej po inne pojazdy. Wraz z taką łącznością pojawia się potrzeba zabezpieczeń, aby zapobiec zhakowaniu pojazdu.
Urządzenia klasy motoryzacyjnej
Należy pamiętać, że nie wszystkie bezpośrednio programowalne macierze bramek nadają się do zastosowań motoryzacyjnych. Automotive Electronics Council (AEC) to organizacja założona w latach 90. przez firmy Chrysler, Ford i GM w celu ustanowienia wspólnych standardów kwalifikacji części oraz systemów jakości. Jednym z najczęściej przywoływanych dokumentów AEC jest norma AEC-Q100, „Kwalifikacja prób obciążeniowych w oparciu o mechanizm uszkodzeń dla układów scalonych”.
IATF 16949:2016 to specyfikacja techniczna mająca na celu rozwój systemu zarządzania jakością, która zapewnia ciągłe doskonalenie, kładąc nacisk na zapobieganie wadom oraz redukcję zmienności i ilości odpadów w łańcuchu dostaw i montażu w przemyśle motoryzacyjnym. Specyfikację IATF 16949:2016 opracowały Międzynarodowa Grupa Zadaniowa ds. Motoryzacji (IATF) oraz Komitet Techniczny w oparciu o normę ISO 9001.
Dostawcy systemów elektronicznych na rynku motoryzacyjnym coraz częściej wymagają, aby dostawcy półprzewodników dostarczali produkty zgodne z normą AEC-Q100 i mogli wykazać zgodność swoich systemów jakości z normą ISO/TS-16949.
Dobór odpowiedniej bezpośrednio programowalnej macierzy bramek do konkretnego zadania
Bezpośrednio programowalne macierze bramek (FPGA) są niezwykle elastyczne, jednak różne grupy urządzeń oferują różne kombinacje możliwości i funkcji, dzięki którym lepiej nadają się do określonych zadań. Na przykład w przypadku wbudowanych aplikacji wizyjnych nowoczesne kamery i wyświetlacze często wykorzystują interfejsy MIPI. Protokoły MIPI CSI-2 (kamera/czujnik) i DSI (wyświetlacz) wykorzystują komunikacyjną warstwę fizyczną (PHY) zwaną D-PHY. Starsze mikrokontrolery MCU i procesory AP mogą nie obsługiwać tego interfejsu, ale niektóre bezpośrednio programowalne macierze bramek to robią. Przykładem jest bezpośrednio programowalna macierz bramek do wbudowanej wizji i przetwarzania CrossLink-NX firmy Lattice Semiconductor.
Urządzenia CrossLink-NX posiadają dwa wzmocnione czteropasmowe nadajniko-odbiorniki MIPI z warstwą fizyczną D-PHY obsługujące prędkości 10Gbit/s na warstwie fizycznej oraz obsługują programowalne wejścia/wyjścia 5Gbit/s PCIe, 1,5Gbit/s i pamięć DDR3 1066Mbit/s. Urządzenia te obsługują również tradycyjne interfejsy elektryczne i protokoły, takie jak niskonapięciowa sygnalizacja różnicowa (LVDS), Sub-LVDS (wersja LVDS o obniżonym napięciu), otwarty interfejs wyświetlacza LVDS (OLDI) i niezależny od nośnika interfejs szeregowy (SGMII). W rezultacie urządzenia te mogą być używane do agregowania i dzielenia strumieni wideo, uruchamiania aplikacji sztucznej inteligencji (AI), a jednocześnie mogą również działać jako pomosty między starszymi mikrokontrolerami MCU i procesorami AP a nowoczesnymi czujnikami i wyświetlaczami.
Deweloperów systemów samochodowych, którzy chcą przeprowadzić ewaluację bezpośrednio programowalnych macierzy bramek CrossLink-NX, może zainteresować kombinacja czujnikowej karty wejść CrossLink-NX VIP LIFCL-VIP-SI-EVN (ilustracja 1) i modułowego zestawu do wizji wbudowanej LF-EVDK1-EVN (karta może pełnić funkcję karty wejściowej dla zestawu). Oprócz bezpośrednio programowalnej macierzy bramek CrossLink-NX, czujnikowa karta wejściowa zawiera również cztery 13-megapikselowe sensory obrazu Sony IMX258 CMOS MIPI, obsługujące rozdzielczość 4K2K przy częstotliwości 30kfps lub 1080p przy 60fps. Zapewnia również łatwą łączność czujników dzięki trzem niezależnym interfejsom PMOD.
Ilustracja 1: czujnikowa karta wejściowa CrossLink-NX VIP, która może pełnić funkcję wejścia dla zestawu rozwojowego wbudowanej wizji, zawiera bezpośrednio programowalną macierz bramek (FPGA) CrossLink-NX i obsługuje agregację czterech sensorów obrazu MIPI Sony IMX258. (Źródło ilustracji: Lattice Semiconductor)
Na potrzeby zastosowań wymagających dużej mocy obliczeniowej, które wymagają również dużej przepustowości wejścia-wyjścia - takich jak sztuczna inteligencja do zadań takich jak rozpoznawanie gestów i sterowanie gestami, rozpoznawanie głosu i sterowanie głosem, wykrywanie obecności człowieka, identyfikacja pasażerów i monitorowanie kierowców - bezpośrednio programowalne macierze bramek ECP5 firmy Lattice obsługują serializatory/deserializatory (SERDES) o prędkości do 3,2Gbit/s, maksymalnie cztery kanały na urządzenie w blokach dwukanałowych dla większej ziarnistości, do 85 tys. tablic referencyjnych, ulepszone bloki DSP, które zapewniają dwukrotną poprawę zasobów dla filtrów symetrycznych, oraz posiadają funkcję SEU. Omawiane bezpośrednio programowalne macierze bramek zapewniają również programowalną obsługę wejścia-wyjścia dla interfejsów wejścia-wyjścia LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL i MIPI D-PHY.
Przykładem urządzenia ECP5 jest układ LFE5U-85F-6BG554C posiadający 84000 elementów logicznych, 3,75Mb pamięci RAM i 259 wejścia-wyjścia. Interesujący jest również zestaw rozwojowy LFE5UM-45F-VERSA-EVNG ECP5 Versa (ilustracja 2). Płytka ta posiada złącze PCI Express (PCIe) o połowie długości i pozwala projektantom ewaluować kluczowe funkcje łączności bezpośrednio programowalnej macierzy bramek ECP5, w tym parametry działania PCIe, sieci Gigabit Ethernet (GbE), DDR3 i SERDES.
Ilustracja 2: zestaw rozwojowy ECPe Versa ze złączem PCI Express o połowie długości pomaga projektantom w ewaluacji kluczowych funkcji łączności bezpośrednio programowalnej macierzy bramek ECP5, w tym parametrów działania złącza PCIe, GbE, DDR3 i SERDES. (Źródło ilustracji: Lattice Semiconductor)
Zabezpieczanie samochodów za pomocą bezpośrednio programowalnych macierzy bramek
Rośnie zagrożenie bezpieczeństwa związane z potencjalnymi atakami hakerskimi, stale pojawiają się nowe naruszenia zabezpieczeń. W przypadku samochodów cyberatak może spowodować utratę kontroli, powodując obrażenia ciała lub śmierć pasażerów i pieszych oraz uszkodzenie samochodu, innych pojazdów i mienia.
Dużą częścią rozwiązań zabezpieczeń w samochodach jest ustanowienie systemu Root of Trust, czyli zasobu sprzętowego w systemie, któremu zawsze można ufać. Jednym z rozwiązań jest sprzętowy system RoT (HRoT) oparty na bezpośrednio programowalnej macierzy bramek (FPGA), którego przykładem są produkty z grupy urządzeń MachXO3D firmy Lattice. Oprócz znacznych zasobów tablic LUT oraz liczb wejść-wyjść, omawiane urządzenia z pamięcią flash oferują funkcje natychmiastowego włączania i podłączania w trakcie pracy. Ich zastosowania ogólne to m.in. zespajanie logiki, mostkowanie magistrali, realizacja interfejsu magistrali, sterowanie silnikiem, sterowanie uruchamianiem i inne operacje logiki sterowania.
Szczególnie interesujący jest fakt, że bezpośrednio programowalna macierz bramek MachXO3D jest jedynym tego typu urządzeniem posiadającym funkcję podwójnego rozruchu i mniej niż 10 tys. tablic LUT, które jest wyposażone w twardy stały silnik zabezpieczeń z certyfikatem Narodowego Instytutu Norm i Technologii (NIST). Dzięki temu macierz MachXO3D może działać jako system HRoT samochodu w postaci elementu barierowego na wejściu i wyjściu. Po włączeniu systemu bezpośrednio programowalna macierz bramek MachXO3D najpierw sprawdza, czy jej oprogramowanie układowe jest uwierzytelnione. Następnie sprawdza oprogramowanie układowe innych urządzeń w systemie. Jeśli którykolwiek z komponentów systemu zostanie zaatakowany lub zhakowany, włącznie z samą macierzą bramek, macierz bramek MachXO3D odrzuci podejrzane oprogramowanie układowe i ponownie wczyta ten składnik ze znanym dobrym, uwierzytelnionym obrazem oprogramowania układowego.
Dla deweloperów zainteresowanych ewaluacją projektów opartych na bezpośrednio programowalnych macierzach bramek MachXO3D przewidziano rozszerzalną platformę prototypowania w postaci płytki rozwojowej MachXO3D LCMXO3D-9400HC-D-EVN (ilustracja 3). Płytka ta posiada urządzenie do zarządzania sprzętem L-ASC10 (analogowy czujnik i sterownik), interfejs wejścia-wyjścia ogólnego przeznaczenia do użytku z płytkami Arduino i Raspberry Pi, dwie pozycje listwy Hirose FX12-40 (DNI), listwę Aardvark (DNI) oraz pamięć Flash z szeregowym interfejsem urządzeń peryferyjnych (SPI) 128Mbit z funkcją poczwórnego odczytu.
Ilustracja 3: płytka rozwojowa MachXO3D posiada bezpośrednio programowalną macierz bramek MachXO3D, urządzenie do zarządzania sprzętem L-ASC10 (analogowy czujnik i sterownik), obsługę płyt Arduino i Raspberry Pi, dwie pozycje listwy Hirose FX12-40 (DNI), listwę Aardvark oraz złącze USB-B do programowania urządzeń. (Źródło ilustracji: Lattice Semiconductor)
Płytka ma wymiary 4 x 6 cali, jest wyposażona w złącze USB mini-B do zasilania i programowania, a także wiele pozycji listwy do obsługi Arduino, Aardvark, FX12, Hirose i Raspberry Pi. W zestawie znajduje się zarówno kabel USB, jak i skrócona instrukcja obsługi.
Podsumowanie
Nowoczesna elektronika samochodowa wymaga coraz większej liczby czujników, interfejsów elektrycznych i protokołów spełniających odpowiednie wymagania w zakresie mocy obliczeniowej i przepustowości. Wdrażanie sprawdzonych rozwiązań z wykorzystaniem mikrokontrolerów MCU lub procesorów aplikacji AP komplikuje się w obliczu nowych funkcji przetwarzania sztucznej inteligencji i widzenia maszynowego, a także potrzeby spełnienia wymagań w zakresie zabezpieczeń.
Poprzez odpowiednie zastosowanie bezpośrednio programowalnych macierzy bramek (FPGA), projektanci mogą zwiększyć poziom elastyczności i mocy obliczeniowej pozwalający łączyć różne środowiska przetwarzania, wykonywać funkcje agregacji i łączenia czujników, spełniać wymagania dotyczące przepustowości wejść-wyjść oraz wykonywać obliczenia i operacje równolegle w sposób masowy, zwalniając procesory hosta do innych operacji.
Ze względów bezpieczeństwa bezpośrednio programowalna macierz bramek oparta na pamięci flash z funkcją podwójnego rozruchu i stałym silnikiem bezpieczeństwa z certyfikatem NIST może działać jako system HRoT samochodu i zapewniać, że zarówno na niej, jak i na innych urządzeniach, działa tylko uwierzytelnione oprogramowanie układowe, uniemożliwiając w ten sposób hakerom dokonanie ataku kryptograficznego na systemy samochodowe.
Materiały dodatkowe:
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.




