AUTOSAR

‍이세현·2024년 12월 7일
0

AUTOSAR

Motivation

  • Moto: Standards로 협력하고, 구현으로 경쟁한다.
  • ECU의 표준이 되는 architecture로, 자동차 소프트웨어의 가장 중요한 표준
  • Layered Architecture, abstractions, reusability, portability가 강조된다.
  • BOSCH, BMW, MINI 등 9개의 core partners와 56개의 premium partners, 46개의 development partners로 구성된다.
  • 전세계에 걸쳐 AUTOSAR software provider가 존재한다.
    • Vector, ETAS, Hyundai Autron, Mento Graphics 등

Platform

  • Classic Platform
    • Real-time의 OSEK 기반
    • ROM에서 코드를 직접 실행한다.
    • Memory Protection Unit에 의해 모든 applications는 주소 공간이 동일하다.
    • CAN, FlexRay 같은 Signal-based communication에 적합하다.
    • Specification(표준)에 대한 플랫폼
  • Adaptive Platform
    • Connectivity, 자율주행, Sharing/Mobility Service, Electric Vehicle
    • POSIX 기반
    • App은 영구 메모리에서 RAM으로 로드된다.
    • 각 application은 Memory Management Unit에 의해 별도의 virtual address를 가진다.
    • Eternet 기반의 Service-oriented communication
    • 다중 스케줄링 기법
    • Specification(표준)과 Implementation

AUTOSAR의 Architecture

Layered Architecture

이 아키텍처의 상단은 Component-based Architecture로 이루어진다.

  1. Application Layer
    • Application Software (Control Algorithms)
    • 차량 기능을 구현한다.
  2. Runtime Environment (Interface)
    • ECU에 맞추어 각 계층의 통합을 관리한다.
    • 소프트웨어 컴포넌트 간 통신을 ECU에서 실행 가능한 형태로 제공한다.
  3. Basic Software
    • 하드웨어의 독립성을 보장하며 인프라 및 서비스 기능을 제공한다.
    • RTE와 상호작용하여 소프트웨어 간의 통신을 지원한다.
    • Services Layer: OS
    • ECU Abstraction Layer
    • Microcontroller Abstraction Layer (MCAL)
      • 하드웨어 장치에 접근하기 위한 드라이버 계층으로, 상위 소프트웨어는 하드웨어 세부사항을 신경 쓰지 않고 동작할 수 있다.
      • 기본적인 통신을 위한 표준화된 디바이스 드라이버
      • 개발 표준 문서로는 SRS(requirement)와 SWS(specification)가 있다.
    • Complex Drivers
      • ECU에서 하드웨어적으로 직접 지원되지 않는 장치를 제어하기 위한 장치
      • 비표준 디바이스를 위한 OEM 자체 드라이버로 MCU와 무관하다.
      • 점화 장치, 연료 분사 장치를 제어한다.
      • 표준이 아니므로 이식성이 제한된다.
  4. Microcontroller (Hardware)

주요 개념

  • SW-Components (SW-C)
    • 소프트웨어 design, packaging, deployment에서 기능 단위 (실행 가능한 단위)
    • Runnables(함수)의 집합이며, 각각은 주기가 있다.
    • 통신을 위해 포트(Requirement, Provide)로 이루어진다.
  • Virtual Functional Bus (VFB)
    • 통신 메커니즘, 기본 SW의 인터페이스
    • RTE 및 BSW에서 제공하는 통합 ECU 통신 메커니즘
  • Mapping
    • RTE와 기본 SW의 구성 및 생성
  • Runtime Environment (RTE)
    • ECU에 VFB를 실제 구현
  • Basic Software (BSW)
    • ECU의 infra 기능

동작 원리

  • Client-Server
    • Client에서 통신을 시작하고 server에 service를 요청한다.
    • Server는 client로부터 요청을 받아 service를 전달한다.
  • Sender-Receiver
    • 비동기식
    • Sender는 receiver로부터 응답 받기를 기다리지 않는다.
    • communication 인프라는 정보를 전달해야 한다.

AUTOSAR 적용

Tool-based Work Flow

  • AUTOSAR BSW configuration tool을 사용하면 ARXML이 도출된다.
    • ARXML: ECU Configuration Description(XML)
  • ARXML을 이용하여 RTE, OS, Communication Services, MCAL Generator는 필요한 함수들을 자동으로 생성한다.
  • RTE API
    • Port PP로 Data oo를 보내는 함수: Std_ReturnType Rte_Send_p_o
    • Rte_Receive_p_o
    • Rte_Call_p_o

Runnable과 Task 매핑

  • Between SW-Cs
    • SW-C는 runnables로 이루어진다.
    • Runnables는 Send와 Receive로 소통한다.
    • 각 component의 runnables 간 data가 흐를 때 속도가 매우 중요하다.
      • Flow가 역방향으로 진행되면 다음 runnable에서는 한 주기 더 기다려야하므로 데이터가 흐르지 않는 문제가 있다.
      • Task 안의 runnables는 Data Flow에 맞게 순방향으로 배치해야 한다.

Data Age vs. Reaction Time

  • Data age timing constraint
    • 데이터가 입력되고 actuation 할 때 시간이 얼마나 지났는지 나타낸다.
    • ex) LKAS에서 오래된 입력 데이터를 기준으로 조향하면 횡방향 제어에 문제가 생긴다.
  • Reaction time contraint
    • 반응 시간
    • ex) Airbag system에서 충돌에 대한 reaction이 늦어지면 큰 사고로 이어진다.
  • Sampling과 Delay
    • Undersampling: 짧은 주기 task에서 긴 주기 task로 데이터가 흐르는 것
      • ex) Sensing 하고 주기가 맞지 않아 사용되지 않는 데이터가 발생한다.
    • Oversampling: 긴 주기 task에서 짧은 주기 task로 데이터가 흐르는 것
      • ex) 사용해야하는 데이터가 새로 입력되지 않아 이전 데이터를 한 차례 더 사용한다.
profile
Hi, there 👋

0개의 댓글

관련 채용 정보