KR20190040714A - Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 - Google Patents

Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 Download PDF

Info

Publication number
KR20190040714A
KR20190040714A KR1020170130214A KR20170130214A KR20190040714A KR 20190040714 A KR20190040714 A KR 20190040714A KR 1020170130214 A KR1020170130214 A KR 1020170130214A KR 20170130214 A KR20170130214 A KR 20170130214A KR 20190040714 A KR20190040714 A KR 20190040714A
Authority
KR
South Korea
Prior art keywords
ecu
monitoring
information
execution time
cause
Prior art date
Application number
KR1020170130214A
Other languages
English (en)
Other versions
KR102410940B1 (ko
Inventor
김인수
장훈
Original Assignee
현대자동차주식회사
기아자동차주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 현대자동차주식회사, 기아자동차주식회사 filed Critical 현대자동차주식회사
Priority to KR1020170130214A priority Critical patent/KR102410940B1/ko
Publication of KR20190040714A publication Critical patent/KR20190040714A/ko
Application granted granted Critical
Publication of KR102410940B1 publication Critical patent/KR102410940B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Debugging And Monitoring (AREA)
  • Testing And Monitoring For Control Systems (AREA)

Abstract

본 발명의 ECU 실행시간 모니터링 및 고장원인 파악 방법은 ECU가 소프트웨어 실행정보, 차량 센서 신호, 운전자 조작 신호를 수신하는 단계, 디버깅 툴을 통해 상기 ECU가 수신한 신호를 OS정보, 센서신호 정보, 운전자 조작정보, 통신 정보 등을 포함하는 모니터링 변수 정보로 디버깅하여 모니터링 PC에 송신하는 단계 및 모니터링 PC가 상기 디버깅 툴로부터 수신한 상기 모니터링 변수 정보에 기초하여 태스크 별 최대 응답시간, CPU 부하률 등을 계산하는 단계를 포함할 수 있다.

Description

ECU 실행시간 모니터링 및 고장원인 파악 방법 및 시스템{Method and system for ECU execution time monitoring and fault finding}
본 발명은 ECU 실행시간 모니터링 및 고장원인 파악 방법 및 시스템에 관한 것으로, 더욱 상세하게는 ECU 실행시간을 실시간으로 모니터링 하고 저장하며, ECU 실행시간이 요구사양을 만족하지 못하는 경우에 고장원인을 파악하고 고장현상을 재생하기 위한 시스템에 관한 것이다.
차량분야에서는 전자제어 시스템의 장착이 확대되면서 제어 기능과 소프트웨어의 복잡도 증가로 인해 다중 태스크들 간의 타이밍 오류 현상 및 CPU 부하로 제어부가 정상 작동을 하지 못하는 문제점 발생이 증가하고 있다. 이러한 문제점은 제어부의 심각한 고장원인으로 양산 소프트웨어 품질 문제를 야기하고 있다. 특히, AUTOSAR(자동차 소프트웨어 표준 플랫폼) 는 컴포넌트가 많고, 멀티코어와 다중 태스크로 구현되므로 규정된 태스크 별 최대 응답시간 만족 여부를 판단하는 모니터링 기술 및 ECU 실행시간 초과 원인과 관련된 정보를 저장하고, 저장된 정보를 이용하여 ECU 고장 현상을 재현하며 분석하는 기술이 필요하다.
ECU 실행시간이 목표 요구시간을 초과하는 경우에 고장 발생 원인(함수 출 순서, ECU 입력 파라미터, 함수 호출 깊이, 인터럽트 발생 횟수 등)을 파악하거나 재생할 수 있는 정보가 없어서 고장 발생원인을 알 수 없다.
종래 기술의 현재 검증도구는 요구시간 초과 발생 여부를 출력하지만 고장원인을 분석할 수 없는 문제점이 있다.
본 발명에서는 ECU 실행시간 정보와 고장 발생원인을 파악하기 위한 정보를 최소한으로 PC(모니터링)에 송부하여 ECU(차량제어부)와 PC 사이의 통신 오버헤드를 줄일 수 있는 방법이 및 고장 발생 시 고장현상을 확인하기 위한 ECU 재현 기능을 제공하는 ECU 실행시간 모니터링 및 고장원인 파악 방법 및 시스템에 대하여 제안한다.
본 발명의 과제들은 이상에서 언급한 과제들로 제한되지 않으며, 언급되지 않은 또 다른 과제들은 아래의 기재로부터 당 업자에게 명확하게 이해될 수 있을 것이다.
상기와 같은 기술적 과제를 해결하기 위하여, ECU 실행시간 모니터링 및 고장원인 파악 방법은 ECU가 소프트웨어 실행정보, 차량 센서 신호, 운전자 조작 신호를 수신하는 단계, 디버깅 툴을 통해 상기 ECU가 수신한 신호를 OS 정보, 센서신호 정보, 운전자 조작정보, 통신 정보 등을 포함하는 모니터링 변수 정보로 디버깅하여 모니터링 PC에 송신하는 단계 및 모니터링 PC가 상기 디버깅 툴로부터 수신한 상기 모니터링 변수 정보에 기초하여 태스크 별 최대 응답시간, CPU 부하률 등을 계산하는 단계를 포함할 수 있다.
실시예에 따라, 상기 모니터링 PC가 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터를 저장하는 단계를 더 포함할 수 있다.
실시예에 따라, 상기 모니터링 PC가 상기 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터에 기초하여 ECU 실행시간이 요구사양을 만족하는지 판단하는 단계를 더 포함할 수 있다.
실시예에 따라, 상기 ECU 실행시간이 요구사양을 만족하지 않는 경우, 상기 모니터링 PC가 ECU 실행시간이 불만족한 시점을 저장하는 단계를 더 포함할 수 있다.
실시예에 따라, 상기 모니터링 PC가 사용자 입력에 기초하여 ECU 재생 모드를 수행하는 단계를 더 포함할 수 있다.
실시예에 따라, 상기 모니터링 PC에 저장된 ECU 작동 시점부터 상기 ECU 실행시간을 불만족한 시점까지 저장된 모니터링 변수 정보를 상기 ECU에 송신하는 단계, 상기 모니터링 PC가 상기 ECU로부터 상기 모니터링 변수 정보에 기초하여 동작된 ECU의 재생 정보를 수신하는 단계, 상기 모니터링 PC가 상기 ECU의 재생 정보에 기초하여 ECU 고장원인 분석하는 단계; 및 상기 모니터링 PC가 상기 고장 원인을 그래프와 데이터로 출력하는 단계를 더 포함할 수 있다.
실시예에 따라, 상기 모니터링 PC가 입력된 모니터링 변수 정보를 상기 디버깅 툴을 이용하여 상기 ECU에 소프트웨어 변수로 입력하는 단계를 더 포함할 수 있다.
실시예에 따라, 상기 모니터링 PC가 ECU 고장원인 분석하는 단계는 ECU 실행시간이 요구사양을 초과하는 경우, 상기 ECU가 소프트웨어 변수에 기초하여 동작하고, 상기 동작에 따른 시간초과 원인을 분석하는 할 수 있다.
실시예에 따라, 상기 모니터링 PC가 상기 고장 원인을 그래프와 데이터로 출력하는 단계는 상기 모니터링 PC가 상기 고장 원인으로 함수 호출 깊이, 제어부 내부 하드웨어 입출력 쓰기 및 읽기 지연, 인터럽트 빈번 발생, 노이즈 입력, OS 초기화 지연 중 적어도 하나를 포함하여 출력할 수 있다.
또한, ECU 실행시간 모니터링 및 고장원인 파악 시스템은 소프트웨어 실행정보, 차량 센서 신호, 운전자 조작 신호를 수신하는 ECU, 상기 ECU가 수신한 신호를 OS정보, 센서신호 정보, 운전자 조작정보, 통신 정보 등을 포함하는 모니터링 변수 정보로 디버깅하여 모니터링 PC에 송신하는 디버깅 툴, 및 상기 디버깅 툴로부터 수신한 상기 모니터링 변수 정보에 기초하여 태스크 별 최대 응답시간, CPU 부하률 등을 계산하는 모니터링 PC를 포함할 수 있다.
실시예에 따라, 상기 모니터링 PC는 상기 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터를 저장할 수 있다.
실시예에 따라, 상기 모니터링 PC는 상기 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터에 기초하여 ECU 실행시간이 요구사양을 만족하는지 판단할 수 있다.
실시예에 따라, 상기 모니터링 PC는 상기 ECU 실행시간이 요구사양을 만족하지 않는 경우, ECU 실행시간이 불만족한 시점을 저장할 수 있다.
실시예에 따라, 상기 모니터링 PC는 사용자 입력에 기초하여 ECU 재생 모드를 수행할 수 있다.
실시예에 따라, 상기 모니터링 PC는 ECU 작동 시점부터 상기 ECU 실행시간을 불만족한 시점까지 저장된 모니터링 변수 정보를 상기 ECU에 송신하고, 상기 모니터링 PC가 상기 ECU로부터 상기 모니터링 변수 정보에 기초하여 동작된 ECU의 재생 정보를 수신하고, 상기 모니터링 PC가 상기 ECU의 재생 정보에 기초하여 ECU 고장원인 분석하고, 상기 고장 원인을 그래프와 데이터로 출력할 수 있다.
실시예에 따라, 상기 모니터링 PC는 저장된 모니터링 변수 정보를 상기 디버깅 툴을 이용하여 상기 ECU에 소프트웨어 변수로 입력할 수 있다.
실시예에 따라, 상기 ECU는 ECU 실행시간이 요구사양을 초과하는 경우, 상기 ECU가 소프트웨어 변수에 기초하여 동작하고, 상기 동작에 따른 시간초과 원인을 분석할 수 있다.
실시예에 따라, 상기 모니터링 PC는 상기 모니터링 PC가 상기 고장 원인으로 함수 호출 깊이, 제어부 내부 하드웨어 입출력 쓰기 및 읽기 지연, 인터럽트 빈번 발생, 노이즈 입력, OS 초기화 지연 중 적어도 하나를 포함하여 출력할 수 있다.
본 발명에 따른 ECU 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 에 대한 효과를 설명하면 다음과 같다.
첫째, ECU에 탐침 코드를 삽입하여 오버헤드를 최소화하고, 정보 저장을 최소화 장점이 있다.
둘째, 양산 소프트웨어 변경 및 오버헤드 없이 측정 가능한 장점이 있다.
셋째, ECU 실행시간의 요구시간 초과 발생 여부를 출력하고, 고장원인을 분석하여 실시간으로 모니터링 하는 장점이 있다.
본 발명에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 ECU 실행시간 모니터링 및 고장원인 파악 시스템의 구성도이다.
도 2는 본 발명의 일 실시예에 모니터링 변수를 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 ECU 모니터링에 따른 고장원인을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 ECU 실행시간 모니터링 및 고장원인 파악 방법의 흐름을 도시한 도면이다.
이하, 본 발명의 실시예들이 적용되는 장치 및 다양한 방법들에 대하여 도면을 참조하여 보다 상세하게 설명한다. 이하의 설명에서 사용되는 구성요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서, 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.
실시예의 설명에 있어서, 각 구성 요소의 " 상(위) 또는 하(아래)", "전(앞) 또는 후(뒤)"에 형성되는 것으로 기재되는 경우에 있어, "상(위) 또는 하(아래)" 및"전(앞) 또는 후(뒤)"는 두 개의 구성 요소들이 서로 직접 접촉되거나 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 배치되어 형성되는 것을 모두 포함한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 어떤 구성 요소가 다른 구성 요소에 "연결", "결합" 또는 "접속"된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결되거나 또는 접속될 수 있지만, 각 구성 요소 사이에 또 다른 구성 요소가 "연결", "결합" 또는 "접속"될 수도 있다고 이해되어야 할 것이다.
또한, 이상에서 기재된 "포함하다", "구성하다" 또는 "가지다" 등의 용어는, 특별히 반대되는 기재가 없는 한, 해당 구성 요소가 내재될 수 있음을 의미하는 것이므로, 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것으로 해석되어야 한다. 기술적이거나 과학적인 용어를 포함한 모든 용어들은, 다르게 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥 상의 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 일 실시예에 따른 ECU 실행시간 모니터링 및 고장원인 파악 시스템의 구성도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 ECU 실행시간 모니터링 및 고장원인 파악 시스템은, 차량(110), 운전자 입력부(120), ECU(130), 디버깅 툴(140), 모니터링 PC(150), 전원부(160)를 포함할 수 있다.
차량(110)은 센서부(111) 및 통신부(113)를 포함할 수 있다. 센서부(111)는 차량 정보로 가속도, 휠속 센서 정보 등을 센싱할 수 있다. 통신부(113)는, 차량 내부의 시스템, 유닛 또는 장치로부터 데이터를 수신하거나, 센서부(111)에서 처리 또는 생성된 신호를 외부로 전송할 수 있다. 통신부(113)는, CAN 통신을 통해, 차량 내부의 시스템, 유닛 또는 장치와 데이터를 교환할 수 있다.
운전자 입력부(120)는 조향 입력부(121), 가속 입력부(123), 제동 입력부(125)를 포함할 수 있다. 운전자 조작 정보로 조향 정보, 가속페달 정보, 제동페달 입력 정보를 ECU(130)에 송신할 수 있다.
ECU(Electronic Control Unit, 130)는 차량(110) 내의 각 유닛의 전반적인 동작을 제어할 수 있다. ECU(130)는 제어부로 명명될 수 있다.
ECU(130)는 소프트웨어 실행정보, 차량 센서 신호, 운전자 조작 신호를 수신할 수 있다.
ECU(130)는 탐침코드가 삽입되어 소프트웨어가 실행될 수 있다. 상기 ECU(130)의 OS 커널에 탐침코드를 삽입하여 프로세스를 관리하는 정보가 있는 프로세스 제어 블록(PCB, Process Control Block)과 OS 스케쥴러로부터 현재 실행하고 있는 태스크 ID, 태스크 Running/Idle 상태, 태스크의 시작/종료 시점, CPU 타이머 정보, 태스크 실행시간, 인터럽트 수행 정보 등을 모니터링 할 수 있다.
ECU(130)에 입력되는 차량 정보를 수신하여, 가속도, 휠속 센서 정보, CAN 정보 등으로 ECU(130)에 입력되는 차량 센서의 입/출력 신호를 모니터링 할 수 있다.
ECU(130)는 운전자 입력부(120)로부터 운전자 조작 신호를 수신하여, 조향, 가속페달, 제동페달 입력 등을 모니터링 할 수 있다.
ECU(130)는 MCU(131)를 포함할 수 있다. 상기 MCU(131)는 디버그용 RAM을 포함할 수 있다.
ECU(130)는 모니터링 한 OS정보, 센서신호, 운전자 조작 정보, 통신정보 등을 MCU(131)의 디버그용 램 버퍼 모듈에 저장할 수 있다.
ECU(130)는 모니터링 PC(150)로부터 센서 입력신호, 운전자 조작 신호를 상기로부터 수신하고, 소프트웨어 변수에 기초하여 모니터링 할 수 있다.
ECU(130)를 소프트웨어 변수 모니터에 의하여 OS 정보와 소프트웨어 변수 등을 분석하여 고장 원인을 파악할 수 있다. 상기 고장 원인은 함수 호출 깊이, 제어부 내부 하드웨어 입출력 쓰기 및 읽기 지연, 인터럽트 빈번 발생, 노이즈 입력, OS 초기화 지연 등을 포함할 수 있다.
디버깅 툴(140)은 상기 정보를 OS정보, 센서신호 정보, 운전자 조작정보, 통신 정보들을 모니터링 PC(150)에 전송할 수 있다.
디버깅 툴(140)이 ECU(130)로부터 모니터링 PC(150)로 송신하는 데이터는 도 2에 도시된 모니터링 변수일 수 있다.
상기 모니터링 변수는 OS 정보는 태스크 ID 정보, 실행 시간 정보, 인터럽트 정보를 포함할 수 있다. 센서신호 정보는 휠 센서 정보, 가속도 센서 정보를 포함할 수 있다. 운전자 조작 정보는 가속 페달정보, 제동페달 정보, 조향각 정보를 포함할 수 있다. 통신 정보는 엔지 제어부 정보, 변속 제어부 정보를 포함할 수 있다.
디버깅 툴(140)은 제어부에 전원이 인가되어 작동이 시작된 이후부터 요구사양 기준을 초과하는 시점까지 모니터링 PC(150)에 저장된 센서신호, 운전자 조작신호, 통신(CAN) 신호 등 ECU(130) 핀에 입력되는 신호를 디버깅 툴(140)을 이용하여 소프트웨어 변수에 입력할 수 있다.
모니터링 PC(150)는 모니터링 변수 정보에 기초하여 태스크 별 최대 응답시간, CPU 부하률 등을 실시간으로 계산할 수 있다. 상기 태스크 별 최대 응답시간은 태스크 별 실행시간일 수 있다.
모니터링 PC(150)는 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터를 저장할 수 있다.
모니터링 PC(150)는 계산된 태스크 별 최대 응답시간, CPU 부하률이 ECU 실행시간의 요구사양을 만족하는지 판단할 수 있다.
모니터링 PC(150)는 태스크 별 최대 응답시간과 CPU 부하률이 요구사양을 만족하지 못하는 경우, ECU 실행시간 불만족 시점 저장하고, 불만족 시점을 실시간으로 출력할 수 있다.
모니터링 PC(150)에서는 OS 정보, 소프트웨어 변수, 함수 호출 흐름도, 메모리 등 입/출력 하드웨어 접근 시간, 인터럽트 발생 종류 및 발생횟수, ECU(130) 핀에 입력된 노이즈 등을 시각화하여 출력할 수 있다.
전원부(160)는 제어부의 제어에 따라, 각 구성요소들의 동작에 필요한 전원을 공급할 수 있다. 특히, 전원부(160)는, 차량 내부의 배터리 등으로부터 전원을 공급받을 수 있다.
도 3는 본 발명의 일 실시예에 따른 ECU 모니터링에 따른 고장원인을 도시한 도면이다.
모니터링 PC(150)는 ECU 고장원인을 그래프 및 데이터로 출력할 수 있다.
이때, 고장원인은 함수 호출 깊이, 제어부 내부 하드웨어 입출력 쓰기 및 읽기 지연, 인터럽트 빈번 발생, 노이즈 입력, OS 초기화 지연 등을 포함할 수 있다.
도 3a를 참조하면, 함수 호출 깊이는 태스크 별 함수 연속 실행 개수가 과다 여부 파악 및 시각화 할 수 있다. 예를 들어, 메인 태스크에서 5개의 함수가 연속으로 실행되는 경우, 태스크 별 함수 연속 실행 개수가 과다하다고 판단할 수 있다. 모니터링 PC(150)는 과도하게 실행되는 함수 실행 여부를 시각화하여 표시할 수 있다.
도 3b를 참조하면, 인터럽트 빈번 발생은 인터럽트 중첩현상을 시각화하여 태스크 실행시간 지연 원인을 표시할 수 있다. 인터럽트별 running, ready, suspended 동작을 구분하고, 각 동작 별 실행 시간을 표시할 수 있다.
도 3c를 참조하면, MCU(131)에서 EEROM으로 제어부 내부 하드웨어 입출력 쓰기 및 읽기(310)가 지연될 수 있다. 모니터링 PC(150)는 MCU(131) 쓰기 및 읽기 시간이 정상 시간을 초과하는 경우 이를 시각화 하여 시각화하여 표시할 수 있다.
도 3d를 참조하면, ECU(130)에는 노이즈 입력될 수 있다. 모니터링 PC(150)는 ECU(130)에 노이즈가 입력되었다고 판단되는 경우, 노이즈를 시각화하여 표시할 수 있다.
도 3e를 참조하면, OS 초기화 지연을 판단할 수 있다.
ECU(130)에 전원이 공급되어, OS가 초기화 되는 경우, 전원이 공급되는 시간이 요구시간(410) 이내인 경우, ECU 초기화 정상 상태로 판단할 수 있다. 또한, 전원이 공급되는 시간(412)이 요구시간을 초과하는 경우, ECU 초기화 시간 지연되어 동작하는 것으로 판단할 수 있다.
상기 ECU 초기화 동작은 메모리, 통신, 모드 설정(start-up, shut-down, sleep, wake up 등을 포함할 수 있다.
도 4는 본 발명의 일 실시예에 따른 ECU 실행시간 모니터링 및 고장원인 파악 방법의 흐름을 도시한 도면이다.
도 4를 참조하면, ECU 실행시간 모니터링 및 고장원인 파악 방법에서 ECU(130)는 소프트웨어 실행정보, 차량 센서 신호, 운전자 조작 신호를 수신할 수 있다(S100). 상기 소프트웨어 실행 정보는 태스크 실행 대기시간, 태스크 실행시간 포함할 수 있다.
ECU(130)는 디버깅 툴(140)을 이용하여 모니터링 PC(150)로 데이터를 송신할 수 있다(S110). 이때, 디버깅 툴(140)은 상기 ECU(130)에 저장된 센서, 통신, 운전자 조작 신호, OS 정보를 디버깅하여 모니터링 PC(150)로 송신할 수 있다.
모니터링 PC(150)는 상기 디버깅 툴(140)로부터 수신한 모니터링 변수 정보에 기초하여 모니터링을 수행할 수 있다(S120). 상기 모니터링은 태스크 별 최대 응답시간, CPU 부하률 등을 계산할 수 있다. 이후 모니터링 PC(150)는 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터를 저장할 수 있다.
모니터링 PC(150)는 상기 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터에 기초하여 ECU 실행시간이 요구사양을 만족하는지 판단할 수 있다(S140).
ECU 실행시간이 요구사양을 만족하지 못하는 경우에는 모니터링 PC는 ECU 실행시간의 불만족 시점을 저장할 수 있다(S150). 이후, 저장된 요구사양 불만족 시점을 사용자에게 제공할 수 있다.
이후, 사용자 입력에 기초하여 ECU 재생 모드를 수행할 수 있다(S160).
사용자가 ECU 재생 모드를 선택한 경우, 모니터링 PC(150)는 ECU(130)에 전원이 인가되어 작동이 시작된 이후부터 요구사양 만족하지 못하는 시점까지 저장된 센서신호, 운전자 조작신호, 통신(CAN) 신호 등 디버깅 툴(140)을 이용하여 ECU(130)에 입력할 수 있다(S170). 이때, 디버깅 툴(140)은 상기 ECU(130)의 입력되는 신호를 소프트웨어 변수에 입력할 수 있다.
ECU(130)는 소프트웨어 변수 모니터링 할 수 있다. ECU(130)는 상기 소프트웨어 변수 모니터링을 통하여 OS 정보와 소프트웨어 변수 등을 분석하여 고장 원인을 파악할 수 있다(S180).
모니터링 PC(150)는 상기 ECU로부터 상기 모니터링 변수 정보에 기초하여 동작된 ECU의 재생 정보를 수신하는, 상기 ECU의 재생 정보에 기초하여 ECU 고장원인을 분석하고, 상기 분석 결과를 그래프와 데이터로 출력할 수 있다(S190).
상술한 일 실시예에 따른 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장시스템 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상술한 방법을 구현하기 위한 기능적인(function)프로그램, 코드 및 코드 세그먼트들은 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
110: 차량
120: 운전자 입력부
130: ECU
140: 디버깅 툴
150: 모니터링 PC

Claims (19)

  1. ECU가 소프트웨어 실행정보, 차량 센서 신호, 운전자 조작 신호를 수신하는 단계;
    디버깅 툴을 통해 상기 ECU가 수신한 신호를 OS정보, 센서신호 정보, 운전자 조작정보, 통신 정보 등을 포함하는 모니터링 변수 정보로 디버깅하여 모니터링 PC에 송신하는 단계; 및
    모니터링 PC가 상기 디버깅 툴로부터 수신한 상기 모니터링 변수 정보에 기초하여 태스크 별 최대 응답시간, CPU 부하률 등을 계산하는 단계를 포함하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  2. 제1 항에 있어서,
    상기 모니터링 PC가 상기 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터를 저장하는 단계를 더 포함하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  3. 제 2항에 있어서,
    상기 모니터링 PC가 상기 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터에 기초하여 ECU 실행시간이 요구사양을 만족하는지 판단하는 단계를 더 포함하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  4. 제 3항에 있어서,
    상기 ECU 실행시간이 요구사양을 만족하지 않는 경우, 상기 모니터링 PC가 ECU 실행시간이 불만족한 시점을 저장하는 단계를 더 포함하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  5. 제 4항에 있어서,
    상기 모니터링 PC가 사용자 입력에 기초하여 ECU 재생 모드를 수행하는 단계를 더 포함하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  6. 제 5항에 있어서,
    상기 모니터링 PC에 저장된 ECU 작동 시점부터 상기 ECU 실행시간을 불만족한 시점까지 저장된 모니터링 변수 정보를 상기 ECU에 송신하는 단계;
    상기 모니터링 PC가 상기 ECU로부터 상기 모니터링 변수 정보에 기초하여 동작된 ECU의 재생 정보를 수신하는 단계;
    상기 모니터링 PC가 상기 ECU의 재생 정보에 기초하여 ECU 고장원인 분석하는 단계; 및
    상기 모니터링 PC가 상기 고장 원인을 그래프와 데이터로 출력하는 단계를 더 포함하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  7. 제 6항에 있어서,
    상기 모니터링 PC가 입력된 모니터링 변수 정보를 상기 디버깅 툴을 이용하여 상기 ECU에 소프트웨어 변수로 입력하는 단계를 더 포함하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  8. 제 6항에 있어서,
    상기 모니터링 PC가 ECU 고장원인 분석하는 단계는
    상기 ECU 실행시간이 요구사양을 초과하는 경우, 상기 ECU가 소프트웨어 변수에 기초하여 동작하고, 상기 동작에 따른 시간초과 원인을 분석하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  9. 제 6항에 있어서,
    상기 모니터링 PC가 상기 고장 원인을 그래프와 데이터로 출력하는 단계는
    상기 모니터링 PC가 상기 고장 원인으로 함수 호출 깊이, 제어부 내부 하드웨어 입출력 쓰기 및 읽기 지연, 인터럽트 빈번 발생, 노이즈 입력, OS 초기화 지연 중 적어도 하나를 포함하여 출력하는 ECU 실행시간 모니터링 및 고장원인 파악 방법.
  10. 제 1항 내지 제 9항 중 어느 한 항에 따른 ECU 실행시간 모니터링 및 고장원인 파악 방법을 실현하기 위한 프로그램이 기록된 컴퓨터 판독 가능 기록 매체.
  11. 소프트웨어 실행정보, 차량 센서 신호, 운전자 조작 신호를 수신하는 ECU;
    상기 ECU가 수신한 신호를 OS정보, 센서신호 정보, 운전자 조작정보, 통신 정보 등을 포함하는 모니터링 변수 정보로 디버깅하여 모니터링 PC에 송신하는 디버깅 툴; 및
    상기 디버깅 툴로부터 수신한 상기 모니터링 변수 정보에 기초하여 태스크 별 최대 응답시간, CPU 부하률 등을 계산하는 모니터링 PC를 포함하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
  12. 제11 항에 있어서,
    상기 모니터링 PC는
    상기 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터를 저장하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
  13. 제 12항에 있어서,
    상기 모니터링 PC는
    상기 계산된 태스크 별 최대 응답시간, CPU 부하률 데이터에 기초하여 ECU 실행시간이 요구사양을 만족하는지 판단하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
  14. 제 13항에 있어서,
    상기 모니터링 PC는
    상기 ECU 실행시간이 요구사양을 만족하지 않는 경우, ECU 실행시간이 불만족한 시점을 저장하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
  15. 제 14항에 있어서,
    상기 모니터링 PC는
    사용자 입력에 기초하여 ECU 재생 모드를 수행하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
  16. 제 15항에 있어서,
    상기 모니터링 PC는
    ECU 작동 시점부터 상기 ECU 실행시간을 불만족한 시점까지 저장된 모니터링 변수 정보를 상기 ECU에 송신하고, 상기 모니터링 PC가 상기 ECU로부터 상기 모니터링 변수 정보에 기초하여 동작된 ECU의 재생 정보를 수신하고, 상기 모니터링 PC가 상기 ECU의 재생 정보에 기초하여 ECU 고장원인 분석하고, 상기 고장 원인을 그래프와 데이터로 출력하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
  17. 제 16항에 있어서,
    상기 모니터링 PC는
    저장된 모니터링 변수 정보를 상기 디버깅 툴을 이용하여 상기 ECU에 소프트웨어 변수로 입력하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
  18. 제 16항에 있어서,
    상기 ECU는
    상기 ECU 실행시간이 요구사양을 초과하는 경우, 상기 ECU가 소프트웨어 변수에 기초하여 동작하고, 상기 동작에 따른 시간초과 원인을 분석하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
  19. 제 16항에 있어서,
    상기 모니터링 PC는
    상기 모니터링 PC가 상기 고장 원인으로 함수 호출 깊이, 제어부 내부 하드웨어 입출력 쓰기 및 읽기 지연, 인터럽트 빈번 발생, 노이즈 입력, OS 초기화 지연 중 적어도 하나를 포함하여 출력하는 ECU 실행시간 모니터링 및 고장원인 파악 시스템.
KR1020170130214A 2017-10-11 2017-10-11 Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 KR102410940B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170130214A KR102410940B1 (ko) 2017-10-11 2017-10-11 Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170130214A KR102410940B1 (ko) 2017-10-11 2017-10-11 Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20190040714A true KR20190040714A (ko) 2019-04-19
KR102410940B1 KR102410940B1 (ko) 2022-06-20

Family

ID=66283387

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170130214A KR102410940B1 (ko) 2017-10-11 2017-10-11 Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102410940B1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427742A (zh) * 2020-03-09 2020-07-17 创驱(上海)新能源科技有限公司 一种基于autosar架构的复杂驱动任务实时监控方法
CN114422181A (zh) * 2021-12-11 2022-04-29 浙江吉利控股集团有限公司 一种车辆数据报文安全通信方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244376A (ja) * 2009-04-08 2010-10-28 Fujitsu Ten Ltd ソフトウェア開発装置、及び、ソフトウェア開発装置を用いたデバッグ方法
JP2012185671A (ja) * 2011-03-04 2012-09-27 Denso Corp 電子制御装置
KR20120126873A (ko) * 2011-05-13 2012-11-21 현대자동차주식회사 Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치
KR20130050501A (ko) * 2011-11-08 2013-05-16 주식회사 만도 차량용 ecu 디버깅 시스템 및 그 방법
KR20140078344A (ko) * 2012-12-17 2014-06-25 콘티넨탈 오토모티브 시스템 주식회사 차량 소프트웨어의 성능 판단방법
KR101726295B1 (ko) * 2015-12-10 2017-04-13 주식회사 현대케피코 전자제어장치 디버깅 시스템 및 방법

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010244376A (ja) * 2009-04-08 2010-10-28 Fujitsu Ten Ltd ソフトウェア開発装置、及び、ソフトウェア開発装置を用いたデバッグ方法
JP2012185671A (ja) * 2011-03-04 2012-09-27 Denso Corp 電子制御装置
KR20120126873A (ko) * 2011-05-13 2012-11-21 현대자동차주식회사 Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치
KR20130050501A (ko) * 2011-11-08 2013-05-16 주식회사 만도 차량용 ecu 디버깅 시스템 및 그 방법
KR20140078344A (ko) * 2012-12-17 2014-06-25 콘티넨탈 오토모티브 시스템 주식회사 차량 소프트웨어의 성능 판단방법
KR101726295B1 (ko) * 2015-12-10 2017-04-13 주식회사 현대케피코 전자제어장치 디버깅 시스템 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427742A (zh) * 2020-03-09 2020-07-17 创驱(上海)新能源科技有限公司 一种基于autosar架构的复杂驱动任务实时监控方法
CN111427742B (zh) * 2020-03-09 2023-11-03 创驱(上海)新能源科技有限公司 一种基于autosar架构的复杂驱动任务实时监控方法
CN114422181A (zh) * 2021-12-11 2022-04-29 浙江吉利控股集团有限公司 一种车辆数据报文安全通信方法

Also Published As

Publication number Publication date
KR102410940B1 (ko) 2022-06-20

Similar Documents

Publication Publication Date Title
US7630800B2 (en) Failure sensing device of vehicle control system
JP3138709B2 (ja) 車両用電子制御装置の自己故障診断方法及び装置
JP5452250B2 (ja) 制御装置を調整するための方法および操作ユニット
KR102537875B1 (ko) 차량 ecu 소프트웨어 검증을 위한 동적 결함 주입 방법 및 장치
CN104737134A (zh) 用于操作系统无关的硬件验证的系统和方法
CN112311773B (zh) 用于智能汽车传感器接口系统的实现方法
US20090300027A1 (en) Database access server and database access system
CN113946145A (zh) 整车控制器的检测方法及装置
KR102410940B1 (ko) Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템
KR20140078344A (ko) 차량 소프트웨어의 성능 판단방법
US20070226542A1 (en) Simulated message generation for simulation testing of a node operation
US20190188057A1 (en) System and Method to Measure the Response Time of Event Chains
CN109597389B (zh) 一种嵌入式控制系统的测试系统
KR20130077020A (ko) Ecu 모니터링 시스템 및 방법
KR102098905B1 (ko) 호스트의 테스트 시나리오로 제어장치의 복수의 파티션간 영향도를 측정하기 위한 방법, 동일 방법을 구현하기 위한 호스트 및 시스템, 그리고 동일 방법을 기록하기 위한 매체
US20100305926A1 (en) Simulation system, method, and program
CN114338451A (zh) 一种控制器局域网总线测试系统、方法和存储介质
JPH10254738A (ja) エミュレータ装置及びエミュレーション方法
US20060184827A1 (en) Method for responding to a control module failure
US8171341B2 (en) Method for controlling an operating mechanism and a manipulation unit
KR102225748B1 (ko) 교통 정체 상황을 고려한 지능형 isg 제어를 위한 전자 장치 및 그의 동작 방법
KR101382109B1 (ko) 미들웨어 장치 및 방법
KR20210023722A (ko) 요구 사항에 대한 시스템의 테스트 방법
CN114764227A (zh) 车辆的微处理器的控制方法、装置、车辆和存储介质
US20190332506A1 (en) Controller and function testing method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant