LIN ECU의 품질 확보
LIN 마스터 적합성 테스트 전략의 현재와 미래
2008년 06월호 지면기사  / 게빈 C. 로저스

글 | 게빈 C. 로저스 (Gavin C. Rogers)
     LIN 툴 팀장 겸 제품 관리 담당.
     Vector Informatik GmbH

LIN 컨소시엄에서는 각 프로토콜 버전의 사양 외에 해당하는 적합성 테스트 사양도 제공한다. LIN 적합성 테스트는 LIN 디바이스가 특정 프로토콜 버전을 따르는지 여부를 확인하는 데 사용되며 LIN 인가를 위한 토대 역할을 한다. LIN 네트워크는 마스터-슬레이브 원리에 따라 작동하기 때문에 마스터 노드의 프로토콜 적합성이 무엇보다 중요하다. LIN 적합성 테스트는 물리층, 데이터 링크층, 네트워크 관리 및 노드 구성 같은 각 OSI 층에 대해 개별적으로 지정돼 있다. OEM 또는 공급업체는 애플리케이션층 테스트만 지정할 수 있다.
블랙박스 테스트는 디바이스의 외부 인터페이스(예: LIN 인터페이스)만 사용해 각 테스트 사례를 자극하고 검증하므로 적합성 테스트를 체계적으로 구현하는데 적합하다. 반면 화이트박스 테스트에서는 항상 디바이스의 내부 인터페이스(예: LIN 드라이버의 표준 인터페이스)에 액세스해야 한다. LIN 마스터 ECU는 CAN과 같은 외부 인터페이스를 통해 매우 제한된 수의 자극 옵션을 제공한다. 따라서 LIN 마스터 적합성 테스트를 구현할 때는 이러한 두 테스트 방식이 결합된 그레이박스 테스트가 가장 널리 사용되고 있다(그림 1).


적합성 테스트를 위한 테스트 환경

일반적인 ECU 테스트 사례에서는 테스트 시스템과 테스트 대상 ECU를 구성 및 초기화한 다음 자극을 준 후 검증해야 한다. 벡터의 CANoe.LIN에 제공되는 슬레이브 적합성 테스트는 거의 전체가 블랙박스 테스트로 구현된다. LIN 마스터 역할의 테스터는 대개 LIN 버스를 통해 직접 자극 및 검증 작업을 수행할 수 있다. 재가동 신호를 자극하는 등의 목적으로 수동 자극 및 검증을 수행해야 하는 테스트는 소수에 불과하다. 반면 마스터 적합성 테스트는 슈투트가르트 소재의 툴 공급업체에 의해 그레이박스로 구현된다. 마스터 드라이버가 올바르게 구성되도록 하기 위해 특수 테스트 LDF(LIN Description File)가 제공된다. 생성된 드라이버 코드와 함께 특수 테스트 애플리케이션을 테스트 대상 마스터로 다운로드해야 한다. 이러한 방식을 통해 테스터의 역할이 LIN 슬레이브인 경우에도 LIN 버스를 자극 및 검증 프로세스에 모두 사용할 수 있는 것이다.
폴란드 크라카우에 위치한 델파이 기술 센터(Delphi Technical Center)는 LIN의 미국 버전인 LIN2.0 및 J2602에 대한 테스트 현장에서 CANoe.LIN과 관련 중요한 경험을 했다. LIN 적합성 테스트는 OSI 애플리케이션층에는 적용되지 않기 때문에 Delphi TCK에서는 다양한 애플리케이션 테스트를 포괄하도록 테스트 작업을 확장했다. 이러한 테스트의 중점은 신호, 스케줄 테이블, 게이트웨이 라우팅 및 진단을 테스트하는 것이다. CANoe.LIN에 제공되는 CAPL 테스트 기능은 이러한 테스트를 구현 및 자동화하는 과정에 필수적인 역할을 하는 것으로 알려져 있다. 델파이 TCK에 따르면 C와 유사한 CAPL 구문을 사용한 결과 아무리 복잡한 테스트 사례도 손쉽게 구현 및 확장할 수 있었다고 한다.


그레이박스 마스터 테스트의 단점

마스터 적합성 테스트의 그레이박스 구현은 유용성 면에서 여러 가지 단점이 있다. 예를 들어 이 테스트는 특정 개발 단계에서는 수행할 수 없다. 또 마스터-ECU를 테스트하기 전에 테스트 LDF에 따라 마스터 드라이버를 구성 및 생성하는 등의 몇 가지 준비 작업을 수행해야 한다.
그레이박스 마스터 적합성 테스트를 사용하면 테스트 애플리케이션을 통해 LIN 버스에서 마스터 드라이버 인터페이스에 간접적으로 액세스할 수 있게 된다. 이러한 방식으로 전체 테스트 적용 범위를 얻을 수 있지만, 이 접근 방식에서는 일반적인 V-모델 개발 프로세스를 엄격하게 준수할 수 없다. 예를 들어 개발 프로세스를 시작할 때 마스터의 적합성만 검증할 수 있을 뿐이다. 생산 데이터베이스(LDF)와 애플리케이션이 마스터 ECU에서 실행되기 시작하면 더 이상 추가 검증을 손쉽게 수행할 수 없게 된다. 뿐만 아니라 OEM은 공급업체의 도움없이는 마스터 적합성 테스트를 반복해서 수행할 수도 없다.


