NI VCOM을 사용한 타이밍 결정성이 높은 ECU 통신 테스트를 위한 신호 기반 Restbus 시뮬레이션

개요

현대 자동차 시스템은 CAN, LIN, 자동차 이더넷과 같은 네트워크를 통해 데이터를 교환하는 분산 ECU에 의존하여 통신 동작이 전체 시스템 기능에 매우 중요하도록 합니다. 그러나 개발 과정에서 완벽한 차량 시스템은 거의 제공되지 않기 때문에 엔지니어가 ECU 간의 상호작용을 검증하는 능력이 제한됩니다. 이러한 상황은 종종 통합 지연, 테스트 범위 감소, 늦은 단계 문제의 증가 위험을 초래합니다. 

 

Restbus 시뮬레이션은 누락된 네트워크 노드의 통신 동작을 재현하여 현실적이고 반복 가능한 테스트 환경을 가능하게 하여 이러한 문제를 해결합니다. 차량 네트워크가 복잡해지고 AUTOSAR 기반의 통신을 채택함에 따라, 정확하고 안정적인 ECU 검증을 위해 확장 가능한 데이터베이스 기반 접근 방식이 필요합니다. NI VCOM은 차량 데이터베이스에서 직접 신호 기반의 리스트 버스 시뮬레이션을 실행하여 CAN, LIN 및 자동차 이더넷 환경에서 ECU 검증을 위해 일관되고 관리하기 쉬운 기반을 제공합니다. 

내용

통신 데이터베이스와 그 역할

VCOM의 Restbus 시뮬레이션 정확도는 이를 구성하는 통신 데이터의 품질에 직접적으로 좌우됩니다. 수동으로 개발된 통신 모델을 필요로 하는 대신, VCOM은 자동차 통신 데이터베이스에서 직접 동작을 실행하여 데이터베이스를 전체 테스트 환경의 기초로 만듭니다.

VCOM에서 Restbus 시뮬레이션은 네트워크, 노드, 프로토콜 데이터 단위 (PDU), 프레임, 신호, 타이밍, 보호 규칙을 정의하는 통신 데이터베이스에 의해 전적으로 구동됩니다. VCOM은 DBC, LDF 및 AUTOSAR ARXML 포맷을 지원합니다.

현대 차량 프로그램에서 AUTOSAR ARXML은 차량 네트워크의 통신 관계를 설명하기 때문에 Restbus 시뮬레이션의 주요 소스입니다. 정확한 시뮬레이션을 위해 VCOM은 모든 관련 통신 참가자를 포함하는 시스템 레벨 추출을 필요로 합니다. 잔류 버스 동작은 전송 및 수신 관계에 따라 다르기 때문에, ECU 추출만으로는 일반적으로 충분하지 않습니다.

실제로는 ARXML 파일을 사용하기 전에 검토하고 정리해야 하는 경우가 많습니다. VCOM은 이러한 데이터베이스 정의를 실행 가능한 리스트 버스 동작으로 변환하는 프레임워크를 제공하므로 테스트 환경과 의도한 차량 통신 구조 사이의 정렬을 유지할 수 있습니다. 

Vehicle Communication Software Suite의 역할 

현대 ECU는 단독으로 작동하는 경우가 거의 없습니다. HIL 및 벤치 테스트 중 엔지니어는 실제 조건에서 ECU 기능을 검증하기 위해 차량 네트워크 동작을 재현해야 합니다.

VCOM은 HIL 및 벤치 테스트 시스템에 대한 신호 기반의 리스트 버스 시뮬레이션을 제공하는 소프트웨어 제품군입니다. NI-XNET 드라이버 계층을 기반으로 구축된 이 모듈은 차량 데이터베이스에서 직접 통신을 실행하며, 누락된 네트워크 노드의 동작을 재현하여 엔지니어가 완전한 차량 시스템을 사용할 수 있기 전에 ECU 기능을 검증할 수 있습니다. VCOM은 타이밍, 메시지 패킹, 보호 메커니즘과 같은 프로토콜 특정 세부사항을 처리하여 엔지니어가 통신 구현이 아닌 ECU 검증에 초점을 맞출 수 있도록 합니다.

