FPGA-k kiválasztása és használata autóipari csatlakozókhoz és illesztőfelületekhez, a gépkocsik feltörésvédelméhez és nagy számításigényű terhelésekhez

By Clive "Max" Maxfield

Contributed By DigiKey's North American Editors

A gépjárművekben a számítási feladatokat hagyományosan mikrovezérlő egységek (MCU-k) és célprocesszorok (AP-k) végzik. Egy jellegzetes középkategóriás jármű 25–35 mikrovezérlőt és célprocesszort is tartalmazhat, míg a luxusautókban 70 vagy több is lehet. A gépjárművek egyre nagyobb mértékben igényelnek rendkívül kifinomult, nagy számításigényű funkciókat olyan feladatokhoz, mint a fejlett vezetőtámogató rendszerek (ADAS), a tájékoztató és szórakoztató rendszer (infotainment), a vezérlés, a hálózatkezelés és a biztonság. Ezen felhasználási területek közül sokban használnak gépi látást kép- és videófeldolgozás formájában, mesterséges intelligenciával (AI vagy MI) párosítva.

Önmagában a processzorarchitektúra nehezen tudja kezelni az olyan perifériás eszközök által igényelt összes villamos csatlakozást és protokollt, mint az érzékelők, a kamerák és a kijelzők. Emellett sok esetben ezek a processzorok egyszerűen nem képesek kielégíteni az olyan feladatok rendkívül nagy számítási igényeit, mint a gépi látás és a mesterséges intelligencia.

Ennek az összetettségnek a kezelése érdekében az autóipari rendszerek tervezői helyben programozható logikai kapumátrixokat (FPGA) használnak, de nem azért, hogy a meglévő vezérlőegységeket és célprocesszorokat helyettesítsék, hanem inkább azért, hogy hidat képezzenek azok és más eszközök között, és hogy a kommunikáció és más számításigényes feladatok átvételével nagyobb teljesítmény tudjanak azokkal elérni.

Mivel az FPGA-kat lehet úgy programozni, hogy sokféle villamos csatlakozást és protokollt támogassanak, hidat képezhetnek a vezérlőegységek vagy célprocesszorok, valamint az érzékelők, kamerák és kijelzők között. Ezenkívül, mivel képesek a számításokat és műveleteket nagymértékben párhuzamos módon elvégezni, az FPGA-kat számításigényes képfeldolgozási és mesterséges intelligenciára alapuló feladatok végrehajtására is lehet használni, más tevékenységekre felszabadítva ezzel a főprocesszorokat.

Ez a cikk a korszerű járművek adatfeldolgozási követelményeit tárgyalja, és ismertet néhány olyan autóipari megoldást, amelyet FPGA-kkal lehet megvalósítani. Ezután mutat néhány példát a Lattice Semiconductor FPGA-inak használatára, és bemutatja, hogyan lehet ezeket felhasználni a csatlakoztathatósági, feldolgozási és biztonsági problémák megoldására. Ezenkívül bemutatjuk a hozzájuk társított fejlesztőkártyákat is, hogy segítsük a tervezőket a kezdeti lépések megtételében.

Az FPGA-k autóipari felhasználási célterületei

A fejlett vezetőtámogató rendszerekhez a mai autók többféle járművön kívüli érzékelőt használnak, köztük kamerákat, radart, LiDAR-t („lézeres radart”) és ultrahangos érzékelőket. Sok esetben van szükség arra, hogy különböző érzékelőkből származó adatokon előfeldolgozást végezzünk (a zaj eltávolítása és a szükséges formázás), majd úgy kombináljuk a különböző érzékelőkből származó adatokat, hogy az így kapott eredménynek kisebb legyen a bizonytalansága, mintha a különböző érzékelők adatait külön-külön használnánk. Sok esetben mesterséges intelligenciára épülő alkalmazásokat használnak az adatok elemzésére, a döntések meghozatalára és a megfelelő intézkedések megtételére.

