O Software Está Engolindo o Carro

As previsões de cortes na produção global de veículos causadas pela contínua escassez de semicondutores continuam a fazer notícia. Em janeiro, analistas previram que 1,5 milhão de veículos a menos seriam produzidos como resultado da escassez; em abril, esse número subiu de forma constante para mais de 2,7 milhões de unidades e, em maio, para mais de 4,1 milhões de unidades.

Imagem: iStock

A escassez de semicondutores realçou não apenas a fragilidade da cadeia de suprimentos automotiva, mas também colocou um holofote na dependência da indústria automotiva nas dezenas de computadores embarcados – e ocultos – nos veículos hoje.

“Nenhuma outra indústria está passando por uma mudança tecnológica tão rápida quanto a indústria automotiva”, diz Zoran Filipi, presidente do Departamento de Engenharia Automotiva do Centro Internacional de Pesquisa Automotiva da Universidade Clemson.

O fenômeno é impulsionado pela necessidade de atender a regulamentos de emissões de CO2 cada vez mais rigorosos, e ao mesmo tempo manter um ritmo de progresso sem precedentes no desenvolvimento da automação e infoentretenimento, sem deixar de atender às expectativas do cliente em relação a desempenho, conforto e utilidade.

Os próximos anos vão trazer mudanças ainda maiores, à medida que mais fabricantes de automóveis se comprometem a descontinuar a produção de veículos movidos a motor de combustão interna (MCI) para atender às metas globais dos acordos de combate às mudanças climáticas, substituindo-os por veículos elétricos (EVs) que em dia serão capazes de operação autônoma .

A última década de desenvolvimento dos veículos a combustão ilustra o rápido progresso que se fez, bem como para onde estamos indo.

Queda de produção de automóveis em 2021 devido à falta de chips – Gráfico: Mark Montgomery

“Antes, o software fazia parte do carro. Agora, o software determina o valor de um carro ”, observa Manfred Broy, professor emérito de informática na Universidade Técnica de Munique e um dos maiores especialistas em software para automóveis. “O sucesso de um carro depende muito mais de seu software do que do lado mecânico.” Quase todas as inovações de veículos introduzidas pelos fabricantes de automóveis, ou fabricantes de equipamento original (FEO – do inglês OEM ‘Original Equipment Manufacturer’), como são chamados por especialistas da indústria, agora estão vinculadas ao software, diz ele.

Dez anos atrás, apenas carros premium continham 100 unidades de controle eletrônico (UCEs) baseadas em microprocessadores em rede ao longo da carroceria, executando 100 milhões de linhas de código ou mais. Hoje, carros sofisticados como o BMW série 7 com tecnologia avançada, como sistemas avançados de assistência ao motorista (SAAM), podem conter 150 UCEs ou mais, enquanto picapes como o F-150 da Ford chegam a 150 milhões de linhas de código. Mesmo veículos de baixo custo estão se aproximando rapidamente de 100 UCEs e 100 milhões de linhas de código, já que mais recursos que antes eram considerados opções de luxo [como controle de cruzeiro adaptável e frenagem automática de emergência] estão se tornando padrão.

Itens de segurança adicionais exigidos desde 2010, como controle eletrônico de estabilidade, câmeras de ré e chamadas de emergência automáticas (eCall, na União Européia), bem como padrões de emissão mais rigorosos [que os veículos a combustão só podem atender usando componentes eletrônicos e aplicativos ainda mais inovadores], impulsionaram ainda mais a proliferação de software.

A consultoria Deloitte Touche Tohmatsu Limited estima que, a partir de 2017, cerca de 40% do custo de um carro novo pode ser atribuído a sistemas eletrônicos baseados em semicondutores, custo esse que dobrou desde 2007. Eles estimam que esse total se aproximará de 50% até 2030. A empresa estima ainda que cada carro novo hoje tem cerca de US$ 600 em semicondutores embarcados, totalizando cerca de 3.000 chips de todos os tipos.

Contabilizar o número de UCEs e linhas de código dá apenas uma ideia da intrincada orquestração de software encontrada nos veículos hoje. Ao observar como esses sistemas atuam juntos, uma complexidade extraordinária começa a emergir:

  • Novos recursos de segurança, conforto, desempenho e entretenimento,
  • O imperativo comercial de oferecer dezenas de opções aos compradores, resultando em uma multiplicidade de variantes para cada marca e modelo,
  • A mudança de carros a gasolina e motoristas humanos para carros elétricos e motoristas artificialmente inteligentes
  • As centenas de milhões de linhas de códigos que precisarão ser escritas, verificadas, depuradas e protegidas contra hackers

Tudo isso está transformando carros em supercomputadores sobre rodas e forçando a indústria automobilística a se adaptar. Mas conseguirá ela se adaptar?

A Unidade de Controle Eletrônico

A unidade de controle eletrônico está no centro de todas as inovações automotivas. Saiba como a história se desdobrou.

A era da eletrônica embarcada começou com a invenção dos dispositivos semicondutores, MOSFETs e evoluiu para sistemas mais complexos, como a UCE. Em 1978 a General Motors introduziu o primeiro sistema eletrônico em um automóvel. O resto, como dizem, é história.

