Vehicle Network Toolbox

 

Vehicle Network Toolbox

CAN, J1939, XCP 프로토콜을 사용하여 차량 내 네트워크와 통신할 수 있습니다.

시작하기:

MATLAB 및 Simulink에서 CAN 및 CAN FD 메시지 송수신

CAN 및 CAN FD 채널 구성

MATLAB의 CAN 채널 함수와 Simulink의 CAN 구성 블록을 통해 CAN 또는 CAN FD 표준을 사용하여 CAN 버스와의 물리적 연결을 설정하는 Vector CAN 인터페이스 하드웨어로의 연결을 정의할 수 있습니다. Vehicle Network Toolbox는 버스 속도, 트랜시버 설정과 같은 CAN 인터페이스 하드웨어 설정을 조회하고 구성하는 CAN 채널 함수를 제공합니다. 또한, 채널에서 유효한 메시지 개수와 송수신된 메시지 개수와 같은 기타 CAN 채널 속성을 검증할 수도 있습니다. Vector CAN 데이터베이스 파일을 CAN 채널에 연결하면 데이터베이스에 저장된 정보를 사용하여 수신 메시지가 자동으로 표시됩니다. CAN 채널을 정의하면 정의한 채널에서 CAN 메시지를 송수신할 수 있습니다.

MATLAB 및 Simulink에서 차량 버스 데이터에 액세스하는 데 사용 중인 랩탑에 연결된 자동차.

CAN 및 CAN FD 프로토콜을 사용하여 MATLAB을 차량 네트워크에 연결할 수 있습니다.

CAN 메시지 송수신

표준 CAN 메시지는 CAN 메시지 식별자(표준 11비트 또는 확장 29비트)를 저장하는 속성, 타임스탬프, 및 최대 8바이트의 CAN 데이터를 포함합니다. CAN FD 송신을 위해 구성된 채널은 최대 64바이트의 데이터를 포함하는 메시지를 담을 수 있습니다.

툴박스의 함수 및 블록을 송수신하면 CAN 채널을 통해 CAN 메시지를 주고받을 수 있습니다. 대규모 데이터셋의 경우 오프라인에서 분석할 수 있도록 CAN 메시지를 기록할 수 있습니다.

타임테이블의 CAN 메시지와 이를 분석하는 라이브 스크립트.

CAN 메시지 및 신호를 타임테이블 형식으로 수신하는 MATLAB 코드.

CAN 메시지로부터 신호 작성 및 추출

Vehicle Network Toolbox에는 CAN 메시지 인코딩 및 디코딩을 위한 함수 및 블록이 포함되어 있습니다. CAN 메시지 데이터는 여러 신호를 나타내는 데이터를 포함할 수 있습니다. Unpack 함수와 블록을 통해 시작 비트, 신호 길이, 데이터형 및 바이트 순서를 지정할 수 있습니다. Pack 함수와 블록에서도 동일한 옵션으로 CAN 메시지 전송에 사용할 데이터를 조합할 수 있습니다.

CAN 메시지를 디코딩하는 Simulink 모델.

CAN Unpack 블록을 사용하여 CAN 메시지를 디코딩하는 Simulink 모델.

CAN 메시지의 기록 및 재생

Vehicle Network Toolbox의 CAN Log 블록을 사용하면 모델에서 수신한 CAN 메시지를 MAT 파일에 저장할 수 있습니다. 그런 다음 CAN Replay 블록을 사용하여 다른 Simulink 모델에서 메시지를 재생할 수 있습니다. CAN Replay 블록은 재생된 데이터가 기록된 데이터와 동일한 타이밍 특성을 갖도록 기록된 데이터의 타임스탬프를 보존합니다.

휠 속도의 Scope 보기.

차량 테스트 시행에서 기록된 바퀴 속도 데이터를 재생한 플롯.

XCP 프로토콜을 통한 통신

Vehicle Network Toolbox는 CAN 또는 이더넷 버스에서 자동차 보정 프로토콜인 XCP를 통해 ECU와 통신하는 함수와 블록을 제공합니다. XCP를 통해 ECU와 통신할 때는 MATLAB 또는 Simulink가 마스터가 되고 ECU가 슬레이브 기기가 됩니다. 여러 개의 XCP 채널을 열면 여러 개의 ECU와 통신할 수 있습니다. 각 ECU에 대해 ECU 내 특정 메모리 위치에 데이터를 읽고 쓸 수 있습니다. ECU에 대한 보안 액세스가 존재하는 경우 시드와 키 보안을 사용하여 ECU에 대한 액세스를 열 수 있습니다. Vehicle Network Toolbox는 A2L 데이터베이스 파일을 연결하고, XCP 채널의 동적 DAQ 및 STIM 측정 목록을 생성하고 보는 함수와 블록도 제공합니다. 측정 목록은 연결된 A2L 파일의 측정 및 이벤트 정보를 기반으로 설정됩니다.