Viszonylag új keletű trend az elektronikus (más néven „digitális”) visszapillantó tükrök használata. Ebben az esetben egy nagy felbontású nagy látószögű kamera van beépítve a hátsó ablakba. A kamera által küldött videó egy digitális kijelzőn jelenik meg, amely a hagyományos tükröt helyettesíti, így tiszta kilátás nyílik hátrafelé, amelyet nem akadályoznak a hátsó üléseken utazók. Bizonyos esetekben az oldalsó tükrökre szerelt kamerák videói is összevonhatók a hátsó ablak kamerájának élő videójával. Ezt a három képet informatikai úton összeillesztik egyetlen képpé, amely egy szuperszéles elektronikus tükörben jelenik meg, ezáltal a járművezető sokkal jobban áttekintheti, hogy mi történik a jármű körül.

Egy másik újabb irányzat a műszerfalra és a kormányoszlopra szerelt vagy a (hagyományos vagy elektronikus) visszapillantó tükörbe beépített, az utastérben elhelyezett kamerák használata. Ezek az utastérben elhelyezett kamerák mesterséges intelligenciával párosítva sokféle feladatra használhatók, például felismerik, hogy ki ül a vezetőülésben, és ennek megfelelően állítják be azt és a tükröket. Amellett, hogy egy ilyen rendszer figyeli a járművezetőt, és ügyel arra, hogy a vezető az útra figyeljen, és ne szundítson el, képes észlelni az álmosság jeleit is, valamint felismerni az olyan egészségügyi problémákat és vészhelyzeteket is, mint az epilepsziás roham vagy a szívroham, és megtenni a megfelelő intézkedéseket. Ilyen intézkedés lehet a vészvillogó bekapcsolása, a fékezés és a járműnek az út szélére kormányzása. További felhasználási módja lehet annak biztosítása, hogy kisgyermekek vagy háziállatok ne maradjanak tévedésből felügyelet nélkül a hátsó üléseken. Ilyen esetben a rendszer megakadályozza az autó bezárását, és villogtatja a lámpákat, valamint akkor is figyelmezteti a vezetőt, ha valaki a hátsó ülésen hagyott valamit, például mobiltelefont, táskát vagy csomagot.

A videón alapuló megoldásoknál egyes esetekben egyetlen bemenő videót kell több adatfolyamra felosztani, más esetekben több élő videó egyesítése a tervezési követelmény.

A villanyjárművek (EV-k) egyre szélesebb körű elterjedésével együtt jár a villanymotorok felügyeletének és vezérlésének igénye, valamint a töltési folyamat figyelésének és irányításának szükségessége az akkumulátorok maximális élettartamának elérése érdekében.

Mindezek tetejébe a mai autók közül egyre több lesz 5G- vagy V2X-kompatibilis, ahol a V2X (vehicle to anything – a jármű és bármi közötti kapcsolat) a jármű és az azzal kapcsolatos (vagy általa érintett) bármely más objektum közötti kommunikációra utal, az út menti infrastruktúrától kezdve a többi járműig. Ezzel a csatlakoztathatósággal együtt jár a biztonság, azaz a járműelektronika feltörésének megakadályozása iránti igény is.

Autóipari minőségű eszközök

Fontos megjegyezni, hogy nem minden FPGA alkalmas autóipari felhasználásra. Az Automotive Electronics Council (AEC) egy olyan szervezet, amelyet eredetileg a Chrysler, a Ford és a GM alapított az 1990-es években azzal a céllal, hogy egy közös alkatrész-minősítési és minőségbiztosítási rendszerhez szükséges szabványokat alkosson. Az egyik leggyakrabban hivatkozott AEC-dokumentum az AEC-Q100, amelynek a címe: Failure Mechanism Based Stress Test Qualification for Integrated Circuits (Integrált áramkörök meghibásodási mechanizmuson alapuló terhelési teszttel végzett minősítése).

Az IATF 16949:2016 egy olyan műszaki előírás, amelynek célja egy olyan minőségbiztosítási rendszer kialakítása, amely folyamatos javulást tesz lehetővé, hangsúlyt fektetve a hibák megelőzésére, valamint az eltérések és a hulladékok csökkentésére az autóipar ellátási láncában és összeszerelési folyamataiban. Az ISO 9001 szabványon alapuló IATF 16949:2016 előírást az IATF (International Automotive Task Force – Nemzetközi Autóipari Munkacsoport) és az ISO műszaki bizottsága hozta létre.

