CAN 버스를 측정한 blf 파일을 제어기가 연결된 버스선에 온라인으로 재생하여 제어기의 기능을 검증하는 경우를 가정하자.
blf 파일의 데이터를 CAN 버스에 재생하는 것을 온라인 재생이라고 부른다. (CAN 버스에 재생하지 않고 화면에서 데이터를 보기만 하는 경우 오프라인 재생이라고 한다.)
온라인 재생 방법을 설명한다.
개요
온라인 재생
온라인 재생에 필터 걸기
온라인 재생
메인 메뉴/ Analysis/ Bus Replay로 Bus Playback 창을 연다.
Bus Playback 창에서 Online Replay 탭으로 간다. + 기호가 있는 버튼을 클릭하여 온라인 재생할 blf 파일을 선택한다. (asc 파일을 선택할 수도 있다.)
삼각형의 플레이 버튼을 클릭하면 온라인 재생이 시작된다.
온라인 재생의 속도는 기본적으로 측정 속도와 동일하다. 변경할 수 있다.
트레이스 창에 전송되는 데이터가 출력된다. 나는 채널 1과 채널 2를 직접 연결하였기 때문에 아래 트레이스 창에 Tx 메시지들뿐 아니라 Rx 메시지들이 함께 표시되었다.
온라인 재생에 필터 걸기
측정한 데이터를 온라인 재생으로 제어기에 주입하면서 제어기의 기능을 검증하는 시뮬레이션을 가정한다.
측정 데이터에 검증 대상 제어기가 전송한 메시지들이 포함되어 있을 수 있다. 이 경우, 이 메시지들을 제외하고 시뮬레이션을 해야한다. 그렇지 않으면 제어기가 전송한 메시지와 온라인 재생으로 전송된 메시지를 구분할 수 없다. 온라인 재생의 필터 기능으로 지정한 메시지들을 제외할 수 있다.
채널 1에서 측정한 데이터를 채널 2로 전송해야 할 수도 있다. 온라인 재생의 채널 매핑 기능으로 구현할 수 있다.
Bus Playback 창의 트레이스 파일에 있는 톱니 바퀴 모양의 버튼을 클릭하여 설정 창을 연다.
채널 매핑은 Frame Channel Mapping 표에서 설정할 수 있다. 직관적이다.
필터는 Set As Blcok Filter (Pass 필터를 적용할 수도 있다.) 버튼을 클릭하여 필터 설정창을 연다. 빈 공간에서 마우스 우클릭을 하면 팝업 메뉴가 뜬다.필요에 따라, CAN DB에서 메시지를 선택하거나,메시지 아이디를 직접 입력하거나,채널을 직접 입력할 수 있다.필터를 삭제할 수도 있다.
아래 그림은 메시지 아이디를 입력한 후 필터 설정창의 모습이다. 오른쪽 아래 화살표 부분을 클릭하여 dbc에 있는 메시지를 선택하는 방식도 가능하다.
필터를 설정을 마치고 (잊지 말고) Apply 버튼을 클릭한다.
트레이스를 재생하면 해당 메시지들이 블록된 것을 확인할 수 있다.
필터 전용 전 (왼쪽)에는 메시지 이름이 보인다. 필터 적용 후 (오른쪽)에는 메시지 이름이 안 보인다. dbc에 있는 메시지들을 모두 블록했다.
위와 같은 방법으로 제어기가 전송했던 메시지들을 블록하도록 하여 blf 파일을 온라인 재생하면, 제어기는 버스의 상대 제어기들이 전송한 메시지들을 수신하여 처리하고, 자기의 메시지들을 전송하게 된다. 제어기가 전송한 메시지를 분석하여 기능이 설계대로 작동하는지 점검할 수 있다. 실제 제어기들 대신 버스를 시뮬레이션하기에 시뮬레이션 검증이라고 부른다.
결론
측정한 CAN 버스 데이터를 온라인으로 재생할 수 있다.
온라인 재생 시, 1) 특정 메시지들을 필터하고 2) 채널을 매핑하여 제어기를 대상으로 버스를 시뮬레이션 할 수 있다.