[현대오토에버SW스쿨4기] AUTOSAR 기본(2)

chaehun·2025년 3월 23일

RTE

AUTOSAR Methodology

  • AUTOSAR에서 정의한 공통의 시스템 개발 순서
  • AUTOSAR 소프트웨어 개발 순서
    1) Configure System: 시스템 설정 단계로 컴포넌트의 구성/연결 등을 정의한다. (Software Component Description을 개발)
    2) Implement Component: "Configure System" 단계에서 구성한 컴포넌트들에 대한 코드 구현 등을 진행한다.
    3) Extract ECU-Specific Information: 시스템 구성 정보로부터 특정 제어기 소프트웨어를 구현하기 위한 정보만을 추출한다.
    4) Configure ECU: 제어기 관련 설정을 진행한다. (ECU Configuration Description 개발)
    5) Generate Executable: 제어기에서 동작하는 실행 파일을 생성한다. (컴파일 및 링크를 통해 실행 이미지를 생성)
  • Configure System
    • 시스템 구성 단계에서의 설계한 애플리케이션은 다음과 같은 과정을 통해 제어기 내에서 동작한다.
    1. 어플리케이션 개발
      서로 연결된 컴포넌트들의 집합을 통해 설계
    2. Virtual Functional Bus(VFB)
      연결된 컴포넌트들이 교류하는 가상의 통신 구조(통로)
    3. 제어기 할당
      컴포넌트를 특정 제어기에 배치
      -> 가상의 컴포넌트 간의 연결이 다음의 실제 연결로 분류: 1. 제어기 내에서의 연결 2. 통신 수단을 통한 제어기 간의 연결
    4. RTE
      제어기 할당을 통해 분류된 연결에 대해 컴포넌트 간 또는 컴포넌트와 Basic Software (BSW)간의 구체적인 실제 인터페이스
      VFB 수준에서 설계한 컴포넌트들 및 컴포넌트 간의 관계를 제어기 상에서 동작할 수 있도록 코드화 (VFB의 구현)

Software Component Description

소프트웨어 컴포넌트를 구성하고 설계한 정보를 담고 있는 문서

  • Software Component Description 개발 단계
  1. Virtual Functional Bus (VFB) level: 최상위 (가장 추상화된) 단계 컴포넌트 및 컴포넌트 간의 연결을 기술 (포트, 인터페이스) 컴포넌트의 통신 속성 및 서로의 관계를 표현
  • 구성요소: (1) Component (2) Composition (3) Port (4) Interface (5) Assembly/Delegation
  1. Run-Time Environment (RTE) level: 중간 단계
    컴포넌트의 행동 (Internal Behavior)을 기술 Runnable, Event, Access Point
  • 구성요소: (1) Runnable (2) Event (3) Access Point
  1. Implementation level: 최하위 단계
    Internal Behavior를 구현 (Runnable 코드 작성)
  • 구성요소: Code
  • VFB-level
    • Component
      • VFB 수준에서 시스템을 구성할 때 사용되는 중심 구성 요소
      • "Port"를 소유
    • Component-type과 Component-prototype
      • Component-type이 객체고 Component-prototype이 인스턴스
    • Composition
      • 다른 컴포넌트를 포함하는 컴포넌트
      • 컴포넌트 프로토타입, 포트, 커넥터를 소유
    • Port
      • 컴포넌트 간의 상호 작용(통신)을 위한 지점
      • P-Port (Interface에서 정의된 요소를 제공: Provide)와 R-Port (Interface에서 정의된 요소를 요청: Require)가 있다
    • Interface
      • Port가 제공하거나 요구하는 타입을 정의 -> Client-Server, Sender-Receiver가 여기에 속한다
    • Assembly Connector
      • 컴포넌트의 P-Port와 R-Port가 통신하기 위해 연결
      • 일반적으로 Assembly Connector로 연결되는 두 Port는 같은 Interface 속성을 가진다
    • Delegation Connector
      • Composition을 구성할 때 내부의 Port를 외부에서 사용하기 위해 연결
      • P-Port는 P-Port와 R-Port는 R-Port와 연결
        -> Composition의 Port와 Component-Prototype의 Port를 연결
  • RTE-level
    • Runnable
      • 컴포넌트의 실제 구현을 구성하는 가장 작은 단위
      • Run-Time Environment (RTE)를 통해 시작되는 Instruction Sequence
    • Event
      • Runnable은 RTE에 의해서 실행되며, Runnable이 특정 방식으로 실행될 수 있도록 Event를 지정한다
    • Access Point
      • Runnable에서는 RTE가 제공하는 API를 사용하며, Runnable 내에서 사용하려는 API를 Access Point를 통해 지정한다.

