Fault Simulation을 활용한 포괄적 ECU 테스트
2009년 02월호 지면기사  / 글│스테판 크라우스 (Stefan Krauß) VT System 프로덕트 매니저 Vector Informatik GmbH

최근의 ECU 테스트 시스템은 정상 동작 성능에 대한 테스트 외에도 가장 중요한 오류 사례(fault case)에 대한 테스트도 가능해야 한다. 이는 ECU의 통신 인터페이스는 물론 I/O 인터페이스에도 해당된다. 자동차산업의 요구에 맞게 제작된 특수한 테스트 전략을 활용하면, 개발 프로세스 초기에 적절한 테스트 시스템을 구현할 수 있다. Vector의 새로운 콤팩트 테스트 하드웨어인 VT System은 이처럼 테스트 시스템이 직면한 다양한 과제를 해결해 준다.
전자 부품과 소프트웨어는 자동차에서 빼놓을 수 없는 구성요소가 되었다. 따라서 개발 결과에 대한 검증 범위에는 기계적인 시스템 뿐만 아니라, 전자 ECU와 그 소프트웨어도 포함된다. 고도로 네트워크화된 시스템의 복잡성은 테스트 프로세스와 테스트 도구에 대한 까다로운 요구사항을 필요로 한다. 모든 개발 단계에서 체계적이고 포괄적인 테스트가 필요하다. 개발 기간에는 다양한 테스트 방법이 적용된다(그림 1). 실험실에서, 통합 테스트(integration test)와 같은 전통적인 테스트를 수행하거나 또는 광범위한 운행 평가(driving trials)를 수행하기에 앞서 ECU의 성능 테스트는 개별적으로 철저히 수행된다.
ECU 테스트에서 “양호한 사례”, 즉 정상적인 동작을 반영하는 프로세스만 관찰하는 것은 아니다. 발생 가능한 오류 사례에 대한 광범위한 관찰도 중요하다. 정상적으로 동작하는 성능을 테스트할 때는 일반적으로 ECU를 원래의 구성요소(예: 실재 센서 또는 액추에이터)에 연결하고 동작시킨 후 반응을 관찰하는 것만으로 충분하다. 그러나 오류 사례를 테스트하기 위해서는 부가적인 장치가 필요하다. 이러한 장치들은 ECU 포트와 원래의 구성요소 사이, 또는 시뮬레이션된 센서 및 액추에이터 사이에 있는 회로에 배치된다(그림 2). 이렇게 부가적으로 추가된 테스트 구성요소를 대개 오류 시뮬레이터라 지칭한다. 예를 들어 이러한 구성요소들은 회로 결선을 시뮬레이션하기 위해 회선의 연결을 차단하는데 사용된다.
개별 ECU 테스트에서는 하드웨어의 입/출력 인터페이스 제어 외에 DUT(Device Under Test)의 통신 인터페이스도 중요한 역할을 한다. 이 인터페이스는 CAN, LIN, FlexRay, 또는 MOST에 대한 순수 버스 액세스를 제공하는 데다 ECU의 소프트웨어나 프로토콜 인터페이스를 포괄적으로, 그리고 안정적으로 동작시킬 수 있어야 하므로(예: UDS를 통한 진단, 또는 CCP/XCP를 통한 보정) 테스트 소프트웨어에 까다로운 요구사항을 부여하는 요인이 된다. 따라서 하드웨어와 소프트웨어 인터페이스의 레이아웃은 전체 테스트 시스템의 성능, 융통성, 그리고 비용에 큰 영향을 미친다.


성능 테스트에서
해결해야 할 과제

ECU 성능 검증에서 가장 중요한 작업은 최대한 실제 차량 환경과 유사한 환경에서 ECU를 재연하는 것이다. ECU에 연결된 센서를 테스트가 이루어지는 기능이 시현되도록 제어하고 ECU의 반응을 관찰한다. 적절한 ECU 환경을 만드는 방법은 상당히 다양하다. 중요한 점은 ECU가 실제 환경과 테스트 시스템에 의해 시뮬레이션되는 환경 사이의 차이점을 인지할 수 없어야 한다는 것이다. 결국 작업의 범위는 테스트 목표에 따라 달라진다.
가장 단순한 경우라면, 세밀한 시뮬레이션 회로를 생략한 채 간단한 방법(예: 특정 ECU 회선 간의 수동 전환)으로 ECU 입력을 직접 조작한다. ECU 출력은 대부분의 경우 연결되지 않는다. ECU 반응 테스트는 출력에서 전압을 측정하는 정도가 전부다. 이러한 방법은 일반적으로 자동 테스트에는 적합하지 않지만 테스트를 하기가 쉽다(특히, 개발 도중에).
현재 ECU는 더 이상 이런 식으로 운영되지 않는 경우가 많아지고 있다. 최신 ECU는 센서와 액추에이터에 대해 자동으로 검사를 시행함으로 테스트 시에 이러한 요소를 연결하는 것이 필수이다. 외부 구성요소가 고장나거나 아예 없는 경우라 할지라도, 이와 연결된 시스템은 오류 메모리 항목을 생성하고 ECU의 특정 성능을 비활성화하거나 오류 메시지를 표시하게 된다. 따라서 센서와 액추에이터는 이 둘이 별로 중요하지 않은 성능 테스트에서도 필요하다.
일반적으로 사용되는 해결책은 ECU에 원래의 센서와 액추에이터를 직접 연결하는 것이다. 개발자용 테스트 벤치에는 이를 위한 간단한 연결 박스가 장착돼 있는 경우가 많은데, 여기에는 해당 부품과 적절한 케이블 연결이 필요하다. 마찬가지로 대규모 테스트 벤치에서도 실재 센서와 액추에이터가 테스트 대상 ECU에 제공된다. 하지만 실재 부품들을 사용하게 되면, 그 부품들이 동작하기 때문에(예: 로봇 제어) 테스트 프로세스를 자동화할 시 문제가 발생하는 경우가 많다.
원래의 센서와 액추에이터를 연결하는 대신 사용할 수 있는 방법은 대체 구성요소를 사용하는 것이다. 예를 들어 적절한 저항은 램프의 실질적인 대체품이 될 수 있다. ECU에는 연결된 구성요소를 모니터링하기 위한 간단한 측정 회로만 장착되기 때문에 일반적으로 간단한 센서 또는 액추에이터 시뮬레이션으로도 충분하다. 원래의 구성요소를 사용하는 방법과 비교하면, 이 방법은 콤팩트하고 단순한 테스트 시스템을 구현할 수 있도록 해준다. 또한 적절한 테스트 설정을 통해(예: 릴레이 또는 스위치 사용) 사용자 입력을 자동화하기도 비교적 쉽다.
일명 HIL(Hardware-in-the-Loop) 시스템에서는 연결된 구성요소의 물리적 프로세스와 동적 프로세스를 포함해 전체 환경이 모델링된다. 그러나 이 경우 시뮬레이션과 테스트 실행을 위해서는 세밀하고 값비싼 테스트 시스템이 필요하다. 또한 이러한 시스템은 필요할 때 항상 사용할 수 있는 것도 아니다. 운영자의 지식도 필요하다.



<저작권자 © AEM. 무단전재 및 재배포, AI학습 이용 금지>


  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP