5
AUTOSAR는 유럽 자동차 회사와 주요 서 플라이어가 주축이 돼어 개발한 개방형 차량 소프트웨어 표준이다. 기존의 차량 소프트웨어 개발 방법은 특정 하드웨어와 소프트웨어가 종속적인 관계를 가지게 되어, ECU에 기능을 추가하거나 하드웨어 규격이 변경되면 ECU를 처음부터 다시 개발해야 하므로 개발 시간과 비용이 많이 소요되는 문제가 있었다. AUTOSAR는 이러한 문제를 해결하기 위해 ECU의 소프트웨어를 그림 1 처럼 SoftWare Component(SWC) 파 트 와 Basic SoftWare(BSW) 파트로 구분하고 각각의 컴 포넌트를 모듈화 하는 방법을 채택했다. 또한 SWC와 BSW 사이에 RTE(Run-Time Environment)라는 인터페이스 계층을 두었는 데, RTE는 Virtual Functional Bus(VFB)라는 개념을 실제로 구현한 계층으로, 이를 통해 SWC와 BSW 간의 통신이 이뤄진다. RTE는 Client/Server와 Sender/Receiver 통신 델을 지원한다. Client/Server 모델은 미리 정 의된 서비스를 Client SWC가 Server SWC 요청하고, 그에 따른 결과를 수신하는 통신 방식을 의미한다. Sender/Receiver 모델은 Sender SWC가 데이터를 배포하며 Receiver SWC는 배포된 데이터를 수신하게 된다. AUTOSAR에서는 RTE가 모든 SWC 사 이의 통신을 책임지게 되며 SWC들은 동일 ECU에 있을 수도 있고 다른 ECU에 존재할 수도 있다. 이러한 RTE를 통한 통신 시스템은 SWC나 BSW가 교체되거나 새로운 모듈이 추 가되더라도 약간의 매핑(mapping) 과정과 정(configuration) 과정을 통해 새로운 ECU 소프트웨어를 쉽게 개발할 수 있도록 해준다. AUTOSAR 표준은 기존 모듈의 재사용과 새로운 기능 추가를 위해 계속해서 업데이트 되고 있으며 현재 버전 4.0.3이 배포됐다. 내 일렉트로비트(Elektrobit, EB)는 최초로 AUTOSAR 4.0 솔루션을 개발해 차량에 적용한 기 술력을 바탕으로 새로운 AUTOSAR 표준에 발빠르게 대응하고 있다. EB가 갖고 있는 그 동안의 개발 노하우를 기반으로 EB tresos는 완성도 높은 AUTOSAR 프로젝트 개발에 있어 실질적 방안을 제시할 것이다. 김병철 주임<[email protected]> MDS테크놀로지 EB사업팀 EB tresos를 이용한 AUTOSAR 4.0 개발방법 96 www.autoelectronics.co.kr Development Feature 【그림 1】AUTOSAR의 기본 개념

& USFTPT 3I à 65043 P Ê Ñ è tresos를 이용한... · 2015-03-25 · "6504"3 ×, ã W 2 0 % ì ± ² Ò Ä I ¯ > ± w I 8 ¯ P Ê à P Ñ 0 Ý × Ð _ ¯ ´ ³ I î Ý D 0 Ý

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: & USFTPT 3I à 65043 P Ê Ñ è tresos를 이용한... · 2015-03-25 · "6504"3 ×, ã W 2 0 % ì ± ² Ò Ä I ¯ > ± w I 8 ¯ P Ê à P Ñ 0 Ý × Ð _ ¯ ´ ³ I î Ý D 0 Ý

AUTOSAR는 유럽 자동차 회사와 주요 서

플라이어가 주축이 돼어 개발한 개방형 차량

소프트웨어표준이다. 기존의차량소프트웨어

개발 방법은 특정 하드웨어와 소프트웨어가

종속적인 관계를 가지게 되어, ECU에 기능을

추가하거나하드웨어규격이변경되면 ECU를

처음부터 다시 개발해야 하므로 개발 시간과

비용이 많이 소요되는 문제가 있었다.

AUTOSAR는 이러한 문제를 해결하기 위해

ECU의 소프트웨어를 그림 1처럼 SoftWare

Component(SWC) 파 트 와 Basic

SoftWare(BSW) 파트로 구분하고 각각의 컴

포넌트를 모듈화 하는 방법을 채택했다. 또한

SWC와 BSW 사이에 RTE(Run-Time

Environment)라는 인터페이스 계층을 두었는

데, RTE는 Virtual Functional Bus(VFB)라는

개념을 실제로 구현한 계층으로, 이를 통해

SWC와 BSW 간의 통신이 이뤄진다. RTE는

Client/Server와 Sender/Receiver 통신 모

델을지원한다. Client/Server 모델은미리정

의된 서비스를 Client SWC가 Server SWC

에요청하고, 그에따른결과를수신하는통신

방식을 의미한다. Sender/Receiver 모델은

Sender SWC가 데이터를 배포하며

Receiver SWC는 배포된 데이터를 수신하게

된다. AUTOSAR에서는RTE가모든 SWC 사

이의 통신을 책임지게 되며 SWC들은 동일

ECU에 있을 수도 있고 다른 ECU에 존재할

수도있다. 이러한 RTE를통한통신시스템은

SWC나 BSW가교체되거나새로운모듈이추

가되더라도약간의매핑(mapping) 과정과 설

정(configuration) 과정을 통해 새로운 ECU

소프트웨어를쉽게개발할수있도록해준다.

AUTOSAR 표준은 기존 모듈의 재사용과

새로운 기능 추가를 위해 계속해서 업데이트

되고 있으며 현재 버전 4.0.3이 배포됐다. 내

일렉트로비트(Elektrobit, EB)는 최초로 AUTOSAR 4.0 솔루션을 개발해 차량에 적용한 기

술력을 바탕으로 새로운 AUTOSAR 표준에 발빠르게 대응하고 있다. EB가 갖고 있는 그

동안의 개발 노하우를 기반으로 한 EB tresos는 완성도 높은 AUTOSAR 프로젝트 개발에

있어 실질적 방안을 제시할 것이다.

│김병철주임<[email protected]>MDS테크놀로지EB사업팀

EB tresos를이용한AUTOSAR 4.0 개발방법

96 www.autoelectronics.co.kr

Development Feature

【그림 1】AUTOSAR의기본개념

Page 2: & USFTPT 3I à 65043 P Ê Ñ è tresos를 이용한... · 2015-03-25 · "6504"3 ×, ã W 2 0 % ì ± ² Ò Ä I ¯ > ± w I 8 ¯ P Ê à P Ñ 0 Ý × Ð _ ¯ ´ ³ I î Ý D 0 Ý

년에 4.1.1 버전을통해이더넷(Ethernet)을 포

함한추가적인장치들을지원할예정이다.

AUTOSAR 시장동향2011년까지 약 2,500만 개의 ECU가

AUTOSAR를 적용해 개발됐으며 2016년까지

3,000만개의 ECU가 AUTOSAR를기반으로

개발될 전망이다. 또 거의 모든 OEM이 2013

년 이후에는 AUTOSAR 3.2 또는 4.0 버전의

규격을 사용하겠다고밝혔다(그림 2). BMW를

선두로 Volvo나 GM 등은 AUTOSAR 4.0.3

을 기반으로차량개발을진행하고있다. 또한

더많은업체들이AUTOSAR 4.0 기반의개발

을이미시작했거나앞으로지원할예정이다.

AUTOSAR 개발방법론AUTOSAR 개발 방법론(methodology)은

AUTOSAR 시스템을 개발하기 위해 시스템

설계 단계부터 ECU 개발 단계까지 모든 과

정의 개발 방법을 의미한다. 하지만 이 과정

에 포함되는 차량 제어 알고리즘은 포함하지

않는다.

그림 3은OEM과서플라이어간의개발방

법에 대해 나타내고 있다. 기존에 OEM은 문

서를 통해 시스템 요구사항을 서플라이어에

전달했다. 반면, AUTOSAR에서는 System

Configuration Description 파일로 제공한다.

System Configuration Description은 OEM

의 요구사항이 담겨 있는 애플리케이션 SWC

기술 정보와 BSW 기술 정보 등을 포함하며,

XML 기반의 AUTOSAR 표준 포맷인

ARXML로 작성된다. ARXML 안에는 애플리

케이션 SWC의 알고리즘 정보는 포함되지 않

기 때문에, 애플리케이션의 상세한 알고리즘

정보는 기존의 소스 코드나 오브젝트 파일 형

태로 서플라이어에 전달한다. 서플라이어는

OEM으 로부터 전달받은 System

Configuration Description 파일을 바탕으로

BSW 내의 모듈에 대해 설정 및 매핑 작업을

한후, 컴파일및링크과정을통해최종플랫

폼에맞는바이너리파일을생성한다.

AUTOSAR 개발툴체인및방법위에서 설명한 AUTOSAR 표준 개발 방법

론을 바탕으로 실질적인 개발을 하기 위해서

는 크게 SWC 개발 툴과 BSW 개발 툴이 필

요하다. SWC 개발툴은세부적으로애플리케

이션을 기술하는 툴과 그 안에 들어가는 알고

리즘을개발하는툴로세분화된다.

OEM은 ECU 내자신들의요구사항에따라

필요한 애플리케이션 SWC를 개발한다. 이

SWC는 데이터 타입, 포트 정보, 인터페이스

와 같이 애플리케이션 기능을 수행하기 위한

모든 정보를 포함하며, 이러한 것을 SWC

【그림 2】AUTOSAR 버전별ECU 적용현황및자동차회사별적용현황

【그림3】AUTOSAR Methodology

2012 NOV·DEC 97

Page 3: & USFTPT 3I à 65043 P Ê Ñ è tresos를 이용한... · 2015-03-25 · "6504"3 ×, ã W 2 0 % ì ± ² Ò Ä I ¯ > ± w I 8 ¯ P Ê à P Ñ 0 Ý × Ð _ ¯ ´ ³ I î Ý D 0 Ý

description이라고 한다. OEM의 요구사항과

SWC ARXML 파일, 그리고알고리즘관련소

스 코드나 오브젝트 코드를 전달받은 서플라

이어는 System Description 과정을 거치게

된다. System Description에는 특정 ECU에

관련된태스크스케줄링, 사용되는 BSW 모듈

들, BSW configuration 정보, 그리고 태스크

에 의해 동작하는 Runnable들의 내용 등이

포함된다.

위의 모든 정보들이 작성되면 최종적으로

RTE를 중심으로 SWC들과 BSW 간의 매핑

과정을 수행한다. 매핑 과정을 통해 RTE는

동일한 ECU 내의서로다른 SWC 간에데이

터를 주고받을 수 있도록 하거나 서로 다른

ECU에 존재하는 SWC 간에 통신이 이루어

지게 한다. 특정 SWC가 데이터를 전송하려

고 포트에 접근하면, RTE는 특정 SWC의 포

트와 매핑된 BSW 모듈의 포트에 정보를 수

신할 준비를 시킨다. 또한 RTE는 BSW의 하

위 계층으로부터 수신된 데이터를 적절한

SWC로 전송하기 위해 위의 반대 과정을 수

행한다. 이러한 과정을 통해 동일한 ECU 내

의통신및서로다른 ECU 간의통신이이루

어지게된다.

지금까지 AUTOSAR의 기본적인 동작 원

리에 대해 설명했다. 이를 바탕으로 SWC 개

발 툴과 EB tresos를 사용해서 실제로 개발

하는과정을살펴본다.

SWC 툴과 EB tresos를이용한AUTOSAR 개발EB tresos는 ECU 소프트웨어중 SWC 개

발부분을제외한RTE를포함하여하위BSW

모듈들에 대한 configuration 및 generation

을 제공한다. 따라서 SWC 개발을 위해

dSPACE의 SystemDesk와 IBM의

Rhapsody를 이용해 SWC ARXML 파일을

생성했으며 EB tresos에 입력(import)하여

BSW configuration과 매핑을 수행하는 환경

을구축했다.

기본적으로 AUTOSAR SWC는 RTE를 거

치지않고직접하드웨어나BSW 모듈에접근

할 수 없기 때문에, SWC들은 자체적으로 스

레드나 프로세스를 처리할 수 없다. 그래서

SWC의기능을수행하기위해Runnable들을

구성하며, 이를통해 SWC의스케줄링을처리

하게 된다. 쉽게 말하면, Runnable은

AUTOSAR SWC의 수행 단위이며 C나 C++

로 작성된 기능 함수라고 할 수 있다. 하나의

SWC 안에는 여러 개의 Runnable이 존재할

수 있으며 타이머 이벤트, 서버 호출 이벤트,

데이터 동작 이벤트 등을 통해 Runnable이

수행된다. 또 이러한 Runnable 간 전역 변수

98 www.autoelectronics.co.kr

Development Feature

【그림4】툴체인

【그림5】Toplevel SWC 구조와서비스수행절차

Page 4: & USFTPT 3I à 65043 P Ê Ñ è tresos를 이용한... · 2015-03-25 · "6504"3 ×, ã W 2 0 % ì ± ² Ò Ä I ¯ > ± w I 8 ¯ P Ê à P Ñ 0 Ý × Ð _ ¯ ´ ³ I î Ý D 0 Ý

인 Inter-runnable variable이존재한다.

여기서 소개하는 ECU 소프트웨어는 2개의

CAN 장치(CAN ID: 0x100, 0x110)가 주기적

으로 데이터를 주고받는 시스템으로, SWC는

크게3개의Application Software Component

(SWC_ModifyEchoSWC, SWC_CyclicCounter

SWC, SWC_IoHwAbsSWC)로 구성되며 대

표적으로 Cyclic()과 ModifyEcho()라는 2개의

runnable을 사용한다. Cyclic()은 Rte_Time_

Task에 의해 1초 간격으로 실행되며 Inter-

runnable Variable인 CurrentCounterValue

값을 1씩 증가시키고 Com 포트로 데이터를

전송한다. ModifyEcho()는 신규 데이터 입력

이벤트가 발생한 경우 Rte_EvenTask에 의해

호출되며 SWC_CyclicCounter에 새로운 카

운터 값을 전달한다. 또한 ModifyEcho()는

CAN-ID(0x100)로부터 Cyclic()의 Current

CounterValue 값을 수신한다. 그 후 CAN-

ID(0x110)로 데이터를 전송하는 기능을 수

행한다.

앞서 언급한 EB tresos는 RTE 생성에서부

터 BSW의 각 모듈 설정, 그리고 SWC와

BSW 간의매핑을도와주는소프트웨어다. 그

림 7에서 보이는 바와 같이, EB tresos 상에

서 필요한 BSW 모듈들과 SWC 개발 툴에서

생성한 ARXML 파일및커뮤니케이션매트릭

스 파일(DBC, FIBEX 등)을 입력하여 BSW

configuration 환경을구축한다.

BSW configuration에서 가장 중요한 RTE

매핑은크게3가지가있다.

1) 이벤트매핑Runnable들은 RTE 이벤트에 의해 실행되

며 각 Runnable들은 OS 태스크에 매핑이

된다. 이벤트 매핑 또는 Runnable 매핑은

SWC에 의해 정의된 Runnable들을

AUTOSAR OS에서 선언한 태스크들과 연

결시켜주는 작업을 말한다. 본 시스템에서

생성한ModifyEcho()는데이터수신이벤트가

발생하면동작하도록Rte_Event_Task와매핑

을시킨다. 그리고 Cyclic()은 Rte_Time_Task

와 매핑 시켜서 매 1초 간격으로 동작하도록

설정된다.

2) 데이터매핑데이터 매핑은 이벤트 매핑과는 별도로 통

신버스의시그널또는시그널그룹들과SWC

에서 구현한 포트들을 매핑 시키는 과정이다.

SWC_ModifyEcho 컴포넌트에서 새로운 데이

터를수신하기위해생성한 R_NewCounterIn

포트와 SGCounterIn_256R 시그널을 매핑하

고, 데이터출력을위해 SWC_CyclicCounter

【그림 6】SWC Runnables

【그림 7】EB tresos Source 입력

2012 NOV·DEC 99

Page 5: & USFTPT 3I à 65043 P Ê Ñ è tresos를 이용한... · 2015-03-25 · "6504"3 ×, ã W 2 0 % ì ± ² Ò Ä I ¯ > ± w I 8 ¯ P Ê à P Ñ 0 Ý × Ð _ ¯ ´ ³ I î Ý D 0 Ý

컴포넌트의 P_CounterOut 포트에

SGCounter_272T를매핑한다.

3) 서비스포트매핑서비스 포트 매핑은 BSW에서 제공하는

서비스 포트들을 적절한 애플리케이션 컴포

넌트와 포트에 매핑하는 과정을 말한다. 설정

창의 Application components and port

mappings 테이블은 SWC ARXML에서 생

성한 애플리케이션 컴포넌트 및 포트 정보들

이 목록으로 보이며, 서비스 설정 테이블에는

BSW에서제공하는서비스모듈의포트정보

(Det, BswM, ComM)가 나열되어 있다. 우

선, BSW 서비스 모듈 설정이 끝나면 서비스

포트 매핑 부분에서 알맞은 Application

component와 포트에 매핑을 시켜준다. 이

벤트 매핑, 데이터 매핑, 그리고 서비스 포트

매핑단계를마치면여러BSW configuration

중중요한RTE configuration 과정이완료된다.

모든 매핑 과정이 끝나면 입력한 SWC와

BSW가 동작할 수 있도록 OS에 이벤트와 스

케줄 테이블을 구성해준다. EB tresos에서는

Update Service Components and BswM

Descriptions 설정 버튼을 통해 자동으로 환

경을 설정해준다. 이 과정이 끝나면 모든

BSW 관련 configuration 과정이 마무리되고

최종적으로 generate를 통해 BSW

description 파일 및 소스 코드를 생성한다.

이 후 타깃 플랫폼에 맞는 컴파일러를 통해

bin 또는 hex 파일을 생성해최종 ECU에 포

팅하는 과정을 마치면 모든 AUTOSAR 개발

이끝나게된다.

AUTOSAR 시스템은 개발이 완료된 모듈

을재사용할수있는장점을바탕으로전체적

인 연구개발 기간을 단축할 수 있고 비용을

절감할 수 있는 장점을 갖추고 있다. 또한

OEM과 서플라이어가 보유하고 있는 고유의

기술력을 바탕으로 더 안정된 시스템을 구축

할 수 있다. 이러한 장점을 바탕으로

AUTOSAR는 선택사항이 아닌 의무사항으로

바뀌고있다. Elektrobit은 최초로 AUTOSAR

4.0 솔루션을개발하여차량에적용한기술력

을바탕으로새로운 AUTOSAR 표준에발빠

르게 대응하고 있다. Elektrobit의 개발 노하

우를 기반으로 한 EB tresos는 완성도 높은

AUTOSAR 프로젝트 개발에 있어 실질적 방

안을제시할것이다.

100 www.autoelectronics.co.kr

Development Feature

【그림8】Rte Runnable Mapping

【그림9】데이터매핑

【그림 10】서비스포트매핑