ECU Configuration Description

ECU Configuration Description: 제어기에 대한 설정 정보를 담고 있는 문서

  • RTE ECU Configuration Description
    • ECU Configuration Description 중 하나로 소프트웨어 컴포넌트가 제어기에서 동작할 수 있도록 RTE가 코드 생성을 위해 필요한 제어기 관련 설정을 담고 있는 문서
  • RTE ECU Configuration Description의 주요 구성 요소
    • RteSwComponentInstance
      • RteEventToTaskMapping
  • RteSwComponentInstance
    • 제어기에 할당된 컴포넌트에 대해 제어기 관련 설정을 하기 위해 해당 컴포넌트를 명시화
  • RteEventToTaskMapping
    • Runnable을 실행하는 Event에 대해 RTE가 실제 코드 구현을 할 수 있도록 자원을 할당
    • RTE가 Task 코드 안에 Runnable 호출 코드를 배치하기 위해 Runnable이 실행될 OsTask, OsAlarm 등을 할당

Use Case

  • Summary: Software Component Description & ECU Configuration Description
  • Case 1: Timing Event
    • Software Component Description & ECU Configuration Description 구성 요소 및 설계 순서별 필요 작업
    • Timing Event를 사용하여 주기적으로 동작하는 애플리케이션을 다음과 같이 구성하여 설계할 수 있다.
    • Software Component Description 구조
      • Timing Event를 사용하여 주기적으로 동작하는 애플리케이션의 Software Component Desription 구조는 다음과 같다.
    • 제어 흐름도
      • 생성된 RTE 코드를 통한 제어기 내에서의 동작은 다음과 같이 이루어진다.
  • Case 2: Sender-Receiver Interface
    • Software Component Description & ECU Configuration Description 구성 요소 및 설계 순서 별 필요 작업
    • Sender-Receiver Interface를 사용하여 데이터를 주고 받는 애플리케이션을 다음과 같이 구성하여 설계할 수 있다
    • Software Component Description 구조
      • Sender-Receiver Interface를 통해 데이터를 주고 받는 애플리케이션의 Software Component Description 구조를 다음과 같이 그림으로 표현할 수 있다
    • 제어 흐름도
      • 생성된 RTE 코드를 통한 제어기 내에서의 동작은 다음과 같이 이루어진다
  • Case 3: Client-Server Interface
    • Software Component Description & ECU Configuration Description 구성 요소 및 설계 순서 별 필요 작업
      • Client-Server Interface를 사용하여 서비스를 요청하고 수행하는 애플리케이션을 다음과 같이 구성하여 설계할 수 있다
    • Software Component Description의 구조
      • Clent-Server Interface를 사용하여 서비스를 요청하고 수행하는 애플리케이션의 Software Component Description 구조를 다음과 같이 그림으로 표현할 수 있다
    • 제어 흐름도
      • 생성된 RTE 코드를 통한 제어기 내에서의 동작은 다음과 같이 이루어진다

AUTOSAR IO HARDWARE ABSTRACTION

AUTOSAR IO Hardware Abstraction (IoHwAb)


오토에버가 이 Basic Software를 제공한다
현대자동차 mcu에 맞춰서 개발하기 위해 AUTOSAR를 잘 커스텀한 것 -> 모빌진

  • Overview
    • iohwab는 ecu 하드웨어 신호 경로를 추상화한다
    • 이것은 신호 기반의 인터페이스를 상위 소프트웨어 계층에 제공한다
    • ECU 하드웨어의 입력/출력에서 물리적 표현에 따라 값의 정적 추상화를 수행한다
  • AUTOSAR SW-Cs (Software Components)
    • 오토사 어플리케이션 소프트웨어 컴포넌트는 ECU와 location에 독립적인 반면, sensor-actuator의 배치는 ECU의 영향을 받는다
      sender-receiver: data 통신
      server-client: 함수 호출
  • Signal conversions between physical signals and software signals
  • Example "ECU_Set_I" for the ECU abstraction
  • Interface with MCAL drivers
    • IoHwAb calls the driver's APIs for managing on chip devices
    • Notifications are generated by MCAL drivers and are handled within the IoHwAb

      uart가 없다

0개의 댓글