VCOM은 CAN, LIN 및 자동차 이더넷용 NI-XNET 인터페이스를 사용하여 Microsoft Windows PC 및 NI Linux RT 타겟에서 실행되므로 개발 벤치 및 랙 기반 HIL 환경 모두에 배포할 수 있습니다. UDS (Diagnostics) 옵션 및 측정 및 교정 (CCP/XCP) 툴킷은 테스트 자동화 기능을 더욱 확장합니다.

VCOM이 데이터베이스 정의로부터의 통신을 실행하는 방법

VCOM은 사용자 코드된 통신 로직에 의존하는 대신, 모든 전송 및 수신 동작을 반입된 데이터베이스에서 직접 유도합니다. 각 시뮬레이션 네트워크 노드는 엔지니어가 프로토콜 동작을 수동으로 구현할 필요 없이 설정된 네트워크, 타이밍 파라미터, 보호 규칙을 사용하여 정의된대로 작동합니다.

CAN의 경우, 출력 프레임은 스케일, 오프셋, 비트 레이아웃, 엔디언 및 관련 체크섬, 카운터 또는 AUTOSAR 엔드 투 엔드 보호에 따라 신호 값을 인코딩하여 생성됩니다. 들어오는 프레임은 신호로 디코딩되어 로직, 스크립트 또는 관찰기를 테스트할 수 있도록 합니다. 메시지 타이밍은 명시적이며, 이는 정의된 주기와 오프셋을 가진 주기적 전송과 상태 변경이나 외부 요청에 의해 트리거되는 이벤트 드리븐 전송을 포함합니다. 

LIN에서, 프레임 스케줄은 어떤 슬롯과 어떤 속도로 어떤 프레임이 나타날지 컨트롤합니다. 자동차 이더넷에서 VCOM은 서비스 검색, 이벤트 전송, 필요한 경우 호출 방법을 포함하여 ARXML에 정의된 대로 SOME/IP 통신을 실행합니다. 모든 경우, VCOM은 통신 스펙을 실행하지만 ECU 내부 동작을 구현하지 않습니다. 

엔진 컨트롤러 시나리오

테스트 중인 엔진 컨트롤러를 고려하십시오. 이 엔진 컨트롤러는 잔류 버스에서 Motor_Speed를 소비하고 통신 사양에 따라 토크 요청 및 조명 위치 메시지를 전송합니다. 

벤치에서, Motor_Speed는 잔류 버스 시뮬레이션에 의해 유휴에서 빨간 라인으로 구동되며, 외부 공기 온도 모델은 냉 시작에서 일반 작동 조건으로 변환됩니다. VCOM은 타이밍, 스케일링, 카운터, 보호를 포함하여 데이터베이스에서 정의된 대로 모든 restbus 통신을 인코딩하고 전송합니다. 

견고성을 평가하기 위해 테스트는 모터_스피드 메시지의 5 퍼센트가 1초 동안 누락되는 제어된 교란을 도입합니다. 성공 기준은 통신 레벨에서 엄격하게 준수할 수 있습니다. 엔진 컨트롤러는 결함이 발생한 후 100 ms 이내에 정의된 안전 방식을 입력하고 유효한 트래픽이 재개된 후 200 ms 이내에 정상 작동으로 돌아갑니다. 복구 후에는 진단 문제 코드가 활성화되어 있지 않아야 합니다

이 시나리오는 일반적인 Restbus 사용 사례를 보여줍니다. VCOM은 통신 컨텍스트와 결함 삽입 포인트를 제공하며, ECU 동작과 물리적 모델은 Restbus 시뮬레이션의 범위 밖에 있습니다.  

VCOM이 구현한 프로토콜 및 기능

VCOM은 일반적으로 현재 및 새로운 차량 프로그램에서 사용되는 프로토콜을 지원합니다. 이로써 단일 리스트 버스 환경이 각 프로토콜에 대해 별도의 도구를 필요로 하지 않고 테스트 중인 ECU와 관련된 네트워크 동작을 재현할 수 있습니다.

지원되는 프로토콜에는 CAN, LIN 및 자동차 이더넷이 있습니다. 자동차 이더넷의 경우, 필요한 서비스 검색 메커니즘을 포함하여 ARXML에 제공된 서비스 정의에 따라 SOME/IP 통신이 지원됩니다. J1939는 대용량 어플리케이션에서 기본 멀티플렉싱 및 네트워크 관리를 위한 지원과 함께 사용할 수 있습니다. 

전송 동작은 주기적, 이벤트 드리븐 및 자발적 메시지를 포함하여 데이터베이스 정의에서 자동으로 유도됩니다. VCOM은 멀티플렉스된 PDU, 컨테이너 PDU, AUTOSAR 통신 구조를 기본적으로 실행하여 수동 프로토콜 코딩 없이 복잡한 시스템 정의를 실행할 수 있습니다. 카운터 신호, CRC 및 AUTOSAR 엔드 투 엔드 보호 프로파일은 실행 시 자동으로 생성 및 평가됩니다. 따라서 타이밍 결정성이 높은 고성능의 실행이 가능하므로 사용자 정의 사용자 코드에 의해 일반적으로 발생하는 지연, CPU 로드 및 유지 보수 오버헤드가 방지됩니다. 

신호 값은 API를 통해 작성되거나 덮어써서 테스트 시나리오를 구동할 수 있지만, 시스템에서 보호 메커니즘이 지속적으로 적용됩니다.  

보안 및 보호

자동차 프로그램에서는 생산 과정에서뿐만 아니라 ECU 검증 과정에서 통신 무결성 메커니즘이 존재하고 기능적으로 작동하는 것이 점점 더 필요합니다. VCOM은 이러한 요구사항을 별도의 엔지니어링 작업이 아닌 일반적인 Restbus 실행의 일부로 처리합니다.

VCOM은 여러 OEM에 내장된 SecOC (Secure Onboard Communication) 프로파일을 구현하며, 요청 시 추가 프로파일을 사용할 수 있습니다. 체크섬, 카운터 및 AUTOSAR 엔드 투 엔드 보호 프로파일은 각 PDU에 첨부된 통신 스펙에 따라 자동으로 계산됩니다. 

링크 레벨 보안이 필요한 자동차 이더넷 설정의 경우, 지원되는 NI XNET 이더넷 인터페이스는 MACsec를 활성화할 수 있습니다. 이러한 설정에서 VCOM은 어플리케이션 및 PDU 레벨에서 계속 작동하며, 암호화 및 링크 보호는 드라이버와 하드웨어에 의해 투명하게 처리됩니다. 

네트워크 관리 및 상태

테스트 중인 ECU가 올바르게 작동하려면, 주변 네트워크가 실제 상태 변환을 반영해야 합니다. 슬립, 웨이크업, 네트워크 모드 전환을 고려하지 않는 Restbus 환경은 실제 차량에 존재하지 않는 테스트 조건을 생성하여 잘못된 결과를 초래할 수 있습니다.

VCOM은 데이터베이스에 정의된 대로 CAN 및 자동차 이더넷의 AUTOSAR 네트워크 관리 동작을 실행하여, 테스트 중인 ECU가 상태 사이의 노드 전환 시 일관된 시스템 환경을 감지하도록 합니다. 

TC10과 같은 자동차 이더넷의 물리적 휴면 및 휴면 메커니즘은 NI XNET 드라이버 및 지원되는 하드웨어에 의해 처리됩니다. VCOM은 이 레이어 위로 작동하며 물리적 휴면 동작을 직접 컨트롤하는 대신 네트워크 상태 변경에 반응합니다. 

VCOM이 있는 시스템 구조

VCOM은 기존 HIL 및 벤치 환경에 통합되도록 설계되었습니다. 일반적인 HIL 설정에서 VCOM은 NI VeriStand 또는 NI LabVIEW와 같은 시스템 레벨 도구와 함께 배포됩니다. 이러한 환경은 테스트 실행을 컨트롤하고 VCOM API를 통해 실행 중인 리스트 버스 시뮬레이션과 상호작용합니다. 작업에는 시뮬레이션 시작 및 정지, 신호 값 읽기 및 쓰기, 네트워크 이벤트에 응답하기 등이 포함됩니다. 

VCOM은 restbus 시뮬레이션 계층과 옵션 진단 및 교정 기능을 제공합니다. NI-XNET은 DUT가 차량에서와 동일하게 연결되는 물리적 CAN, LIN 및 자동차 이더넷 인터페이스를 제공합니다. WebUI는 데이터베이스 검사 및 실시간 트래픽 모니터링을 지원하여 벤치 셋업 및 문제 해결을 간소화합니다. 

NI Vehicle Communication (VCOM) Software Suite를 사용하여 Restbus 시뮬레이션 확장하기

차량 통신 네트워크가 복잡해질수록, 잔류 버스 시뮬레이션을 개발하고 유지하는 데 필요한 노력이 종종 병목이 됩니다. 많은 테스트 환경에서, 통신 동작은 사용자 스크립트 또는 어플리케이션 특정 로직을 통해 구현됩니다. 이 방법은 개별 벤치에서 효과적일 수 있지만, 통신 정의가 변함에 따라 여러 테스트 시스템에서 일관성을 유지하는 것이 점점 어려워집니다.

VCOM은 데이터베이스 기반 접근 방식을 통해 이러한 문제를 해결합니다. 통신 동작은 신호 인코딩, 타이밍, 멀티플렉싱, 카운터, CRC, AUTOSAR 보호 메커니즘을 포함하여 DBC, LDF, AUTOSAR ARXML 정의로부터 직접 실행됩니다. 통신 요구사항이 변경될 때, 엔지니어는 여러 테스트 벤치에서 통신 로직을 수정하는 대신 데이터베이스 정의를 업데이트합니다.

이 방법은 검증 작업을 스케일할 때 특히 유용합니다. 개발 벤치에서 검증된 리스트 버스 설정을 동일한 통신 정의와 동작을 사용하여 추가 HIL 시스템에 배포할 수 있습니다. 통신 실행은 데이터베이스에 연계되어 있기 때문에, 모든 벤치는 공통된 진리 소스에서 실행되므로 독립적으로 관리되는 스크립트 또는 설정에 의해 발생하는 불일치의 위험이 줄어듭니다. 

VCOM 프로젝트는 Windows와 NI Linux RT 타겟 모두에서 실행되며 공통 API를 통해 LabVIEW 및 VeriStand 통합됩니다. 이렇게 하면 네트워크 동작이 일관되도록 유지하면서 데스크탑, 랙 기반, 자동화 테스트 환경에서 통신 설정을 재사용할 수 있습니다.

테스트 용량이 늘어날수록 처리량이 높아지면 반복성과 추적성이 향상됩니다. 엔지니어링 작업은 여러 벤치 간의 통신 인프라 유지보수보다 ECU 검증 및 테스트 범위에 집중할 수 있습니다.

벤치 업그레이드에 대한 구현 팁

새 벤치에 VCOM을 배포하려면 예측 가능한 초기 확인 단계가 필요합니다. 다음 가이드라인은 일반적인 가져오기 패턴을 반영하고 팀이 초기 설정에서 검증된 통신 동작으로 효율적으로 전환할 수 있도록 지원합니다.

  • 짧은 앵커 신호 목록과 알려진 페이로드를 사용하여 초기에 엔디언, 스케일링 및 서명 규칙을 확인합니다. 
  • LIN에서는 프로젝트 로드 후 스케줄이 명시적으로 설정되고 정품인증되었는지 확인합니다. 노드가 내부적으로 보이는 것은 찾을 수 없거나 비활성화된 스케줄 때문에 발생하는 경우가 많습니다. 
  • 테스트 중인 ECU의 예상 진단 상태 머신을 캡처합니다. 진단 세션과 보안 레벨은 메시지의 가용성과 내용을 변경할 수 있습니다. 
  • MACsec와 같은 링크 레벨 보안을 인프라로 취급합니다. 키와 회전을 시나리오 로직 내부가 아닌 인터페이스와 드라이버 레벨로 설정합니다. 
  • 긴 회귀를 실행하기 전에 버스 사용률을 측정합니다. 버스트, 비동기식 진단, 에러 핸들링 트래픽에 여백을 남겨둡니다. 
  • AUTOSAR ARXML을 사용하는 경우, 전체 시스템 압축을 제공해야 합니다. VCOM은 모든 관련 끝포인트를 정의해야 합니다. ECU 전용 추출은 리스트 버스 시뮬레이션에 충분하지 않으며 일반적으로 벤치에서 사용하기 전에 통합이 필요합니다. 

결론

자동차 프로그램에서 정확하고 일관된 리스트 버스 시뮬레이션을 유지하는 것은 지속적인 엔지니어링 과제로, 통신 정의가 변화하고 테스트 벤치가 증가하며 프로토콜의 복잡성이 증가함에 따라 증가합니다.

통신 프로토콜 자체가 어려운 경우는 거의 없습니다. 보다 자주, 시뮬레이션 로직을 유지하고, 테스트 벤치를 동기화하고, 데이터베이스 개정을 처리하고, 신호 인코딩, 카운터, CRC, 네트워크 관리, 보호 메커니즘과 같은 프로토콜 세부사항을 프로젝트에서 일관되게 구현하여 엔지니어링 작업이 소모됩니다.

VCOM은 데이터베이스 기반의 통신 구조를 통해 이러한 문제를 해결합니다. VCOM은 DBC, LDF, AUTOSAR ARXML 정의에서 직접 통신 동작을 실행함으로써 CAN, LIN, Automotive Ethernet, SOME/IP, J1939 통신을 위한 통합 프레임워크를 제공하고, 타이밍, 멀티플렉싱, 카운터, CRC, AUTOSAR End-to-End Protection 및 지원되는 SecOC 프로파일과 같은 프로토콜 특정 동작을 자동으로 관리합니다. 엔지니어링 팀은 맞춤형 통신 구현을 개발하고 유지하는 대신, 변화하는 차량 네트워크 정의에 따라 단일 통신 기반을 기준으로 표준화할 수 있습니다.

이러한 구조는 검증 작업이 여러 팀, 프로젝트, 테스트 환경에서 확장되면서 점점 더 중요해지고 있습니다. 동일한 통신 설정, API, 자동화 작업 흐름을 데스크탑 개발 시스템, HIL 벤치, 자동화 테스트 인프라에 배포하여 검증 과정에서 일관성을 유지하면서 중복을 줄일 수 있습니다.

실제로는 다음을 가능하게 합니다:

  • 새로운 테스트 벤치에서 리스트 버스 시뮬레이션의 신속한 배포
  • 사용자 통신 및 시뮬레이션 코드의 유지 관리 감소
  • CRC, 카운터 및 보호 메커니즘에서 구현 에러의 위험 감소
  • 데이터베이스 업데이트 및 통신 변경 관리의 단순화
  • 검증 환경에서 통신 설정을 더 많이 재사용

이 값은 네트워크 트래픽을 시뮬레이션하는 것 이상으로 확장됩니다. VCOM은 엔지니어링 오버헤드를 줄이고, 검증 환경에서 일관성을 향상시키며, 팀이 통신 인프라를 관리하는 대신 ECU 기능을 검증하는 데 집중할 수 있도록 지원하는 확장성과 유지보수 가능한 통신 기반을 제공합니다.

다음 단계

참고 문헌