XCP 데이터 수집을 구성하는 XCP Data Acquisition 블록 마스크와 Simulink 모델을 보여주는 세 개의 창.

ECU 슬레이브 기기에서 측정값을 얻는 모델. 이 모델은 XCP Configuration 및 XCP Transport Layer 블록(위)과 XCP Data Acquisition 블록(왼쪽 아래)을 사용하여 PWM 신호의 수집(오른쪽 아래)을 설정합니다.

J1939 프로토콜을 통한 통신

Vehicle Network Toolbox는 중장비 트럭 업계에서 널리 사용되는 CAN 기반 하이 레벨 프로토콜인 J1939를 통해 통신하는 함수와 블록을 제공합니다. J1939를 통해 통신할 때는 MATLAB 함수나 Simulink 블록을 사용하여 통신을 설정할 수 있습니다. 구체적으로 살펴보면, 데이터베이스(.dbc) 파일을 J1939 통신에 연결하고, CAN 인터페이스 하드웨어를 지정하고, J1939 파라미터 그룹을 송신 및 수신하는 함수와 블록이 제공됩니다. 사용자는 연결에 연동된 데이터베이스 파일에 의해 정의된 파라미터 그룹을 사용하여 네트워크의 신호 데이터를 인코딩 및 디코딩할 수 있습니다. 또한 주소 할당(address claiming)을 사용하여 Simulink가 네트워크 노드로 기능하도록 구성할 수 있습니다.

J1939 통신에 사용되는 Simulink 블록을 보여주는 모델.

J1939 Transmit 블록과 J1939 Receive 블록을 사용하여 J1939 데이터를 송수신하는 모델. 이 모델은 또한 J1939 Network Configuration, J1939 CAN Transport Layer Configuration 및 J1939 Node Configuration 블록을 사용하여 통신을 설정합니다.

CAN 및 CAN FD 트래픽 시각화

이 툴박스에는 특정 CAN 채널에서 활성 트래픽을 시각화하기 위한 CAN Explorer와 CAN FD Explorer 앱이 있습니다. MATLAB 또는 Simulink에서 다른 작업을 수행하면서 이러한 앱을 사용할 수 있습니다. CAN 채널에 연동된 CAN 데이터베이스 파일에 대해 이러한 앱은 메시지를 디코딩하여 올바른 공학 단위로 표시할 수 있습니다.

네트워크의 트래픽에 응용 사례에 필요한 것보다 더 많은 정보가 포함되어 있으면 CAN 채널이 수신하는 CAN 메시지 개수를 CAN 메시지 식별자에 대한 정의된 범위로 제한할 수 있습니다. Vehicle Network Toolbox의 필터 함수와 마스크 설정을 사용하면 응용 사례에 필요한 만큼의 메시지만 수신할 수 있습니다.

디코딩된 신호 및 신호 시각화를 보여주는 CAN FD 버스 트래픽의 앱 보기.

CAN FD Explorer 앱으로 표시한 네트워크의 실시간 CAN FD 버스 트래픽. 원시 데이터, 디코딩된 신호 및 신호의 플롯을 볼 수 있습니다.

Vector CAN 데이터베이스 파일 사용

Vehicle Network Toolbox를 사용하여 Vector CAN 데이터베이스 파일을 CAN 채널이나 MATLAB 또는 Simulink 메시지와 연결할 수 있습니다. 이렇게 하면 응용 사례 특정 메시지 및 신호 이름(예: EngineMsg, EngineRPM), 그리고 스케일링된 공학 단위를 사용하여 CAN 메시지를 인코딩 및 디코딩할 수 있습니다. 데이터베이스는 메시지 목록과 구성요소 신호를 지정할 뿐만 아니라 연관 신호에 대한 비트 패킹 및 패킹 해제 규칙도 제공하므로 이 툴박스를 사용하면 업계 표준 데이터베이스 파일로 작업할 수 있어 CAN 버스와의 상호작용이 간단해집니다. 메시지에 사용되는 신호 데이터형, 시작 비트, 길이, 바이트 순서가 모두 데이터베이스에 미리 정의되어 있어 신호 분석이 간단해집니다.

CAN 데이터베이스 파일을 열고 메시지와 신호를 보는 방법을 보여주는 네 개의 코드 샘플.

CAN 데이터베이스 파일에 저장된 정보를 사용하여 메시지를 보는 방법을 보여주는 코드의 예.