블랙박스 마스터 테스트 과정

따라서 많은 자동차 OEM과 공급업체들이 마스터 적합성 테스트를 블랙박스 테스트로 구현할 수 있는지 여부를 자주 묻는다. 이는 OEM과 공급업체들이 구성 노력은 최소화하면서 전체 개발 프로세스 동안 테스트를 개별적으로 수행할 수 있는 큰 이점을 제공한다.
그러나 블랙박스 마스터 적합성 테스트가 그레이박스 테스트보다 진정으로 뛰어난 이점을 갖도록 하려면 먼저 특정 요구 사항을 충족해야 한다. 가장 중요한 한 가지는 개발에 사용되는 드라이버 소프트웨어를 테스트에도 동일하게 사용해야 한다는 점일 것이다. 이를 해결하기 위한 한 가지 방법은 특수 테스트 인터페이스를 통해 LIN 마스터 드라이버를 확장하는 것이다.
이 드라이버 확장은 테스터에 스케줄 테이블을 변경하거나 드라이버의 상태어를 읽는 등의 특수한 테스트 서비스를 제공함으로써 LIN 버스를 통해 테스트 중인 마스터를 직접 자극 및 확인할 수 있도록 해야 한다. LIN 버스를 통한 마스터와 테스터 간의 테스트 통신에는 재구성 서비스에 사용되는 것에 필적할만한 특수 진단 서비스가 사용된다. 이러한 드라이버 확장과 관련된 또 다른 요구 사항은 ECU 리소스 증가를 최소화하는 것이다. 또한 프리프로세서 define 등을 통해 생산 코드에서 테스트 인터페이스를 제거할 수도 있어야 한다.


LIN 2.x에 대한 블랙박스 테스트 프로토타입

벡터의 LIN 전문가들은 블랙박스 마스터 적합성 테스트를 디자인 및 지정할 수 있게 해달라는 OEM의 요청을 받은 적이 있다. 프로토타입을 지정하는 과정에 테스트 통신이 마스터-ECU의 정상적인 작동에 긍정적인 영향을 미칠 것이라는 점이 분명해졌다. 이는 새로운 특수 진단 서비스를 사용하여 마스터 요청 및 슬레이브 응답으로 구성된 표준 LIN 진단을 적용하는 방식을 통해서만 얻을 수 있다. 이 사례에서는 통신을 시작하는 테스터는 마스터가 아닌 슬레이브다. 테스터가 마스터-ECU로 테스트 명령을 보내면 마스터-ECU는 긍정 내지 부정으로 응답할 수 있다(그림 2).
각 테스트 명령을 보내기 전에 테스트 로그인과 테스트 초기화를 실행해야 한다. 이렇게 되면 마스터의 일반적인 애플리케이션과 관계없이 적합성 테스트를 구현할 수 있는 한도에 대한 질문이 발생하게 된다. 테스트와 애플리케이션을 모두 완전히 별개로 해 병렬로 실행하는 것이 불가능한 것으로 입증됐다. 따라서 애플리케이션은 구현에 관여해야 한다.
애플리케이션과 드라이버의 테스트 모드 간의 상호 작용을 처리하는 방법에는 크게 두 가지가 있다(그림 3). 한 가지 방법은 애플리케이션에 테스트가 실행 중임을 명시적으로 알리는 것이다. 이를 대체하는 방식은 애플리케이션에 테스트 실행 사실을 가급적 숨기는 것이다. 두 전략 모두 각각의 장단점을 지니고 있다. 전략을 최종적으로 선택하는 것은 마스터-ECU 공급업체의 피드백과 선호도에 따라 달라질 수 있다. 또한 두 경우 모두 필요한 테스트 서비스를 지원하기 위해 기존 드라이버를 확장해야 한다. 테스트-서버 기능에 필요한 추가 코드는 현재 LIN2.x 드라이버의 20-30%로 추정되며 대부분의 마스터 ECU 프로젝트에 문제를 일으키지 않는 것으로 간주할 수 있다.
현재 프로토타입 구현에서 제공하는 11가지 서비스는 LIN 2.0 마스터 적합성 테스트를 충족하기에 충분하다(그림 4). 벡터에서 제안하는 개념은 기존 LIN 개발 프로세스 및 프로토콜 사양을 기반으로 하므로 확장이 가능할뿐 아니라 손쉽게 표준화할 수도 있다.
 벡터는 이러한 활동과 별개로 CANoe. LIN을 추가로 개발할 계획을 가지고 있다. 예를 들어 LIN 2.1 적합성 테스트 사양이 2008년 2사분기에 발표된다는 전제하에 2008년 3사분기에 릴리스 7.0의 SP4/5에 대해 LIN 2.1 슬레이브 테스트를 지원할 예정이다. LIN 2.1 마스터 테스트에 대한 지원은 2008년 4사분기에 CANoe.LIN 릴리스 7.1부터 제공될 계획이다. 또한 벡터는 개발, 분석 및 시뮬레이션 툴 외에 CAN, LIN, MOST 및 FlexRay와의 네트워킹 시 발생하는 모드 측면과 관련된 교육 및 워크샵도 제공한다. 뿐만 아니라 OEM과 공급업체는 수많은 고객 프로젝트를 통해 벡터에서 20년 동안 축적한 네트워크 경험 및 전문 기술의 수혜를 얻을 수 있다.



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


  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP