From 04:00 PM CDT – 08:00 PM CDT (09:00 PM UTC – 01:00 AM UTC) Tuesday, April 16, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Restbus 시뮬레이션의 기초

개요

오늘날 자동차의 기술 인텔리전스가 발전함에 따라 자동차는 전차적으로 점점 더 복잡해지고 있습니다. 이처럼 자동차가 점점 더 스마트해짐에 따라 코드 라인의 수와 정보에 입각한 신속한 결정을 내리는 데 필요한 전자 제어 장치 (ECU)의 수가 크게 늘어났습니다. 각 ECU는 다른 ECU와 상호 작용하며 필요에 따라 추가 ECU에 의존해 작동합니다. 따라서 ECU의 임베디드 소프트웨어를 테스트하고 검증할 때 문제가 발생할 수 있습니다. Restbus 시뮬레이션은 CAN (Controller Area Network)과 같은 차량 내 버스의 일부를 시뮬레이션하여 ECU 기능을 검증하는 데 사용되는 기법입니다. Restbus 시뮬레이션과 같은 검증 기법을 사용하면 기업에서 전체 차량 네트워크를 설정하거나 값비싼 필드 테스트를 수행하지 않고도 차량 버스에서 실제 조건을 시뮬레이션해 ECU가 어떻게 반응하는지 확인할 수 있으므로 테스트 시간과 비용을 크게 줄일 수 있습니다. 이 문서에서는 모델 가져오기 및 자극 프로파일과 같은 Restbus 시뮬레이션의 기초를 살펴보고 이러한 기초 지식을 활용하여 특정 실제 상황을 시뮬레이션할 수 있는 방법을 살펴봅니다.

내용

Restbus 시뮬레이션용 National Instruments 도구

이 문서에서는 일반적인 Restbus 시뮬레이션 어플리케이션 및 전략에 사용할 수 있는 여러 NI 하드웨어 및 소프트웨어 도구에 대해 살펴봅니다. 이러한 도구를 사용하면 Restbus 시뮬레이션에 필요한 기능을 활용할 수 있으며 사용 분야별 설정에 필요한 시간을 크게 줄일 수 있습니다.

  • NI-XNET CAN, LIN 및 FlexRay 인터페이스: 버스 트래픽을 송수신하기 위한 고성능 CAN, LIN 및 FlexRay 인터페이스
  • NI VeriStand: 리얼타임 테스트 어플리케이션을 보다 효율적으로 수행하기 위한 즉시 사용 가능하고 강력한 소프트웨어 도구
  • NI VeriStand Stimulus Profile Editor: 의사 결정, 멀티태스킹 및 복잡한 수학 함수를 포함하는 리얼타임 테스트 스크립트 및 정교한 리얼타임 시퀀스를 생성하는 도구

Restbus 시뮬레이션을 위한 8가지 기본 기법

Restbus 시뮬레이션을 사용하여 굉장히 다양한 용도로 적용하고 수 많은 태스크를 수행할 수 있습니다. 이 중 대부분은 여러 가지 방법으로 활용할 수 있는 8가지 기법과 기본 구성요소를 기반으로 합니다. 이 문서의 나머지 부분에서는 이 8가지 기본 태스크를 좀 더 자세히 살펴보고 위에서 언급한 도구를 사용하여 이러한 태스크를 구현하는 방법을 설명합니다.

1. 실제 ECU와 시뮬레이션 ECU 간에 전환하기

앞서 언급했듯이 Restbus 시뮬레이션을 사용하여 차량 내 네트워크의 전체 또는 일부를 시뮬레이션할 수 있습니다. 때문에 이러한 유형의 사용 분야에 필요한 기능은 전체 네트워크의 여러 부분을 시뮬레이션하기 위해 시뮬레이션된 ECU를 실제 ECU로 또는 그 반대로 실제 ECU를 시뮬레이션된 ECU로 쉽게 대체하는 기능입니다. 많은 수의 ECU가 동일한 네트워크에서 통신할 수 있기 때문에, 실제 ECU에서 시뮬레이션된 ECU로 또는 시뮬레이션된 ECU에서 실제 ECU로 가급적 쉽고 매끄럽게 전환되어야 합니다.

