SW 개발

CLASSIC AUTOSAR 기본 - 01 CLASSIC AUTOSAR Layer 및 기본구조

. . . 2021. 11. 23. 12:17
반응형
  • 개인적 스터디를 위해 정리한자료입니다.
  • 본문서는 classic AUTOSAR general(autosar 4.4) 문서 : AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf 를 정리하였습니다.
  • 잡담
    • 아무래도 주로 tier 에서 사용하는 시스템이다 보니 보안상의 이슈로 인해 한글자료가 많이 없는 느낌입니다.
    • 업무상 AUTOSAR 내용파악을 위해 구글 검색해봐도 잘안나오길래, 그냥 무작정 스펙서를 기반으로 스터디한 자료를 공유합니다.
    • 틀린부분이 있다면 댓글달아주세요.

글순서

  1. AUTOSAR-개요-classic-platform--기본-1-layer <- 현재 포스팅
  2. CLASSIC AUTOSAR 기본 - 02 Base Software Module Type
  3. CLASSIC AUTOSAR 기본 - 03 Software Layer
  4. CLASSIC AUTOSAR 기본 - 04 Software Layers in Multi-Core Systems
  5. CLASSIC AUTOSAR 기본 - 05 Software Layers in Mixed-Critical Systems
  6. CLASSIC AUTOSAR 기본 - 06 Overview of Modules
  7. CLASSIC AUTOSAR 기본 - 07 Interfaces

1 기본 layer 및 구조

1.1 기초사항

1.1.1 Application scope of AUTOSAR

  • Autosar는 자동차 ECU에 특화 되어있습니다. 차량용 ECU 는 다음과 같은 특성을 갖습니다.

    • 하드웨어 (센서 및 액추에이터) 와의 상호 작용 및 통신.
    • CAN, LIN, FlexRay 또는 이더넷과 같은 차량 네트워크 통신.
    • 전력 및 메모리가 제한된 자원이 제한된 마이크로 컨트롤러 (16 or 32bit)
    • 리얼타임 시스템
    • 내부 또는 외부 플래시 메모리에서 프로그램 실행.

notes : AUTOSAR에서 ECU는 하나의 마이크로 컨트롤러와 관련한 주변 장치와 소프트웨어/구성을 의미합니다. (mechanical design 은 AUTOSAR의 범위가 아닙니다.) 하나 이상의 마이크로 컨트롤러가 함께 구성된 경우 된 경우 각 마이크로 컨트롤러는 AUTOSAR-ECU 인스턴스에 대해 정의 되어어있어야합니다.

1.1.2 AUTOSAR extensibility (AUTOSAR 의 확장성)

AUTOSAR Software Architecture 는 일반적으로 다음과 같은 접근방식으로 구성된다.

  • standard modules 은 규약을 준수하면서 기능확장을 표준 모듈은 여전히 준수하는 동안 기능으로 확장 될 수 있습니다.
    • 그래도, 기능확장은 Basic SW Configuration 자동 설정을 반드시 고려해야 합니다.
  • non-standard modules 은 AUTOSAR 기본 시스템의 Complex Drivers 에 추가될수있으나 further layers 에는 추가 할 수 없습니다.

1.1.3 Architecture - Topview (AUTOSAR 구조 - Topview)

AUTOSAR 아키텍처는 크게 3가지 레이어로 분류, 추상화 합니다. (마이크로 컨트롤러에서 실행되는 응용 프로그램, 런타임 환경 및 기본 소프트웨어의 세 가지 소프트웨어 레이어 간의 가장 높은 추상화 수준을 구분합니다.)

  • Application
  • Runtime Environment
  • Basic Software

topview layer

1.1.4 Architecture - detail view

Basic Software 는 다음과 같이 세가지 로 다시 분류할 수있습니다.

  • ECU Abstraction
  • Microcontroller Abstraction
  • Complex Drivers.

detail view - 1

Basic Software Layer 은 기능 그룹으로 더 나뉩니다.

서비스를 상세분류할때는 다음과같은 layer 로 구성될 수있습니다. (메모리 및 통신 서비스등)

detail view - 2

1.2 Microcontroller Abstraction Layer

  • Microcontroller Abstraction Layer(마이크로 컨트롤러 추상화 레이어) 는 Basic Software 의 가장 기본 레이어입니다.
  • 이 레이어에는 MCU 의 내부 주변장치(peripheral)들을 컨트롤, 엑세스 할수있는 소프트웨어 모듈, 내부 드라이버가 포함되어있습니다.

Microcontroller Abstraction Layer

...

  • TASK
    • 상위 software layer 를 MCU 에 대해 독립적으로 만든다.
  • Properties
    • Implementation: MCU 에 대해 의존성
    • Upper Interface: MCU 에 독립적인이며, 표준화된 인터페이스

