A seleção e o uso de FPGAs para a interface automotiva, segurança e cargas intensivas de computação

By Clive "Max" Maxfield

Contributed By DigiKey's North American Editors

Tradicionalmente, as tarefas de computação em automóveis têm sido realizadas por unidades microcontroladoras (MCUs) e processadores de aplicações (APs). Um veículo típico de médio alcance pode conter de 25 a 35 MCUs/APs, enquanto carros de luxo podem empregar 70 ou mais. Cada vez mais, os automóveis exigem capacidades extremamente sofisticadas e computacionalmente intensivas para tarefas como sistemas avançados de assistência ao motorista (ADAS), infoentretenimento, controle, redes e segurança. Muitas dessas aplicações envolvem sistema de visão na forma de processamento de imagem e vídeo, junto com inteligência artificial (AI).

Sozinha, a arquitetura do processador luta para lidar com todas as interfaces elétricas e protocolos que são exigidos por dispositivos periféricos como sensores, câmeras e displays. Além disso, em muitos casos, estes processadores simplesmente não podem satisfazer as extremas exigências computacionais de tarefas como sistema de visão e AI.

Para enfrentar esta complexidade, os projetistas de sistemas automotivos estão se voltando para matrizes de portas programáveis no campo (FPGAs), não para substituir as MCUs/APs existentes, mas para atuar como pontes entre elas e outros dispositivos, e para aumentá-las, descarregando comunicações e outras tarefas computacionalmente intensivas.

Como os FPGAs podem ser programados para suportar uma grande variedade de interfaces elétricas e protocolos, eles podem atuar como pontes entre MCUs/APs e sensores, câmeras e displays. Além disso, como eles podem realizar cálculos e operações de forma maciçamente paralela, os FPGAs podem ser usados para executar tarefas de processamento de visão e AI computacionalmente intensivas, liberando assim os processadores host para outras atividades.

Este artigo discute os requisitos de processamento dos veículos modernos e descreve algumas das aplicações automotivas que podem ser tratadas pelos FPGAs. Em seguida, apresenta alguns exemplos de FPGAs da Lattice Semiconductor e mostra como eles podem ser usados para resolver problemas de conectividade, processamento e segurança. Também são apresentadas placas de desenvolvimento associadas para ajudar os projetistas a começar.

Aplicações automotivas para FPGAs

Para apoiar suas capacidades ADAS, os automóveis de hoje empregam muitos sensores fora do veículo, incluindo câmeras, radar, LiDAR e detectores ultrassônicos. Em muitos casos, é necessário pegar dados de sensores diferentes, pré-processar esses dados (removendo o ruído e formatando-os conforme necessário) e usar a fusão de sensores para combinar os dados de forma que a informação resultante tenha menos incerteza do que seria possível se os dados dos diferentes sensores fossem usados individualmente. Em muitos casos, as aplicações de AI são empregadas para analisar os dados, tomar decisões e tomar as ações apropriadas.

Uma tendência relativamente recente é a implantação de espelhos retrovisores eletrônicos (também conhecidos como "digitais"). Neste caso, uma câmera grande angular de alta resolução é instalada dentro da janela traseira. O fluxo de vídeo desta câmera é apresentado em um display digital que substitui o espelho tradicional, resultando em uma retrovisão clara que é desobstruída pelos passageiros nos assentos traseiros. Em alguns casos, os fluxos de vídeo de câmeras montadas nos espelhos laterais podem ser mesclados com o fluxo de vídeo da câmera da janela traseira. Estas três alimentações são "costuradas juntas" para fornecer uma única imagem que é apresentada em um espelho eletrônico super amplo, proporcionando assim ao motorista um grau muito maior de consciência situacional sobre o que está acontecendo ao redor do veículo.