Simulated and Real ECU.bmp

Enable and Disable Transmission Triggers.bmp

그림 1: NI VeriStand를 NI-XNET 인터페이스와 함께 사용하여 실제 ECU 시뮬레이션과 버스에 실제 ECU 허용 간에 신속하게 전환할 수 있습니다.

NI-XNET 차량 버스 인터페이스와 NI VeriStand를 사용하면 이러한 작업을 쉽게 수행할 수 있습니다. 버스의 특정 트래픽에 대해 비활성화 및 활성화 트리거를 설정하면 네트워크 통신의 전송과 전송 안 함 간에 쉽게 전환하여 ECU를 시뮬레이션하거나 네트워크에서 실제 ECU를 적용할 수 있습니다. 이 기법은 시뮬레이션하려는 통신의 양에 따라 전체 CAN, LIN 또는 FlexRay 포트에 적용하거나 한 번에 프레임 하나에만 적용할 수 있습니다.

2. 네트워크 시뮬레이션 모델 가져오기

NI VeriStand를 사용하면 다양한 모델링 환경 및 프로그래밍 언어의 모델과 상호작용할 수 있습니다. 이 제품은 지원되는 모든 모델링 환경에서 생성된 컴파일된 모델을 실행할 뿐만 아니라 The MathWorks, Inc.를 사용하여 생성된 컴파일되지 않은 모델(.mdl 파일)도 실행할 수 있습니다. Simulink®1 소프트웨어. 그런 다음 이러한 모델의 Inport 및 Outport를 NI-XNET 디바이스의 수신 또는 발신 메시지에 맵핑할 수 있습니다.  

 

Importing Simulation Model.bmp

그림 2: 네트워크 통신을 위해 사인파 모델을 NI VeriStand로 가져온 예

[1] Simulink®는 The MathWorks, Inc.의 등록 상표입니다.

3. 사용자 정의 네트워크 통신 스크립팅

특정 태스크를 수행하기 위해 네트워크 통신을 위한 모델을 사용하는 것 외에 네트워크 통신을 위한 사용자 정의 스크립트를 작성해야 할 수도 있습니다. 주기적인 메시지를 원하는 속도로 전송하는 것과 달리, 스크립트를 작성하려면 종종 특정 패턴 또는 프로파일을 버스로 전송해야 합니다. NI VeriStand Stimulus Profile Editor를 사용하면 네트워크 통신의 원하는 프로파일을 버스로 전송하도록 특정 프로파일 및 시퀀스를 개발하여 알려진 자극에 대한 ECU의 응답을 테스트할 수 있습니다.

Custom Network Communication Scripting.bmp

그림 3: NI VeriStand Stimulus Profile Editor를 사용하여 네트워크 통신을 위한 자극 프로파일을 생성합니다.

4. 메시지 전송 큐잉

특정 메시지 또는 일련의 메시지 프로파일을 생성하는 것과는 대조적으로, 메시지 전송 큐잉의 경우 보통 각 메시지에 대한 트리거와 함께 전송되는 여러 네트워크 메시지의 특정 순서를 설정해야 합니다. 이를 위해 NI VeriStand Stimulus Profile Editor를 사용할 수도 있습니다. 사용자 정의 스크립팅에 사용하는 것과 동일한 도구와 환경을 사용하여 네트워크 메시지를 특정 순서로 큐에 추가하고 각 프레임에 대해 전송 트리거를 설정할 수 있습니다. 주기적 메시지를 원하는 속도로 전송하는 것이 유일한 큐잉인 경우 NI VeriStand System Explorer에서 이를 설정하고 FIBEX 및 .DBC 파일과 같은 네트워크 데이터베이스에서 메시지를 자동으로 가져올 수 있습니다.

Import Cyclic Frames.bmp

그림 4: 주기적 프레임의 전송을 설정하기 위해 NI VeriStand 환경을 사용하여 네트워크 데이터베이스를 자동으로 분석합니다.

5. 수동 메시지 전송

또한 요청 시 또는 트리거 조건 충족 시 전송할 수 있는 이벤트 드리븐 메시지를 보내야 할 수도 있습니다. 주기적 전송에 사용하는 것과 동일한 도구를 이벤트 메시지의 수동 전송에 적용할 수 있습니다.

Import Event Frames.bmp

그림 5: 또한 NI VeriStand 환경에서 네트워크 데이터베이스를 분석하여 이벤트 드리븐 메시지의 전송을 설정할 수 있습니다.

6. 로그 파일 데이터 재생

이전에 기록된 버스 트래픽을 전송하는 데 원래 통신했던 것과 정확히 동일한 단계를 사용하면, ECU 소프트웨어 변경 사항을 효과적으로 테스트하고 알려진 자극에 대한 응답을 모니터링할 수 있습니다. NI VeriStand System Explorer를 사용하면 기록된 차량 네트워크 로그 파일이 기록된 그대로 전송되도록 설정할 수 있습니다. 또한 재생을 시작하는 트리거 조건 설정, 전송할 프레임 포함 또는 전송에서 프레임 제외 등 사용자별 설정으로 파일 재생을 설정할 수 있습니다.

data replay.bmp

그림 6: NI VeriStand 및 NI-XNET 인터페이스를 사용하여 기록된 로그 파일을 전송하도록 설정합니다.

7. 통신을 위한 트리거 조건

NI VeriStand 도구를 NI-XNET 인터페이스와 결합하면 통신 트리거링을 위한 여러 가지 강력한 옵션을 얻을 수 있습니다. 이 문서에서는 여러 가지 다른 Restbus 시뮬레이션의 기초에 대해 설정할 수 있는 트리거 조건에 대해 설명하면서 이러한 옵션을 많이 언급했습니다. 또한 값 변경, 특정 메시지, 사용자별 채널 및 기타 I/O를 포함한 여러 트리거 소스 중에서 선택할 수 있습니다. 

8. 테스트 생성 및 리포트 생성

단순히 시뮬레이션을 수행하는 것만이 프로세스의 전부가 아닙니다. 결과를 요약하고 테스트를 수행하여 디바이스가 예상대로 작동하는지도 확인해야 합니다. NI VeriStand Stimulus Profile Editor를 사용하면 사용자 정의 통과/실패 테스트를 개발하고 ATML과 같은 표준 형식으로 리포트를 생성하여 테스트 결과를 표시하고 공유할 수 있습니다.

test report.bmp

그림 7: NI VeriStand Stimulus Profile Editor를 사용하여 사용자 정의 가능한 테스트 및 리포트를 생성하여 결과를 공유할 수 있습니다.

결론

ECU 소프트웨어 검증을 위한 Restbus 시뮬레이션과 같은 테스트 기법은 장기적으로 시간과 비용을 절약할 수 있는 유용한 방법일 수 있지만, 몇 가지 특정 구성요소와 기술도 필요합니다. 효율적인 테스트를 위해 Restbus 시뮬레이션의 기초와 도구를 이해하면 어플리케이션 개발 시간을 단축하는 동시에 버그를 조기에 찾을 수 있습니다. NI VeriStand, NI VeriStand Stimulus Profile Editor, NI-XNET 차량 버스 인터페이스와 같은 NI 하드웨어 및 소프트웨어 도구는 Restbus 시뮬레이션 어플리케이션을 빠르고 완벽하게 사용자 정의하는 데 필요한 도구를 제공합니다.

Simulink®는 The MathWorks, Inc의 등록 상표입니다. 여기에 언급된 다른 제품과 회사명은 해당하는 각 회사의 상표이며 거래명입니다.