현대 E/E 아키텍처에서의 차량 진단
소프트웨어에서 진단 데이터를 효율적으로 수집, 정의 및 구현하는 방법

일반적인 자동차 개발 프로세스에서는 진단 사양과 소프트웨어 구현이 서로 분리되어 있습니다. 담당자마다 서로 다른 작성 도구를 사용하며, 일관성을 수동으로 검증해야 하므로 오류가 발생하기 쉽고 개발 속도가 느려집니다. 통합된 모델 기반 접근 방식은 이러한 상황을 변화시킵니다. 본 문서에서는 차량 E/E 시스템 내에서 직접 진단을 정의하고 이를 구현 소프트웨어와 원활하게 연동하는 방법을 소개합니다.
차량 진단 프로젝트에서 팀들은 종종 진단 사양을 소프트웨어 개발과 분리하여 진행합니다. 엔지니어들은 생산 라인이나 정비소를 위한 진단을 고려하기 훨씬 전에 소프트웨어와 E/E 시스템의 상당 부분을 사양화합니다. 책임은 서로 다른 부서에 분산됩니다. 엔지니어들은 고립된 도구를 사용하며, 공통 데이터베이스가 부족합니다. 팀들은 이메일이나 회의를 통해 비공식적으로 정보를 교환하며, 표준화된 동기화 없이 즉흥적으로 변경을 가합니다.
미래에 대비한 차량을 개발하기 위해서는 성공적인 진단 설계가 전체 생명주기를 고려해야 한다고 믿습니다. 생산 및 고객 서비스 전문가들은 시험기의 매개변수화를 주력하고, 시스템 개발자들은 차량 소프트웨어의 내부 설계에 집중합니다. 종종 이러한 그룹들은 서로의 요구 사항을 부차적인 것으로 간주합니다.
그러나 부인할 수 없는 상호 의존성이 존재합니다. 진단 사양의 데이터 유형 정의가 구현된 애플리케이션 소프트웨어와 다르면 불일치가 발생합니다. 이러한 문제는 진단 이벤트 관리자(DEM)나 진단 통신 관리자(DCM)와 같은 AUTOSAR 기본 소프트웨어 컴포넌트를 구성하는 후반 단계에서 비로소 드러납니다. ECU 시동 중에 오류를 발견하면 자원이 낭비됩니다. 엔지니어링의 법칙은 다음과 같습니다. 오류 탐지가 늦어질수록 수정 비용은 기하급수적으로 증가합니다.
모델 기반 통합으로 격차 해소하기

당사는 이러한 과제를 해결할 수 있는 효율적인 방법을 제공합니다. Vector는 두 가지 강력한 도구를 원활하게 통합합니다. 사용자는 모델 기반 PREEvision 환경에서 진단 및 소프트웨어 개념을 개발하고, CANdelaStudio와 모든 관련 데이터를 교환하여 공식적인 진단 사양을 생성할 수 있습니다.
상위 수준의 E/E 모델은 시스템 요구사항, 소프트웨어 아키텍처, 하드웨어 구성 요소 및 와이어 하네스 전반에 걸쳐 기술적 일관성을 보장합니다. 공유 데이터베이스에 모든 상호 관계를 매핑합니다. 기술적 변경이 발생하면, 해당 업데이트는 영향을 받는 모든 개발자에게 즉시 반영됩니다. 잠재적인 충돌을 조기에 파악할 수 있습니다. 견고한 버전 관리 기능을 통해 릴리스 시점을 추적합니다. 모듈형 소프트웨어 스택을 지원하기 위해 동일한 부품과 차이점을 한 곳에서 기술함으로써 변형을 손쉽게 관리할 수 있습니다.
진단 도구와 소프트웨어 간의 종속성 파악
ECU 소프트웨어와 진단 설명을 연결하는 의존 관계는 무엇인가? 작성 도구는 대개 외부 시험기의 관점에서 진단 기능을 설명한다. 이러한 도구는 시험기가 fault memory에서 읽어오는 진단 장애 code(DTC)나 ECU가 제공하는 데이터 식별자(DID)를 상세히 기술한다. 또한 데이터 유형, 변환 및 물리 단위를 정의한다.
애플리케이션 소프트웨어는 진단 포트를 통해 이러한 내용을 구현합니다. DID 데이터 객체의 경우, 이는 데이터 유형, 변환 공식 및 단위가 할당된 특정 데이터 요소를 의미합니다. AUTOSAR 준수 모델링은 이러한 세부 사항을 여러 객체에 분산합니다. 예를 들어, 단일 DID를 사용하여 여러 소프트웨어 포트를 통해 이동되는 여러 온도 값에 접근할 수 있습니다. 세분화 수준은 다르더라도 정보의 내용은 일관성을 유지합니다.
진단 및 소프트웨어를 함께 정의하십시오. 이를 통해 중복을 제거할 수 있습니다. 소프트웨어에서 데이터형을 기술하고, 진단 설명에서 이를 참조하도록 할 수 있습니다. 또는 진단 내용을 먼저 정의하고, 그 상세 정보를 소프트웨어 구현에 사용할 수도 있습니다.
통합 도구 체인에서 세부 사항 구현