Desde o seu início até a sua forma atual, a UCE moldou a evolução dos automóveis em todos os aspectos. Dos componentes mais simples, como a tampa da gasolina, aos mais complexos como o trem de força, a unidade de controle eletrônico tem capacidade de gerenciar os vários sensores com uma eficiência que um sistema mecânico jamais conseguiria.

Uma UCE é essencialmente um sistema embarcado construído sobre um microcontrolador automotivo. Junto com o software automotivo e os protocolos de comunicação, uma UCE é capaz de controlar todos os sistemas e subsistemas elétricos de um veículo. UCEs mais avançadas também se comunicam com a nuvem e até mesmo com outros veículos e infraestruturas usando tecnologias V2V e V2X.

Quando as unidades de controle foram introduzidas, elas eram responsáveis ​​por controlar diferentes atuadores em um motor de combustão interna. Por essa razão, foi chamada de Unidade de Controle do Motor. Com o tempo, o termo UCE passou a prevalecer à medida que evoluía para um sistema capaz de controlar o trem de força, a transmissão, os freios, os assentos e tudo o mais.

Eletrônica automotiva: Cadillac a Tesla

Os números falam mais alto que as palavras. E este gráfico faz toda a justiça à influência da eletrônica no setor automotivo. Ele também oferece insights sobre a jornada da eletrônica automotiva. O que vemos aqui é um gráfico da contribuição do custo do UCE automotivo ao custo total do carro, entre 1950 e 2030. Pelo gráfico, é claro e evidente que a presença de dispositivos eletrônicos nos carros não cresceu da noite para o dia.

Foi necessário três décadas de inovações tecnológicas, pesquisa e desenvolvimento persistente de produtos automotivos, juntamente com outros fatores importantes, para que finalmente a eletrônica chegasse a 10% do custo total na década de 1980.

Para ser mais específico, a introdução da Unidade de Controle de Airbags e a demanda por carros com baixo consumo de combustível também contribuíram para o rápido crescimento da eletrônica durante 1970-1980.

1990-2010 pode ser considerado como o melhor período de crescimento para a eletrônica automotiva. Fabricantes como Toyota, Ford e Honda introduziram nesse período automóveis com GPS, multimídia, sistemas de diagnóstico avançado, sensor de ré e câmeras e sistemas de assistência ao motorista.

Com tecnologias avançadas, como os carros autônomos baseados em sensores LiDAR, o carro invisível da Land Rover e o carro flutuante da Toyota, prevê-se que, em 2030, a eletrônica automotiva contribuirá com 50% do custo total do carro. É fazer deduzir que a eletrônica automotiva está levando uma vida de sonhos nos últimos anos. E do jeito que essa história se desenrola, tudo parece na iminência de acontecer não só para trazer uma melhor experiência de direção, mas também para que as estradas do mundo possam ser mais seguras.

Fontes:

https://spectrum.ieee.org/

https://www.embitel.com

Mercado Pede Especificações para Apps Automotivos

A dependência cada vez maior do software dentro do desenvolvimento automotivo, juntamente com a crescente complexidade desse software, coloca mais pressão do que nunca sobre os processos de desenvolvimento. Hoje em dia, é preciso mais de 100 milhões de linhas de código para construir um único carro de passageiros. Quando atingirmos o ponto em que os carros se tornarão completamente autônomos, o volume e a complexidade do código atingirão alturas ainda maiores.

Os veículos autônomos da próxima geração provocarão, é certo, um aumento na dependência do software. Mas até mesmo os veículos “padrão” de agora incorporam uma variedade de sistemas de software, muitas vezes conectados à Internet das Coisas e exigindo atualizações regulares.

É por isso que as arquiteturas abertas tornaram-se tão importantes nos últimos anos, ajudando a padronizar elementos de software, tornando-o “à prova de futuro” tanto quanto possível, para ajudar a gerenciar a crescente complexidade, permitir que equipes de software colaborem melhor, assegurando a conformidade dos processos, tudo isso sem sacrificar o tempo para o atendimento ao mercado. Adicionalmente, padrões de codificação e diretrizes são necessários para garantir que os componentes de software sejam confiáveis, fáceis de manter e, acima de tudo, seguros.

MISRA e AutoSAR

C e C++ são as linguagens de programação dominantes no mundo automotivo. O MISRA C, o MISRA C++ e as diretrizes de codificação AutoSAR C++ são os principais padrões de codificação. O MISRA é uma colaboração entre fabricantes de veículos, fornecedores de componentes e consultorias de engenharia. Formado no final dos anos 90, promove as melhores práticas no desenvolvimento de sistemas eletrônicos relacionados à segurança para veículos rodoviários. Seus padrões de codificação também são usados ​​em outras indústrias onde a segurança, a qualidade e a confiabilidade são uma prioridade, incluindo ferrovias, a industria aeroespacial, telecomunicações, dispositivos médicos e defesa. Hoje, o MISRA é aceito em todo o mundo para o desenvolvimento de software de missão crítica, nas linguagens C e C++.