Outra tendência recente é a instalação de câmeras na cabine, montadas no painel de instrumentos, na coluna de direção ou integradas ao espelho retrovisor (normal ou eletrônico). Quando acoplados à AI, estes espelhos dentro da cabine podem ser empregados para uma grande variedade de tarefas, tais como reconhecer quem está sentado no banco do motorista e ajustá-lo e os espelhos de acordo. Além de monitorar os motoristas para garantir que eles estejam atentos à estrada e não adormeçam, tal sistema também pode procurar sinais de sonolência, bem como problemas médicos ou de angústia, como um ataque epiléptico ou cardíaco, e tomar as ações apropriadas. Essas ações podem incluir a ativação das luzes de advertência de perigo, a aplicação dos freios e a orientação do veículo para a lateral da estrada. Outras aplicações incluem garantir que crianças pequenas e animais de estimação não sejam deixados sem vigilância nos bancos traseiros, impedindo que o carro seja trancado e pisque as luzes, e alertando o motorista se um passageiro deixar algo como um telefone, bolsa ou pacote no banco de trás.

Com relação às aplicações baseadas em vídeo, em alguns casos, é necessário dividir uma única entrada de vídeo em vários fluxos; em outros, uma exigência de projeto pode agregar vários fluxos de vídeo em um só.

Com a crescente implementação de veículos elétricos (EVs), vem a necessidade de monitorar e controlar motores, e monitorar e gerenciar o processo de carregamento para atingir a máxima vida útil da bateria.

Além de tudo isso, muitos dos automóveis de hoje estão começando a ser habilitados por 5G ou V2X, onde V2X ("veículo para qualquer coisa") refere-se à comunicação entre um veículo e qualquer outra entidade que possa afetar (ou ser afetada por) o veículo, desde a infra-estrutura à beira da estrada até outros veículos. Junto com esta conectividade vem a necessidade de segurança para evitar que o veículo seja invadido.

Dispositivos de grau automotivo

É importante lembrar que nem todos os FPGAs são adequados para aplicações automotivas. O Automotive Electronics Council (AEC) é uma organização estabelecida originalmente nos anos 90 pela Chrysler, Ford e GM com o objetivo de estabelecer padrões comuns de qualificação de peças e sistemas de qualidade. Um dos documentos AEC mais comumente citados é o AEC-Q100, "Failure Mechanism Based Stress Test Qualification for Integrated Circuits".

IATF 16949:2016 é uma especificação técnica que visa o desenvolvimento de um sistema de gestão de qualidade que prevê a melhoria contínua, enfatizando a prevenção de defeitos e a redução da variação e do desperdício na cadeia de suprimentos e no processo de montagem da indústria automotiva. Com base na norma ISO 9001, a IATF 16949:2016 foi criada pela International Automotive Task Force (IATF) e pelo Comitê Técnico da ISO.

Os fornecedores de sistemas eletrônicos para o mercado automotivo exigem cada vez mais que os fornecedores de semicondutores forneçam produtos em conformidade com a norma AEC-Q100 e possam demonstrar a certificação ISO/TS-16949 de seus sistemas de qualidade.

Escolhendo o FPGA certo para o trabalho

Os FPGAs são extremamente flexíveis, mas diferentes famílias de dispositivos oferecem várias combinações de capacidades e funções que as tornam mais adequadas para tarefas específicas. No caso de aplicações de visão embutida, por exemplo, as câmeras e displays modernos frequentemente empregam interfaces MIPI. Os protocolos MIPI CSI-2 (câmera/sensor) e DSI (display) empregam ambos uma camada física (PHY) de comunicação chamada D-PHY. Os MCUs/APs populares podem não suportar esta interface, mas alguns FPGAs suportam, como os FPGAs de processamento e visão embarcada CrossLink-NX da Lattice Semiconductor.

