ECU 가상화: 여정​

개요

전자 제어 장치(ECU) 동작을 능숙하게 복제하려면 자동차 개발 및 테스트를 위한 강력한 도구가 필요합니다. 차량에서 ECU를 가상화할 때 권장되는 방법론은 체계적인 프로세스를 따르며, 어플리케이션에서 마이크로컨트롤러 추상화에 이르는 대표적인 AUTOSAR(AUTomotive Open System ARchitecture) 아키텍처의 4개 계층을 준수하여 조기 테스트의 이점을 강조합니다. 이 기술 백서에서는 NI VeriStand 및 Synopsys의 Silver 소프트웨어를 사용한 어플리케이션 모델링 및 버추얼 ECU(vECU) 시뮬레이션을 포함한 중요한 단계에 대해 설명합니다.

내용

차량에서 ECU의 가상화를 위한 중점 영역

대부분의 ECU는 자동차 제조업체, 공급업체 및 기타 이해 관계자가 공동으로 개발한 표준화된 소프트웨어 아키텍처인 AUTOSAR로 구축한 잘 정의된 아키텍처(그림 1 참조)를 따릅니다. AUTOSAR는 첨단 차량에서 소프트웨어의 개발, 통합 및 관리를 위한 공통 플랫폼을 제공합니다. AUTOSAR는 소프트웨어 아키텍처, 어플리케이션 인터페이스 및 통신 프로토콜에 대한 표준화된 프레임워크를 정의하여 증가하는 자동차 전자 시스템의 복잡성을 해결하는 것을 목표로 합니다.

이러한 개방적이고 표준화된 접근 방식을 통해 여러 업체에서 공급한 다양한 자동차 소프트웨어 구성요소가 함께 원활하게 작동하여 상호 운용성과 확장성이 향상됩니다. AUTOSAR는 소프트웨어 모듈의 재사용성을 촉진하여 자동차 제조사가 다양한 차량 모델 및 전자 제어 장치에서 소프트웨어를 보다 쉽게 개발하고 유지할 수 있도록 지원합니다. 따라서 자동차 산업에서 개발 프로세스의 효율성을 높이고 시장 출시 기간을 단축하며 전반적인 시스템 안정성을 향상시킬 수 있습니다.AUTOSAR ECU 계층형 아키텍처 다이어그램

그림 1: AUTOSAR ECU 계층형 아키텍처

그림 1이 보여주는 것처럼 AUTOSAR 아키텍처는 ECU에 기능을 부여하는 4개 계층으로 구성됩니다. ECU 시뮬레이션에서 이 아키텍처를 활용하면 물리적 ECU를 기다릴 필요 없이 기능을 조기에 검증할 수 있어 테스트 프로세스가 빨라집니다.

각 계층의 목적을 더 잘 이해하기 위해 AUTOSAR Classic 플랫폼 아키텍처의 4개 계층 각각이 수행하는 궁극적인 작업을 살펴보겠습니다.

  1. 어플리케이션 계층:
    • 최상위 어플리케이션 코드를 구현합니다.
    • 필요에 따라 고유한 기능을 수행하도록 소프트웨어 구성요소(SWC)를 구성합니다.
    • SWC와 연계된 표준화된 인터페이스를 구현하여 자동차 어플리케이션을 개발합니다.
    • 잘 정의된 포트를 통해 구성요소 간의 통신을 원활하게 해 AUTOSAR Basic Software 계층과의 상호작용을 가능하게 합니다.
    • 데이터 수신과 같은 실행 가능한 객체를 포함하여 SWC 내에서 실제 구현의 주기적 또는 이벤트 기반 실행을 트리거합니다.
  2. 런타임 환경 계층:
    • 미들웨어 계층으로 작동합니다.
    • AUTOSAR SWC 및 어플리케이션에 AUTOSAR 센서/액추에이터 부품과의 통신 서비스를 제공합니다.
    • SWC를 특정 ECU 맵핑에 종속되지 않도록 만듭니다.
    • 각 ECU 및 어플리케이션에 전문화되어 있습니다.
    • AUTOSAR 소프트웨어 구성요소의 자율성을 보장하여 유연성과 이식성을 향상시킵니다.
  3. Basic Software(BSW) 설정 계층:
    • ECU 추상화 계층:
      1. 주변 장치에 액세스하기 위해 MCAL(Microcontroller Abstraction Layer)과 접속합니다.
      2. 마이크로 컨트롤러 유닛(MCU) 상호작용을 위한 API를 설정하여 ECU 하드웨어로부터 독립성을 보장합니다.
      3. ECU 하드웨어에 의존하면서도 MCU로부터 독립적으로 장착할 수 있습니다.
    • 복잡한 드라이버:
      1. 복잡한 기능(예: 연료분사 제어)을 처리합니다.
      2. MCU에 직접 접근해 특별한 타이밍 요구사항을 충족합니다.
      3. AUTOSAR에 따라 표준화된 인터페이스를 탑재합니다.
    • 마이크로컨트롤러 추상화 계층:
      1. 온칩 MCU 주변 장치 및 외부 디바이스에 직접 액세스합니다.
      2. MCU 세부 부분에서 상위 소프트웨어를 독립시킵니다.
      3. 표준화된 MCU 스펙의 영향을 받지 않는 인터페이스를 설정합니다.
  4. 마이크로컨트롤러 계층:
    • 소프트웨어 계층과 마이크로컨트롤러 하드웨어 주변 장치 간의 통신을 가능하게 하는 인터페이스의 역할을 합니다.