O MISRA por enquanto pode ser o mais estabelecido e mais amplamente utilizado dos padrões, mas o uso crescente da moderna C++ está estimulando rapidamente a adoção das diretrizes da AutoSAR. AutoSAR é uma parceria entre mais de 180 empresas envolvidas na indústria automotiva, com o objetivo de padronizar arquiteturas abertas para software automotivo e desenvolvimento de sistemas incorporados. AutoSAR é considerado por muitos ser a plataforma de facto para o futuro design automotivo.

A plataforma adaptativa da AutoSAR atende as necessidades dos veículos conectados e da condução autônoma. Ela é projetada para tecnologias como microprocessadores de 32 e 64 bits de alta potência com memória externa, processamento paralelo e comunicações de alta largura de banda. As diretrizes de codificação AutoSAR C++ foram criadas para apoiar o desenvolvimento de componentes da plataforma adaptativa que utiliza a linguagem C++ moderna. Tais componentes devem cumprir os requisitos de segurança funcional rigorosos da ISO 26262.

A ISO 26262 é o padrão internacional para a segurança funcional dos sistemas elétricos e eletrônicos automotivos (E/E). O padrão cobre todo o ciclo de vida de produção. Um dos seus principais princípios é analisar os riscos no início do processo de desenvolvimento, estabelecer os requisitos de segurança apropriados e cumprir esses requisitos durante o desenvolvimento.

Dentro do padrão, a Parte 6 aborda especificamente o desenvolvimento de software, colocando requisitos particularmente sobre o início do desenvolvimento de software, sobre o projeto arquitetônico de software e design e sobre a implementação da unidade de software. Ela padroniza os métodos de desenvolvimento que devem ser aplicados para atingir um nível de integridade de segurança automotiva específico (ASIL).

O uso de um padrão de codificação aceito universalmente, como o MISRA ou a AutoSAR, facilita a tarefa de garantir que o software da indústria esteja em conformidade com a ISO 26262.

Aderindo aos padrões de codificação

O que o Misra e o AutoSAR têm em comum é que eles dão aos desenvolvedores uma estrutura dentro da qual eles podem desenvolver software “seguro”. No entanto, os padrões não fazem o trabalho do desenvolvedor, e desenvolver sistemas seguros seguros em C++ é um desafio que não deve ser subestimado. Embora seja uma linguagem de programação que dá aos desenvolvedores mais escopo para a inovação, a flexibilidade inerente à C++ também significa que uma tomada de decisão mais cuidadosa é necessária (por exemplo, sobre como lidar com a memória dinâmica). Em outras palavras, o C++ simplifica a programação de sistemas complexos, mas necessita de mais desenvolvedores.

Padrões de codificação ajudam, mas ainda podem ser um desafio para até mesmo o desenvolvedor mais experiente: lidar com áreas de ambiguidade ou interpretação requer experiência e experiência considerável. Selecionar as ferramentas e técnicas corretas são um papel importante a ser desempenhado.

Inspeção de código contínua

Outra boa prática é garantir que cada linha de código seja cuidadosamente inspecionada em todo o processo de desenvolvimento, para garantir que ela seja segura e confiável. Para evitar que isso seja um processo manual, os desenvolvedores usam cada vez mais ferramentas automatizadas, como analisadores estáticos para verificar o código. Como resultado, quaisquer problemas – como desvio a partir de um padrão de codificação, excesso de complexidade ou um bug de DataFlow de disco rígido – podem ser detectados no início do processo. Essa abordagem também reduz a carga subsequente nos processos de teste que tradicionalmente ocorreriam mais tarde no processo de desenvolvimento. É representativo da tendência ‘esquerda volver’, onde os desenvolvedores assumem alguns dos trabalhos que anteriormente eram realizados por testadores ou técnicos de garantia de qualidade.

Normas ajudam estabelecer uma ‘única fonte de verdade transparente’ onde cada versão de cada ativo digital associada a um projeto também suporte melhor a adesão aos requisitos de conformidade. Isso fornece uma visão em tempo real e histórica de quem fez o que, quando, onde e como. No mundo automotivo, isso pode incluir informações relacionadas ao software e hardware, como documentação, código e outros artefatos de design, entre os colaboradores internos e externos. No desenvolvimento de software automotivo, há tipicamente muitos tipos de ferramentas, arquivos, plataformas e diferentes equipes que contribuem para um projeto, por isso é essencial que a única fonte de verdade apóie essa diversidade.

Muitas equipes de desenvolvimento automotivo estão descobrindo que precisam de um sistema de controle de versão de alto desempenho que possa ser dimensionado para suportar o tamanho crescente de sua base de código, ao mesmo tempo apoiando adequadamente outros tipos de ativos binários. Elas também precisam de uma ferramenta de análise de código estática para se integrarem a este sistema de controle e para gerenciar violações do padrão de codificação à medida que seu código evolui.

Finalmente, como a tecnologia, ferramentas e processos que sustentam o desenvolvimento automotivo continuam a evoluir (como também novos problemas são introduzidos), é importante continuar monitorando a situação e permanecer com a cabeça aberta a novas ideias. Neste mercado de ritmo acelerado, uma coisa das quais podemos ter certeza é a mudança.