- AUTOSAR - Como tudo começou?
- Importância do AUTOSAR
- Diferentes camadas da arquitetura AUTOSAR
- Objetivos do AUTOSAR
- Benefícios do AUTOSAR
- O que você pode esperar do AUTOSAR?
AUTOSAR (Automotive Open System Architecture) pode ser definido como uma plataforma comum para toda a indústria automotiva que é projetada para aprimorar o escopo de aplicação da funcionalidade do veículo sem afetar o modelo operacional atual. AUTOSAR é basicamente uma arquitetura de software aberta e padrão que foi desenvolvida em conjunto por fabricantes de automóveis, fornecedores e desenvolvedores de ferramentas. Neste artigo aprenderemos o que é AUTOSAR e sobre as diferentes camadas de sua arquitetura.
O lema principal do AUTOSAR é “Cooperar nos padrões, competir na implementação”. Esta arquitetura única foi desenvolvida para estabelecer e manter um padrão comum entre os fabricantes, fornecedores de software e desenvolvedores de ferramentas para que o resultado do processo seja entregue sem a necessidade de quaisquer alterações.
AUTOSAR - Como tudo começou?
Em 2003, a parceria AUTOSAR foi formada como uma aliança de fabricantes OEM (Original Equipment Manufacturer), fornecedores automotivos do pneu 1, fabricantes de semicondutores, fornecedores de software, fornecedores de ferramentas e outros. Eles estabeleceram o AUTOSAR como um padrão aberto do setor para arquitetura de software automotivo, considerando as diferentes arquiteturas automotivas E / E que estavam presentes e que se ligavam e seriam formadas no futuro.
Os 10 principais parceiros da AUTOSAR são BMW Group, Bosch, Continental, DaimlerChrysler, Ford Motor Company, General Motors, PSA Peugeot Citroen, SiemensVDO, Toyota Motor Corporation e Volkswagen.
Importância do AUTOSAR
A infraestrutura da AUTOSAR não é simples, mas por que é necessário introduzir uma infraestrutura tão complexa na indústria automotiva? Em primeira mão, por que precisamos do AUTOSAR?
Conforme a demanda por veículos inteligentes, mais seguros e mais inteligentes aumenta, a competição na indústria automotiva também aumentará. Toda essa inteligência e funcionalidade do veículo não podem ser implementadas por uma única autoridade.
Por exemplo, um carro tem airbags, sistema GPS, integração inteligente, etc. Todos esses recursos são implementados nas diferentes ECUs (unidades de controle eletrônico) por diferentes indústrias automotivas, de modo que todas as unidades automotivas diferentes devem ser capazes de trabalhar em conjunto para obter a saída desejada.
Isso também ajuda no processo de desenvolvimento de software, pois até pouco tempo os softwares desenvolvidos para as indústrias automotivas estavam focados apenas em entregar a funcionalidade do sistema e eles nunca se importaram com quais os efeitos que isso pode proporcionar ao sistema. Ficou mais complicado devido a muitas funcionalidades em várias ECUs em diferentes redes de veículos. Tornou-se um problema mais crítico com o aumento dos procedimentos de desenvolvimento não padronizados. Portanto, eles desenvolveram o AUTOSAR.
Diferentes camadas da arquitetura AUTOSAR
Se você observar a imagem acima, poderá identificar que a arquitetura do AUTOSAR é composta por três camadas principais que são
- Camada de aplicação
- Runtime Environment (RTE)
- Software Básico (BSW)
Cada uma dessas camadas tem seu próprio propósito e uma operação específica para realizar
Camada de aplicação
A camada de aplicativo AUTOSAR consiste em vários aplicativos e componentes de software específicos que são projetados para executar uma tarefa específica de acordo com as instruções fornecidas. A camada de aplicativo é a camada superior da Arquitetura de software AUTOSAR, por isso é crítica para todos os aplicativos de veículos. A camada de aplicação compreende três dos componentes mais importantes que devem ser levados em consideração. Eles são componentes de software de aplicativo, portas desses componentes e interfaces de portas.
Os componentes de software garantem a funcionalidade do subsistema, que envolve as operações e os elementos de dados que o software requer e os recursos necessários para os componentes. E a origem do aplicativo é independente da localização dos componentes interativos, do tipo de ECUs nas quais o componente é mapeado e do número de vezes que o componente é instanciado em um sistema.
Camada Runtime Environment (RTE)
A camada de ambiente de tempo de execução cria um ambiente adequado para a operação dos componentes de software (SWCs). O SWC sempre depende da interface fornecida pelo RTE.
Pode ser considerado como o centro de comunicação entre as ECUs que estão dentro da rede. Ajuda os componentes do software a operar independentemente dos mecanismos e canais de comunicação. O RTE está tornando isso possível mapeando as relações de comunicação entre os componentes que são implementados nos diferentes modelos, para um mecanismo de comunicação interna específico, como chamada, ou mecanismos de comunicação entre ECU, como uma mensagem COM.
A RTE tem a responsabilidade de gerenciar o ciclo de vida do SWC, deve inicializar e desligar as funções de acordo com as necessidades. Ele também atua como uma camada de separação entre o Software Aplicativo (ASW) e o Software Base (BSW), onde o software Base tinha permissão para chamar qualquer função API ou outros módulos diretamente, mas o software Aplicativo só pode se comunicar por meio de portas.
O RTE é gerado em duas fases
- Fase de contrato: esta fase é independente da ECU e fornece o contrato entre o software de aplicação e o RTE, ou seja, a API dos componentes ASW pode ser codificada.
Isso resultou em um cabeçalho especificado pelo componente ASW que podemos incluir no código-fonte. O arquivo de cabeçalho consiste em todas as funções da API RTE que podem ser usadas no ASW e também os tipos de dados e estruturas necessários para os componentes do ASW são declarados no arquivo de cabeçalho.
- Fase de geração: Esta fase se concentrará na geração do código concreto para uma determinada ECU. Com os componentes ASW e arquivos de cabeçalho criados na fase de contrato e todo o código BSW necessário, o código gerado pode ser compilado em um arquivo executável para a ECU.
Software Básico (BSW)
A camada de software básico pode ser definida como o software padronizado que pode fornecer serviços aos componentes do software AUTOSAR e também é usada para executar a parte funcional do software. O software básico inclui os componentes padronizados e especificados da ECU.
A camada de software básico é dividida em 4 partes principais, ou seja, camada de serviços, camada de abstração de ECU, camada de abstração de microcontrolador e drivers complexos.
I. Camada de serviço
É a camada superior da camada de software básico, fornece os módulos de software básicos para o software de aplicação e é independente do microcontrolador e do hardware da ECU.
A camada de serviço fornece funções como
- Serviços de memória (gerenciamento NVRAM)
- Serviços de diagnóstico (incluindo UDS
comunicação e memória de erro) - Comunicação e gerenciamento de rede de veículos
- Gerenciamento de estado da ECU
- Sistema operacional (SO)
A montagem desta camada é especializada para microcontroladores (MCU), partes do hardware da ECU e suas aplicações.
II. Camada de abstração ECU
Essa camada atua como uma interface da camada de abstração do microcontrolador, que também contém alguns drivers de dispositivos externos. Ele tem acesso aos periféricos e aos dispositivos, independentemente de onde estejam localizados, dentro ou fora do microcontrolador. Ele também oferece a API para fazer a interface com o microcontrolador.
III. Camada de abstração do microcontrolador (MCAL)
A camada do microcontrolador é a rota de acesso para se comunicar com o hardware. Esta camada foi estruturada de forma a evitar o acesso direto aos registros do microcontrolador. A camada de abstração do microcontrolador (MCAL) é uma camada de hardware projetada para garantir a interface padrão para os componentes do software básico. Ele fornece valores independentes do microcontrolador para os componentes do software básico e também gerencia os periféricos do microcontrolador.
O MCAL é fornecido com um mecanismo de notificação para que possa suportar a distribuição de comandos, respostas e informações para diferentes processos. Além disso, o MCAL pode incluir algumas das funções e dispositivos, como E / S digital (DIO), conversor analógico / digital (ADC), modulador de largura de pulso (De) (PWM, PWD), EEPROM (EEP), Flash (FLS), Capture Compare Uni (CCU), Watchdog Timer (WDT), Serial Peripheral Interface (SPI), Bus I2C.
IV. Driver de dispositivo complexo (CDD)
Essa camada tem um tempo especial e requisitos funcionais para lidar com sensores e atuadores complexos. O CDD é usado para lidar com funções complexas, não pode ser encontrado em nenhuma outra camada e tem a capacidade de acessar o microcontrolador diretamente. As funções complexas incluem controle de injeção, controle de valores elétricos, detecção de aumento de posição, etc.
Objetivos do AUTOSAR
O AUTOSAR foi criado por certos motivos que são úteis no presente e que o serão também no futuro. Alguns dos objetivos estão listados abaixo.
- Implementação e padronização de funções básicas como uma solução de “núcleo padrão” para todo o setor.
- Integrações de módulos funcionais de diferentes fornecedores.
- Fácil de manter o processo ao longo do ciclo de vida.
- A capacidade de escalar diferentes veículos independentemente da plataforma.
- Ativação de redundância.
- Consideração dos requisitos de disponibilidade e segurança.
- Fácil transferência de funções de uma ECU para outra ECU dentro da rede.
- Usando hardware comercial pronto para uso (COTS) mais.
- Atualizações e atualizações regulares de software ao longo da vida útil do veículo.
Benefícios do AUTOSAR
AUTOSAR tem diferentes benefícios em diferentes estágios do ciclo de vida do veículo
OEMs: Com AUROSAR você pode usar o mesmo código de software repetidamente para diferentes OEMs. É mais flexível para se adaptar a diferentes designs e também reduz o tempo e o custo de produção.
Fornecedores: Os fornecedores podem aumentar sua eficiência de desenvolvimento funcional e criar seu próprio modelo de negócios que seja adequado para eles.
Provedor de ferramentas: AUTOSAR possui uma interface comum que ajuda o provedor de ferramentas a padronizar seu processo de desenvolvimento.
Novo Participante do Mercado: Para os novos participantes, a AUTOSAR atua como uma interface transparente e definida que pode ajudá-los a entender os padrões da indústria e também a criar seus próprios modelos de negócios.
O que você pode esperar do AUTOSAR?
AUTOSAR é projetado para servir a diversos fins para vários departamentos da indústria automotiva. Por ser versátil e flexível, você pode fazer muitas coisas além disso, alguns dos resultados básicos que o AUTOSAR pode oferecer são a capacidade de reutilizar o software nele para várias unidades e o software usado pode ser trocado sempre que for necessário, o AUTOSAR atua como uma plataforma padrão para todos os softwares veiculares e não possui nenhum aplicativo próprio.
Possui um SO com funções básicas e softwares de interface e a principal vantagem é que a mesma interface pode ser utilizada em todos os softwares básicos. As funcionalidades do AUTOSAR são fornecidas como componentes de software e todos os componentes envolvidos são independentes de hardware.