Skip to main content

Uma Introdução ao Carro Definido por Software

Arquiteturas de Hardware para o Veículo do Futuro Definido por Software

Brandon Lewis para Mouser Electronics

    Fonte: kaptn/stock.adobe.com

Os carros modernos são uma combinação de aço e silício controlada por mais de 100 milhões de linhas de código (MLOC). Atualmente, em um veículo médio, esse software é executado em uma rede de centenas de controladores internos chamados unidades de controle eletrônico (ECUs).

As ECUs são subsistemas de processamento embutidos que controlam vários outros subsistemas veiculares, como motor, transmissão, direção assistida, airbags e freios. Hoje, os controladores estão interligados por meio de fios e cabos que transmitem sinais e comunicam dependências. Isso funciona, mas há desvantagens significativas nesta arquitetura:

  • Peso: os fios e cabos exigidos para conectar todos esses subsistemas acrescentam um peso significativo ao veículo, o que resulta em impacto às métricas importantes do consumidor, como economia de combustível.
  • Manutenção: o maior número de componentes significa possíveis pontos adicionais de falhas.
  • Vetores de ataque: as ECUs nos carros conectados são particularmente vulneráveis a ameaças cibernéticas, visto que as redes internas dos veículos muitas vezes não dispõem de mecanismos de defesa que esperamos nas redes modernas.
  • Custo: cada dispositivo lógico adicional, incluindo sua memória, interfaces e acondicionamentos, acrescenta um custo incremental aos projetos automotivos.

Ao mesmo tempo, o desejo de adicionar mais funcionalidades aos veículos da próxima geração continuará a aumentar a quantidade de código nos carros. Por exemplo, estimativas mostram que os requisitos de software para veículos totalmente autônomos estão entre 300 e 500 MLOC.

Essas arquiteturas de veículos definidos por software (SDV) serão cada vez mais incontroláveis se meio bilhão de linhas de código forem distribuídas por centenas de controladores de veículos interconectados e interdependentes, embora separados. Esses sistemas serão realmente viáveis somente se as arquiteturas de processamento no veículo forem mais semelhantes a data centers, com recursos consolidados do que com sistemas integrados.

Consolidação de Arquiteturas SDV


Para entender a necessidade de novas arquiteturas de veículos, considere o processo de atualização de firmware over the air (FOTA) em um veículo com centenas de ECUs (algumas das quais são dispostas em formatos estrelas e muitas das quais têm dependências estritas), cada uma executando diferentes versões de firmware. A orquestração e o gerenciamento desse processo, mesmo para atualizações simples, rapidamente se tornam incontroláveis.

Considere a consolidação da ECU, um movimento para racionalizar o número e o tipo de controladores, com o domínio em veículos modernos, com um número menor de processadores multi-core, particionados com alto desempenho, capazes de gerenciar vários domínios e subsistemas em veículos simultaneamente. O conceito de consolidação da ECU apresenta uma abordagem arquitetônica alternativa com diversas vantagens atraentes. Em primeiro lugar, o agrupamento de funcionalidades reduz significativamente a complexidade em comparação com as atuais arquiteturas predominantes. Isso resulta em uma pilha de hardware e software mais gerenciável, um código mais limpo, uma integração simplificada e uma manutenção mais fácil à medida que avançamos na era de SDVs.

Em seguida, o modelo de consolidação da ECU aumenta a eficiência do desenvolvimento, uma vez que as equipes de desenvolvimento podem implementar ferramentas e processos padronizados ao focarem em domínios e/ou subsistemas lógicos de veículos, em vez de focar em uma série de funções específicas. Essa abordagem focada incentiva a colaboração, acelera a inovação e, em última análise, reduz o tempo de lançamento de novos recursos e atualizações no mercado.

E mais, a arquitetura consolidada promove atualizações OTA, à medida que a atualização do software passa a ser mais gerenciável do que a atualização de centenas de ECUs distribuídas em um veículo, diminuindo a ineficiência. Além disso, a menor superfície de ataque oferecida pela abordagem de área, torna todo o sistema mais resiliente às ameaças cibernéticas. Isso permite que uma segurança mais robusta seja focada em um número menor de plataformas, melhorando assim a integridade geral do sistema.