Além de dois transceptores MIPI D-PHY de quatro pistas, resistentes à radiação, que suportam 10 gigabits por segundo (Gbits/s) por PHY, os dispositivos CrossLink-NX também suportam PCIe de 5 Gbits/s, entradas/saídas (E/S) programáveis de 1,5 Gbits/s e DDR3 de 1066 megabits por segundo (Mbits/s). Estes dispositivos também suportam interfaces elétricas e protocolos tradicionais como sinalização diferencial de baixa tensão (LVDS), Sub-LVDS (uma versão de tensão menor do LVDS), OLDI (Open LVDS Display Interface) e interface serial gigabit independente de mídia (SGMII). Como resultado, estes dispositivos podem ser usados para agregar fluxos de vídeo, dividir fluxos de vídeo, executar aplicações de AI e — enquanto fazem tudo isso — também atuam como pontes entre MCUs/APs populares e sensores e monitores modernos.

Os desenvolvedores de sistemas automotivos que procuram avaliar FPGAs CrossLink-NX encontrarão a combinação da placa de entrada do sensor CrossLink-NX VIP LIFCL-VIP-SI-EVN (Figura 1) e o kit modular de visão embarcada LF-EVDK1-EVN para ser de interesse (o primeiro pode atuar como uma placa de entrada para o segundo). Além de um FPGA CrossLink-NX, a placa de entrada do sensor também apresenta quatro sensores de imagem Sony IMX258 CMOS MIPI de 13 megapixels, suportando 4K2K a 30 quadros por segundo (fps) ou 1080p a 60 fps. Ele também suporta fácil conectividade de sensores através de três interfaces PMOD independentes.

Imagem da placa de entrada do sensor VIP CrossLink-NX da Lattice SemicondutorFigura 1: A placa de entrada do sensor CrossLink-NX VIP, que pode atuar como entrada para o kit modular de visão embarcada, contém um FPGA CrossLink-NX e suporta a agregação de quatro sensores de imagem MIPI Sony IMX258. (Fonte da imagem: Lattice Semiconductor)

Para aplicações de computação intensiva que também exigem alta largura de banda de E/S — como a AI para tarefas como reconhecimento e controle de gestos, reconhecimento e controle de voz, detecção de presença humana, identificação de ocupantes e monitoramento de motoristas — os FPGAs ECP5 da Lattice apresentam serializador/deserializador (SERDES) de até 3,2 Gbit/s, até quatro canais por dispositivo em blocos de dois canais para granularidade mais alta, até 85K tabelas de pesquisa (LUTs), blocos de processamento de sinal digital (DSP) aprimorados que fornecem 2x mais em melhoria de recursos para filtros simétricos e suporte à mitigação de transtorno de evento único (SEU). Estes FPGAs também fornecem suporte de E/S programáveis para as interfaces de E/S LVCMOS 33/25/18/15/12, XGMII, LVTTL, LVDS, Bus-LVDS, 7:1 LVDS, LVPECL e MIPI D-PHY.

Um exemplo de dispositivo ECP5 é o LFE5U-85F-6BG554C com 84.000 elementos lógicos, 3,75 megabits (Mbits) de RAM e 259 E/S. Também é de interesse o kit de desenvolvimento ECP5 Versa LFE5UM-45F-VERSA-EVNG (Figura 2). A placa usa um fator de forma PCI Express (PCIe) de meio comprimento e permite aos projetistas avaliar os principais recursos de conectividade do FPGA ECP5, incluindo PCIe, Gigabit Ethernet (GbE), DDR3 e desempenho genérico SERDES.

Imagem do kit de desenvolvimento ECPe Versa da Lattice SemiconductorFigura 2: Apresentado em um fator de forma PCI Express de meio comprimento, o kit de desenvolvimento ECPe Versa permite aos projetistas avaliar os principais recursos de conectividade do FPGA ECP5, incluindo o desempenho da PCIe, GbE, DDR3 e SERDES genéricos. (Fonte da imagem: Lattice Semiconductor)

Segurança de automóveis que utilizam FPGAs

As ameaças à segurança por hackers estão aumentando, com novas brechas constantemente ocorrendo. No caso de automóveis, um ataque cibernético poderia causar perda de controle resultando em ferimentos ou morte dos passageiros e pedestres, danos ao carro, a outros veículos e à propriedade.

Uma grande parte da solução de segurança de um automóvel é estabelecer uma raiz de confiança (RoT); isto é, um recurso de hardware dentro do sistema que sempre pode ser confiável. Uma solução é um hardware RoT (HRoT) baseado em FPGA, como o fornecido pela família de dispositivos MachXO3D da Lattice. Além de recursos substanciais de LUT e grande número de E/S, estes dispositivos baseados em flash oferecem capacidades de ligação instantânea e conexões a quente. As aplicações de uso geral incluem lógica de cola, ponte de barramento, interface de barramento, controle de motor, controle de energização e outras aplicações de lógica de controle.

De particular interesse é o fato de que o MachXO3D é o único FPGA com capacidade tanto de inicialização dupla quanto de menos de 10K LUTs, que está equipado com um motor de segurança imutável certificado pelo NIST (National Institute of Standards and Technology). Isto permite que o MachXO3D atue como o HRoT do automóvel na forma do primeiro dispositivo ligado e último dispositivo desligado do sistema. Quando o sistema é ligado, o MachXO3D primeiro verifica se está executando um firmware autenticado. Em seguida, ele verifica o firmware dos outros dispositivos do sistema. Se qualquer um dos componentes do sistema for atacado ou comprometido, inclusive ele mesmo, o MachXO3D rejeita o firmware suspeito e recarrega esse componente com uma imagem de firmware bem conhecida e autenticada.

Para aqueles desenvolvedores interessados em avaliar projetos baseados no MachXO3D, a placa de desenvolvimento MachXO3D LCMXO3D-9400HC-D-EVN fornece uma plataforma de prototipagem extensível (Figura 3). A placa apresenta um dispositivo de gerenciamento de hardware L-ASC10 (controle e sensor analógico), uma interface de E/S de uso geral para uso com placas Arduino e Raspberry Pi, duas posições de barras de pinos Hirose FX12-40 (DNI), uma barra de pinos Aardvark (DNI), e uma flash para interface periférica serial (SPI) de 128 Mbit com recurso de leitura quádrupla.

Imagem da placa de desenvolvimento MachXO3D da Lattice SemiconductorFigura 3: A placa de desenvolvimento MachXO3D apresenta um FPGA MachXO3D, um dispositivo de gerenciamento de hardware L-ASC10 (controle e sensor analógico), suporte para placas Arduino e Raspberry Pi, duas posições de barras de pinos Hirose FX12-40 (DNI), uma barra de pinos Aardvark, e uma conexão USB-B para programação de dispositivos. (Fonte da imagem: Lattice Semiconductor)

A placa vem em um formato pouco acima de 10 x 15 cm e possui um conector USB mini-B para alimentação e programação, e várias posições de barras de pinos que dão suporte a Arduino, Aardvark, FX12, Hirose e Raspberry Pi. Tanto um cabo USB como um guia de início rápido estão incluídos.

Conclusão

A eletrônica automotiva moderna requer um número cada vez maior de sensores, interfaces elétricas e protocolos, com demandas correspondentes em poder de processamento e largura de banda. A adição de AI e processamento de sistema de visão, bem como requisitos de segurança, complicam a implementação de soluções utilizando abordagens clássicas de MCU ou AP.

Como mostrado, pela aplicação apropriada de FPGAs, os projetistas podem adicionar um grau de flexibilidade e poder de processamento que pode fazer a ponte entre os diferentes ambientes de processamento, realizar agregação de sensores e funções de fusão, atender às necessidades de largura de banda de E/S e realizar cálculos e operações de forma maciçamente paralela, enquanto liberam os processadores host para outras atividades.

Para segurança, um FPGA baseado em flash com capacidade de inicialização dupla e motor de segurança imutável certificado pelo NIST pode atuar como HRoT do automóvel e garantir que ele — e outros dispositivos — estejam rodando apenas firmware autenticado, impedindo assim que hackers comprometam criptograficamente os sistemas do automóvel.

Leitura complementar:

  1. Fundamentos dos FPGAs: O que são FPGAs e por que eles são necessários?
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