ETRI-Knowledge Sharing Plaform

KOREAN
연구보고서 검색
Type Funding Org. Research Org.
Year ~ Keyword

Detail

자동차 전장 시스템의 실시간 오류 감지 및 복구 프로세서 SW 개발 (최종)
Download 62 time
Participants
엄낙웅, 이재진, 배영환, 조용철, 한진호, 최민석, 신경선, 장준영, 김찬, 권영수, 양정민, 한규승, 강성원, 이우주, 김익균, 변경진
Published
201705
Type
Final Report
Keyword
오류 감내, ECU, Engine Control Unit
KSP Keywords
Fault-resilient
Funding Org.
산업통상자원부
Research Org.
한국전자통신연구원
Project Code
16PB2700, Robust Fault-Resilient SW for Vehicle Processors, Kwon Young-Su
Abstract
핵심기술
실시간 오류 감지 및 복구가 가능한 자동차 전장시스템용 프로세서 제어 및 합성 SW 기술

최종목표
자동차 전장시스템 프로세서의 오류 감지 및 복구가 가능한 실시간 오류감내형 프로세서 제어 및 합성 SW 기술 개발

■ 최종결과물
◦ 전장시스템을 위한 오류감내형 프로세서의 오류감지 모듈 합성 SW
◦ 오류감내형 프로세서(오류감지 모듈 및 Replica 코어)의 설계코드
◦ 오류감내형 자동차CPU용 SW 기반 응용 프레임워크
◦ 오류감내형 프로세서를 지원하는 자동차CPU용 SW

개발내용 및 결과
■ 내고장성 심각오류복구 자동차 전장시스템 마이크로아키텍처 기반 프로세서 코어 (RTL)
◦ 자동차 ECU를 위한 내고장성(Fault-Tolerance) 프로세서 코어로서 프로세서 코어 마이크로아키텍처의 정규동작 묘사(Functional Description), 오류주입 및 아키텍처 취약성 분석(Fault injection and Architectural vulnerability analysis), 오류 감지(Fault detection)를 위한 Assertion 모듈 구현, 오류 자동복구(In-Place Fault Recovery) 기능을 통합한 프로세서 코어 마이크로아키텍처 및 프로세서 코어를 개발하고 이를 기반으로 ISO 26262 Part 5에 준하는 프로세서 시스템 개발

■ Dynamic Lockstep 기능을 이용한 오류 감지 및 복구 아키텍처 개발 (RTL) ◦ 프로세서에서 오류를 감지하고 복구하는 구조인 DMR(Dual Modular Redundancy)로 설계가 되었고 이는 소프트웨어를 이용해서 Dual Core로 동작을 할 수도 있고, LockStep 방식으로 동작 할 수 도 있음, External Fault Manager(EFTM)는 프로세서에서 보내온 DATA를 비교하여 Fault를 판단하게 되며 그 종류에 따라 그 결과에 따라 Recovery Module에 오류 정보를 전송하게 됨

■ 내고장성 CPU 코어를 위한 L1 Cache 아키텍처 및 L1/2 Cache 오류 복구 기능 구현 (RTL)
◦ 기능안전성 자동 오류 복구 CPU 코어를 위한 Cache 아키텍처 내부의 SRAM에 Error Correction Code를 이용한 기능 외에 Cache의 특성을 이용한 오류 검출 및 복구할 수 있는 방법을 적용, 8-bit 당 1-bit만의 ECC Code를 사용하는 parity check code를 사용하도록 하고 에러 복구율은 낮아지지 않도록 하기 위해 Cache Operation의 특성을 활용하여 Tag Memory, Data Memory, Dirty-bit Memory, Valid bit Memory에 Error 발생 경우에 따라 구분하여 에러 복구 기능 구현

■ 내고장성 프로세서 코어용 QEI (Quadrature Encoder Interface) 구현 (RTL)
◦ 자동차 전장 시스템과 연결된 각종 모터 및 회전축의 회전 운동을 감지하는 목적으로, 사각파 형태의 출력 신호를 이용하여 회전축의 회전각, 속도 등을 분석하는 QEI-ETRI 1.0 IP 구현

■ Fault-Tolerant CPU를 위한 BSP 개발 (C)
◦ Fault-Tolerant 프로세서 코어와 Peripheral IP를 집적한 Vertex 7 FPGA Board를 위한 Debug Adapter H/W, S/W Debugger, Open OCD, Cross Compiler 환경 개발