진단 사양은 애플리케이션 소프트웨어에 대한 요구 사항을 규정합니다. 진단 루틴을 구현하려면 소프트웨어 컴포넌트가 필요합니다. DTC(진단 오류 코드)에는 모니터링 기능이 필요합니다. AUTOSAR는 엄격한 구조적 요구 사항을 제시합니다. I/O 제어에는 모니터링 대상 데이터를 위한 레코드 유형이 필요합니다. 루틴에는 클라이언트/서버 인터페이스가 필요합니다. 이러한 구조를 한 번 정의하면 두 도메인 모두에서 사용할 수 있습니다.
저희는 PREEvision을 진단 전용 추상화 계층으로 확장했습니다. 시스템 전반에 걸쳐 진단 객체를 정의하고 이를 애플리케이션 소프트웨어에 연결할 수 있습니다. DID, I/O 제어, 루틴, 그리고 DiagnosticEvents 및 OperationCycles와 같은 AUTOSAR 이벤트 처리 요소를 정의할 수 있습니다. 또한 CANdelaStudio와의 양방향 데이터 교환을 구축하여 협업 작업 모델을 지원합니다.

PREEvision으로의 데이터 흐름 반환 기능을 통해 기존 diagnostic description의 마스터 데이터를 출발점으로 사용할 수 있습니다. 조직 간 교류를 가능하게 하기 위해 파일 기반 방식을 선택했습니다. 교환 파일은 진단 객체와 관련 소프트웨어 세부 정보를 담고 있습니다.
진단 객체를 애플리케이션 소프트웨어 포트에 할당하는 정보는 참조를 통해 전달됩니다. basic software 구성 도구에서 통합 담당자는 수동 포트 mapping 과정을 생략할 수 있습니다. 시스템은 참조를 기반으로 연결을 자동으로 결정합니다. 이를 통해 시간을 절약하고 오류를 줄일 수 있습니다.

AUTOSAR 준수 여부를 자동으로 확인
AUTOSAR 표준은 진단용 소프트웨어 컴포넌트에 대한 설명을 엄격하게 정의하고 있습니다. 이처럼 방대한 표준을 완전히 숙지하는 데는 시간이 걸립니다. PREEvision은 진단 객체에서 직접 진단 포트를 생성하여 엄격한 AUTOSAR 표준 준수를 보장합니다. 이후 표준에서 벗어난 변경 사항을 적용할 경우, 도구가 즉시 경고를 표시합니다. 이를 통해 품질 보증 과정에서 실시간 성능을 확보할 수 있습니다.
전체 개발 프로세스를 위한 핵심 요점
모든 데이터를 중앙에서 관리할 수 있습니다. 시스템 전체의 진단 정보를 확인할 수 있습니다. 특정 ECU의 진단 내용을 내보낸 후 CANdelaStudio에서 세부 조정하여 AUTOSAR 진단 추출(DEXT) 또는 ODX 포맷으로 생성할 수 있습니다. 시스템 설명과 DEXT를 DaVinci Configurator로 불러올 수 있습니다. 이 프로세스는 다음과 같은 명확한 이점을 제공합니다:
- 진단 객체와 진단 포트를 수동으로 병합하는 과정을 생략하세요. 참조 기능을 통해 할당이 자동화됩니다.
- 자동으로 만들어진 AUTOSAR 규격을 준수하는 진단 포트를 활용하십시오.
- 데이터 유형 충돌을 방지하기 위해 진단 포트의 속성을 진단 객체와 완벽하게 일치시키십시오.

이러한 통합을 통해 조정 작업이 줄어들고, 수작업이 줄이며, 잠재적인 오류가 제거됩니다. 배선 하네스 설계에서 직접 테스트 시퀀스를 생성하는 등, 다른 모델 레벨에서 진단 데이터를 자동으로 도출할 수 있습니다.
이 모델 기반 접근 방식을 도입해 보시기 바랍니다. 부서 간 팀워크를 강화하고, cybersecurity 및 진단 기능을 아키텍처에 원활하게 통합하며, 진정한 혁신을 위한 추진력을 확보하십시오. Vector와 함께 엔지니어링의 탁월함을 달성하십시오.