Por último, a abordagem de consolidação da ECU contribui para um desempenho econômico. A otimização em números menores dos requisitos de hardware e software, pode gerar economias de custos significativas. Estas otimizações podem garantir que os recursos sejam utilizados de forma eficiente, oferecendo uma vantagem econômica no custo global de um veículo.

Até hoje foram lançadas duas abordagens principais para a consolidação da ECU: a arquitetura centralizada e a arquitetura distribuídas.

Arquiteturas Centralizadas
Imagine processadores ou chips multinúcleos de classe de servidor gerando dados no núcleo de um veículo. Esta é uma arquitetura centralizada que substitui ilhas dispersas de ECUs por um centro de comando unificado. Esta arquitetura gerencia todos os domínios e funções do veículo a partir de um ponto central, desde o controle do motor até sistemas avançados de assistência ao motorista (ADAS).

Esta abordagem monolítica oferece várias vantagens:

  • Atualizações e manutenção simplificadas: as atualizações de software passam a ser muito mais fáceis, sendo implementadas em todo o sistema com uma única ação.
  • Desempenho intensificado: ao reunir recursos, as arquiteturas centralizadas podem aumentar significativamente o poder de processamento, oferecendo preparação para o processamento de dados em alta velocidade para algoritmos complexos de direção autônoma.
  • Segurança fortalecida: um hub central simplifica as medidas de segurança, oferecendo uma defesa unificada contra ameaças cibernéticas.
  • Reduções de custo e complexidade: o número menor de ECUs significa menos hardware, fiação elétrica e complexidade geral, resultando em economia de custos e redução de peso.

No entanto, a centralização impõe desafios. Integrar múltiplas funções diferentes em um único sistema exige um trabalho preciso de integração. Também existe a possibilidade de um único ponto de falha, no qual um problema em um dispositivo central ou dispositivos agrupados podem afetar seriamente todo o carro. Para proteger contra este risco, devem ser implementadas redundâncias cautelosas.

Arquiteturas Distribuídas
As arquiteturas distribuídas oferecem consolidação diferenciada. Neste caso, cada domínio de veículo é gerenciado por seu potente controlador de área. Esses controladores processam domínios específicos, enquanto permanecem interconectados com uma ECU central que supervisiona todas as funções de um carro.

Este modelo apresenta diversas vantagens:

  • Projeto modular: as arquiteturas distribuídas habilitam modularidade e isolamento de projeto. Cada área opera de forma independente, simplificando o desenvolvimento e a manutenção.
  • Escalabilidade sob demanda: a adição de novas funcionalidades por meio de FOTA ou de outra forma é simplificada porque as atualizações podem atingir áreas específicas.
  • Flexibilidade e tolerância a falhas: as áreas independentes melhoram a resiliência do sistema. As áreas permanecem interligadas, mas isoladas, sendo assim, uma falha em uma área não prejudicará todo o veículo.
  • Redução de problemas com fiação elétrica: a necessidade de chicotes elétricos complexos e extensos é diminuída pelo agrupamento de funcionalidades dentro de controladores de área.

No entanto, este método descentralizado apresenta desafios. O gerenciamento de software em plataformas de hardware potencialmente heterogêneas em cada área apresenta complexidade. Por ser uma arquitetura hierárquica, com controladores de área reportando-se a uma ECU de ordem superior, as atualizações de software também passam a ser um processo de várias etapas que exige uma coordenação cuidadosa entre as áreas.

A escolha da arquitetura certa é uma equação complexa, que equilibra a eficiência da centralização com a flexibilidade da arquitetura de distribuídas.


Virtualização e Conteinerização


Embora ofereçam caminhos interessantes para a consolidação da ECU, as arquiteturas centralizadas e distribuídas enfrentam um desafio inerente: executar e gerenciar inúmeras cargas de trabalho de software em número menor de hardware. Neste ponto a etapa de virtualização e a conteinerização (Figura 1) é considerada, agindo como ferramentas potentes para desbloquear todo o potencial de SDVs.


Figura 1: Arquitetura de hospedagem de aplicativos em ambientes de virtualização e conteinerização. (Fonte: Autor)

Virtualização: processadores de virtualização
Em uma única plataforma física de hardware com vários núcleos, a tecnologia de virtualização pode criar um ou mais ambientes de execução isolados. Chamados de máquinas virtuais (VMs), esses ambientes podem receber seus próprios recursos de computação, memória e entradas e saídas (I/O) e hospedar ambientes operacionais adicionais que coexistem harmoniosa, mas separadamente, do software executado em outras VMs.

Em um contexto automotivo, cada VM pode abrigar subsistemas específicos ou funções de domínio, como sistemas de assistência ao motorista, infoentretenimento ou controles do sistema de motores. Este isolamento oferece vários benefícios:

  • Desempenho melhorado: a virtualização garante uma alocação contínua de recursos que previne que um aplicativo monopolize recursos ou trave todo o sistema.
  • Implementação flexível: as VMs também podem atuar como sandboxes que permitem que ambientes compatíveis com software sejam criados em um núcleo de processador disponível.

Conteinerização: virtualização de sistemas operacionais
A conteinerização, por outro lado, integra códigos de aplicativos, bibliotecas e dependências em unidades padronizadas e portáteis, prontas para serem implementadas em sistemas operacionais virtualizados. Esta abordagem oferece outras vantagens:

  • Eficiência de recursos: diferentemente das VMs, os contêineres podem compartilhar um sistema operacional subjacente, que minimiza o consumo de recursos e maximiza a utilização de hardware.
  • Portabilidade máxima: os contêineres também podem ser implementados em sistemas operacionais virtuais, habilitando grande portabilidade e flexibilidade de projeto, uma vez que o software pode ser criado uma vez e executado em praticamente qualquer lugar.

Em resumo, as VMs criam ambientes de execução isolados e os contêineres habilitam a integração e a implementação eficientes de software nessas VMs. Isso abre inúmeras possibilidades quanto ao gerenciamento de criticidade mista, incluindo a capacidade de funções críticas de segurança residirem em VMs dedicadas enquanto aplicativos menos críticos são executados em outras.

A virtualização e a conteinerização podem ser alavancadas para desbloquear ainda mais as vantagens de consolidação da ECU, melhorando a escalabilidade e a flexibilidade e facilitando a adição e remoção de funcionalidades. Com a virtualização e a conteinerização abrindo caminho, a jornada em direção de SDVs passa a ser mais estável e eficiente.


Conclusão


À medida que o número de linhas de código nos carros atingir os esperados 500 MLOC, as arquiteturas tradicionais de ECU distribuídas não funcionarão mais. As arquiteturas de ECU centralizadas e áreas são promissoras como alternativas da próxima geração. No entanto, usá-las provavelmente signifique um investimento em recursos de virtualização e conteinerização e a garantia de que cargas de trabalho possam coexistir e melhorar a velocidade, a portabilidade e a eficiência de recursos.

Mas os seus efeitos vão muito além de apenas manter as coisas funcionando corretamente. A virtualização e a conteinerização estão mudando a forma como o software é desenvolvido e implementado nos veículos. Como parte das futuras estratégias de atualização de FOTA, elas permitirão que a indústria automotiva dispense os recalls dispendiosos e as idas inconvenientes ao mecânico. Imagine adicionar novos recursos, corrigir bugs críticos e até personalizar sua experiência de direção por meio de atualizações FOTA que funcionam sem problemas. Isso está diretamente correlacionado a clientes mais satisfeitos, menos tempo de inatividade e um fluxo constante de receita resultante de compras remotas e atualizações que ocorrem quando os proprietários recebem seus carros da concessionária.

Com a utilização do poder transformador dos projetos centralizados e distribuídos, podemos tornar o carro mais do que apenas uma máquina. Ele será uma plataforma de inovação dinâmica e viva.

 

1 “Global Automotive Supplier Study 2018,” Roland Berger, Dezembro de 2017, 49, https://www.rolandberger.com/publications/publication_pdf/roland_berger_global_automotive_supplier_study_2018.pdf.