■ Fault-Tolerant CPU 상에서의 LD 알고리즘 (C)
◦ 자동차 ECU를 위한 Fault-Tolerant 프로세서 코어 및 SW, Fault Detection 기능을 검증하기 위한 ADAS 응용 프로그램으로써 자동차 전방 운행영상에서 차선을 인식하여 운전자가 의도하지 않은 차선 이탈을 방지하는 Lane Detection 알고리즘 개발

■ 내고장성 프로세서용 LKAS (Lane Keeping Assistance System) 개발 (C)
◦ RTEMS를 기반으로 LKAS 알고리즘과 알데바란 이미지 입/출력 IP, CAN 드라이버를 통합하여, 카메라로 인지되는 이미지를 입력 받아 차선을 인지하고 MDPS 제어를 하여 차량조향을 조정하는 시스템 구현 및 개발

■ 내고장성 임베디드 시스템 검증을 위한 LDWS 알고리즘 (C)
◦ 자동차용 Fault-Tolerant CPU 코어의 응용성과 Fault -Tolerant 기능의 실증을 위해 LCD와 CAN protocol을 통해 경고를 발생시키는 LDWS 시스템을 개발, HIL 환경에서 검증 완료

■ 내고장 프로세서 코어의 LKAS 적용을 위한 RTEMS Dual-Task 기반 CAN (통신) + LDWS (알고리즘) 통합 (C)
◦ 본 과제를 통해 개발한 차선 인식 및 이탈 경보 시스템 (LDWS) 알고리즘을 RTEMS CAN Task와 통합하여 주행 조향 보조 시스템(LKAS) 으로 활용하기 위한 환경 구축 및 FPGA 보드 수준에서 기능 검증을 완료, 각각의 Task1과 Task2는 ANSI-C 코드로 구현하였으며, 공유메모리를 통한 통신을 지원하기 위한 R/W API는 내고장 프로세서 코어의 ASI 명령어 셋을 기반으로 하는 Inline Assembly 코드로 구성, Dual-Task 기반 CAN+LDWS 통합 기능 구현에 필요한 UART, TIMER, Interrupt Controller, I2C, CIS(이미지 센서), VIM(영상 입력 모듈), VOM(영상 출력 모듈), CAN RTEMS 드라이버 구현 및 기능 검증 완료

■ 내고장성 임베디드 시스템 기반의 FCW 알고리즘 개발 (C)
◦ 본 과제를 통해 개발된 “내고장성 자동차 전장시스템 마이크로아키텍처 기반의 프로세서 코어” 기반의 FCW 알고리즘 개발, Radar와 실차 기반 시험 대비

■ 내고장성 CPU 코어 및 내고장성 ADAS (LKAS) 어플리케이션의 실차시험을 위한 FPGA 시스템 개발 (FPGA)
◦ 내고장성 CPU 코어 (하드웨어)와 내고장성 ADAS 어플리케이션 (소프트웨어)을 FPGA 레벨의 보드로 구현하고 시험대상인 ADAS 시스템을 모의 장치(HIL) 또는 실제 장치로 구성하여 과제 목표인 자동차용 ECU의 오류 감지 및 복구 기능을 실험실 환경 및 실차시험으로 구현, 내고장성 CPU 코어 시스템 구조(AB-TN6 : Aldebaran Tolerant and Nano Version 6)는 내고장성을 갖는 CPU 코어 회로, 내고장성 어플리케이션 프로그램을 저장하기 위한 메모리의 제어 회로, 및 자동차용 ADAS 서비스 기능을 구현하기 위한 인터페이스 회로 및 범용 주변 장치회로로 구성되며, 상기의 코어 및 각 기능 회로를 연결하는 시스템 버스를 포함

■ 내고장성 프로세서의 기능 안정성 검증을 위한 프로세서 칩 제작 (SoC)
◦ 내고장성 프로세서 Core 및 IP를 통합한 Aldebaran chip 제작을 통해 내고장성 프로세서의 기능 안정성 구현을 검증

■ 내고장성 프로세서 기반 차선 유지 보조 시스템 (LKAS: Lane Keeping Assistant System) 실차 검증 (FPGA + 실차실험)
◦ 내고장성 프로세서와 차량 조향 시스템과 연동하여, 차선 감지 알고리즘으로부터 감지된 좌·우측 차선(line)의 가상 중간선으로부터 벗어난 정도에 따라 좌우 조향을 하는 차선 유지 보조 시스템 (LKAS: Lane Keeping Assistant System)을 실차에 구현 및 검증