1.3 ECU Abstraction Layer

  • ECU Abstraction Layer (ECU 추상화 레이어) 는 Microcontroller Abstraction Layer(마이크로 컨트롤러 추상화 레이어) 를 인터페이스를 통해 컨트롤을 합니다.
  • 외부장치를 위한 드라이버가 포함되어있습니다.
  • MCU 내부 혹은 외부에 있는 주변장치(peripheral) 를 컨트롤 할수있는 API 를 제공합니다.
  • MCU 의 port pin과 같은 인터페이스를 컨트롤 할수있는 API 를 제공합니다.

ECU Abstraction Layer

...

  • Task
    • 상위 software layers 를 ECU 하드웨어에 대해서 독립적으로 만든다.
  • Properties
    • Implementation: MCU 에 대해 독릭접, ECU 에 대해 의존성
    • Upper Interface: MCU, ECU 에 대해 독립적

1.4 Complex Drivers

  • Complex Drivers Layer 는 하드웨어어와 RTE 를 연결합니다.
  • 특정 목적을 위해서 제공되는 드라이버로, AUTOSAR 내부에 정의되어있지 않고, 높은 응답 타이밍등의 목적으로 사용된다.

Complex Drivers

  • Task
    • 특별한 목적의 기능을 위해 사용
      • AUTOSAR 내부에 정의되어있지 않고, 높은 응답 타이밍등의 목적으로 사용.
  • Properties
    • Implementation: 응용 프로그램, MCU 및 ECU 하드웨어 의존성
    • Upper Interface: 응용 프로그램, MCU 및 ECU 하드웨어 의존성

1.5 Services Layer

  • Services Layer(서비스계층)은 Basic Software 중에서 응용소프트웨어와 관련한 가장 상위 레이어 입니다.
  • I/O 신호에 대한 엑세스는 ECU Abstraction Layer를 통해서 이뤄지는동안 Services Layer(서비스계층)은 다음의 기능들을 제공합니다.
    • Operating system functionality
    • Vehicle network communication and management services
    • Memory services (NVRAM management)
    • Diagnostic Services (including UDS communication, error memory and fault treatment)
    • ECU state management, mode management
    • Logical and temporal program flow monitoring (Wdg manager)

Services Layer

  • Task
    • 어플리케이션과 RTE, basic software module 에 대한 Basic service 를 제공
  • Properties
    • Implementation: MCU 와 ECU 하드웨어에 대해 독립적 (반드시 독립적이여야함
    • Upper Interface: MCU 와 ECU 하드웨어에 대해 독립적

1.6 Runtime Environment (RTE)

The RTE is a layer providing communication services to the application software (AUTOSAR Software Components and/or AUTOSAR Sensor/Actuator components).RTE는 응용 프로그램 소프트웨어에 통신 서비스를 제공하는 계층 (AUTOSAR 소프트웨어 구성 요소 및 / 또는 AUTOSAR 센서 / 액추에이터 구성 요소)입니다. - RTE는 응 각 어플리케이션(AUTOSAR Software Component, AUTOSAR Sensor/Actuator components)간의 통신 layer 를 제공 합니다. - RTE 상위의 소프트트웨어 구조의 스타일은, layered 에서 component style 로 변경 됩니다.. - AUTOSAR 소프트웨어 구성 요소는 RTE 를 통해 다른 구성 요소 (내부, 외부 ECU) 혹은 서비스와 통신합니다.

Runtime Environment

  • Task
    • Make AUTOSAR Software Components independent from the mapping to a specific ECU.
  • Properties
    • Implementation: ECU 와 어플리케이션에 특화된 코드 (각각의 ECU에 대한 코드생성)
    • Upper Interface: 완벽하게 ECU에 독립적

1.7 services의 종류

Base Software 는 다음 유형의 서비스로 세분화 될 수 있습니다.

  • Input/Output (I/O)
    • 센서, 엑츄에이터, ECU peripherals 에 대한 표준화된 접근
  • Memory
    • 외부 내부의 메모리 (비휘발메모리) 에 대한 표준화된 접근
  • Crypto
    • 내부, 외부 하드웨어 가속기를 이용한 암호화 에 대한 표준화된 접근
  • Communication
    • 차량용 네트워크, ECU 내부 통신, 내부 소프트웨어간의 통신 에 대한 표준화된 접근
  • Off-board Communication
    • v2x 통신, 차량무선통신, ECU 외부의 보드간의 통신 에 대한 표준화된 접근
  • System
    • operating system, 타이머, 메모리에러제어등의 표준화 기능제공
    • ECU 상태관리, 와치독 등의 ECU 특화 서비스 및 라이브러리
반응형