KR20140078344A - 차량 소프트웨어의 성능 판단방법 - Google Patents
차량 소프트웨어의 성능 판단방법 Download PDFInfo
- Publication number
- KR20140078344A KR20140078344A KR1020120147613A KR20120147613A KR20140078344A KR 20140078344 A KR20140078344 A KR 20140078344A KR 1020120147613 A KR1020120147613 A KR 1020120147613A KR 20120147613 A KR20120147613 A KR 20120147613A KR 20140078344 A KR20140078344 A KR 20140078344A
- Authority
- KR
- South Korea
- Prior art keywords
- task
- time
- software
- load
- idle
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
- B60W50/045—Monitoring control system parameters
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/08—Interaction between the driver and the control system
- B60W50/14—Means for informing the driver, warning the driver or prompting a driver intervention
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W50/04—Monitoring the functioning of the control system
- B60W50/045—Monitoring control system parameters
- B60W2050/046—Monitoring control system parameters involving external transmission of data to or from the vehicle, e.g. via telemetry, satellite, Global Positioning System [GPS]
Landscapes
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Human Computer Interaction (AREA)
- Transportation (AREA)
- Mechanical Engineering (AREA)
- Debugging And Monitoring (AREA)
Abstract
본 발명에서 CPU 부하(LOAD) 측정을 통해 차량 소프트웨어의 평가 성능을 높일 수 있는 차량 소프트웨어의 성능 판단방법을 개시한다.
본 발명에 따른 방법은, OSEK 표준을 만족하는 차량 제어용 소프트웨어의 씨피유(CPU) 부하(LOAD)를 실시간 검출하여 소프트웨어의 성능을 판단하기 위한 방법에 있어서, a) ECU가 자동차용 멀티태스킹 운영체제 소프트웨어의 OS 틱(Tick) 주기를 검출하는 단계; b) 패스트 타이머(Fast timer)를 이용하여 상기 OS 틱 주기의 시작점부터 아이들 태스크 시간(IDLE_Task_t)의 시작점까지의 소요시간을 검출하는 단계; c) 상기 b) 단계의 검출결과를 사용자 태스크 수행시간(Task_t)으로 상정한 후, 상기 OS 틱 주기 대비 사용자 태스크 수행시간(Task_t)을 백분율로 연산하는 단계; 및 d) 상기 c) 단계에서 연산결과를 씨피유(CPU) 부하(LOAD)로 상정한 후, 상기 씨피유 부하 값을 차량의 내부 통신망을 이용하여 외부로 제공하는 단계로 이루어진 것을 특징으로 한다.
따라서, 본 발명은 차량 소프트웨어의 성능 진단을 위한 에뮬레이터, 디버깅 장비 등을 사용하지 않고, 실차 조건에서 발생하는 다양한 과부하 상태를 실시간으로 측정함으로써, 진단 시스템의 효율성을 높일 수 있는 효과가 있다.
본 발명에 따른 방법은, OSEK 표준을 만족하는 차량 제어용 소프트웨어의 씨피유(CPU) 부하(LOAD)를 실시간 검출하여 소프트웨어의 성능을 판단하기 위한 방법에 있어서, a) ECU가 자동차용 멀티태스킹 운영체제 소프트웨어의 OS 틱(Tick) 주기를 검출하는 단계; b) 패스트 타이머(Fast timer)를 이용하여 상기 OS 틱 주기의 시작점부터 아이들 태스크 시간(IDLE_Task_t)의 시작점까지의 소요시간을 검출하는 단계; c) 상기 b) 단계의 검출결과를 사용자 태스크 수행시간(Task_t)으로 상정한 후, 상기 OS 틱 주기 대비 사용자 태스크 수행시간(Task_t)을 백분율로 연산하는 단계; 및 d) 상기 c) 단계에서 연산결과를 씨피유(CPU) 부하(LOAD)로 상정한 후, 상기 씨피유 부하 값을 차량의 내부 통신망을 이용하여 외부로 제공하는 단계로 이루어진 것을 특징으로 한다.
따라서, 본 발명은 차량 소프트웨어의 성능 진단을 위한 에뮬레이터, 디버깅 장비 등을 사용하지 않고, 실차 조건에서 발생하는 다양한 과부하 상태를 실시간으로 측정함으로써, 진단 시스템의 효율성을 높일 수 있는 효과가 있다.
Description
본 발명의 차량 소프트웨어에 관한 것으로, 더욱 상세하게는 차량의 엔진제어장치(ECU)로부터 구동되는 소프트웨어 씨피유(CPU) 부하(LOAD)를 실시간으로 측정함으로써, 소프트웨어의 성능 진단 및 설계오류 진단을 수행할 수 있는 차량 소프트웨어의 성능 판단방법에 관한 것이다.
최근 자동차 관련 기술 분야들 중에서 전기전자 분야가 새로운 가치를 창출하는 비중이 점점 커지고 있다. 이에 자동차 전장장치에 대한 연구가 활발히 진행 중에 있으며, 자동차 전장장치 중에서 중요한 부분이 임베디드 소프트웨어 기술이다. 임베디드 소프트웨어 중에서 운영체제 기술은 핵심 역할을 수행하고 있다. AUTOSAR는 자동차용 소프트웨어의 구조에 대한 실질적인 산업 표준을 개발하고 확립하기 위해 자동차 제조 업체들과 자동차 부붐 제조업체들이 공동으로 결성한 협력체이다. OSEK 운영체제는 자동차에 사용할 수 있도록 설계된 실시간 운영체제이다. 이 운영체제 모듈은 OSEK 표준(ISO 17356-3)을 따르도록 규정하고 있다. OSEK 운영체제는 멀티 태스킹 기능, 이벤트/자원관리 기능, 인터럽트 기능 등을 제공한다.
이와 같이 차량은 전술된 운영체제를 이용하여 차량 제어용 소프트웨어의 오동작을 검출하거나, ECU의 고장 원인을 추적 및 분석할 수 있게 된다. 도 1은 차량용 전자제어 장치의 진단 장치를 나타낸 ECU의 구조를 도시하고 있다.
도시된 바와 같이, ECU(100)는 입력 인터페이스(110), 중앙 처리부(120) 및 출력 인터페이스(130)를 포함한다. 입력 인터페이스(110)는 센서로부터 출력되는 신호를 변환하여 중앙 처리부(120)로 출력한다. 중앙 처리부(120)는 입력 인터페이스(110)로부터 출력되는 신호를 처리하고, 그 결과를 작동 신호로 변환하여 출력한다. 이러한 중앙 처리부(120)는 입력 포트(122), 제어부(124), 메모리부(126) 및 출력 포트(128)를 포함한다.
입력 포트(122)는 제어부(124)의 명령에 따라 특정되는 센서로부터의 데이터를 입력받아 제어부(124)로 전달하는 인터페이스의 역할을 수행한다. 제어부(124)는 각종 센서로부터의 데이터를 통해 차량의 상태 변화 및/또는 동작 값을 획득하고, 입력 포트(122)를 통해 입력되는 값을 가지고 메모리부(126)에 저장되어 있는 차량 제어용 소프트웨어의 함수를 실행시키며, 그 결과를 메모리부(126)에 저장하거나 출력 포트(128)를 통해 출력시킨다.
메모리부(126)는 명령코드 영역(126a)과 스택 영역(126b) 및 데이터 영역(126c)을 포함한다. 명령 코드 영역(126a)에는 ECU(100)의 동작에 필요한 복수의 차량 제어용 명령 코드가 저장되며, 스택 영역에는 차량 제어용 소프트웨어에 포함된 함수의 기능을 수행하기 위한 입력 값 및 함수 내부에서 사용되는 데이터를 임시로 저장하며, 데이터 영역(126c)에는 차량 제어용 소프트웨어의 실행 결과와 차량 제어용 소프트웨어 실행 중 구동 전반에 사용되는 데이터와 여러 기능이 함께 사용해야 하는 공용 변수들에 대한 정보, 센서로부터 입력되는 데이터가 저장된다. 출력 포트(128)는 제어부(124)의 명령에 따라 차량 제어용 소프트웨어의 실행 결과를 출력한다.
이와 같이 구성된 ECU는 차량 제어용 소프트웨어 표준을 작성한 공급자로부터 컴파일과 링크 과정을 통해 ECU(100)에 적합한 소프트웨어 바이너리 이미지를 작성된다. 이 이미지 파일은 ECU(100)에 "퓨징"이라는 과정을 통해 탑재된다.
차량 제어용 소프트웨어를 공급하는 공급자는 링크 과정을 수행할 때 링커에게 특정 옵션을 제공하여 차량 제어용 소프트웨어가 ECU(100)의 메모리부(126)에 어떻게 탑재되는지를 확인할 수 있다. 이러한 정보를 포함한 파일을 "맵 파일"이라 한다. 맵 파일에는 차량 제어용 소프트웨어의 함수의 식별자, 함수의 위치를 나타내는 주소, 함수의 크기, 데이터 영역(126c)의 주소 및 크기 등에 대한 정보가 포함된다.
출력 인터페이스(130)는 중앙 처리부(120)로부터 출력되는 출력 결과를 토대로 엑추에이터를 작동시킨다. 여기서, 엑추에이터에는 솔레노이드, 모터, 릴레이 및 표시 장치 등이 포함될 수 있다. 또한, 출력 인터페이스(130)는 출력 값을 표시하거나 출력 값을 다른 ECU에 속한 차량 제어용 소프트웨어에 포함된 함수의 입력 값으로 제공할 수 있다. 따라서, 기정화된 표준에 따라 구현된 ECU의 차량 제어용 소프트웨어의 오동작을 검출할 수 있으며, ECU의 고장의 원인을 추적 및 분석할 수 있게 된다.
여기서, 전술된 종래의 ECU의 고장 원인을 추적 분석하기 위해서는 별도의 진단장치를 구비하여 이로부터 차량 ECU의 고장 원인을 분석토록 하고 있다. 그러나, ECU의 고장 원인 분석은 근본적으로 ECU의 부하에 따른 것으로, ECU 고장원인에 대한 분석 알고리즘과 더불어, ECU의 CPU 부하(LOAD)를 실차 환경에서 실시간 측정할 수 있는 알고리즘이 요구되고 있다.
본 발명은 이와 같은 문제점을 해결하기 위해 창출된 것으로, 본 발명의 목적은 차량의 전자제어장치(ECU)에 대한 소프트웨어의 CPU 부하(LOAD)를 실차 조건에서 실시간으로 측정함으로써, 소프트웨어의 평가 성능을 높이고 차량 고장에 대한 안정적 대처방안을 수립할 수 있는 차량 소프트웨어의 성능 판단방법을 제공함에 있다.
본 발명의 다른 목적은, 차량 소프트웨어의 성능 진단을 위한 에뮬레이터, 디버깅 장비 등을 사용하지 않고, 실차 조건에서 발생하는 다양한 과부하 상태를 실시간으로 측정함으로써, 진단 시스템의 효율성을 높일 수 있는 차량 소프트웨어의 성능 판단방법을 제공함에 있다.
본 발명의 또 다른 목적은, 차량 소프트웨어의 성능 판단 알고리즘을 어플리케이션 소프트웨어 내에 탑재하여 실시간으로 CPU 부하를 측정하고, 측정된 결과를 차량용 네트워크(CAN, LIN 통신)를 이용하여 모니터링 가능하도록 제시함으로써, CPU 부하에 대한 지속적이고 정밀한 진단이 가능한 차량 소프트웨어의 성능 판단방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 관점에 따른 차량 소프트웨어의 성능 판단방법은, OSEK 표준을 만족하는 차량 제어용 소프트웨어의 씨피유(CPU) 부하(LOAD)를 실시간 검출하여 소프트웨어의 성능을 판단하기 위한 방법에 있어서, a) ECU가 자동차용 멀티태스킹 운영체제 소프트웨어의 OS 틱(Tick) 주기를 검출하는 단계; b) 패스트 타이머(Fast timer)를 이용하여 상기 OS 틱 주기의 시작점부터 아이들 태스크 시간(IDLE_Task_t)의 시작점까지의 소요시간을 검출하는 단계; c) 상기 b) 단계의 검출결과를 사용자 태스크 수행시간(Task_t)으로 상정한 후, 상기 OS 틱 주기 대비 사용자 태스크 수행시간(Task_t)을 백분율로 연산하는 단계; 및 d) 상기 c) 단계에서 연산결과를 씨피유(CPU) 부하(LOAD)로 상정한 후, 상기 씨피유 부하 값을 차량의 내부 통신망을 이용하여 외부로 제공하는 단계로 이루어진 것을 특징으로 한다.
본 발명의 바람직한 다른 실시 예에 따른 차량 소프트웨어의 성능 판단방법은, OSEK 표준을 만족하는 차량 제어용 소프트웨어의 씨피유(CPU) 부하(LOAD)를 실시간 검출하여 소프트웨어의 성능을 판단하기 위한 방법에 있어서, a) ECU가 패스트 타이머(Fast timer)를 이용하여 상기 OS 틱 주기의 시작점부터 아이들 태스크 시간(IDLE_Task_t)의 시작점까지의 소요시간을 검출하는 단계; b) 상기 아이들 태스크 시간(IDLE_Task_t)의 시작점부터 아이들 태스크 시간(IDLE_Task_t)의 종료시점까지의 소요시간을 검출하는 단계; c) 상기 a) 단계의 검출 결과를 사용자 태스크 수행시간(Task_t)으로 상정하고, 상기 a) 단계 및 b) 단계의 검출 결과로부터 상기 OS 틱 주기를 산출한 후, 상기 OS 틱 주기 대비 사용자 태스크 수행시간(Task_t)을 백분율로 산출한 결과를 씨피유(CPU) 부하(LOAD)로 상정하는 단계; 및 d) 상기 c) 단계에서 산출된 씨피유 부하 값을 차량의 내부 통신망을 이용하여 외부로 제공하는 단계로 이루어진 것을 특징으로 한다.
본 발명에서 제시하는 차량 소프트웨어의 성능 판단방법은, 전자제어장치(ECU)에 대한 소프트웨어의 CPU 부하(LOAD)를 실차 조건에서 실시간으로 측정함으로써, 소프트웨어의 평가 성능을 높이고 차량 고장에 대한 안정적 대처방안을 수립할 수 있는 효과를 제공한다. 또한, 차량 소프트웨어의 성능 진단을 위한 에뮬레이터, 디버깅 장비 등을 사용하지 않고, 실차 조건에서 발생하는 다양한 과부하 상태를 실시간으로 측정함으로써, 진단 시스템의 효율성을 높일 수 있는 효과가 있다.
도 1은 종래 차량 엔진제어장치(ECU)에 대한 진단 장치를 설명하기 위한 구성도이다.
도 2는 본 발명에 따른 씨피유(CPU) 부하(LOAD)에 대한 측정 방법을 설명하기 위한 도면이다.
도 3은 도 2의 동작을 설명하기 위한 플로우챠트이다.
도 2는 본 발명에 따른 씨피유(CPU) 부하(LOAD)에 대한 측정 방법을 설명하기 위한 도면이다.
도 3은 도 2의 동작을 설명하기 위한 플로우챠트이다.
이하, 본 발명의 바람직한 실시 예를 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.
먼저 본 발명에서 언급하는 CPU의 성능 판단은 OSEK 표준을 만족하는 차량 제어용 소프트웨어에 기반한다. 상기한 OSEK의 운영체제는 16개의 대기 큐를 가지며, 각 큐는 우선 순위에 의하여 프로세스들이 대기하게 된다. OSEK 운영체제의 이벤트 및 자원 관리는 태스크가 특정 사건을 기다리거나 자원을 사용할 수 있도록 보장하는 기능이다. 따라서, OSEK 운영체제는 이벤트와 자원 관리를 위한 다양한 API를 제공한다.
또한, OSEK COM은 태스크들이 서로 통신할 수 있는 방법을 제공하며, 메시지 단위의 전송 기능과 여러 가지 통신 기능들을 제공한다. OSEK 운영체제에서 메시지는 메시지 종류와 메시지 내용으로 구성되고, 메시지는 Publish/subscribe 방식으로 전송된다.
따라서, 본 발명에서 제시하는 소프트웨어 진단방법이 적용되는 소프트웨어는 차량용 ECU 및 OSEK OS를 사용하는 소프트웨어에 기초하고 있으며, 이하의 용어 및 동작 설명 또한 OSEK OS에 기반한다.
도 2는 본 발명에 따른 OSEK OS의 CPU 태스킹 동작을 설명하기 위한 도면이다. 도시된 바와 같이 태스크(Task)는 기 설정된 다수 개의 OS 틱(tick)으로 구성되며, 하나의 OS 틱 은 사용자 태스크 수행시간(Task_t)과, 아이들 태스크 수행시간(IDLE_Task_t)으로 이루어진다.
이러한 멀티태스킹(Multitasking) 구조는 운영체제상에서 사용자 소프트웨어의 태스크가 주기적으로 수행토록 구성되며, 운영체제는 일정 주기마다 실행해야 할 주기적 태스크를 선택하여 실행한다. 또한 태스크의 수행을 마치면 상기 아이들 태스크 함수가 실행되며, 아이들 태스크 함수 안에서 다음 주기까지 대기한다.
따라서, 단위시간(OS 틱 주기)에 아이들 태스크가 수행되는 시간을 제외한 시간이 CPU가 실제 사용자 소프트웨어를 수행하는 시간이며 이는 CPU 부하(LOAD)로 간주된다. 즉, 도 2에서 도시된 바와 같이 하나의 OS 틱을 구성하는 사용자 태스크 수행시간(Task_t)이 실질적으로 사용자 소프트웨어를 수행하기 위한 시간으로서 CPU 부하(LOAD)인 것이다.
그러면, 상기 아이들 태스크 수행시간(IDLE_Task_t)은 하나의 OS 틱 내에서 시작점과 종료 시점 사이의 시간간격을 의미하는 것으로, OSEK OS의 Fast timer를 이용하여 시작점 및 종료시점을 인지할 수 있다. 즉, 종료시점의 시각은 'Fast Timer New Value'로 정의하고, 시작시점의 시각은 'Fast Timer Old Value'로 정의할 경우, "(Fast Timer New Value) - (Fast Timer Old Value)" 시간 간격이 실질적으로 아이들 태스크 수행시간(IDLE_Task_t)이 된다.
이로부터 실질적인 CPU 부하를 산출하기 위해서는 OS 틱 주기(Tick time)에서 아이들 태스크 수행시간(IDLE_Task_t)을 감산한 후, 이를 백분율로 나타냄으로써 CPU 부하에 대한 퍼센트(%)를 산출하게 된다.
도 3은 본 발명에 따른 CPU 부하를 산출하기 위한 절차를 설명하기 위한 플로우챠트이다. 먼저 ECU는 OS 틱의 주기를 인지하지 못함을 전제로 한다. 이는 OS 틱의 주기가 소프트웨어의 버전에 따라 상이할 수 있기 때문에 본 발명의 범용성을 높이기 위해, OS 틱의 주기를 인지하지 않는 것으로 간주한다. 만약, 특정 OS에서 사용할 목적으로 상기 ECU가 OS 틱의 주기를 인지하거나 설정하고 있을 경우, 상기 ECU는 아이들 태스크의 시작점(이하에서, Fast Timer Old Value로 기술됨)만을 인지함으로써, 실질적으로 사용자 태스크 수행시간이 산출될 수 있다.
즉, 패스트 타이머를 이용하여 OS 틱이 개시되는 시점으로부터 아디들 태스크 수행시간의 개시시점까지 시간을 산출함으로써, 사용자 태스크 수행시간이 연산되며, ECU가 OS 틱 주기를 인지함으로 인해 전체 OS 팁 주기 대비 사용자 태스크 수행시간이 산출되어 CPU 부하(LOAD)가 연산되는 것이다.
그러나, 전술한 바와 같이 본 발명의 실시 예에서는 ECU가 OS 틱의 주기를 인지하지 못함을 전제로 한다. 도시한 바와 같이, S301 단계에서 ECU는 OS 틱 내의 아이들 태스크 수행시간(IDLE_Task_t)을 산출하기 위해 상기 아이들 태스크 수행시점에서 패스트 타이머(Fast timer) 값을 읽어들인 후, 내부 메모리에 저장한다. 이때 저장되는 패스트 타이머 값은 Fast Timer Old Value 값으로 OS 틱의 한 주기 시작 시각부터 태스크 수행시간의 시작점까지 소요된 시간이다.
예컨대, 상기 ECU가 하나의 OS 틱이 개시된 시점부터 아이들 태스크의 시작점까지 소요된 시간이 1.4ms가 소요된 경우 상기 ECU는 Fast Timer Old Value의 값에 1.4가 저장된다. 그리고 상기 패스트 타이머는 초기화된 후 재가동된다.
S303 단계로 진입하여, 상기 ECU는 상기 아이들 태스크 종료시점에서 패스트 타이머(Fast timer) 값을 읽어들인 후, 내부 메모리에 저장한다. 이때 저장되는 패스트 타이머 값은 Fast Timer New Value 값으로 상기 Fast Timer Old Value 시점에서부터 카운트한 패스트 타이머 값이 저장된다. 예컨대, Fast Timer New Value 값으로 저장된 값이 2.5ms일 경우, 상기 Fast Timer New Value 값은 2.5가 등록된다.
여기서, 상기 ECU는 전술된 과정을 통해 아이들 태스크의 개시시점을 인지하고, 또한 아이들 태스크의 개시시점부터 OS 틱의 종료시점을 인지하였다. 즉, Fast Timer Old Value는 OS 틱의 시작점부터 아이들 태스크의 시작점까지의 시간으로서, 사용자 태스크 수행시간(Tast_t)으로 간주하게 된다. 그리고, 아이들 태스크의 시작시점과 종료시점까지의 시간은 아이들 태스크 수행시간(IDLE_Task_t)이 되며, 결국 OS 틱 시간은 사용자 태스크 수행시간(Tast_t)과 아이들 태스크 수행시간(IDLE_Task_t)의 합으로 산출된다.
S305 단계는 ECU가 CPU 부하(LOAD)를 산출하는 단계로서, 상기한 OS 틱 시간 대비 사용자 태스크 수행시간(Task_t)을 백분율로 연산하고, 연산결과를 저장 및 갱신한다. 이는 각 OS 틱에서의 사용자 태스크 수행시간이 상이하기 때문에 연산결과를 지속적으로 저장하고 현재 값으로 갱신하는 것이다.
따라서, 상기 ECU는 일정 시간단위로 CPU 부하에 대한 평균치와 더불어, 최소값, 최대값을 등록관리한다. 그리고, S307 단계에서 ECU는 차량의 통신 예컨대, CAN, LIN 통신을 이용하여 CPU 부하 값을 주기적으로 제공한다. 그리고, ECU와 접속 가능한 디스플레이 수단을 통해 CPU의 부하를 실시간 모니터링함으로써, 실차 조건에서 오는 다양한 과부하를 검출할 수 있게 되는 것이다.
Task_t : 사용자 태스크 수행시간
IDLE_Task_t :아이들 태스크 수행시간
IDLE_Task_t :아이들 태스크 수행시간
Claims (3)
- OSEK 표준을 만족하는 차량 제어용 소프트웨어의 씨피유(CPU) 부하(LOAD)를 실시간 검출하여 소프트웨어의 성능을 판단하기 위한 방법에 있어서,
a) ECU가 자동차용 멀티태스킹 운영체제 소프트웨어의 OS 틱(Tick) 주기를 검출하는 단계;
b) 패스트 타이머(Fast timer)를 이용하여 상기 OS 틱 주기의 시작점부터 아이들 태스크 시간(IDLE_Task_t)의 시작점까지의 소요시간을 검출하는 단계;
c) 상기 b) 단계의 검출결과를 사용자 태스크 수행시간(Task_t)으로 상정한 후, 상기 OS 틱 주기 대비 사용자 태스크 수행시간(Task_t)을 백분율로 연산하는 단계; 및
d) 상기 c) 단계에서 연산결과를 씨피유(CPU) 부하(LOAD)로 상정한 후, 상기 씨피유 부하 값을 차량의 내부 통신망을 이용하여 외부로 제공하는 단계로 이루어진 것을 특징으로 하는 차량 소프트웨어의 성능 판단방법. - OSEK 표준을 만족하는 차량 제어용 소프트웨어의 씨피유(CPU) 부하(LOAD)를 실시간 검출하여 소프트웨어의 성능을 판단하기 위한 방법에 있어서,
a) ECU가 패스트 타이머(Fast timer)를 이용하여 상기 OS 틱 주기의 시작점부터 아이들 태스크 시간(IDLE_Task_t)의 시작점까지의 소요시간을 검출하는 단계;
b) 상기 아이들 태스크 시간(IDLE_Task_t)의 시작점부터 아이들 태스크 시간(IDLE_Task_t)의 종료시점까지의 소요시간을 검출하는 단계;
c) 상기 a) 단계의 검출 결과를 사용자 태스크 수행시간(Task_t)으로 상정하고, 상기 a) 단계 및 b) 단계의 검출 결과로부터 상기 OS 틱 주기를 산출한 후, 상기 OS 틱 주기 대비 사용자 태스크 수행시간(Task_t)을 백분율로 산출한 결과를 씨피유(CPU) 부하(LOAD)로 상정하는 단계; 및
d) 상기 c) 단계에서 산출된 씨피유 부하 값을 차량의 내부 통신망을 이용하여 외부로 제공하는 단계로 이루어진 것을 특징으로 하는 차량 소프트웨어의 성능 판단방법. - 제 1 항 또는 제 2 항에 있어서,
상기 c) 단계는, 상기 백분율에 대한 산출결과는 OS 틱 주기별로 실시간 산출하고, 설정된 단위 시간 동안의 씨피유 부하의 평균값, 최소값 및 최대값을 연산 출력하는 것을 특징으로 하는 차량 소프트웨어의 성능 판단방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120147613A KR20140078344A (ko) | 2012-12-17 | 2012-12-17 | 차량 소프트웨어의 성능 판단방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120147613A KR20140078344A (ko) | 2012-12-17 | 2012-12-17 | 차량 소프트웨어의 성능 판단방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140078344A true KR20140078344A (ko) | 2014-06-25 |
Family
ID=51129979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120147613A KR20140078344A (ko) | 2012-12-17 | 2012-12-17 | 차량 소프트웨어의 성능 판단방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20140078344A (ko) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105938336A (zh) * | 2015-03-04 | 2016-09-14 | 现代自动车株式会社 | 调谐can通信模型的方法和装置 |
KR20190040714A (ko) * | 2017-10-11 | 2019-04-19 | 현대자동차주식회사 | Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 |
DE102019207132A1 (de) | 2018-05-31 | 2019-12-05 | Hyundai Autron Co., Ltd. | System zum Diagnostizieren von Software von Fahrzeug und Betriebsverfahren dafür |
KR102085899B1 (ko) * | 2018-12-10 | 2020-03-06 | 현대오트론 주식회사 | 자동차 전자제어장치의 사용량 모니터링 방법 및 모니터링 유닛 |
US10843704B2 (en) | 2017-03-20 | 2020-11-24 | Hyundai Motor Company | Vehicle and control method thereof |
KR20210010139A (ko) * | 2019-07-19 | 2021-01-27 | 엘지전자 주식회사 | 차량의 주변 상황 확인 방법 |
-
2012
- 2012-12-17 KR KR1020120147613A patent/KR20140078344A/ko not_active Application Discontinuation
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105938336A (zh) * | 2015-03-04 | 2016-09-14 | 现代自动车株式会社 | 调谐can通信模型的方法和装置 |
US9893954B2 (en) | 2015-03-04 | 2018-02-13 | Hyundai Motor Company | Method and apparatus for tuning CAN communication model |
CN105938336B (zh) * | 2015-03-04 | 2019-06-14 | 现代自动车株式会社 | 调谐can通信模型的方法和装置 |
US10843704B2 (en) | 2017-03-20 | 2020-11-24 | Hyundai Motor Company | Vehicle and control method thereof |
KR20190040714A (ko) * | 2017-10-11 | 2019-04-19 | 현대자동차주식회사 | Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 |
DE102019207132A1 (de) | 2018-05-31 | 2019-12-05 | Hyundai Autron Co., Ltd. | System zum Diagnostizieren von Software von Fahrzeug und Betriebsverfahren dafür |
KR20190136673A (ko) | 2018-05-31 | 2019-12-10 | 현대오트론 주식회사 | 차량용 소프트웨어 진단 시스템 및 그것의 동작 방법 |
US11352018B2 (en) | 2018-05-31 | 2022-06-07 | Hyundai Autron Co., Ltd. | System for diagnosing software for vehicle and operating method thereof |
KR102085899B1 (ko) * | 2018-12-10 | 2020-03-06 | 현대오트론 주식회사 | 자동차 전자제어장치의 사용량 모니터링 방법 및 모니터링 유닛 |
US11422916B2 (en) | 2018-12-10 | 2022-08-23 | Hyundai Autoever Corp. | Usage amount monitoring method and monitoring unit of electronic control unit for vehicle |
KR20210010139A (ko) * | 2019-07-19 | 2021-01-27 | 엘지전자 주식회사 | 차량의 주변 상황 확인 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20140078344A (ko) | 차량 소프트웨어의 성능 판단방법 | |
CN109976932B (zh) | 故障注入测试设备和方法 | |
KR102488923B1 (ko) | 자동 주차 이상 데이터 수집 방법, 장치, 저장매체 및 컴퓨터 프로그램 | |
US10431015B2 (en) | Remote vehicle data collection system | |
US20170180370A1 (en) | Communication system and information collection method executed in communication system | |
CN109901555B (zh) | 一种车辆故障诊断方法、设备及存储介质 | |
US20110118933A1 (en) | Vehicle diagnosing apparatus | |
US11422916B2 (en) | Usage amount monitoring method and monitoring unit of electronic control unit for vehicle | |
CN104737134A (zh) | 用于操作系统无关的硬件验证的系统和方法 | |
JP6885226B2 (ja) | 電子制御装置 | |
KR102410940B1 (ko) | Ecu 실행시간 모니터링 및 고장원인 파악 방법 및 시스템 | |
US20190188057A1 (en) | System and Method to Measure the Response Time of Event Chains | |
KR20120126873A (ko) | Uds 통신 기반의 자동차용 소프트웨어 동적 분석 장치 | |
JP5532144B2 (ja) | プロセッサ、電子制御装置、作成プログラム | |
CN117707112A (zh) | 一种故障诊断方法、系统、设备及存储介质 | |
KR20130063866A (ko) | 엠투엠 단말기 진단시스템 및 방법 | |
CN109478052B (zh) | 确定应用程序的执行时间的方法和装置 | |
US20080282248A1 (en) | Electronic computing device capable of specifying execution time of task, and program therefor | |
US8626395B2 (en) | Method for processing data in an influencing device | |
CN114896168A (zh) | 用于自动驾驶算法开发的快速调试系统、方法以及存储器 | |
JP5223512B2 (ja) | 車両用異常解析システム、車両用異常解析方法、及び車両用故障解析装置 | |
KR101390267B1 (ko) | 실시간 운영체제 태스크 모니터링 방법 및 장치 | |
CN109960627B (zh) | 电子控制设备及其操作方法与计算机可读记录介质 | |
CN112632702A (zh) | 一种车辆协议诊断工具检测方法和装置 | |
WO2013073009A1 (ja) | マイコンシステム、監視マイコン |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |