XCP를 사용한 ECU 파라미터 최적화
2008년 10월호 지면기사  / 

글│안드레아스 패처 (Andreas Patzer) andreas.patzer@vector-informatik.de
    측정 및 보정 제품군 사업 개발 관리자
    Vector Informatik GmbH

ECU 적용 프로세스에서 측정, 보정, 플래시 프로그래밍의 세 가지 기본적인 기능은 대단히 중요하다. 예를 들어 주행 역학 제어(Driving Dynamic Control, DCC) 시스템을 개발할 때 바퀴 속도, 브레이크 압력과 같은 다양한 파라미터가 ECU에 사용되는 제어 알고리즘의 입력 변수 역할을 한다. 자동차의 동작에 영향을 미치는 이러한 알고리즘은 개발 프로세스 전반에 걸쳐 생성되고 최적화된다. ECU는 경우에 따라 특정 OEM의 여러 차종에서 이용될 수 있는데, 각각의 차종이 요구하는 주행 성능을 구현하기 위해서는 동일한 입력 변수와 알고리즘이 적용되었지만 다양한 요구사항을 충족시킬 수 있어야 한다. 따라서 입력 변수나 알고리즘을 수정하는 대신 알고리즘 파라미터를 조정하여 ECU가 특정 차종에 맞게 구성될 때까지 보정 작업을 한다. 예를 들어 브레이크 제어에 동일한 알고리즘이 사용되더라도 파라미터 값은 각 차종의 물리적 속성(예: 무게 배분)의 차이로 인해 달라지게 된다.
현재 수준의 파라미터 보정 기술은 애플리케이션 엔지니어가 일반적인 측정기기 등을 별도로 사용하여 센서와 구동기(actuator)의 관련 파라미터를 관찰하는 정도이다. 그러나 이러한 방법으로는 내부 ECU 변수(예: 연산 함수의 중간 결과)에 접근할 수가 없다. 개발자는 특수 측정 및 보정 인터페이스인 CCP(CAN Calibration Protocol) 또는 XCP(Universal Measurement and Calibration Protocol)를 통해서만 이러한 데이터를 얻을 수 있다.


ASAM MCD 인터페이스 모델

1991년 유럽 자동차 OEM과 공급업체들에 의해 설립된 국제기구인 ASAM (Association for the Standardization of Automation and Measuring Systems)은 표준화된, 즉 제조업체에 대해 독립적인 인터페이스의 개발을 지원하는 모델을 만들어 그 사용을 장려하고 있다.
그림 1은 다음 구성요소로 이뤄진 ASAM 인터페이스 모델을 보여 준다.

쪾ASAM MCD 1-CCP/XCP :
CCP/XCP는 ECU의 내부 런타임(run-time) 변수(측정 변수)를 수집하고 파라미터를 수정하여 제어 알고리즘을 보정하는 데 필요한 모든 서비스를 제공한다.
쪾ASAM MCD 2MC-표준화 ECU 설명 파일 :
ASAM MCD 2MC 인터페이스(이전의 ASAP2/A2L)는 ECU 설명을 위한 파일 형식을 정의한다. 이 파일에는 측정 및 보정 시스템(MC 시스템. 예: 벡터코리아의 CANape) 별로 ECU에 접근하는 데 필요한 모든 정보가 포함된다. 구체적으로 보면 ECU 설명 파일에는 메모리 주소, 데이터 형식, 데이터 포맷 및 내부 ECU 파라미터에서 물리적 파라미터로의 변환에 대한 정보가 포함된다.
쪾ASAM MCD 3MC-자동차 시스템을 위한 표준화된 인터페이스 :
MC 시스템은 표준 ASAM MCD 3MC 인터페이스를 통해 자신의 기능을 다른 애플리케이션에서 사용할 수 있도록 한다. 이 인터페이스는 연결된 ECU로의 접근을 위한 서버 역할을 한다. 인터페이스의 주 기능에는 측정 데이터 수집 및 파라미터 보정이 포함된다.
CCP는 ECU와 측정 및 보정 시스템 간의 통신을 위해 정의된 최초의 프로토콜이다. CCP 인터페이스는 ECU 내부 런타임 변수 및 측정 신호의 실시간 수집과 ECU 파라미터의 보정에 필요한 모든 기능을 제공한다. 단, CCP 사용은 CAN 버스로 제한된다. 데이터 처리 요구사항은 ECU가 거치는 여러 개발 단계에 걸쳐 크게 달라진다. 따라서 자동차 OEM과 공급업체들은 CCP 외의 다른 인터페이스를 이용하여 측정, 보정, 진단 및 플래시 프로그래밍 작업을 수행한다.


XCP: 미래를 위한 측정 및   보정 프로토콜

XCP는 정립된 CCP 프로토콜 V2.1을 기반으로 하였으며 CAN 버스를 지원하는 것 외에 Ethernet, FlexRay, USB, RS232, SPI/SCI와 같은 다른 통신 인터페이스도 지원한다. XCP의 가장 큰 장점은 전송 계층(transport layer)과 프로토콜 계층(protocol layer)이 분리된다는 것이다. 따라서 전송 계층에 독립적으로 프로토콜 계층을 얼마든지 재사용할 수 있고, 특정 버스 시스템을 기반으로 미래 표준을 개발하는 데 있어 걸림돌이 없어지게 된다.
XCP의 또 다른 유용한 기능은 “바이패싱(bypassing)”이다. 이것은 아직 ECU에 적용되지 않은 알고리즘을 PC에서 미리 테스트해 본 후, 그 결과를 ECU 프로그램에 적용하도록 하는 기능이다. 이 기능을 사용함으로써 기존 PC를 프로토타이핑 플랫폼으로 활용할 수 있어서 시간뿐만 아니라 전용 하드웨어 구입 비용 등을 줄일 수 있다.
다양한 전송 프로토콜을 지원하는 것 외에 XCP는 CCP에 비해 다음과 같은 여러 다른 장점도 제공한다.

쪾콜드 스타트(cold start) 측정-XCP는 ECU에 전원 공급 직후 바로  측정하는 것이 가능하다.
쪾ECU 타임 스탬프(time stamp)-ECU 타임 스탬프를 측정함으로써, 데이터가 측정과 보정 툴에 의해 수신되는 시점이 아닌 ECU의 내부 타임 스탬프에 따라 계산이 이뤄지도록 할 수 있다.
쪾간단한 구성-ECU의 XCP 드라이버 속성은 동작 중에 송신 가능하다. 따라서 사용자가 알아야 할 정보는 최대 패킷 길이, DAQ 목록의 수 및 유형, 콜드 스타트 측정 지원, 그리고 내부 타임 스탬프의 사용가능 여부 등 ECU와의 통신에 관련된다.


실제 적용사례의 긍정적인 평가

XCP는 대부분의 자동차 OEM 및 서플라이어가 사용할 가능성이 높다. XCP의 선구적 기업으로는 ASAM 기술위원회에서 XCP를 정의하는 데 결정적인 공헌을 한 다임러크라이슬러(DaimlerChrysler)와 보쉬(Bosch)가 있다. 이 두 기업은 ESP/SBC 주행 역학 시스템용 ECU 개발에서 XCP와 관련된 초기 실무 경험을 쌓는 중이다(그림 2).
다임러크라이슬러는 이 프로젝트에서 벡터의 CANape를 개발 툴로 사용했다. ECU 측정 및 보정과 ECU 진단을 위한 다양한 기능을 갖춘 이 툴은 XCP 1.0 사양을 지원한 최초의 툴이다. 다임러크라이슬러의 프랑크 헤펄리(Frank Hepperle) 소프트웨어 통합 팀장 겸 엔지니어는 “CANape 사용과 관련한 논의에서 특히 중요했던 요소는 프로젝트를 시작하는 시점에서 XCP 프로토콜의 가용 여부였다”고 말했다.


XCP를 통해 공급업체들이
얻는 이점

