하드웨어, 소프트웨어 및 툴에 대한 요구 사항과 미래의 개념

미래에는 차량용 전자 장치의 개발이 지속적으로 발전함에 따라 근본적인 기반 기술에 새로운 부담이 크게 가중될 것으로 예상된다. 기능이 늘어남에도 불구하고 자동차 OEM은 비용을 계속 억제해야 하는데, 이러한 목표를 달성할 수 있는 한 가지 방법은 자동차에 사용되는 ECU의 수를 제한하는 것이다. 이와 동시에 확장된 안전성 및 안정성의 개념이 주요 관심 분야가 될 것이다. 이러한 문제와 다수의 전자 부품을 고려해 보면, 강력한 개발 및 데이터 관리용 툴과 소프트웨어 모듈을 제어 모듈의 플래시 메모리로 전송하기 위한 툴이 점점 더 각광받게 될 것이다.

글 : 피터 리브쉐 / 벡터 www.vector.com

표준화를 더욱 발전시키지 않으면 차량용 전자 장치의 날로 늘어나는 복잡성을 더 이상 제어할 수 없게 된다. 1990년대에 다임러크라이슬러(Daimler-Chrysler)와 같은 자동차 OEM들은 OSEK[1] 임베디드 운영 체제를 사내 개발 및 공급업체 부품을 위한 의무 표준으로 확립하기 위해 많은 노력을 기울였다. 오늘날 자동차 OEM 및 공급업체에서는 코드의 품질을 향상시키고 서로 다른 공급업체 부품의 구성 및 통합 수준을 개선하기 위한 토대로 실시간 및 멀티태스킹 지원 운영 체제를 사용하고 있다.

"HIS(Hersteller Initiative Soft ware)"[2]에서도 대형 자동차 OEM들이 단일화된 표준에 대한 합의에 도달했으며, 소프트웨어, 소프트웨어 테스트, 프로세스 평가, 시뮬레이션, 툴 및 플래시 프로그래밍 분야에서 실무 위원회도 구성되었다. 또한 현재 AUTOSAR(Auto motive Open System Architecture: 차량용 개방형 시스템 아키텍처) 컨소시엄은 미래 차량 세대를 위한 표준을 담당하고 있다.

유연하고 계산 가능한 OSEK

현재 여러 OEM이 OSEK 구현 인증을 획득한 상태이다. 예를 들어 "osCAN" OSEK 구현은 일반적인 ECU에서 다중 버스 게이트웨이 및 인터페이스 하드웨어에 이르기까지 다양하게 응용할 수 있다. MOST VN2600용 벡터(Vector) 인터페이스에서 osCAN의 성능은 1.7MByte/s의 데이터 처리량에 해당하는 초당 최대 35,000개의 이벤트를 처리하는 133MHz 알테라 엑스칼리버(Altera Excalibur) 컨트롤러에서 테스트되었다. 또한 게이트웨이 생산업체인 K2L은 osCAN 기반 솔루션의 빠른 반응 시간과 정밀한 타이밍을 입증했다.


그림 1. osCAN TimingAnalyzer는 스케줄 테이블을 일정에 따라 시뮬레이션 할 수 있다.

여러 응용 프로그램을 지원하는 ECU

자동차 네트워킹에서 나타나는 뚜렷한 추세는 차량 내 ECU 수가 줄어드는 것이다. 오늘날 고급 자동차에서는 최대 40개의 ECU가 작동한다. 훨씬 더 많은 기능을 구현할 수 있도록 하려면 앞으로는 동일한 제어 모듈 내에서 가능한 한 많은 응용 프로그램을 실행할 수 있도록 일관된 노력을 기울여야 하는데 OSEK 멀티태스킹 운영 체제는 바로 이러한 목적으로 사용하도록 지정되었다. 하지만 서로 다른 생산업체의 소프트웨어를 통합하고 안전성이 중요한 시스템에 사용하려면 운영 체제의 다른 속성도 필요하다. 예를 들어 응용 프로그램은 동시에 실행되고 있는 다른 응용 프로그램을 방해하지 않아야 한다.

적절한 타이밍의 변함없는 중요성

미래의 OSEK 버전과 AUTOSAR에서 첨단 임베디드 운영 체제 개발과 관련하여 중점을 두고 있는 부분 중 하나는 타이밍 및 메모리 액세스와 관련된 소프트웨어 동작을 모니터링 할 수 있는 기능이다. AUTOSAR 호환 구현에서는 가장 발전된 타이밍 모니터링 방법을 사용할 수 있다. "실행 시간 시행(Execution Time Enforcement)" 및 "도달률 시행(Arrival Rate Enforcement)"과 같은 방법은 우선 순위가 낮은 작업에 대해서도 의무적인 최소 시간 예산을 제공하는데, 이러한 방법에서는 오류를 감지하는 것은 물론 오류의 원인까지 명확하게 식별할 수 있다.

메모리 보호를 위한 안정적인 경계

앞으로는 메모리 보호 기능이 할당된 메모리 공간에 대한 작업의 액세스를 제한할 것으로 예상된다. 이는 특히 다른 데이터 세그먼트에 대한 쓰기 액세스를 방지하고, 스택 오버런을 감지하며, 잘못된 코드의 실행을 차단하는 데 중요한 역할을 한다.

반면에 동일한 응용 프로그램에 속한 작업은 동일한 메모리 영역에 액세스할 수 있어야 하며, 드라이버와 같은 특수 시스템 기능은 메모리에 대한 무제한 액세스가 요구될 수도 있다. 여기서 전체 액세스 권한이 있는 이른바 "확정된(Trusted) 응용 프로그램"과 액세스 권한이 제한적인 "확정되지 않은(Non-trusted) 응용 프로그램" 간에 차이가 생긴다. 여기서 이름이 다소 혼란스러울 수 있는데, 확정되지 않은 응용 프로그램은 실제로 어떠한 손상도 일으킬 수 없는 저장된 프로그램이다.

가능하면 확정되지 않은 응용 프로그램에 기능을 배치하는 것이 좋은 디자인 방식이다. 따라서 벡터에서 제공하는 구현에서는 확정되지 않은 기능도 호출할 수 있다. 이는 안전성이 중요한 응용 프로그램을 위한 것으로, 안정성 수준도 극대화한다. AUTOSAR에서는 이 문제를 처리하기 위한 관련 제안 사항이 현재 실무 위원회에서 논의되고 있다.

미래의 하드웨어 지원 수준 개선

앞에서 언급한 타이밍 및 메모리 모니터링 기능은 적절한 하드웨어 지원을 통해서만 효율적으로 구현될 수 있다. 메모리 보호에 필요한 것은 메모리 블록의 수와 크기에 맞게 제공되는 옵션과 관련하여 자동차 응용 프로그램의 요구 사항에 따라 제작된 MPU(Memory Protection Unit)이다. 오늘날 관리 가능한 가장 작은 장치는 대개 16KB 크기의 블록이다. 하지만 자동차 임베디드 분야에서는 훨씬 작은 메모리 장치가 필요하다.

근본적으로 현재 및 미래의 OSEK 실시간 시스템의 하드웨어 요구 사항은 오늘날의 프로세서 코어를 완전히 다시 디자인해야만 달성할 수 있다. 현재 반도체 생산업체와 원하는 사양에 대한 협의를 진행하는 중이다. 앞에서 언급한 모니터링 기능 외에 가장 중요한 요구 사항에는 대기 시간이 낮은 서로 다른 인터럽트 수준을 위한 인터럽트 컨트롤러와 작업 스위칭에 대한 하드웨어 지원 그리고 레지스터 수가 최소화된 프로세서 코어가 있다.

오류 없는 임베디드 시스템의 개발 가능 여부

현재 엔지니어링 과학에 수학을 집중적으로 적용하는 지속적인 프로젝트를 통해 산업의 복잡성을 극복할 수 있는 흥미로운 가능성에 대한 연구가 진행되고 있다. 체계적 분석 방법을 사용하면 광범위한 테스트에서도 드러나지 않는 실시간 시스템의 오류를 감지할 수 있다. Verisoft 프로젝트에 참여하고 있는 과학자들은 여기서 한 단계 더 나아가 오류가 없는 임베디드 시스템 및 전자 부품을 개발할 수 있다는 결론을 내렸다. 하드웨어, 소프트웨어, 운영 체제 통신, 응용 프로그램 등으로 구성되는 전체 시스템은 일반적으로 형식 검증 방법을 통해 입증될 수 있다.

ECU 재프로그래밍

유연한 플래시 프로그래밍에 의한 ECU의 재프로그래밍이 계속해서 큰 관심을 끌고 있다. 여기서의 문제는 실제 플래시 프로그래밍 기술보다는 전체 프로세스의 구성 및 처리와 더 많은 관련되어 있다. 제약은 프로젝트마다 다르며 OEM 및 모델별 요구 사항 외에도 하드웨어 속성(부트로더, 플래시 시작), 플래시 포맷, 전송 및 진단 프로토콜 같은 다른 여러 요구 사항을 고려해야 한다.



그림 2. 플래시 프로그래밍

예를 들어 플래시 데이터가 다양한 게이트웨이를 통과하는 경우 그 과정에서 데이터가 손실되지 않는다는 것을 보장해야 한다. 이를 비롯하여 이와 유사한 문제에 대해 특정 상황별로 각각 답을 제시해야 한다. 실제로 여기서는 간단한 자동화된 접근 방법을 구현할 수 없다. 이러한 제약으로 인해 플래시 프로세스의 합리적인 처리가 계속해서 중요성을 얻고 있다. 또한 그에 따라 표준화된 포맷으로 플래시 프로세스를 획일적으로 관리하는 방향으로 하나의 추세가 나타나고 있다. 이를 위해 벡터의 툴은 플래시 작업에 대한 참조와 함께 플래시 데이터를 ODX 플래시 데이터 컨테이너에 저장한다.

경우에 따라 빌드 후(Post-build) 프로세스를 통해 필드의 플래시 데이터를 수정할 수 있도록 해야 할 수도 있다. 이러한 상황에서는 기타 파라미터 외에도 체크섬과 시그니처를 재계산하고 플래시 업데이트 과정에서 플래시 부트로더로 계산 결과를 전송하는 일이 중요하다. CANape Graph 및 CANdito 툴은 모두 온라인 및 오프라인 빌드 후 프로세스를 원활하게 처리할 수 있으며 이 가운데 플래시 및 진단 작업용으로 최적화된 스크립트 언어가 특히 유용하다.

ECU의 다양한 메모리 관리

재프로그래밍에서 중요한 항목은 ECU의 다양한 메모리 유형을 관리하는 것이다. 예를 들어 멀티프로세서 또는 분산된 시스템의 복잡성 증가는 더 큰 메모리 요구 사항 및 서로 다른 유형의 메모리를 사용하는 것과 밀접하게 관련되어 있다.

기존의 일부 비휘발성 메모리 디바이스는 물리적 특성이 크게 다르다. 비휘발성 메모리 유형의 주요 차별화 특성에는 쓰기 세그먼트의 크기, 소거 세그먼트의 크기, 최대 프로그래밍 주기 수, 프로그램 및 소거에 필요한 시간 등이 있다. 최신 플래시 메모리는 NOR 스택 게이트 및 MONOS (Metal Oxide Nitride Oxide Silicon) 기술을 기반으로 한다. 약 2008년 초부터 새로운 메모리 제품은 FeRAM (Ferro-Electric: 강유전성), MRAM(Magneto-Resistive: 자기저항) 및 무제한의 쓰기/소거 주기를 허용할 수 있는 기타 기술에 기반을 둘 것으로 예상된다.

HIS 표준화 메모리 드라이버 인터페이스

HIS 자동차 그룹은 단일화된 메모리 관리를 달성한다는 목표를 바탕으로 반도체 생산업체의 지원이 증가하고 있는 메모리 드라이버 인터페이스에 대한 표준을 정의했다. 이 인터페이스는 데이터의 초기화, 재초기화, 소거, 프로그래밍 및 읽기에 필요한 기능을 제공한다. HIS 인터페이스 기반의 구현에서 다중 메모리 유형 I/O 관리자(Multiple Memory Type I/O Manager)는 다양한 유형의 메모리에 액세스하는 데 사용된다.

메모리 구성은 벡터의 Geny 툴을 사용하여 편리하게 정의할 수 있다. 사용자는 서로 다른 메모리 유형에 액세스하는 과정에서 극대화된 유연성을 경험하는 것 외에도 SPI(주변장치용 직렬 인터페이스)를 통해 액세스하는 등의 이점을 얻을 수 있다.

시간은 돈: 플래시 프로세스 가속화

ECU의 수에 따라 양산 환경에서 데이터를 전송하는 데 한 시간 이상이 소요될 수 있다. 따라서 자동차 OEM 및 툴 공급업체는 데이터 압축과 함께 전송 미디어에 더 높은 대역폭을 추가하는 방안을 고려하고 있다. 과학적인 연구에 따르면 압축을 위해서는 LZ77 방법과 연산 코딩 방법을 함께 사용하는 것이 이상적이며 이를 통해 데이터 크기를 최대 절반까지 줄일 수 있다고 한다.

[1] OSEK는 "Offene Systeme und deren Schnittstellen fur die Elektronik im Kraftfahrzeug"의 약어로, 자동차의 전자 장치를 위한 개방형 시스템 및 인터페이스를 의미한다. [2] "Hersteller" = 생산업체 또는 OEM


/ 저자 소개/


피터 리브쉐

독일의 에실링겐(Esslingen)에 소재한 공과 대학에서 통신 공학을 전공, 2002년부터 벡터에서 비즈니스 개발 관리자로 근무해왔으며 현재 수석 엔지니어로 임베디드 소프트웨어 컴포넌트 제품군을 담당하고 있다.

 
회원가입 후 이용바랍니다.
개의 댓글
0 / 400
댓글 정렬
BEST댓글
BEST 댓글 답글과 추천수를 합산하여 자동으로 노출됩니다.
댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글수정
댓글 수정은 작성 후 1분내에만 가능합니다.
/ 400
내 댓글 모음
저작권자 © 테크월드뉴스 무단전재 및 재배포 금지