A gépjárműpiac elektronikai rendszerbeszállítói egyre inkább megkövetelik, hogy a félvezetőgyártók az AEC-Q100 szabványnak megfelelő termékeket szállítsanak, és igazolni tudják minőségbiztosítási rendszereik ISO/TS-16949 tanúsítását.

A feladathoz megfelelő FPGA kiválasztása

Az FPGA-k rendkívül rugalmasak, de a különböző eszközcsaládok a képességek és funkciók különböző kombinációit kínálják, amelyek egy-egy konkrét feladatra alkalmasabbá teszik ezeket az eszközöket. A beágyazott képalkotó alkalmazások esetében például a korszerű kamerák és kijelzők gyakran használnak MIPI illesztőfelületeket. A MIPI CSI-2 (kamera/érzékelő) és MIPI DSI (kijelző) protokoll egyaránt a D-PHY nevű kommunikációs fizikai réteget (PHY) használja. Lehet, hogy egyes régebbi vezérlőegységek és célprocesszorok nem támogatják ezt az illesztőfelületet, de más FPGA-k igen, ilyenek például a Lattice Semiconductor cég CrossLink-NX beágyazott képalkotó és -feldolgozó FPGA-jai.

A CrossLink-NX eszközök a PHY rétegenként 10 Gb/s átviteli sebességet támogató két négysávos, strapabíró MIPI D-PHY adó-vevő mellett támogatják az 5 Gb/s átviteli sebességű PCIe szabványt, a 1,5 Gb/s átviteli sebességű programozható be- és kimeneteket (I/O) és az 1066 Mb/s átviteli sebességű DDR3 szabványt is. Ezek az eszközök támogatják a hagyományos villamos csatlakozásokat és protokollokat is, amilyen például a kisfeszültségű különbségi jelátvitel (LVDS), a Sub-LVDS-t (az LVDS csökkentett feszültségű változata), az Open LVDS Display Interface (OLDI, nyílt LVDI kijelző-illesztőfelület) és a soros gigabites eszközfüggetlen illesztőfelület (SGMII). Ennek eredményeképpen ezek az eszközök használhatók élő videók egyesítésére és felosztására, mesterséges intelligenciára épülő alkalmazások futtatására, és – mindezek mellett – hídként is működhetnek a hagyományos vezérlőegységek és célprocesszorok, valamint a korszerű érzékelők és kijelzők között.

Azokat az autóipari rendszereket fejlesztő szakembereket, akik a CrossLink-NX FPGA-kat szeretnék értékelni, érdekelheti az LIFCL-VIP-SI-EVN CrossLink-NX VIP érzékelős bemeneti kártya (1. ábra) és az LF-EVDK1-EVN modulrendszerű beágyazott képalkotó készlet kombinációja (az előbbi bemeneti kártyaként is használható az utóbbihoz). A CrossLink-NX FPGA mellett az érzékelős bemeneti kártya négy 13 megapixeles Sony IMX258 CMOS MIPI képérzékelőt is tartalmaz, amelyek a 4K és 2K felbontást 30 képkocka/másodperc (fps), illetve az 1080p felbontást 60 fps felvételi sebességgel támogatják. A kártya támogatja ezenkívül az egyszerű érzékelőcsatlakoztatást is három független PMOD csatlakozón keresztül.

A Lattice Semiconductor cég CrossLink-NX VIP érzékelős bemeneti kártyájának képe1. ábra: A CrossLink-NX VIP érzékelős bemeneti kártyája, amely használható a beágyazott képalkotó készlet bemeneteként is, tartalmaz egy CrossLink-NX FPGA-t, és támogatja négy MIPI Sony IMX258 képérzékelő egyesítését (kép: Lattice Semiconductor)

A Lattice ECP5 FPGA-k a nagy be- és kimeneti sávszélességet igénylő számításigényes felhasználásokhoz – amilyen például a mesterséges intelligencia olyan feladatokhoz, mint a mozdulatfelismerés és -vezérlés, hangfelismerés és -vezérlés, az emberi jelenlét észlelése, az utasok azonosítása és a járművezető megfigyelése – akár 3,2 Gb/s átviteli sebességű sorosító/párhuzamosító (vagy szerializáló/deszerializáló, SERDES) eszközt, a nagyobb részletesség érdekében kétcsatornás blokkokban eszközönként akár négy csatornát, akár 85 ezer indextáblát (LUT), valamint a szimmetrikus szűrőkhöz kétszer annyi erőforrást biztosító korszerű digitális jelfeldolgozó (DSP) blokkokat kínálnak, és támogatják az egyszeri esemény miatti hibák (SEU) hatásának enyhítését. Ezek az FPGA-k programozható be- és kimeneti (I/O) támogatást nyújtanak az LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL és MIPI D-PHY I/O illesztőfelületekhez.