보쉬 새시 시스템 사업부 EMT (Enginee-ring, Methods and Tools) 부서의 라이너 모츠(Reiner Motz) 엔지니어는 “보쉬 입장에서 XCP를 사용하는 주된 이유는 다양한 차종으로 구성된 고객 프로젝트를 손쉽게 조율할 수 있다는 점”이라고 말했다. ESP/SBC 전자제어장치 개발에서 애플리케이션 툴과 ECU 간에 필요한 대역폭이 컸기 때문에 CAN 버스의 약 50 kbps 속도의 유효 데이터 전송률로는 부족했다. 바로 이 문제 때문에 라이너 모츠의 팀은 표준화된 고속 인터페이스를 사용하기로 결정했다. 라이너 모츠는 “SPI에 XCP를 사용함으로써 최대 10 Mbps의 대역폭을 확보하게 됐다. 이더넷 상에서 XCP로의 변환은 벡터(Vector) 사에서 제공하는 외부 SPI-to-Ethernet 인터페이스를 통해 이뤄졌다. 이는 우리가 독자적 인터페이스나 이러한 인터페이스의 개발 업체에 종속되지 않음을 의미한다”고 말했다.
다임러크라이슬러의 프랑크 헤펄리 팀장은 “물론 우리에게는 양산 수준의 SPI 적용 ECU는 필요 없고, CAN 인터페이스를 갖춘 ECU가 필요하다. XCP를 사용하는 덕분에 SPI에서 CAN으로의 변환을 위한 특수한 수정 작업이 더 이상 필요 없다. 최대 패킷 길이와 같은 적절한 파라미터를 사용해 한 번만 더 애플리케이션을 재컴파일하면 된다”고 말했다.
새로운 XCP 지원 ECU가 나오기 전까지는 회사 내부에서 만든 툴을 ECU 개발에 사용했다. 이러한 내부 툴을 더 확장 개발했다면 상당한 비용이 발생했을 것이다. 프랑크 헤펄리 팀장은 공동 작업과 관련, “XCP가 신속하게 가용화된 것 외에, 벡터에서 고객에게 추가 서비스로 제공한 맞춤형 확장이 CANape를 더욱 돋보이게 했다”고 말했다. 툴의 XCP 지원 덕분에 서로 다른 인터페이스를 갖춘 구성요소를 손쉽게 통합할 수 있게 됐다. 다임러크라이슬러는 각각의 새로운 프로젝트마다 측정 시스템과 새로운 개발 환경을 구축할 필요가 없다는 이점을 얻었다. 앞으로 XCP 인터페이스는 주행 역학 제어 시스템에 관련된 새로운 프로젝트에서 계속 구현될 것이다.


FlexRay 버스에서의 파라미터 측정 및 보정

CANape 버전 7.0은 CAN, Ethernet, USB, RS232, SPI, SCI, LIN 1.3, LIN 2.0, FlexRay에서의 XCP를 위한 표준 지원을 제공한다(그림 3). CANape는 FlexRay 인터페이스에서 XCP를 지원하는 최초의 MCD 툴이다. FlexRay 상의 XCP 사양은 특히 FlexRay에 대해 XCP 전용 대역폭의 동적 할당을 위한 방법론을 정의한다. CANape는 이 방법론을 이용하여 가용한 대역폭을 확인하고 이를 현재 애플리케이션 데이터 트래픽(application data traffic)에 동적으로, 그리고 매우 효율적으로 할당한다. 따라서 가용 대역폭이 XCP 통신에 최적으로 활용되며, 정상 FlexRay 통신은 전혀 영향을 받지 않게 된다.
FlexRay 버스 시스템은 2006년 BMW X5에 처음 적용됐으며, 앞으로 다른 자동차 제조업체들로 확산될 것이다. FlexRay ECU의 파라미터 값을 조정하기 위해 엔지니어는 XCP-on-FlexRay를 통해 파라미터 값을 보정한다. FlexRay는 CAN보다 현저히 높은 10 Mbps의 대역폭을 제공하기 때문에, 2009년부터 아우디(Audi)는 차세대 스포티 럭셔리 리무진에 FlexRay 통신 버스를 구현할 예정이다. 아우디 개발자들에게 이러한 결정은 AUTOSTAR FlexRay 스택을 통해 수천 개의 파라미터를 직접 파라미터화해야 함을 의미했다. XCP-on-FlexRay를 사용하면 CAN에 비해 2배 이상 많은 측정값을 동시에 수집할 수 있다. 또한 대량의 데이터를 보다 신속하게 전송할 수도 있다.
아우디 엔지니어들은 XCP-on-FlexRay로 내부 ECU 파라미터를 측정하고 보정하기 위해 MCD 툴인 CANape를 통해 검사 시행 및 보정 운행 측면에서 새 모델을 개발한다. 벡터는 이러한 용도를 위해 CANape 및 XCP 소프트웨어 모듈을 확장했다. AUTOSAR 호환성을 위해 XCP 소프트웨어 모듈을 확장하는 것 외에 FlexRay를 위한 동적 대역폭 관리를 구현하는 것 역시 주요 작업이었다(그림 4). 슬레이브와 XCP 마스터 CANape를 위한 XCP 소프트웨어 모듈이 모두 단일 업체(벡터)를 통해 제공되고 상호 완벽하게 조율되기 때문에 아우디 입장에서는 소프트웨어 공급업체와 개발 협력사로 벡터를 선택하는 편이 수월했다. 모든 확장은 CANape와 XCP-on-FlexRay 소프트웨어 모듈의 현재 버전에 대해 구할 수 있다.



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


  • 100자평 쓰기
  • 로그인


  • 미분류
  • 세미나/교육/전시

TOP