자동차는 코드로 달린다
자동차 소프트웨어 기술과 과제
2009년 04월호 지면기사  / 글│이 건 용 편집장 <kylee0437@autoelectronics.co.kr>

자동차가 속도, 디자인, 내구성 지향에서 환경, 안전, 편의성 지향으로 바뀌면서 전장 비중이 계속 커지고 있다. 이것은 소위 말하는 ‘친환경 자동차’, ‘지능형 자동차’, ‘편의 자동차’로 대표되는 미래형 자동차의 등장을 의미하는 것이다. 디지털 시대의 첨단 자동차는 얼마나 친환경적이고 친인간적이며 높은 에너지 효율을 제공하느냐가 주된 관심사다.

▣ 자동차를 둘러싼 시장의 요구
- 환경: CO2 및 배출가스 저감, 환경 규제 대응 기술
- 쾌적 주행: 운전 지원, 정체 회피 기술
- 예방 안전: 사고 건수 감소, 안전주행 기술
- 오락: 다양한 멀티미디어 기기 연결 기술

차량용 소프트웨어 규모는 폭발적으로 증가하는 추세다. 최고급 자동차의 경우, 70~100개 이상의 ECU가 탑재되고 1,000만 라인 이상의 총 소프트웨어 규모(Lines of Code, LoC)를 과시한다. 2015년에는 그 규모가 약 1억 라인에 도달할 전망이다. 미래의 자동차는 소프트웨어가 결정하리라는 예측이 점차 현실화되고 있는 것이다. 노무라 종합 연구소는 자동차 생산원가 대비 전장 비중이 2002년 12%에서 2010년 37%로 높아질 것이라고 전망했다.


똑똑한 자동차

지난 10년간 자동차는 새롭고 혁신적인 기능을 실현하기 위해 더욱 더 소프트웨어에 의존해왔다. 오랫동안 자동차 산업의 가치 성장은 대부분 기계와 전자에 의해 주도되었지만, 현재의 가치 성장은 소프트웨어로 구현되는 기능에 의해 실현되고 있다.
이처럼 기계/전자에서 소프트웨어로의 급속한 변화는 자동차 산업 전반에 새로운 문제를 제기하고 있다. 일례로 2005년 10월 토요타의 인기 하이브리드 카인 프리어스가 미국과 일본에서 16만 대 리콜됐는데, 경고등이 이유 없이 점등하고 차의 가솔린 엔진이 고속주행 시 돌연 정지하는 심각한 결함에 따른 조치였다. 과거 하드웨어 문제로 인한 대규모 자동차 리콜과 달리, 이 경우는 임베디드 코드의 프로그래밍 에러가 원인이었다. 자동차 소프트웨어 버그가 문제였던 것이다. 이로 인해 프리어스는 브랜드 이미지에 적은 않은 타격을 입었다. 이러한 사례는 30년 전에는 상상도 못했던 일이다.
지금으로부터 30년 전인 1970년대에는 극히 미미한 부분에서 소프트웨어를 사용했다. 소프트웨어는 엔진을 제어할 목적으로 사용되었으며, 특별히 점화장치에 적용됐다. 소프트웨어를 기반으로 한 솔루션은 부분적인 기능으로 제한되었으며 다른 기능과 기술적으로 격리돼 있어 서로 영향을 주지 않았다. 소프트웨어는 독립적이고 단순한 기능을 수행하는 ECU를 동작하는데 사용됐다. 하나의 노드는 수 킬로바이트(KB)의 소프트웨어로 동작했으며 차량 한 대에 대체로 12개 정도의 노드가 사용됐다. 자동차의 기본 아키텍처는 센서와 액추에이터, 전용 ECU로 구성된 단순한 형태였다.
그 후 10년이 지난 1980년대 초 자동차는 새로운 변화를 맞게 된다. 자동차 내부에서 전자 장치의 공유가 지속적으로 늘면서 전기 배선(와이어 하니스) 길이가 2,000 m, 무게가 100 kg를 초과하게 돼 버스 시스템을 개발, 도입하게 되는 결정적 동기가 되었다.
버스 시스템을 통해 ECU는 차량 곳곳에 탑재된 센서로부터 수집된 복잡한 데이터를 빠르고 정확하게 처리하여 전기 신호(데이터)로서 기계적인 일을 담당하는 액추에이터로 보냈다. ECU를 서로 접속하는 버스 방식이 도입된 것은 그리 오래 된 일이 아니다. 결과적으로 자동차 산업은 통신 인프라를 구성하는 방식으로 버스 시스템을 도입해 단계적으로 ECU를 배치하여 추가 기능을 구성했다. 현재 고급 자동차의 경우에는 200만 라인 이상의 코드와 다섯 종류의 다른 네트워크(CAN, LIN, FlexRay, MOST, 블루투스 등)를 사용해서 80개 이상의 분산된 노드를 구성한다. 이 정도 크기의 컴퓨터 시스템 개발은 꽤 복잡하고 힘든 작업이 되었다. 자동차 산업에서 안전성, 신뢰성, 유지보수 가능성, 플랫폼 재사용, 시장 적시성, 생산 지속가능성 등에 대한 까다로운 요구사항은 이 작업을 거의 실현 불가능하게 몰아가고 있다.
지난 30년간 소프트웨어 규모는 코드의 길이(LoC) 면에서 엄청나게 커졌다. 예를 들면 현재의 고급 자동차는 70개 이상의 임베디드 플랫폼을 사용하여 약 270개 이상의 기능이 상호 작용하며 돌아간다. 이들 소프트웨어는 바이너리 코드로 약 100 MB에 이른다. 향후 5년 이내에 시장에 유통되는 차세대 고급 자동차에는 1 GB 이상의 소프트웨어가 활용될 것이란 전망이다[2]. 이것은 오늘날 사용하고 있는 일반적인 데스크톱 워크스테이션에 필적할 만한 수준이다.
자동차 산업에서 앞으로 새로운 혁신의 80%를 소프트웨어 기술이 담당하게 될 것이라고들 한다. 다시 말해 소프트웨어가 자동차 가치의 주된 기여 요소가 되고 제조비용의 가장 큰 요인이 될 것이란 의미다. 이러한 사실은 이미 군수·항공 분야에서는 그리 낯설지 않다. 예를 들어 전투기에서 소프트웨어 개발비 비중이 매우 높은데 B2 폭격기의 경우 65%, F-22의 경우 무려 80%에 이른다. 항공기의 경우 현재 80% 이상의 기능을 소프트웨어가 담당하고 있다. 현재 프리미엄급 차량은 소프트웨어와 전자장치의 제조비용이 전체 차량 제조비용의 약 35~40%에 이르며, 이 중 소프트웨어 개발 비용은 차량 개발 비용의 13~15% 정도를 차지한다[2].
이처럼 자동차 분야에서 소프트웨어 비중이 커지는 이유 중 하나는 20년 전에는 불가능한 기능을 소프트웨어로 실현할 수 있기 때문이다.



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


  • 100자평 쓰기
  • 로그인


  • 세미나/교육/전시

TOP