Az LFE5U-85F-6BG554C egy ECP5 eszköz, 84 000 logikai elemmel, 3,75 MB RAM-mal és 259 be- és kimeneti (I/O) csatornával. Szintén érdekes az LFE5UM-45F-VERSA-EVNG ECP5 Versa fejlesztőkészlet is (2. ábra). A kártya fél hosszúságú PCI Express (PCIe) méretű, és lehetővé teszi a tervezők számára az ECP5 FPGA kulcsfontosságú csatlakozási jellemzőinek értékelését, beleértve a PCIe-, Gigabit Ethernet (GbE)-, DDR3- és általános SERDES-teljesítményt.

A Lattice Semiconductor cég ECP5 Versa fejlesztőkészletének képe2. ábra: Az ECP5 Versa fejlesztőkészlet fél hosszúságú PCI Express méretű, és segítségével a tervezők értékelhetik az ECP5 FPGA legfontosabb csatlakozási jellemzőit, beleértve a PCIe-, GbE-, DDR3- és általános SERDES-teljesítményt is (kép: Lattice Semiconductor)

A gépkocsik elektronikájának feltörés elleni védelme FPGA-k segítségével

A gépkocsi elektronikájának feltörése jelentette biztonsági fenyegetések egyre nőnek, folyamatosan történnek újabb és újabb jogsértések. A gépkocsik esetében az informatikai támadás az irányítás elvesztését okozhatja, ami az utasok és a gyalogosok sérüléséhez vagy halálához, valamint a gépkocsi, más járművek és a tulajdon károsodásához vezethet.

A gépkocsik feltörésvédelmi megoldásának jelentős részét képezi egy megbízhatósági alappont (RoT, root of trust) létrehozása a rendszeren belül, azaz egy olyan hardveres erőforrásé, amely mindig megbízható. Az egyik megoldás az FPGA-alapú hardveres megbízhatósági alappont (HRoT), amilyen például a Lattice Semiconductor cég MachXO3D eszközcsaládja. A tekintélyes indextábla-erőforrások és a nagyszámú be- és kimenet mellett ezek a flashmemória alapú eszközök azonnali bekapcsolási és kikapcsolás nélküli csatlakoztathatósági képességgel rendelkeznek. Az általános célú felhasználási területei közé tartozik az illesztőlogika, a sínösszekötések, a sínillesztés, a motorvezérlés, a bekapcsolásvezérlés és más vezérlőlogikai megoldások.

Különösen érdekes az a tény, hogy a MachXO3D az egyetlen olyan kettős rendszerindítási képességgel és emellett 10 ezernél kevesebb indextáblával rendelkező FPGA, amelynek megváltoztathatatlan biztonsági programmagja („motorja”) megkapta a National Institute of Standards and Technology (NIST, Nemzeti Műszaki és Szabványügyi Intézet) nyomtatott tanúsítványát. Ez lehetővé teszi, hogy a MachXO3D a rendszer elsőként bekapcsoló és utolsóként kikapcsoló eszköze formájában a gépkocsi hardveres megbízhatósági alappontjaként (HRoT) működjön. A rendszer bekapcsolásakor a MachXO3D először azt ellenőrzi, hogy hitelesített firmware (belső vezérlőprogram) fut-e rajta. Ezután megvizsgálja a rendszerben lévő többi eszköz firmware-ét. Ha a rendszer bármelyik összetevőjét – saját magát is beleértve – megtámadják vagy feltörik, a MachXO3D elutasítja a gyanús firmware-t, és egy ismerten jó, hitelesített firmware-képet tölt az adott összetevőre.

