Sélection et utilisation de FPGA pour l'interfaçage, la sécurité et les charges de calcul intensives dans le secteur automobile
Avec la contribution de Rédacteurs nord-américains de DigiKey
2022-01-12
Traditionnellement, les tâches de calcul dans les automobiles sont effectuées par des microcontrôleurs (MCU) et des processeurs d'application (AP). Un véhicule de milieu de gamme classique peut contenir 25 à 35 MCU/AP, tandis que les voitures de luxe peuvent en comporter 70 ou plus. De plus en plus, les automobiles nécessitent des capacités de calcul intensives et extrêmement sophistiquées pour des tâches telles que les systèmes avancés d'aide à la conduite (ADAS), l'infodivertissement, le contrôle, la mise en réseau et la sécurité. Nombre de ces applications font appel à la vision artificielle sous la forme d'un traitement d'images et de vidéos, associé à l'intelligence artificielle (IA).
Seule, l'architecture du processeur peine à gérer tous les protocoles et interfaces électriques exigés par les périphériques, tels que les capteurs, les caméras et les écrans. En outre, dans de nombreux cas, ces processeurs ne peuvent tout simplement pas répondre aux besoins de calcul extrêmes de tâches telles que la vision artificielle et l'IA.
Pour faire face à cette complexité, les concepteurs de systèmes automobiles se tournent vers les réseaux de portes programmables par l'utilisateur (FPGA), non pas pour remplacer les MCU/AP existants, mais plutôt pour servir de passerelle entre eux et d'autres dispositifs, et pour les compléter en les déchargeant des communications et d'autres tâches nécessitant des calculs intensifs.
Comme les FPGA peuvent être programmés pour prendre en charge une grande variété de protocoles et d'interfaces électriques, ils peuvent servir de passerelles entre les MCU/AP et les capteurs, les caméras et les écrans. De plus, comme ils peuvent effectuer des calculs et des opérations en parallèle de manière massive, les FPGA peuvent être utilisés pour exécuter des tâches de traitement de la vision et d'IA à forte intensité de calcul, libérant ainsi les processeurs hôtes pour d'autres activités.
Cet article traite des exigences de traitement des véhicules modernes et décrit certaines des applications automobiles qui peuvent être prises en charge par les FPGA. Il présente ensuite quelques exemples de FPGA de Lattice Semiconductor et montre comment ils peuvent être utilisés pour résoudre des problèmes de connectivité, de traitement et de sécurité. Des cartes de développement associées sont également présentées pour aider les concepteurs à bien démarrer.
Cibler les applications automobiles pour les FPGA
Pour soutenir leurs fonctionnalités ADAS, les automobiles modernes utilisent de nombreux capteurs à l'extérieur du véhicule, notamment des caméras, des radars, des dispositifs LiDAR et des détecteurs à ultrasons. Dans de nombreux cas, il est nécessaire de collecter des données provenant de capteurs disparates, de prétraiter ces données (en éliminant le bruit et en les formatant si nécessaire) et d'utiliser la fusion de capteurs pour combiner les données afin que les informations résultantes soient moins incertaines que si les données des différents capteurs étaient utilisées individuellement. La plupart du temps, des applications d'IA sont utilisées pour analyser les données, ainsi que pour prendre des décisions et des mesures appropriées.
Parmi les tendances relativement récentes, on trouve le déploiement de rétroviseurs électroniques (également appelés « numériques »). Dans ce cas, une caméra grand angle à haute résolution est installée à l'intérieur de la lunette arrière. Le flux vidéo de cette caméra est présenté sur un écran numérique qui remplace le rétroviseur traditionnel, ce qui permet d'avoir une vue dégagée vers l'arrière, sans être gêné par les passagers des sièges arrière. Dans certains cas, les flux vidéo provenant des caméras montées sur les rétroviseurs latéraux peuvent être fusionnés avec le flux vidéo émanant de la caméra de la lunette arrière. Ces trois flux sont « réunis » afin de fournir une image unique qui est présentée sur un rétroviseur électronique extrêmement large, offrant ainsi au conducteur un degré beaucoup plus élevé de conscience situationnelle concernant ce qui se passe autour du véhicule.
Une autre tendance récente consiste à déployer des caméras dans l'habitacle, montées sur le tableau de bord, sur la colonne de direction ou intégrées au rétroviseur (ordinaire ou électronique). Associés à l'intelligence artificielle, ces rétroviseurs d'habitacle peuvent être utilisés pour une grande variété de tâches, comme la reconnaissance de la personne assise sur le siège du conducteur et le réglage de ce siège et des rétroviseurs en conséquence. En plus de surveiller les conducteurs pour s'assurer qu'ils sont attentifs à la route et qu'ils ne s'assoupissent pas, un tel système peut également rechercher des signes de somnolence, ainsi que des problèmes médicaux ou de détresse, tels qu'une crise d'épilepsie ou une crise cardiaque, et prendre les mesures appropriées. Ces actions peuvent consister à activer les feux de détresse, à freiner et à guider le véhicule sur le côté de la route. D'autres applications permettent de s'assurer que les jeunes enfants et les animaux domestiques ne sont pas laissés par inadvertance sans surveillance sur les sièges arrière, en empêchant le verrouillage de la voiture et en faisant clignoter les feux. Il est également possible d'alerter le conducteur si un passager oublie quelque chose comme un téléphone, un sac ou un paquet sur le siège arrière.
En ce qui concerne les applications vidéo, dans certains cas, il est nécessaire de diviser une entrée vidéo unique en plusieurs flux ; dans d'autres, il peut être nécessaire de regrouper plusieurs flux vidéo en un seul.
Le déploiement croissant des véhicules électriques (VE) s'accompagne de la nécessité de surveiller et de contrôler les moteurs, ainsi que de surveiller et de gérer le processus de charge de manière à obtenir une durée de vie maximale des batteries.
En outre, de nombreuses automobiles actuelles commencent à être équipées de la 5G ou de la technologie V2X, où V2X (« vehicle to anything », véhicule avec tout) fait référence à la communication entre un véhicule et toute autre entité susceptible d'affecter (ou d'être affectée par) le véhicule, de l'infrastructure routière aux autres véhicules. Cette connectivité s'accompagne d'un besoin de sécurité pour éviter que le véhicule ne soit piraté.
Dispositifs pour l'industrie automobile
Il est important de rappeler que tous les FPGA ne conviennent pas aux applications automobiles. L'Automotive Electronics Council (AEC) est une organisation créée dans les années 1990 par Chrysler, Ford et GM, dans le but d'établir des normes communes de qualification des pièces et des systèmes de qualité. L'un des documents de l'AEC les plus souvent cités est l'AEC-Q100, « Failure Mechanism Based Stress Test Qualification for Integrated Circuits ».
L'IATF 16949:2016 est une spécification technique visant le développement d'un système de gestion de la qualité qui prévoit une amélioration continue, en mettant l'accent sur la prévention des défauts et la réduction des variations et des déchets dans la chaîne d'approvisionnement et le processus d'assemblage de l'industrie automobile. Basée sur la norme ISO 9001, la spécification IATF 16949:2016 a été créée par le groupe de travail international sur l'automobile (IATF) et le comité technique de l'ISO.
Les fournisseurs de systèmes électroniques destinés au marché automobile exigent de plus en plus que les fournisseurs de semi-conducteurs mettent à disposition des produits conformes à la norme AEC-Q100 et puissent démontrer la certification ISO/TS-16949 de leurs systèmes de qualité.
Choisir le FPGA adapté à la tâche
Les FPGA sont extrêmement flexibles, mais les différentes familles de dispositifs offrent diverses combinaisons de capacités et de fonctions qui les rendent mieux adaptés à certaines tâches spécifiques. Dans le cas des applications de vision embarquées, par exemple, les caméras et les écrans modernes utilisent souvent des interfaces MIPI. Les protocoles MIPI CSI-2 (caméra/capteur) et DSI (écran) utilisent tous deux une couche physique de communication (PHY) appelée D-PHY. Les MCU/AP existants peuvent ne pas prendre en charge cette interface, mais certains FPGA le font, comme les FPGA de vision et de traitement embarqués CrossLink-NX de Lattice Semiconductor.
En plus de deux émetteurs-récepteurs MIPI D-PHY renforcés à quatre voies prenant en charge 10 gigabits par seconde (Gbits/s) par PHY, les dispositifs CrossLink-NX prennent également en charge les PCIe 5 Gbits/s, les entrées/sorties (E/S) programmables 1,5 Gbits/s et une DDR3 de 1066 mégabits par seconde (Mbits/s). Ces dispositifs acceptent également les protocoles et les interfaces électriques traditionnels, tels que la signalisation différentielle à basse tension (LVDS), le Sub-LVDS (une version à tension réduite de LVDS), l'interface d'affichage Open LVDS (OLDI) et l'interface série gigabit indépendante du support (SGMII). Par conséquent, ces dispositifs peuvent être utilisés pour agréger des flux vidéo, les diviser, exécuter des applications d'intelligence artificielle et, dans le même temps, servir de passerelle entre les anciens MCU/AP et les capteurs et écrans modernes.
Les développeurs de systèmes automobiles qui cherchent à évaluer les FPGA CrossLink-NX trouveront intéressante la combinaison de la carte d'entrée de capteur VIP CrossLink-NX LIFCL-VIP-SI-EVN (Figure 1) et du kit de vision embarqué modulaire LF-EVDK1-EVN (la première pouvant servir de carte d'entrée pour le second). En plus d'un FPGA CrossLink-NX, la carte d'entrée du capteur comprend également quatre capteurs d'images MIPI CMOS IMX258 de Sony de 13 mégapixels, prenant en charge 4K2K à 30 images par seconde (fps) ou 1080p à 60 fps. Elle prend également en charge une connectivité facile des capteurs grâce à trois interfaces PMOD indépendantes.
Figure 1 : La carte d'entrée de capteur VIP CrossLink-NX, qui peut servir d'entrée au kit de développement de vision embarqué, contient un FPGA CrossLink-NX et prend en charge l'agrégation de quatre capteurs d'images MIPI IMX258 de Sony. (Source de l'image : Lattice Semiconductor)
Pour les applications à calcul intensif qui exigent également une bande passante d'E/S élevée - comme l'IA pour des tâches telles que la reconnaissance et la commande gestuelles, la reconnaissance et la commande vocales, la détection de présence humaine, l'identification des occupants et la surveillance du conducteur - les FPGA ECP5 de Lattice présentent un sérialiseur/désérialiseur (SERDES) pouvant atteindre 3,2 Gbit/s, jusqu'à quatre canaux par dispositif dans des blocs à double canal pour une granularité plus élevée, jusqu'à 85 000 tables de correspondance (LUT), des blocs de traitement des signaux numériques (DSP) améliorés qui fournissent une amélioration des ressources deux fois plus importante pour les filtres symétriques, et une prise en charge de l'atténuation des perturbations par une particule isolée (PPI). Ces FPGA offrent également une prise en charge des E/S programmables pour les interfaces d'E/S MIPI D-PHY, LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS et LVPECL.
Le LFE5U-85F-6BG554C est un exemple de dispositif ECP5 avec 84 000 éléments logiques, 3,75 mégabits (Mb) de RAM et 259 entrées/sorties. Le kit de développement ECP5 Versa LFE5UM-45F-VERSA-EVNG est également intéressant (Figure 2). La carte utilise un facteur de forme PCI Express (PCIe) demi-longueur et permet aux concepteurs d'évaluer les principales caractéristiques de connectivité du FPGA ECP5, notamment les performances PCIe, Gigabit Ethernet (GbE), DDR3 et SERDES générique.
Figure 2 : Présenté dans un facteur de forme PCI Express demi-longueur, le kit de développement ECPe Versa permet aux concepteurs d'évaluer les principales caractéristiques de connectivité du FPGA ECP5, notamment les performances PCIe, GbE, DDR3 et SERDES générique. (Source de l'image : Lattice Semiconductor)
Sécuriser les automobiles à l'aide de FPGA
Les menaces de sécurité liées au piratage informatique sont de plus en plus nombreuses, et de nouveaux incidents se produisent constamment. Dans le cas des automobiles, une cyberattaque pourrait provoquer une perte de contrôle du véhicule, entraînant des blessures ou le décès des passagers et des piétons, ainsi que des dommages à la voiture, aux autres véhicules et aux biens.
Une grande partie de la solution de sécurité d'une automobile consiste à établir une racine de confiance (RoT), c'est-à-dire une ressource matérielle du système à laquelle on peut toujours faire confiance. L'une des solutions repose sur une racine de confiance (RoT) matérielle (HRoT) basée sur un FPGA, comme celle fournie par la gamme de dispositifs MachXO3D de Lattice. En plus de ressources LUT substantielles et d'un grand nombre d'E/S, ces dispositifs basés sur la technologie Flash offrent des capacités d'allumage instantané et de connexion à chaud. Les applications générales comprennent la logique de liaison, le pontage de bus, l'interface de bus, la commande de moteur, la commande de mise sous tension et d'autres applications de logique de commande.
Il est particulièrement intéressant de noter que le MachXO3D est le seul FPGA doté à la fois d'une capacité de double démarrage et de moins de 10 000 tables LUT, qui soit équipé d'un moteur de sécurité immuable certifié par le NIST (National Institute of Standards and Technology). Cela permet au MachXO3D d'agir comme la racine HRoT de l'automobile, sous la forme d'un dispositif « premier activé, dernier désactivé » du système. Lorsque le système est mis sous tension, le MachXO3D s'assure d'abord qu'il exécute un micrologiciel authentifié. Il vérifie ensuite le micrologiciel des autres dispositifs du système. Si l'un des composants du système est attaqué ou compromis, y compris lui-même, le MachXO3D rejette le micrologiciel suspect et recharge ce composant à partir d'une image du micrologiciel authentifiée et de qualité connue.
Pour les développeurs désireux d'évaluer les conceptions basées sur MachXO3D, la carte de développement MachXO3D LCMXO3D-9400HC-D-EVN fournit une plateforme de prototypage extensible (Figure 3). Cette carte comporte un dispositif de gestion matérielle L-ASC10 (détection et commande analogiques), une interface d'E/S à usage général pour une utilisation avec des cartes Arduino et Raspberry Pi, deux positions d'embase FX12-40 (DNI) de Hirose, une embase Aardvark (DNI) et une interface périphérique série (SPI) Flash de 128 Mb avec fonction de lecture quadruple.
Figure 3 : La carte de développement MachXO3D comporte un FPGA MachXO3D, un dispositif de gestion matérielle L-ASC10 (détection et commande analogiques), un support pour les cartes Arduino et Raspberry Pi, deux positions d'embase FX12-40 (DNI) de Hirose, une embase Aardvark et une connexion USB-B pour la programmation de dispositifs. (Source de l'image : Lattice Semiconductor)
La carte se présente sous un format de 101,6 mm x 152,4 mm et dispose d'un connecteur USB mini-B pour l'alimentation et la programmation, ainsi que de plusieurs emplacements pour des connecteurs compatibles avec Arduino, Aardvark, FX12, Hirose et Raspberry Pi. Un câble USB et un guide de démarrage rapide sont fournis.
Conclusion
L'électronique automobile moderne nécessite un nombre toujours plus grand de capteurs, de protocoles et d'interfaces électriques, avec des exigences correspondantes en matière de puissance de traitement et de bande passante. L'ajout de l'intelligence artificielle et du traitement de la vision artificielle, ainsi que les exigences de sécurité, compliquent la mise en œuvre de solutions utilisant les approches classiques des microcontrôleurs ou des processeurs d'application.
Comme démontré précédemment, grâce à une utilisation appropriée des FPGA, les concepteurs peuvent ajouter un degré de flexibilité et de puissance de traitement permettant de relier des environnements de traitement disparates, d'exécuter des fonctions d'agrégation et de fusion de capteurs, de répondre aux exigences de bande passante d'E/S et d'effectuer des calculs et des opérations en parallèle de manière massive, tout en libérant les processeurs hôtes pour d'autres activités.
Pour ce qui est de la sécurité, un FPGA basé sur la technologie Flash, doté d'une capacité de double démarrage et d'un moteur de sécurité immuable certifié par le NIST, peut faire office de racine de confiance matérielle HRoT de l'automobile et s'assurer qu'il exécute, tout comme les autres dispositifs, uniquement des micrologiciels authentifiés, empêchant ainsi les pirates de compromettre les systèmes de l'automobile par cryptographie.
Articles associés :

Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.