■ 내고장성 임베디드 시스템 기반의 FCW 알고리즘 실차시험 및 성능 분석 (FPGA + 실차실험)
◦ ABV 프로세서와 FCW 기반 센서인 차량용 Radar를 융합하여 전방 추돌 경고 시스템을 실차 시험용 환경으로 구성, 실제 도로에서 주행과정 중 FCW 알고리즘의 성능 분석 및 검증

■ 내고장성 프로세서 기반의 전방 추돌 경보 시스템, 차선 이탈 경보 시스템, 차선 유지 보조 시스템 기능의 통합 시스템 (C + 실차)
◦ 내고장성 프로세서 기반의 전방 추돌 경보 시스템(FCWS) 구현, 차선 이탈 경보 시스템(LDWS) 구현, 차선 유지 시스템(LKAS) 구현 및 통합 시스템 실차 구현 및 검증

■ 스마트폰 및 OBD-II 기반의 스마트 블랙박스 (임베디드 시스템)
◦ CAN통신, OBD-II, Bluetooth 통신을 통해 차량과 통신을 통해 차량의 운행정보, 상태정보, 제어정보를 추출 및 연동하는 스마트폰에서 수행되는 블랙박스 앱 개발

■ 기능안전성을 위한 MISRA-C 준수 LD SW (C)
◦ Fault-Tolerant 프로세서 코어 및 SW를 검증하기 위한 응용 프로그램으로써 ISO26262의 SW 레벨의 설계 방침 적용으로 Motor Industry Software Reliability Association에서 개발된 C 프로그래밍에 대한 개발 표준을 적용하여 Lane Detection 소프트웨어를 개발

■ Fault-Tolerant 프로세서 코어의 FMEA (Doc)
◦ 자동차 ECU를 위한 Fault-Tolerant 프로세서 코어의 오류를 감지할 수 있는 기능 및 발생한 오류를 복구할 수 있는 오류 강건성을 측정 및 관리하기 위해 차량 기능안전표준(ISO 26262)에 준하는 Failure Modes and Effects Analysis를 실시함

■ 내고장성 자동차 전장시스템 CPU 코어의 Safety Mechanism 별 Fault Coverage 분석 (RTL + C)
◦ 내고장성 자동차 전장시스템용 Fault Tolerant 프로세서 설계를 위한 simulation 검증 단계에서 프로세서에 적용된 Safety Mechanism의 효과와 취약성 분석 (Vulnerability Analysis)을 위한 3단계 방법론 (Node Extraction, Fault Injection, Fault Tolerance Analysis) 제시, PLI interface로 추출한 하드웨어 디자인 정보를 이용한 Fault Injection 코드 구현

■ ISO 26262 Part-5를 위한 내고장성 CPU 코어의 고장률 분석 및 Hardware Metrics 도출 (Doc)
◦ 본 과제를 통해 개발된 내고장성 자동차 전장 시스템용 Fault-Tolerance 프로세서 코어에 적용된 Fault Detection, Recovery 등의 기능을 차량 기능안전표준 (ISO 26262) Part-5에 적용하여, Fault model 분석, Safety Goal 위반 평가, Faults Metric 계산, 고장률 분석 진행

■ 내고장성 CPU 코어의 ADAS 어플리케이션 적용 분야인 FCW 알고리즘의 ISO 26262 Work Products 개발 (Doc)
◦ 내고장성 CPU 코어의 ADAS 어플리케이션 적용 분야인 FCW 알고리즘에 차량 기능안전표준 (ISO 26262)을 적용, Hazard analysis 및 Risk assessment 분석을 통한 ASIL 등급 할당, Safety goal 설정, 기능 및 기술 안전성 요구사항 정의

■ ISO 26262 표준에서의 functional safety 구현에 관한 연구 (Doc)
◦ Automotive industry에 관한 Functional Safety 표준인 ISO 26262의 TC22 SC32 WG8에 KR(한국) National Expert로 참여, 자동차용 SoC 설계의 기능안전성을 위한 표준은 ISO26262 2nd 버전(2018년 제정 예정)의 Part 11과 Part 5에 기술되어 있으며, ‘IC level에서의 Fault injection’ 분야의 표준화에 직접 참여하여 활동 중임

기술개발 배경
■ 자동차 전장시스템의 기능안전성(Functional Safety)은 자동차에 장착되는 전자부품 및 이를 구동하는 SW의 설계에 있어 인간에게 행해지는 상해를 최우선으로 고려할 필요
◦ 자동차 전자시스템의 기능안전성 기술은 자동차 전장시스템에서 실시간으로 발생하는 오류(전장시스템 프로세서에서 발생하는 오류, Failure)를 감지, 추출하여 보고하는 프로세서 모듈 합성 SW 및 발생된 오류로부터 프로세서의 상태를 특정 지점으로 복구하기 위한 오류복구 제어 SW임

