La selección y el uso de FPGA para la interconexión, la seguridad y las cargas informáticas intensivas en la automoción
Colaboración de Editores de DigiKey de América del Norte
2022-01-12
Tradicionalmente, las tareas de cálculo en los automóviles han sido realizadas por unidades de microcontroladores (MCU) y procesadores de aplicaciones (AP). Un vehículo típico de gama media puede contener entre 25 y 35 MCU/AP, mientras que los coches de lujo pueden emplear 70 o más. Cada vez más, los automóviles requieren capacidades extremadamente sofisticadas y de gran intensidad computacional para tareas como los sistemas avanzados de asistencia al conductor (ADAS), el infoentretenimiento, el control, la conexión en red y la seguridad. Muchas de estas aplicaciones implican la visión artificial en forma de procesamiento de imágenes y víieos junto con la inteligencia artificial (IA).
Por sí sola, la arquitectura del procesador tiene dificultades para gestionar todas las interfaces y protocolos eléctricos que exigen los dispositivos periféricos como sensores, cámaras y pantallas. Además, en muchos casos, estos procesadores simplemente no pueden satisfacer las extremas demandas computacionales de tareas como la visión artificial y la IA.
Para hacer frente a esta complejidad, los diseñadores de sistemas de automoción están recurriendo a las matrices de puertas programables en campo (FPGA), no para sustituir a las MCU/AP existentes, sino para que actúen como puentes entre ellas y otros dispositivos, y para aumentarlas descargando las comunicaciones y otras tareas de cálculo intensivo.
Dado que las FPGA pueden programarse para soportar una amplia variedad de interfaces y protocolos eléctricos, pueden actuar como puentes entre las MCU/AP y los sensores, cámaras y pantallas. Además, como pueden realizar cálculos y operaciones de forma masivamente paralela, las FPGA pueden utilizarse para ejecutar tareas de procesamiento de la visión e inteligencia artificial de alta intensidad computacional, liberando así a los procesadores anfitriones para otras actividades.
En este artículo se analizan los requisitos de procesamiento de los vehículos modernos y se describen algunas de las aplicaciones de automoción a las que pueden dar respuesta las FPGA. A continuación, presenta algunos ejemplos de FPGA de Lattice Semiconductor y muestra cómo pueden utilizarse para resolver problemas de conectividad, procesamiento y seguridad. También se presentan las placas de desarrollo asociadas para ayudar a los diseñadores a empezar.
Aplicaciones de automoción para FPGA
Para apoyar sus capacidades ADAS, los automóviles actuales emplean muchos sensores fuera del vehículo, como cámaras, radares, LiDAR y detectores ultrasónicos. En muchos casos, es necesario tomar datos de sensores dispares, preprocesar estos datos (eliminando el ruido y dándoles el formato necesario) y utilizar la fusión de sensores para combinar los datos de manera que la información resultante tenga menos incertidumbre que la que sería posible si los datos de los diferentes sensores se utilizaran individualmente. En muchos casos, se emplean aplicaciones de IA para analizar los datos, tomar decisiones y adoptar las medidas adecuadas.
Una tendencia relativamente reciente es el despliegue de espejos retrovisores electrónicos (también conocidos como "digitales"). En este caso, se instala una cámara gran angular de alta resolución en el interior de la luneta trasera. El stream de video de esta cámara se presenta en una pantalla digital que sustituye al retrovisor tradicional, lo que da como resultado una visión trasera clara que no está obstruida por los pasajeros de los asientos traseros. En algunos casos, los flujos de video de las cámaras montadas en los espejos laterales pueden fusionarse con el flujo de video de la cámara de la ventana trasera. Estas tres fuentes se "cosen" para proporcionar una sola imagen que se presenta en un espejo electrónico superancho, proporcionando así al conductor un grado mucho mayor de conocimiento de la situación en cuanto a lo que sucede alrededor del vehículo.
Otra tendencia reciente es desplegar cámaras en la cabina montadas en el salpicadero, en la columna de dirección o integradas en el espejo retrovisor (normal o electrónico). Cuando se combinan con la IA, estos espejos de la cabina pueden emplearse para una amplia variedad de tareas, como reconocer quién está sentado en el asiento del conductor y ajustar éste y los espejos en consecuencia. Además de vigilar a los conductores para asegurarse de que prestan atención a la carretera y no se quedan dormidos, un sistema de este tipo también puede buscar signos de somnolencia, así como problemas médicos o de angustia, como un ataque epiléptico o un infarto, y tomar las medidas oportunas. Estas acciones pueden incluir la activación de las luces de emergencia, la aplicación de los frenos y la orientación del vehículo hacia el lado de la carretera. Otras aplicaciones son garantizar que los niños pequeños y las mascotas no se queden por error sin vigilancia en los asientos traseros, evitando que el coche se bloquee y haciendo parpadear las luces, y alertando al conductor si un pasajero deja algo como un teléfono, una bolsa o un paquete en el asiento trasero.
En lo que respecta a las aplicaciones basadas en vídeo, en algunos casos es necesario dividir una única entrada de vídeo en múltiples flujos; en otros, un requisito de diseño puede ser agregar múltiples stream de video en uno solo.
Con el creciente despliegue de los vehículos eléctricos (VE) surge la necesidad de supervisar y controlar los motores, así como de supervisar y gestionar el proceso de carga para lograr la máxima duración de las baterías.
Además de todo esto, muchos de los automóviles actuales están empezando a estar habilitados para 5G o V2X, donde V2X ("vehicle to anything") se refiere a la comunicación entre un vehículo y cualquier otra entidad que pueda afectar (o ser afectada por) el vehículo, desde la infraestructura de la carretera hasta otros vehículos. Junto con esta conectividad viene la necesidad de seguridad para evitar que el vehículo sea hackeado.
Dispositivos de grado automotriz
Es importante recordar que no todas las FPGA son adecuadas para las aplicaciones de automoción. El Consejo de Electrónica del Automóvil (AEC) es una organización creada originalmente en la década de 1990 por Chrysler, Ford y GM con el fin de establecer normas comunes de calificación de piezas y sistemas de calidad. Uno de los documentos de la AEC más citados es el AEC-Q100,"Failure Mechanism Based Stress Test Qualification for Integrated Circuits".
La norma IATF 16949:2016 es una especificación técnica dirigida al desarrollo de un sistema de gestión de la calidad que prevé la mejora continua, haciendo hincapié en la prevención de defectos y la reducción de la variación y los residuos en la cadena de suministro y el proceso de montaje de la industria del automóvil. Basada en la norma ISO 9001, la IATF 16949:2016 fue creada por el Grupo de Trabajo Internacional de Automoción (IATF) y el Comité Técnico de ISO.
Los proveedores de sistemas electrónicos para el mercado de la automoción exigen cada vez más que los proveedores de semiconductores proporcionen productos que cumplan la norma AEC-Q100 y puedan demostrar la certificación ISO/TS-16949 de sus sistemas de calidad.
Elegir la FPGA adecuada para el trabajo
Las FPGA son extremadamente flexibles, pero las diferentes familias de dispositivos ofrecen diversas combinaciones de capacidades y funciones que las hacen más adecuadas para tareas específicas. En el caso de las aplicaciones de visión integradas, por ejemplo, las cámaras y pantallas modernas suelen emplear interfaces MIPI. Los protocolos MIPI CSI-2 (cámara/sensor) y DSI (pantalla) emplean una capa física de comunicaciones (PHY) denominada D-PHY. Es posible que las MCU/AP heredadas no admitan esta interfaz, pero algunas FPGA sí, como las FPGA de visión y procesamiento integrados CrossLink-NX de Lattice Semiconductor.
Además de dos transceptores MIPI D-PHY de cuatro carriles reforzados que admiten 10 gigabits por segundo (Gbits/s) por PHY, los dispositivos CrossLink-NX también admiten PCIe de 5 Gbits/s, entradas/salidas programables (E/S) de 1,5 Gbits/s y DDR3 de 1066 megabits por segundo (Mbits/s). Estos dispositivos también son compatibles con las interfaces y protocolos eléctricos tradicionales, como la señalización diferencial de bajo voltaje (LVDS), la Sub-LVDS (una versión de voltaje reducido de LVDS), la interfaz de pantalla LVDS abierta (OLDI) y la interfaz de medios independientes de gigabits en serie (SGMII). Como resultado, estos dispositivos pueden utilizarse para agregar stream de video, dividirlos, ejecutar aplicaciones de inteligencia artificial y, al mismo tiempo, actuar como puentes entre las MCU/AP heredadas y los sensores y pantallas modernos.
Los desarrolladores de sistemas de automoción que deseen evaluar las FPGA CrossLink-NX encontrarán interesante la combinación de la tarjeta de entrada de sensores LIFCL-VIP-SI-EVN CrossLink-NX VIP (Figura 1) y el kit de visión modular integrada LF-EVDK1-EVN (el primero puede actuar como tarjeta de entrada para el segundo). Además de una FPGA CrossLink-NX, la tarjeta de entrada del sensor también cuenta con cuatro sensores de imagen CMOS MIPI Sony IMX258 de 13 megapíxeles, que admiten 4K2K a 30 fotogramas por segundo (fps) o 1080p a 60 fps. También admite una fácil conectividad de los sensores a través de tres interfaces PMOD independientes.
Figura 1: La tarjeta de entrada del sensor CrossLink-NX VIP, que puede actuar como entrada del kit de desarrollo de visión integrado, contiene una FPGA CrossLink-NX y admite la agregación de cuatro sensores de imagen MIPI Sony IMX258. (Fuente de la imagen: Lattice Semiconductor)
Para las aplicaciones de cálculo intensivo que también exigen un gran ancho de banda de E/S, como la IA para tareas como el reconocimiento y control de gestos, el reconocimiento y control de voz, la detección de presencia humana, la identificación de ocupantes y la supervisión de conductores, los FPGA ECP5 de Lattice cuentan con un serializador/deserializador (SERDES) de hasta 3.2 Gbit/s (SERDES), hasta cuatro canales por dispositivo en bloques de doble canal para una mayor granularidad, hasta 85K tablas de consulta (LUT), bloques de procesamiento de señales digitales (DSP) mejorados que proporcionan una mejora de recursos del doble para filtros simétricos, y soporte de mitigación de eventos únicos (SEU). Estos FPGA también ofrecen soporte de E/S programable para interfaces de E/S LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL y MIPI D-PHY.
Un ejemplo de dispositivo ECP5 es el LFE5U-85F-6BG554C con 84.000 elementos lógicos, 3.75 megabits (Mbits) de RAM y 259 E/S. También es interesante el kit de desarrollo LFE5UM-45F-VERSA-EVNG ECP5 Versa (Figura 2). La placa utiliza un factor de forma PCI Express (PCIe) de media longitud y permite a los diseñadores evaluar las principales características de conectividad de la FPGA ECP5, incluyendo PCIe, Gigabit Ethernet (GbE), DDR3 y el rendimiento genérico de SERDES.
Figura 2: Presentado en un factor de forma PCI Express de media longitud, el kit de desarrollo ECPe Versa permite a los diseñadores evaluar las principales características de conectividad de la FPGA ECP5, incluido el rendimiento de PCIe, GbE, DDR3 y SERDES genérico. (Fuente de la imagen: Lattice Semiconductor)
Seguridad de los automóviles mediante FPGA
Las amenazas a la seguridad derivadas de la piratería informática van en aumento y constantemente se producen nuevas infracciones. En el caso de los automóviles, un ciberataque podría causar la pérdida de control, con el resultado de lesiones o la muerte de los pasajeros y peatones, y daños al coche, a otros vehículos y a la propiedad.
Una gran parte de la solución de seguridad de un automóvil consiste en establecer una raíz de confianza (RoT); es decir, un recurso de hardware dentro del sistema en el que siempre se puede confiar. Una solución es una RoT de hardware basada en FPGA (HRoT), como la que ofrece la familia de dispositivos MachXO3D de Lattice. Además de contar con importantes recursos LUT y un gran número de E/S, estos dispositivos basados en flash ofrecen capacidades de encendido instantáneo y hot-socketing. Las aplicaciones de uso general incluyen la lógica de cola, el puente de bus, la interconexión de bus, el control de motores, el control de encendido y otras aplicaciones de lógica de control.
Resulta especialmente interesante el hecho de que la MachXO3D es la única FPGA con capacidad de arranque dual y menos de 10K LUT que está equipada con un motor de seguridad inmutable con certificación del Instituto Nacional de Normas y Tecnología (NIST). Esto permite que el MachXO3D actúe como el HRoT del automóvil en forma de dispositivo de primer encendido y último apagado del sistema. Cuando el sistema se enciende, el MachXO3D primero comprueba que está ejecutando un firmware autentificado. A continuación, comprueba el firmware de los demás dispositivos del sistema. Si alguno de los componentes del sistema es atacado o comprometido, incluido él mismo, el MachXO3D rechaza el firmware sospechoso y recarga ese componente con una imagen de firmware autentificada y de calidad conocida.
Para los desarrolladores interesados en evaluar los diseños basados en MachXO3D, la placa de desarrollo LCMXO3D-9400HC-D-EVN MachXO3D ofrece una plataforma de prototipado extensible (Figura 3). La placa cuenta con un dispositivo de gestión de hardware L-ASC10 (sentido y control analógico), una interfaz de E/S de propósito general para su uso con placas Arduino y Raspberry Pi, dos posiciones de cabecera Hirose FX12-40 (DNI), una cabecera Aardvark (DNI) y una Flash de 128 Mbit de interfaz periférica en serie (SPI) con función de lectura cuádruple.
Figura 3: La placa de desarrollo MachXO3D cuenta con una FPGA MachXO3D, un dispositivo de gestión de hardware L-ASC10 (sentido y control analógico), soporte para placas Arduino y Raspberry Pi, dos posiciones de cabecera Hirose FX12-40 (DNI), una cabecera Aardvark y una conexión USB-B para la programación del dispositivo. (Fuente de la imagen: Lattice Semiconductor)
La placa tiene un formato de 4 x 6 pulgadas y cuenta con un conector USB mini-B para la alimentación y la programación, y múltiples posiciones de cabecera compatibles con Arduino, Aardvark, FX12, Hirose y Raspberry Pi. Se incluye un cable USB y una guía de inicio rápido.
Conclusión:
La electrónica moderna del automóvil requiere un número cada vez mayor de sensores, interfaces eléctricas y protocolos, con las correspondientes demandas de potencia de procesamiento y ancho de banda. La incorporación de la IA y el procesamiento de la visión artificial, así como los requisitos de seguridad, complican la implementación de soluciones con enfoques clásicos de MCU o AP.
Como se ha demostrado, mediante la aplicación adecuada de las FPGA, los diseñadores pueden añadir un grado de flexibilidad y potencia de procesamiento que puede unir entornos de procesamiento dispares, realizar funciones de agregación y fusión de sensores, abordar los requisitos de ancho de banda de E/S y realizar cálculos y operaciones de forma masivamente paralela, al tiempo que se liberan los procesadores del host para otras actividades.
En cuanto a la seguridad, una FPGA basada en flash con capacidad de arranque dual y un motor de seguridad inmutable certificado por el NIST puede actuar como HRoT del automóvil y garantizar que éste y otros dispositivos solo ejecuten firmware autentificado, impidiendo así que los piratas informáticos comprometan criptográficamente los sistemas del automóvil.
Más información:
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.



