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
Contributed By DigiKey's North American Editors
2022-01-12
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.
1. á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.
2. á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.
3. á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:
- 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?)
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.