A MachXO3D-re épülő eszközök kiértékelése iránt érdeklődő fejlesztők számára az LCMXO3D-9400HC-D-EVN MachXO3D fejlesztőkártya bővíthető prototípustervező platformot kínál (3. ábra). A kártya tartalmaz egy L-ASC10 (analóg érzékelő és vezérlő) hardverkezelő egységet, egy általános célú be- és kimeneti (I/O) illesztőegységet az Arduino és a Raspberry Pi kártyákkal való használathoz, két Hirose FX12-40 csatlakozót (DNI), egy Aardvark csatlakozót (DNI) és egy 128 MB-os soros perifériaillesztő (SPI) flashmemóriát Quad-olvasási funkcióval.

A Lattice Semiconductor cég MachXO3D fejlesztőkártyájának képe3. ábra: A MachXO3D fejlesztőkártya tartalmaz egy MachXO3D FPGA-t, egy L-ASC10 (analóg érzékelő és vezérlő) hardverkezelő egységet, támogatást az Arduino és Raspberry Pi kártyához, két Hirose FX12-40 csatlakozót (DNI), egy Aardvark csatlakozót és egy USB-B csatlakozót az eszköz programozásához (kép: Lattice Semiconductor)

A lap 4 × 6 hüvelyk (10 cm × 15 cm) méretű, és mini USB-B csatlakozóval van ellátva az áramellátáshoz és a programozáshoz, valamint több egyéb csatlakozóval, amelyek lehetővé teszik az Arduino, Aardvark, FX12, Hirose és Raspberry Pi eszköz csatlakoztatását. A készülékhez egy USB-kábel és egy alapszintű használati utasítás is tartozik.

Összegzés

A korszerű járműelektronika egyre több érzékelőt, villamos csatlakozót és protokollt tesz szükségessé, ennek megfelelő feldolgozási teljesítménnyel és sávszélességgel. A mesterséges intelligencia megjelenése és a gépi látás feldolgozása, valamint a biztonsági követelmények megnehezítik a hagyományos, vezérlőegységekre és célprocesszorokra épülő megoldások használatát.

Mint látható, az FPGA-k megfelelő alkalmazásával a tervezők olyan mértékű rugalmassággal és feldolgozási teljesítménnyel egészíthetik ki a készülékeket, amely képes összekötni a különböző feldolgozási környezeteket, elvégezni az érzékelők jelének egyesítésével járó funkciókat, kielégítik a be- és kimeneti sávszélességre vonatkozó követelményeket, valamint képesek nagymértékben párhuzamos módon végezni a számításokat és más műveleteket, miközben felszabadítják a főprocesszorokat más tevékenységekre.

A biztonság érdekében egy kettős rendszerindítási képességgel felruházott és NIST tanúsítvánnyal rendelkező megváltoztathatatlan biztonsági programmaggal ellátott, flashmemória alapú FPGA betöltheti a gépkocsi hardveres megbízhatósági alappontjának (HRoT) szerepét, és biztosíthatja, hogy maga az FPGA – és más eszközök – csak hitelesített firmware-t futtassanak, megakadályozva ezzel, hogy a számítógépkalózok (nemzetközileg elterjedt angol szóval hackerek) feltörjék a gépkocsi rendszereinek titkosítását.

További ajánlott irodalom:

  1. Fundamentals of FPGAs: What Are FPGAs and Why Are They Needed? (Az FPGA-k alapjai: mi az az FPGA, és miért van rá szükség?)
DigiKey logo

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.

About this author

Image of Max Maxfield

Clive "Max" Maxfield

Clive "Max" Maxfield received his BSc in Control Engineering in 1980 from Sheffield Hallam University, England and began his career as a designer of central processing units (CPUs) for mainframe computers. Over the years, Max has designed everything from silicon chips to circuit boards and from brainwave amplifiers to steampunk Prognostication Engines (don't ask). He has also been at the forefront of Electronic Design Automation (EDA) for more than 30 years.

Max is the author and/or co-author of a number of books, including Designus Maximus Unleashed (banned in Alabama), Bebop to the Boolean Boogie (An Unconventional Guide to Electronics), EDA: Where Electronics Begins, FPGAs: Instant Access, and How Computers Do Math. Check out his “Max’s Cool Beans” blog.

About this publisher

DigiKey's North American Editors