[카&테크]자동차 전자제어 '타이밍' 기술

자동차를 제어하기 위한 각종 소프트웨어 적용이 늘면서 시스템이 복잡해짐에 따라 차량 결함 발생 확률도 높아진다. 또 서로 다른 환경에서 개발된 시스템을 통합하는 과정에서 수많은 이슈와 제약사항이 발생하기도 한다. 소프트웨어가 제때 작동하지 않으면 안전과 직결돼 치명적 결과를 초래할 수도 있다. 결국 자동차 안전과 관련된 모든 기능은 '타이밍(Timing)'과 관련 있다. 만일 지정된 시간에 처리하지 못 하면 탑승자 안전에 심각한 문제가 생길 수도 있다.

Photo Image
자동차 소프트웨어의 타이밍 응답시간 분포 및 최대 응답 시간 분석.

타이밍(Timing)이란 자동차 소프트웨어가 제때 작동하는 것을 의미한다. 전자제어장치(ECU)에 문제가 생겨 실행이 지연되면 브레이크가 동작하지 않는 등 치명적 문제가 발생할 수 있다. 따라서 타이밍에 대한 요구사항을 정확히 예측하고 검증하는 것이 중요하다. 타이밍 오류를 사전에 방지함으로써 ECU 성능을 개선하고 최적화시킬 수 있다.

자동차 소프트웨어 타이밍 문제는 다양한 원인에서 발생한다. 코딩 문제는 그 패턴이 대부분 정해져 있어 하나의 방식으로 대부분 문제를 검토할 수 있다. 하지만 타이밍 문제는 코드 자체 영향, 데이터 사용시 발생하는 영향, MCU 내부 지연, 통신 지연 등 매우 다양하다.

이러한 다양한 문제를 단 한 가지 방법으로 접근하는 것은 문제 해결을 지연시킬 뿐이다. 따라서 CPU/BUS 로드, 응답시간, 주기의 편차(Jitter), 데이터 손실·재사용, 데이터 일관성과 같은 세분화된 타이밍 요구사항을 다각적으로 검증해야 한다.

자동차 시스템 타이밍 검증을 하기 위해서는 기본적으로 분석적 기법과 시뮬레이션 기법이 모두 필요하다. 자동차와 같은 복잡한 실시간 시스템에서는 분석적 기법들이 높은 품질의 입증 방법이지만 제한된 가용성 때문에 현실적으로 적용하기 어렵다. 반면에 시뮬레이션 기법은 크고 복잡한 설계 적용에 용이하다. 정확한 타이밍 검증을 위해서는 적용 대상에 따라 최적의 결과를 얻을 수 있는 기법을 선택적으로 적용해야 한다. 예를 들어, 한 모듈에 대해 안전 관점의 최대 응답 시간(Worst-case Response time)을 구하고자 할 때는 분석적 계산법을 사용하고 전체 시스템 레벨에서는 평균 응답시간을 산정하기 위한 시뮬레이션 기법을 사용한다.

한편 대부분 타이밍 문제는 전체 개발 주기에서 가장 후반부인 구현 단계 또는 시스템 통합 단계에서 발견된다. 개발 후반부에서 발견된 설계의 실수는 상당한 비용과 수정 시간을 필요로 한다. 기존 타이밍 검증 수단으로는 정형적이고 시스템 차원의 분석 방법이 쓰이지 않고 상대적으로 제한적 방식인 측정과 테스팅 기법이 쓰인다. 실제 국내 대부분의 타이밍 검증은 오실로스코프에 의한 응답시간 측정 수준으로 행해지고 있다. 이러한 이유로 자동차 시스템의 혁신적이고 복잡한 새로운 기능들이 비용 효율적 측면에서 제대로 구현되지 못하고 있다. 따라서 개발 초기부터 정확한 타이밍 분석을 지원하는 기술과 도구들의 필요성이 커지고 있다. 이러한 기술과 도구들을 통해 시스템의 타이밍 동작을 예측하고, 설계단계에서 발생할 수 있는 잠재적 취약점을 개발 초기에 바로잡을 수 있다.

최근 자동차 산업에서는 고도의 처리능력과 ECU 통합을 통한 원가 절감을 위해 멀티코어 시스템이 도입되는 추세다. 멀티코어 ECU 개발이나 CAN(Controller Area Network), 플렉스레이(FlexRay), 이더넷(Ethernet) 등 다양한 통신으로 연결된 분산 제어 환경에서는 통신 데이터 검증과 최적의 성능을 위한 시스템 설계를 위해서도 타이밍 분석이 필수적이다.

결국 개발 초기에 타이밍 측정을 통해 소프트웨어가 제때에 동작하는지 확인하고 요구사항을 만족하는지 검증해야만 시간과 비용을 줄일 수 있다. BMW, 폭스바겐, 아우디, 콘티넨탈, 보쉬 등 자동차 제조사나 티어(Tier)1 업체는 개발 초기부터 정확한 타이밍 검증을 위해 적재적소에 개발도구를 활용하고 있다.


박태준 자동차 전문기자 gaius@etnews.com

브랜드 뉴스룸