A2L 기술 파일 사용

Vehicle Network Toolbox에서는 업계 표준 A2L(ASAP2라고도 함) 기술 파일을 사용하여 MATLAB 또는 Simulink에서 XCP 프로토콜을 통해 ECU와 통신할 수 있습니다. A2L 기술 파일을 사용하면 MATLAB 프로그램 또는 Simulink 모델에서 내부 ECU 파라미터에 액세스할 수 있습니다. A2L 기술 파일에는 특정 파라미터에 대한 메모리 주소 정보, 저장 구조 및 데이터형 정보가 있습니다. 이 파일에는 시스템 파라미터, 센서 특성, 정정 인자와 같은 저장된 값을 RPM, 섭씨와 같은 물리 단위로 변환하는 규칙도 포함되어 있습니다. 이 데이터가 있으면 데이터 구문 분석과 메모리 주소 디코딩을 하지 않고도 보정 및 측정 작업을 수행할 수 있습니다.

A2L 파일을 구문 분석하고 검사하는 MATLAB 함수.

XCP 연결에 사용할 수 있도록 A2L 파일에 저장된 정보에 액세스하는 방법을 보여주는 코드의 예. 이 예에서는 Vector 및 Vector Virtual CAN 채널에서 무료로 제공되는 XCP 슬레이브 시뮬레이터를 사용합니다.

MDF 파일로 작업

Vehicle Network Toolbox를 사용하면 MDF(Measurement Data Format) 파일로부터 쉽게 데이터를 가져오고 내보낼 수 있습니다. Vehicle Network Toolbox는 MDF 표준 버전 3.0 이상을 지원합니다. MATLAB에서 MDF 파일로 작업할 때 초기 타임스탬프, 데이터 크기, 채널 그룹, 채널 이름 정보 등 파일의 기본적인 속성을 볼 수 있습니다. MATLAB에서 MDF 파일을 생성하고 기존의 MDF 파일에 timetable형 데이터를 쓸 수도 있습니다.

MDF 파일의 일부만을 읽어 들이려면 채널 이름이나 시작 및 중지 시간을 지정하면 됩니다. 기본적으로 결과의 출력 형식은 타임테이블로 반환되므로 타임스탬프가 적용된 데이터를 사용해 보다 쉽게 작업할 수 있습니다.

메모리에 담을 수 없을 정도로 큰 MDF 파일의 경우, MDF 데이터저장소를 만들고 지정한 파라미터를 기반으로 데이터를 배치 단위로 미리 볼 수 있습니다. 비슷한 MDF 파일의 모음에 대해 쉽게 작업하기 위해 데이터저장소를 만들 수도 있습니다.

preview 함수와 변수 편집기로 MDF 파일을 검사하는 MATLAB 인터페이스.

명령줄 인터페이스를 통해 MDF 파일을 미리 보고 변수 편집기에서 데이터를 검사하는 코드의 예.

가상 채널 사용

가상 CAN 및 CAN FD 채널을 네트워크 통신의 테스트 및 시뮬레이션에 사용할 수 있습니다. 가상 채널을 사용하면 물리적 하드웨어를 사용하지 않고도 루프백 구성으로 모델을 테스트할 수 있습니다. Vehicle Network Toolbox는 두 가지 종류의 가상 채널을 지원합니다. 하나는 MathWorks 가상 채널이고, 다른 하나는 타사 CAN 인터페이스 하드웨어 공급업체에서 제공하는 가상 채널입니다. Vector 및 Kvaser와 같은 타사 공급업체가 제공하는 가상 채널을 사용하려면 해당 공급업체의 드라이버나 하드웨어 지원 패키지를 설치해야 합니다. MathWorks 가상 채널은 툴박스와 함께 제공되며, 추가 드라이버나 지원 패키지가 필요하지 않습니다.

MathWorks 가상 채널을 사용하여 데이터를 송수신하는 Simulink 블록.

MathWorks 가상 채널을 사용하여 하드웨어 없이 CAN 데이터를 송수신하는 것을 보여주는 Simulink 모델.

CDFX 파일로 작업

Vehicle Network Toolbox에서 제공하는 cdfx 함수를 사용하여 CDFX(ASAM 보정 데이터 형식) 데이터에 액세스할 수 있습니다. CDF 파일의 보정 데이터를 Simulink 모델의 입력으로 사용할 수 있습니다.

시간 경과에 따른 ASAM.C.MAP 파라미터의 상승 및 하강을 보여주는 플롯.

CDFX 파일의 보정 데이터를 Simulink 모델의 입력으로 사용하고 ASAM.C.MAP 파라미터의 시뮬레이션 출력을 플로팅합니다.