◦ 차량에 장착되는 임베디드 시스템의 복잡도가 고도화되고 차량가격에서 전장시스템 및 전자제어 장치가 차지하는 비율이 점점 높아짐에 따라서 전장시스템의 신뢰성에 대한 문제가 대두되고 있음
◦ 자동차 산업은 특히, 90년대 후반부터 외관과 디자인 위주의 제품 차별화에서 벗어나고 있어, 미래 지능형 자동차는 자동차 전장시스템 기술을 핵심으로 한 편의성과 안전성 관련 서비스들이 점차 증가되는 추세임
◦ 전장시스템(ECU, Electronic Control Unit)의 주요 구성품을 살펴보면 전장시스템 전용의 프로세서(ECU Processor SoC) 와 전장시스템 프로세서에 장착되는 펌웨어(SW)로 구성됨
◦ 전장시스템의 안전도는 다양한 시스템 개발 수준에서 평가할 수 있으나, ECU를 위한 마이크로프로세서에서 SW와 연계한 기능 또는 동작오류(Function failure) 및 전압, 전류, 온도에 의하여 불규칙적으로 발생하는 오류(Circuit operation failure)가 ECU의 근본적인 오류원인으로 볼 수 있음

◦ 본 과제에서 개발한 전장시스템 프로세서의 실시간 오류(Transient processor failure) 감지, 추출, 보고를 위한 프로세서 모듈 합성 SW는 전압, 전류, 온도 등에 의하여 실시간으로 발생하는 프로세서에서 발생하는 오류를 정확히 감지해내는 전장시스템 안전성을 위한 원천기술임

◦ 프로세서 모듈 합성 SW에 의하여 자동 생성된 하드웨어 모듈을 집적한 전장시스템 프로세서 SoC는 자동 복구가 불가능한 실시간 오류의 경우 자동차 전장시스템 SW 표준에 의하여 설계된 AUTOSAR SW와 연계하여 SW 수준의 recovery를 실시하여 시스템 안정성을 높임

◦ 전장시스템 프로세서를 위한 합성 SW 및 AUTOSAR 기반 제어 SW는 차량의 전기, 전자 아키텍처를 정의하는 AUTOSAR 표준 및 차량안전성을 위한 시스템 관리 표준 하에서 차량용 전장시스템 프로세서 및 SW로서 핵심적인 역할을 하게 됨

핵심개발 기술의 의의
■ 본 사업에서 개발한 전장시스템 기능안전성 프로세서 및 SW 기술은 국제표준인 ISO 26262를 준수하는 국내최초의 프로세서 기술
◦ 자동차 전장시스템의 복잡도가 증가함에 따라서 ECU의 핵심기술인 ECU 의 핵심부품인 ECU 프로세서의 복잡도 역시 증대됨을 의미하며, 복잡도가 증대될수록 전압, 전류, 전자기 간섭(Electromagnetic Interference)에 의한 ECU 프로세서의 오동작 확률이 커지게 됨

◦ 전장시스템 안정성 확보에 있어서 정적오류 (Static failure)와 동적오류(Transient failure)를 정확히 감지하고, 추출하여 보고하는 기술은 전장시스템 프로세서의 안정성 제고를 위하여 필요

◦ 전장시스템의 핵심 부품인 ECU 프로세서의 실시간 오류를 줄이기 위한 오류감지 모듈합성 SW 기술은 ECU 프로세서의 기능상 오류를 감지하기 위한 기술로서 자동차 전장시스템 안정성을 위한 원천기술임

◦ 멀티코어 및 멀티쓰레드를 기반으로 한 자동오류복구 (Automatic failure recovery) 기술은 오류발생시 자동적으로 동일한 기능의 코어 또는 쓰레드로 현재 기능을 대체하는 기술로서 오류상황에서 전장시스템의 연속적인 기능을 보장하는 전장시스템 프로세서를 위한 원천기술

적용 분야
■ 자율주행자동차 (LEVEL 3이상), 자율이동형 시스템에서의 인간의 안전을 위한 기능안전성 기술 통합 프로세서로 활용
◦ 자율주행자동차의 동적 주행 제어를 위한 주 프로세서로 활용
◦ 자율이동형 시스템에서의 인간의 안전을 위한 프로세서로 활용

(출처 : 최종보고서 초록 6p)