이러한 계층을 좀 더 자세히 살펴보면 어플리케이션 계층이 ECU의 핵심 기능을 캡슐화하여 중추적인 역할을 한다는 것을 알 수 있습니다. 이 계층의 코드를 활용하면 vECU를 정확하게 시뮬레이션할 수 있습니다.

리얼타임 차량 ECU 시뮬레이션 구현

vECU를 정확하게 시뮬레이션하기 위해서는 구조화된 접근 방식이 필수적입니다(그림 2 참조). 따라서 다음 주요 단계를 수행하면 목표를 달성할 수 있습니다.

  1. 어플리케이션 모델링: MathWorks® MATLAB® 소프트웨어 및 Simulink® 소프트웨어를 사용하여 ECU의 기능을 충실히 나타내는 포괄적인 모델을 생성하는 것부터 시작합니다.
  2. 어플리케이션 제작: ECU에 있는 다양한 I/O 신호를 AUTOSAR 구성요소에 세심하게 맵핑합니다. 이 맵핑은 MATLAB 소프트웨어, Simulink 소프트웨어 또는 ISOLAR-A*와 같은 도구를 사용하여 수행할 수 있습니다.
  3. Basic Software 설정: ECU 작동을 제어하는 필수 기본 소프트웨어 구성요소를 복제합니다. 이 태스크는 ISOLAR-B*를 활용하여 수행할 수 있습니다.
  4. 버추얼 ECU 구축: Silver라고 하는 Synopsys 소프트웨어에서 설정 파일을 사용하여 ECU 가상화 과정을 시작합니다.
  5. 버추얼 ECU 시뮬레이션: NI VeriStand 소프트웨어를 NI HIL 리얼타임 테스트 플랫폼과 함께 사용하면 원하는 신호 타입에 따라 I/O 포트를 재구성할 수 있어 효과적인 시뮬레이션을 생성할 수 있습니다. 이 기능을 통해 정확한 고객 스펙에 맞춰 vECU를 시뮬레이션할 수 있습니다. 버튼을 한 번만 클릭하여 다양한 vECU 간에 원활하게 전환할 수 있으므로 사용자는 시뮬레이션된 ECU 간에 이동할 수 있습니다.

* ISOLAR-A 및 ISOLAR-B는 자동차 ECU에서 임베디드 소프트웨어를 개발하기 위한 ETAS의 소프트웨어 도구를 나타냅니다. 이러한 도구는 AUTOSAR 호환 소프트웨어를 생성하고 아키텍처를 표준화하여 확장성 및 상호 운용성을 향상시킵니다. 최신 세부사항은 ETAS 공식 문서를 참조하거나 ETAS에 직접 문의하십시오.

아래 그림은 ECU 가상화에 권장되는 프로세스를 요약한 것입니다. 각 단계를 안내하기 위해 NI에서 권장하는 도구는 굵게 표시하였습니다. 또한 각 단계에는 각 프로세스에서 사용해 볼 수 있는 널리 사용되는 다른 도구도 나열되어 있습니다. 이러한 구조화된 접근 방식은 명확성을 높이고 ECU 가상화를 구현할 때 정보를 바탕으로 의사를 결정하는 데 도움이 됩니다.

버추얼 검증 프로세스 다이어그램

그림 2: 버추얼 검증 프로세스

따라서 이러한 잘 정의된 단계를 따르면 모든 차량 ECU 동작을 효과적이고 효율적으로 시뮬레이션하여 자동차 개발 및 테스트를 위한 강력한 도구를 제공하고 시간을 절약하고 테스트 프로세스에서 시프트 레프트(Shifting Left) 방식으로 접근할 수 있습니다.