KR102309429B1 - 차량 및 그 제어 방법 - Google Patents

차량 및 그 제어 방법 Download PDF

Info

Publication number
KR102309429B1
KR102309429B1 KR1020170034684A KR20170034684A KR102309429B1 KR 102309429 B1 KR102309429 B1 KR 102309429B1 KR 1020170034684 A KR1020170034684 A KR 1020170034684A KR 20170034684 A KR20170034684 A KR 20170034684A KR 102309429 B1 KR102309429 B1 KR 102309429B1
Authority
KR
South Korea
Prior art keywords
task
function
executed
vehicle
unexecuted
Prior art date
Application number
KR1020170034684A
Other languages
English (en)
Other versions
KR20180106406A (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 KR1020170034684A priority Critical patent/KR102309429B1/ko
Priority to US15/788,382 priority patent/US10843704B2/en
Priority to CN201711054339.XA priority patent/CN108621978B/zh
Publication of KR20180106406A publication Critical patent/KR20180106406A/ko
Application granted granted Critical
Publication of KR102309429B1 publication Critical patent/KR102309429B1/ko

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4887Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues involving deadlines, e.g. rate based, periodic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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
    • B60W2050/0062Adapting control system settings
    • B60W2050/0075Automatic parameter input, automatic initialising or calibrating means
    • B60W2050/009Priority selection
    • B60W2050/0091Priority selection of control inputs
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT 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/00Details 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/08Interaction between the driver and the control system
    • B60W50/14Means for informing the driver, warning the driver or prompting a driver intervention
    • B60W2050/146Display means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2400/00Special features of vehicle units
    • B60Y2400/90Driver alarms

Abstract

본 발명은 오토사(AUTOSAR) 플렛폼이 적용된 차량에 있어서 프로세스 제어 블록(PCB)으로부터 제1태스크(Task)에 관한 정보 및 상기 제 1태스크가 실행하는 함수의 종류 및 시간에 관한 정보를 취득하는 정보 취득부와 상기 제1태스크가 실행하는 함수들 중에서 실행되지 못한 함수가 존재하는 경우, 상기 실행되지 못한 함수가 제 2태스크에서 실행되도록 상기 함수를 제어하는 제어부를 포함할 수 있다.
본 발명의 경우, 태스크 내에서 실행되지 못한 함수 또는 일부부만 실행된 함수를 감지하고 이를 다른 태스크에서 실행할 수 있도록 하여 보다 안정적으로 프로그램을 수행할 수 있는 효과가 존재한다.

Description

차량 및 그 제어 방법{Vehicle And Control Method Thereof}
본 발명은 차량 및 그 제어 방법에 관한 방법으로서, 보다 상세하게는 오토사(AUTOSAR) 플렛폼이 적용된 차량에 있어서, 태스크(Task)에 관한 정보를 취득하고 미실행된 함수 또는 일부분 실행된 함수가 존재하지 않는 경우 다른 태스크에서 미실행된 함수 및 실행되지 못한 남은 부분을 실행하도록 하는 기술에 관한 발명이다.
현대 사회에서 자동차는 가장 보편적인 이동 수단으로서 자동차를 이용하는 사람들의 수는 증가하고 있다. 자동차 기술의 발전으로 인해 과거보다 장거리의 이동이 용이하고, 생활이 편해지는 등 생활에 많은 변화가 발생하고 있다.
차량은 운전자의 편의를 위해 핸즈프리 장치, GPS 수신기, 블루투스 장치 및 하이패스 장치 등의 전자 장치 등이 많이 개발되고 있으며, 자동차 관련 기술 분야들 중에서 전기전자 분야가 새로운 가치를 창출하는 비중이 점점 커지고 있다.
자동차 전장 장치 분야에서 중요한 부분은 임베디드 소프트웨어 기술이며, 임베디드 소프트웨어 중에서 운영체제 기술은 핵심 역할을 수행하고 있다.
오토사(AUTOSAR)는 자동차용 소프트웨어의 구조에 대한 실질적인 산업 표준을 개발하고 확립하기 위해 자동차 제조 업체들과 자동차 부붐 제조업체들이 공동으로 결성한 협력체로서, OSEK 운영체제는 자동차에 사용할 수 있도록 설계된 실시간 운영체제이다. 이 운영체제 모듈은 OSEK 표준(ISO 17356-3)을 따르도록 규정하고 있으며, OSEK 운영체제는 멀티 태스킹 기능, 이벤트, 자원관리 기능, 인터럽트 기능 등을 제공한다.
다만, 최근에는 자동차에 많은 전장 부품들이 탑재되어, 많은 프로그램이 동시에 진행되는 경우가 많은데, 이러한 경우 CPU에 과부화가 걸려 프로그램이 제대로 작동 되지 않는 문제가 발생할 수 있다.
따라서, 종래 기술의 경우 MCU 타이머를 이용하여 프로그램의 태스크 시간과 실제 수행 시간을 상정한 후, 백분율로 연산하여 이를 사용자에게 알려 CPU의 과부하를 방지하도록 하였다.
그러나, 종래 기술의 경우 태스크가 수행하는 각 함수별 수행시간에 대한 연산정보가 존재하지 않기 때문에, 태스크별 목표 시간을 초과하여 실행되지 않은 함수를 알지 못하고, 실행시간 초과 시 이를 자동적으로 해결할 수 있는 기술이 존재하지 않아 많은 문제점이 존재하였다.
따라서, 본 발명은 전술한 바와 같이 종래 기술이 가지고 있던 문제점을 해결하기 위해 고안된 발명으로서, 실시간으로 태스킹에서 수행되는 함수의 상태를 파악하여 오류를 감지하고, 오류가 발견이 된 경우 이를 해결하여 보다 안정적으로 프로그램이 실행될 수 있는 차량 및 차량의 제어 방법을 제공하기 위하이다.
본 발명의 일 실시예에 따른 차량은, 오토사(AUTOSAR) 플렛폼이 적용된 차량에 있어서, 프로세스 제어 블록(PCB)으로부터 제1태스크(Task)에 관한 정보 및 상기 제 1태스크가 실행하는 함수의 종류 및 시간에 관한 정보를 취득하는 정보 취득부와 상기 제1태스크가 실행하는 함수들 중에서 실행되지 못한 함수가 존재하는 경우, 상기 실행되지 못한 함수가 제 2태스크에서 실행되도록 상기 함수를 제어하는 제어부를 포함할 수 있다.
상기 실행하지 못한 함수는, 함수가 처음부터 실행되지 않았거나 일부만 실행된 함수를 포함할 수 있다.
상기 제 2태스크는 상기 제 2태스크의 전체 시간에서 상기 제 2태스크가 수행해야 할 함수의 실행 시간을 제외한 시간이 상기 실행되지 못한 함수를 실행하는데 필요한 시간보다 길 수 있다.
상기 제 2태스크는 상기 제 2태스크의 전체 시간 대비 상기 제 2태스크에 포함되어 있는 함수의 실행 시간 비율이 가장 작을 수 있다.
상기 제 2태스크는 상기 제 1태스크를 기준으로 가장 인접해 있을 수 있다.
상기 제어부는 상기 실행되지 못한 함수가 복수 개 존재하는 경우, 복수 개의 제 2태스크에서 상기 실행되지 못한 함수들이 실행되도록 상기 함수를 제어할 수 있다.
상기 제어부는 상기 실행되지 못한 함수를 실행할 수 있는 상기 제 2태스크가 존재하지 않는 경우, 다른 코어(Core)에서 상기 실행되지 못한 함수를 실행시킬 수 있다.
상기 실행되지 못한 함수를 실행할 수 있는 상기 다른 코어가 존재하지 않는 경우, 사용자에게 이를 알리는 표시부를 더 포함할 수 있다.
상기 제어부는 상기 실행되지 못한 함수를 실행할 수 있는 다른 코어가 존재하지 않는 경우 미리 설정된 순서에 따라 상기 함수의 실행을 종료시킬 수 있다.
상기 정보 취득부는 탐침 코드(Instrumentation Code)를 삽입하여 상기 제 1태스크 및 함수에 관한 정보를 취득할 수 있다.
본 발명의 다른 실시예에 따른 차량의 제어 방법은 오토사(AUTOSAR) 플렛폼이 적용된 차량의 제어 방법에 있어서 프로세스 제어 블록(PCB)으로부터 제1태스크(Task)에 관한 정보 및 상기 제 1태스크가 실행하는 함수의 종류 및 시간에 관한 정보를 취득하는 단계와 상기 제1태스크가 실행하는 함수들 중에서 실행되지 못한 함수가 존재하는지 판단하는 단계와 상기 실행되지 못한 함수가 존재하는 경우 제 2태스크에서 상기 실행되지 못한 함수가 실행되도록 상기 함수를 제어하는 단계를 포함할 수 있다.
상기 실행하지 못한 함수는 함수가 처음부터 실행되지 않았거나 일부만 실행된 함수를 포함할 수 있다.
상기 제 2태스크는 상기 제 2태스크의 전체 시간에서 상기 제 2태스크가 수행해야 할 함수의 실행 시간을 제외한 시간이 상기 실행되지 못한 함수를 실행하는데 필요한 시간보다 길 수 있다.
상기 제 2태스크는 상기 제 2태스크의 전체 시간 대비 상기 제 2태스크에 포함되어 있는 함수의 실행 시간 비율이 가장 작을 수 있다.
상기 제 2태스크는 상기 제 1태스크를 기준으로 가장 인접해 있을 수 있다.
상기 함수를 제어하는 단계는 상기 실행되지 못한 함수가 복수 개 존재하는 경우, 복수 개의 제 2태스크에서 상기 실행되지 못한 함수들이 실행되도록 상기 함수를 제어하는 단계를 포함할 수 있다.
상기 함수를 제어하는 단계는 상기 실행되지 못한 함수를 실행할 수 있는 상기 제 2태스크가 존재하지 않는 경우, 다른 코어(Core)에서 상기 실행되지 못한 함수를 실행시키는 단계를 더 포함할 수 있다.
상기 실행되지 못한 함수를 실행할 수 있는 상기 다른 코어가 존재하지 않는 경우, 사용자에게 이를 알리는 단계를 더 포함할 수 있다.
상기 함수를 제어하는 단계는 상기 실행되지 못한 함수를 실행할 수 있는 다른 코어가 존재하지 않는 경우 미리 설정된 순서에 따라 상기 함수의 실행을 종료시키는 단계를 더 포함할 수 있다.
상기 정보를 취득하는 단계는 탐침 코드(Instrumentation Code)를 삽입하여 상기 제 1태스크 및 함수에 관한 정보를 취득하는 단계를 포함할 수 있다.
본 발명의 경우, 태스크 내에서 실행되지 못한 함수 또는 일부부만 실행된 함수를 감지하고 이를 다른 태스크에서 실행할 수 있도록 하여 보다 안정적 프로그램을 수행할 수 있는 효과가 존재한다.
도 1은 본 발명의 일 실시예에 따라 차량의 외부 모습을 도시한 외관도이다.
도 2는 본 발명의 일 실시예에 따라 차량의 내부 모습을 도시한 내부도이다.
도 3은 본 발명의 일 실시예에 따른 차량의 일부 구성을 도시한 블럭도이다.
도 4는 태스크 및 태스크에서 실행하는 여러 함수를 도시한 도면이다.
도 5는 본 발명의 일 실시예에 따른 차량의 동작 순서를 나타낸 순서도이다.
도 6은 본 발명의 제 1실시예에 따라, 미실행 함수 및 실행되지 못한 함수를 제 2태스크에서 실행하는 원리를 도시한 도면이다.
도 7과 도 8은 본 발명의 제 2실시예에 따라, 미실행 함수 및 실행되지 못한 함수를 제 2태스크에서 실행하는 원리를 도시한 도면이다.
도 9와 도 10은 본 발명의 제 3실시예에 따라, 미실행 함수 및 실행되지 못한 함수를 제 2태스크에서 실행하는 원리를 도시한 도면이다.
도 11은 본 발명의 제 4실예에 따라, 미실행 함수 및 실행되지 못한 함수를 제 2태스크에서 실행하는 원리를 도시한 도면이다.
본 명세서에 기재된 실시 예와 도면에 도시된 구성은 개시된 발명의 바람직한 일 예이며, 본 출원의 출원 시점에 있어서 본 명세서의 실시 예와 도면을 대체할 수 있는 다양한 변형 예들이 있을 수 있다.
또한, 본 명세서에서 사용한 용어는 실시 예를 설명하기 위해 사용된 것으로, 개시된 발명을 제한 및/또는 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.
본 명세서에서, "포함하다", "구비하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는다.
또한, 본 명세서에서 사용한 "제 1", "제 2" 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되지는 않는다.
아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략한다. 이하 도 1 및 도2를 통해 본 발명이 설치된 차량에 대해서 설명한다.
도 1은 본 발명의 일 실시예에 따른 차량의 외관도이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 차량(1)은 차량(1)의 외관을 형성하는 본체(80), 차량(1)을 이동시키는 차륜(93, 94), 차륜(93, 94)을 회전시키는 구동 장치(95), 내부를 외부로부터 차폐시키는 도어(84), 차량(1) 내부의 운전자에게 차량(1) 전방의 시야를 제공하는 전면 유리(87), 운전자에게 차량(1) 후방의 시야를 제공하는 사이드 미러(91, 92), 차체(80)의 후방 측에 설치되어 차량(1) 후방의 시야를 제공하는 리어 윈도(90)를 포함하며 차체(80)는 후드(81), 프런트 휀더(82), 도어(84), 트렁크 리드(85), 및 쿼터 패널(86) 등을 포함할 수 있다.
차륜(93, 94)은 차량의 전방에 마련되는 전륜(93), 차량의 후방에 마련되는 후륜(94)을 포함하며, 구동 장치(95)는 본체(80)가 전방 또는 후방으로 이동할 수 있도록 전륜(93) 또는 후륜(94)에 회전력을 제공한다. 이와 같은 구동 장치(95)는 화석 연료를 연소시켜 회전력을 생성하는 엔진(Engine) 또는 축전기(미도시)로부터 전원을 공급받아 회전력을 생성하는 모터(Motor)를 채용할 수 있다.
도어(84)는 본체(80)의 좌측 및 우측에 회동 가능하게 마련되어 개방 시에 운전자가 차량(1)의 내부에 탑승할 수 있도록 하며, 폐쇄 시에 차량(1)의 내부를 외부로부터 차폐시킬 수 있다.
윈드 스크린(87)은 본체(80)의 전방 상측에 마련되어 차량(1) 내부의 운전자가 차량(1) 전방의 시각 정보를 획득할 수 있도록 한다. 또한, 사이드 미러(91, 92)는 본체(80)의 좌측에 마련되는 좌측 사이드 미러(91) 및 우측에 마련되는 우측 사이드 미러(92)를 포함하며, 차량(1) 내부의 운전자가 차량(1) 측면 및 후방의 시각 정보를 획득할 수 있도록 한다.
이외에도 차량(1)은 후방의 장애물 내지 다른 차량을 감지하는 근접 센서, 강수 여부 및 강수량을 감지하는 레인 센서 등의 감지 장치를 포함할 수 있다.
근접 센서의 일 예로서, 차량의 측면 또는 후면에 감지 신호를 발신하고, 다른 차량 등의 장애물로부터 반사되는 반사 신호를 수신한다. 또한 수신된 반사 신호의 파형을 기초로 차량(1) 후방의 장애물의 존재 여부를 감지하고, 장애물의 위치를 검출할 수 있다. 이와 같은 근접 센서는 초음파를 발신하고, 장애물에 반사된 초음파를 이용하여 장애물까지의 거리를 검출하는 방식을 채용할 수 있다.
도 2는 본 발명의 일 실시예에 따른 차량의 내부 구성도이다.
차량내부(10)에는 외부와 통신하기 위한 텔레메틱스(Telematics) 단말기(미도시)가 설치될 수 있다. 텔레메틱스는 텔레커뮤니케이션(Telecommunication)과 인포매틱스(Informatics)의 합성어로, 자동차 안에서 이메일(E-mail)을 주고 받거나 인터넷을 통하여 각종 정보를 검색할 수 있는 시스템을 말한다.
텔레메틱스 단말기는 컴퓨터 무선 통신 위성 항법 기능을 모두 갖춘 장치로 구성될 수 있다. 따라서 운전자는 텔레메틱스 단말기를 이용하여 외부에 존재하는 텔레메틱스 서버에 접속할 수 있고 이를 통하여 데이터와 영상을 주고 받는 등 여러 가지 기능을 이용할 수 있다.
텔레메틱스 단말기는 차량 내부(10)에 설치되기 때문에 운전자가 눈에 볼 수 있는 외부 장치는 아니지만 일반적으로 사용자는 차량 내부(10)의 디스플레이(80)을 이용하여 텔레메틱스 기능을 이용할 수 있다.
차량내부(10)에는 공조장치(16)가 설치 될 수 있다. 공조장치(16)는 차량(1)의 실내 실외의 환경 조건, 공기의 흡/배기, 순환, 냉/난방 상태 등을 포함한 공조 환경을 자동으로 제어하거나 또는 사용자의 제어 명령에 대응하여 제어하는 장치를 의미한다. 예를 들어, 난방과 냉방을 모두 수행할 수 있으며, 가열되거나 냉각된 공기를 통풍구를 통해 배출하여 차량내부(10)의 온도를 제어할 수 있다.
한편, 차량내부(10)에는 운전자가 차량(1)을 조작하기 위한 각종 기기가 설치되는 대시보드(Dashboard)(14), 차량(1)의 운전자가 착석하기 위한 운전석(15), 차량(1)의 동작 정보 등을 표시하는 클러스터 표시부(51, 52)를 포함할 수 있다.
대시보드(14)는 윈드 스크린(11)의 하부로부터 운전자를 향하여 돌출되게 마련되며, 운전자가 전방을 주시한 상태로 대시보드(14)에 설치된 각종 기기를 조작할 수 있도록 한다.
운전석(15)은 대시보드(14)의 후방에 마련되어 운전자가 안정적인 자세로 차량(1)의 전방과 대시보드(14)의 각종 기기를 주시하며 차량(1)을 운행할 수 있도록 한다.
클러스터 표시부(51, 52)는 대시보드(14)의 운전석(15) 측에 마련되며, 차량(1)의 운행 속도를 표시하는 주행 속도 게이지(51), 동력 장치(미도시)의 회전 속도를 표시하는 rpm 게이지(52)를 포함할 수 있다.
또한, 차량 내부(10)에는 차량의 각종 장치들의 조작을 위한 별도의 조그 다이얼(60)을 포함할 수 있다. 조그 다이얼(60)은 회전시키거나 압력을 가하여 구동 조작을 수행하는 방법뿐만 아니라, 터치 인식 기능을 구비한 터치 패드를 구비하여 사용자의 손가락 또는 별도의 터치 인식 기능을 구비한 도구를 이용하여 구동 조작을 위한 필기 인식을 수행할 수 있다.
자동차의 운행을 조작하는 조향 장치는 운전자로부터 주행 방향을 입력 받는 조향 핸들(42), 조향 핸들(42)의 회전 운동을 왕복 운동으로 전환하는 조향 기어(미도시), 조향 기어(미도시)의 왕복 운동을 앞바퀴(93)에 전달하는 조향 링크(미도시)를 포함할 수 있다. 이와 같은 조향 장치는 바퀴의 회전축의 방향을 변경함으로써 차량(1)의 주행 방향을 변경할 수 있다.
제동 장치는 운전자로부터 제동 조작을 입력 받는 제동 페달(미도시), 바퀴와 결합된 브레이크 드럼(미도시), 마찰력을 이용하여 브레이크 드럼(미도시)의 회전을 제동시키는 브레이크 슈(미도시) 등을 포함할 수 있다. 이와 같은 제동 장치는 바퀴의 회전을 정지시킴으로써 차량의 주행을 제동할 수 있다.
이상 도1 및 도 2를 통하여 차량의 외부와 내부 구성에 대해 알아보았다. 이하 도면을 통하여 본 발명의 특징에 대해 알아본다.
도 3은 본 발명의 일 실시예에 따른, 차량(1)의 일부 구성을 나타낸 블럭도이다.
도 3을 참조하면, 본 발명의 일 실시예에 따른 차량(1)은 적어도 하나의 태스크와 태스크가 실행하는 적어도 하나의 함수에 관한 정보가 저장되어 있는 프로세스 제어 블록(PCB,110)과 프로세스 제어 블럭(110)으로부터 태스크와 함수에 관한 정보를 취득하는 정보 취득부(120) 및 취득한 정보를 기초로 제 1태스크(200)에서 미실행되거나 일부분만 실행된 함수가 존재하는 경우 실행되지 않은 함수를 제 2태스크(300)에서 실행되도록 함수를 제어하는 제어부(130) 및 실행되지 못한 함수를 수행할 수 있는 제 2태스크(300)가 존재하지 않는 경우 이를 외부로 알리는 표시부(140)를 포함할 수 있다.
프로세스 제어 블록(PCB) Process Control Block의 약어로서, 운영 체제(operating system)가 프로세스에 대한 유용한 정보를 저장해놓을 수 있는 저장 장소를 말한다. 따라서, 프로세스 제어 블록(110)에는 프로세스의 현재 상태, 프로세스의 고유한 식별자, 프로세스의 우선 순위, 프로세스가 적재된 기억 장치 부분을 가리키는 포인터(pointer), 프로세스에 할당된 자원을 가리키는 포인터, 레지스터 내용을 저장하는 장소 등에 관한 정보를 포함하고 있다.
운영 체제가 CPU를 다른 프로세스에게 넘겨주고자 할 때는 바로 해당 프로세스의 PCB에 있는 저장 장소에 여러 가지 정보를 저장시키고, 차후에 이 프로세스가 다시 실행될 경우에는 이 장소에 보관된 정보를 재사용한다.
따라서, 프로세스 제어 블록(110)에는 프로세스를 관리하는데 필요한 스케줄링 상태(Ready, Running, Waiting, Suspended), 태스크(Task) ID, CPU 타이머 정보 등이 존재한다.
정보 취득부(120)는 프로세스 제어 블록(110)에 존재하는 태스크와 태스크가 수행하는 함수들에 대한 정보를 취득하고, 취득한 정보를 제어부(130)로 송신하는 역할을 할 수 있다.
구체적으로, 정보 취득부(120)는 OS 커널에 탐침 코드(Instrumentation Code)를 삽입하여 프로세스 제어 블록(110)으로부터 태스크의 아이디(ID), 태스크의 현재 상태(동작 상태인지 아니면 휴지 상태인지 여부)와 태스크의 시작 및 종료 시점에 대한 정보를 취득할 수 있다.
그 후 정보 취득부(120)는 취득한 태스크를 기초로 각각의 태스크가 수행하는 함수의 종류 및 실행 시간에 대한 정보를 취득한 후 이를 제어부(130)로 보낼 수 있다.
구체적으로, 정보 취득부(120)는 함수별 시작과 종료 위치에 인터럽트를 발생시키고 함수 시작시 고유의 함수 ID를 입력한 탐침 코드를 삽입하여 태스크가 수행하는 함수의 시작 및 종료 시점에 대한 정보를 취득할 수 있다.
도 4는 이렇게 취득한 태스크와 태스크가 수행하는 함수에 대한 정보를 간략히 도시화한 도면이다.
도 4를 참조하면, 각각의 태스크(210, 220, 230)는 복수 개의 함수를 포함할 수 있다. 즉, 태스크 A(210)는 4개의 함수(a1, a2, a3, a4) 를 수행하며, 태스크 A(210)의 전체 시간과 태스크 A(210)가 실행하는 함수의 모든 시간을 합한 시간은 동일하다.
태스크 B(220)는 3개의 함수(b1, b2, b3) 를 수행하며, 도 4에 도시된 바와 같이 태스크 B(220)는 아무런 함수를 실행하지 않는 부분(224)이 존재하기 때문에 태스크 B(220)의 전체 시간은 태스크 B(220)가 실행하는 함수의 모든 시간을 합한 시간보다 크다. 따라서, 남는 부분(224)은 다른 태스크에서 수행하지 못한 함수를 실행하는 부분으로 이용될 수 있다. 이에 대한 자세한 설명은 후술하도록 한다.
태스크 C(230)는 3개의 함수(c1, c2, c3) 를 수행하며, 도 4에 도시된 바와 같이 태스크 C(230)는 태스크 B(220)와 다르게 아무런 함수를 실행하지 않는 부분(231) 함수의 시작 전에 존재한다.
제어부(130)는 정보 취득부(120)로부터 취득한 태스크에 관한 정보를 기초로 제 1태스크(200)와 제 2태스크(300) 및 제 1태스크(200)와 제 2태스크(300)에 포함되어 있는 함수를 제어할 수 있으며, 제 2태스크(300) 요건을 만족하는 태스크가 존재하지 않는 경우 이를 표시부(500)에 전달할 수 있다.
구체적으로, 제 1태스크(200)는 제어부(130)가 적어도 하나의 태스크 중에서 실행되지 못한 함수가 존재하는 판단하는 대상이 되는 태스크를 말하며, 제 2태스크(300)는 제 1 태스크(200) 중에서 실행되지 못한 함수가 존재하는 경우, 실행되지 못한 함수를 수행할 수 있는 제 2태스크(300)를 말한다.
따라서 제 2태스크(300)는 실행되지 못할 함수를 수행하는 여분의 공간 즉, 전체 태스크 시간이 그 태스크가 실행하는 함수들의 시간보다 긴 특징을 가지고 있어야 하며, 그 여분의 실행은 실행되지 못한 함수를 실행하는데 필요한 시간보다 긴 시간이어야 한다.
또한, 실행되지 못한 함수는 구체적으로 처음부터 함수가 실행되지 못했거나 일부만 실행된 함수를 포함할 수 있다.
따라서, 제어부(130)는 제 1태스크(200)에 실행되지 못한 함수가 존재하는 경우 그 함수를 제 2태스크(300)에 수행하도록 제어할 수 있으며, 실행되지 못한 함수가 복수 개 존재하는 경우, 복수 개의 제 2태스크(300)를 찾은 후 복수 개의 제 2태스크(300)에서 실행되지 못한 함수가 실행되도록 제어할 수 있다.
도 5는 본 발명의 일 실시예에 따른 차량의 동작 순서를 나타낸 순서도이다.
도 5를 참조하면, 본 발명의 차량(1)은 프로세스 제어 블록(110)으로부터 제 1태스크(200)에 관한 정보 및 제 1태스크(200)가 실행하는 함수들에 대한 정보를 취득한다. (S100)
상기 정보에는 태스크(Task) ID, CPU 타이머 정보 등을 포함하여 제 1태스크(200)의 아이디(ID), 제 1태스크(200)의 전체 시간 및 현재 상태에 대한 정보를 포함하고, 제 1태스크(200)가 수행하는 함수의 종류 및 함수의 실행 시간에 대한 정보를 포함한다.
제 1태스크(200)에 관한 정보가 취득되면, 제 1태스크(200)에 실행되지 않은 함수가 존재하는지 판단한다. (S200)
실행되지 못한 함수는 처음부터 함수가 실행되지 못했거나 일부만 실행된 함수를 포함할 수 있다.
만약, 검색한 제 1태스크(200)의 모든 함수들이 정상적으로 실행이 되었다면 S100 단계로 되돌아 오나, 만약 실행되지 못한 함수가 존재하는 경우 제 2태스크를 탐색한다. (S300)
제 2태스크(300)는 제 1 태스크(200) 중에서 실행되지 못한 함수가 존재하는 경우, 실행되지 못한 함수를 수행할 수 있는 제 2태스크(300)를 말한다. 따라서 제 2태스크(300)는 실행되지 못할 함수를 수행하는 여분의 공간 즉, 전체 태스크 시간이 그 태스크가 실행하는 함수들의 시간보다 긴 특징을 가지고 있어야 하며, 그 여분의 시간은 실행되지 못한 함수를 실행하는데 필요한 시간보다 긴 시간이어야 한다.
만약, 상기 설명한 요건을 만족하는 제 2태스크(300)가 존재한다면 상기 제 2태스크(300)에서 실행되지 못한 함수를 수행하나(S400, S500) 그렇지 않은 경우 다른 코어(Core)에서 실행되지 못한 함수를 수행할 수 있는지 검색한다. (S600)
코어란 CPU를 지칭하며, 다른 코어에서 실행되지 못한 함수를 실행할 수 있으면 다른 코어에서 실행되지 못한 함수를 실행하나(S700) 그렇지도 못하는 경우, 이를 사용자에게 알려 위험을 방지한다.(S800)
또한, 도면에는 도시하지 않았으나 다른 코어에서도 실행되지 못한 함수를 실행할 수 없는 경우 미리 설정된 기준에 따라 함수를 종료시킬 수 있다. 즉, 다른 코어에서조차도 실행되지 못한 함수를 실행할 수 없는 경우는 CPU가 과부하 걸린 상태로 판단할 수 있는바 미리 설정된 기준에 따라 함수를 종료시켜 CPU의 과부하를 막을 수 있다.
미리 설정된 기준은 차량 환경에 따라 다양하게 설정될 수 있으며, 중요하지 않은 함수, 실행 시간이 가장 적게 또는 많이 걸리는 함수 등을 기준으로 정할 수 있다. 또한, 사용자의 기호에 따라 설정할 수도 있다.
도6은 본 발명의 제 1 실시예에 따라, 실행되지 못한 함수를 제 2태스크에서 실행하는 원리를 도시한 도면이다.
도 6의 (a)를 참조하면, 태스크 A(210)는 3개의 함수(a1, a2, a3)를 수행하며, 태스크 B(220)는 2개의 함수(b1, b2)를 수행하고 태스크 B(220)는 태스크 A(210)와 다르게 여분의 시간(213)을 가지고 있다.
원칙적으로 태스크 A(210)는 3개의 함수를 모두 실행해야 하나, 도 6 (a) 도시된 바와 같이 태스크 A(210)에 할당된 전체 시간 동안에 모든 함수를 실행시키지 못한 경우가 발생한다.
종래 기술에 의한 경우, 실행되지 못한 함수가 존재하는 경우 이를 단순히 사용자게 알리는 기능에 그쳤을 뿐, 사용자는 실행되지 못한 함수가 어떤 함수 (a3,213) 인지 알 수가 없었으며 동시에 함수 a3(213)를 수행하지 못하였다.
그러나 본 발명은 도 6의 (a) 처럼, 실행되지 못한 함수 a3(213)가 존재하는 경우, 실행되지 못한 함수를 실행할 수 있는 태스크 B(220)를 찾은 후, 태스크 B(220)에서 이를 실행하도록 하여 보다 안정적인 시스템을 공급할 수 있는 효과가 존재한다. 따라서, 도 6의 (a)의 경우 태스크 B(220)가 제 2태스크(300)가 된다.
도 6의 (b)는 도 6의 (a)와 실행되지 못한 함수 종류의 차이만 존재할 뿐, 근본적인 원리는 동일하다. 즉, 도 6의 (a)는 실행되지 못한 함수를 처음부터 실행이 되지 않은 함수(a3)로 하여, 이 함수를 태스크 B(220)에서 실행하는 것으로 도시하였지만, 도 6의 (b)는 실행되지 못한 함수를 일부분만 실행되고 실행되지 않은 남은 부분(213b)으로 하여 이 부분을 태스크 B(220)에서 실행하는 것을 도시한 것이다. 따라서, 근본적인 원리는 동일한바 다른 설명은 생략하도록 한다.
도 7과 도 8은 본 발명의 제 2실시예에 따라 제 2 태스크(300)를 결정하는 과정을 도시한 도면이다.
도 7을 참고하면, 도 6에서와 마찬가지로 태스크 A(210)는 실행하지 못한 함수 a4(214)가 존재한다. 그리고 태스크 B(220)와 태스크 C(230)는 각각 여유 공간(224, 233)을 가지고 있다.
따라서, 도 6에서 설명한 기준에 따르면 태스크 B(220)와 태스크 C(230) 둘 다 여유 공간을 가지고 있으므로 제 2태스크(300)가 될 수 있겠지만, 도 7의 (a)에서는 태스크 C(230)만이 제 2태스크(300)로 된다. 실행되지 못한 함수 a4(214)를 실행하기 위해서는 a 시간이 필요한데 태스크 B(220)는 a 시간 보다 짧은 b시간만이 여유 시간으로 존재하고 태스크 C(230)는 a 시간 보다 긴 c 시간을 가지고 있기 때문이다. 따라서, 도 7의 경우 제 2태스크가 될 수 있는 태스크는 태스크 C(230)이다.
이러한 원리는 마진율에 따라 결정되는 것으로 표현할 수 있는데, 본 발명에서 마진율이란, 태스크가 가지고 있는 전체 시간 대비 그 태스크의 전체 시간에서 실행하는 함수의 총 시간을 뺀 나머지 시간과의 비율을 말한다. 예를 들어, 태스크 전체 시간이 1이고 그 태스크가 실행하는 함수의 총 실행 시간이 0.8이면 마진율이 0.2이지만, 태스크가 실행하는 함수의 총 실행 시간이 0.4이면 마진율은 0.6이 된다. 따라서, 마진율이 클수록 여유 시간이 많으므로 실행되지 못한 함수를 실행할 수 있는 제 2태스크(300) 설정하기 좋다. 보다 여유로운 시간이 확보되기 때문에 안정적으로 시스템을 구동할 수 있는 장점이 존재한다.
도 8은 도 7과 실행되지 못한 함수 종류의 차이만 존재할 뿐, 근본적인 원리는 동일하다. 즉, 도 7에서는 실행되지 못한 함수를 처음부터 실행이 되지 않은 함수(a4, 214)로 하여, 이 함수를 태스크 C(230)에서 실행하는 것으로 도시하였지만, 도 8은 실행되지 못한 함수를 일부분만 실행되고 실행되지 않은 남은 부분(214b)으로 하여 이 부분을 태스크 C(220)에서 실행하는 것을 도시한 것이다. 따라서, 도 8에서의 근본적인 원리는 도 7에서와 동일한바 다른 설명은 생략하도록 한다.
도 9는 본 발명의 제 3 실시예에 따라 제 2 태스크(300)를 결정하는 과정을 도시한 도면이다.
도 9을 참고하면, 도 7에서와 마찬가지로 태스크 A(210)는 실행하지 못한 함수 a4(214)가 존재하며, 태스크 B(220)와 태스크 C(230)는 각각 여유 공간(224, 233)을 가지고 있다. 그리고 시간 b와 시간 c는 시간 a 보다 긴 시간을 가지고 있으므로, 태스크 B(220)의 여유 공간(224)과 태스크 C(230)의 여유 공간에서 모두 미실행 함수 a4를 실행시킬 수 있다.
그러나 이러한 경우 제어부(130)는 제 1태스크(200) 즉, 태스크 A(210)를 기준으로 가장 근접해 있는 태스크 B(220)를 제 2태스크(220)로 설정하여 실행되지 못한 함수를 수행하게 할 수 있다. 태스크 B(220)가 태스크 (C)보다 먼저 실행되므로 태스크 C(230)를 제 2태스크(300)으로 하는 것보다 태스크 B(220)를 제 2태스크(300) 설정하여 실행되지 못한 함수를 실행하는 것이 보다 빠르기 때문이다.
도 10은 도 9와 실행되지 못한 함수의 차이만 존재할 뿐, 근본적인 원리는 동일하다. 즉, 도 9는 실행되지 못한 함수의 종류를 처음부터 실행이 되지 않은 함수(a4)로 하여, 이 함수를 태스크 B(220)에서 실행하는 것으로 도시하였지만, 도 10에서는 실행되지 못한 함수를 일부분만 실행되고 실행되지 않은 남은 부분(214b)으로 하여 이 부분을 태스크 C(220))에서 실행하는 것을 도시한 것이다. 따라서, 도 10에서 근본적인 원리는 도 9에서와 동일한바 다른 설명은 생략하도록 한다.
도 11은 본 발명의 제 4 실시예에 따라 제 2 태스크(300)를 결정하는 과정을 도시한 도면이다.
도 11을 참고하면, 태스크 A(210)는 실행하지 못한 함수가 두 개(213b, 214) 존재하며, 태스크 B(220)와 태스크 C(230)는 각각 여유 공간(223, 224)을 가지고 있다.
도 11에서는 실행되지 못한 함수는 2개가 존재하므로 제어부(130) 2개의 제 2태스크(300)를 지정할 수 있다. 즉 도 11에서는 태스크 B(220)와 태스크 C(230)가 제 2 태스크(300)로 지정될 수 있다.
그리고 실행되지 못한 두 함수는 그 순서에 따라, 먼저 실행해야 하는 함수 a3②(213b)는 태스크 B(220)에서 실행되며, 나중에 실행되어야 하는 함수 a4는 태스크 C(230)에서 수행될 수 있다. 이러한 경우 함수의 순서가 얽히지 않고 차례대로 진행되므로 보다 안정적으로 시스템을 운영할 수 있는 장점이 존재한다.
지금까지 본 발명의 특징 및 효과에 대해 도면을 통해 알아보았다. 종래 기술의 경우 태스크가 수행하는 각 함수별 수행시간에 대한 연산정보가 존재하지 않아 태스크별 목표 시간을 초과하여 실행되지 않은 함수를 알지 못하고, 실행시간 초과 시 이를 자동적으로 해결할 수 있는 기술이 존재하지 않아 많은 문제점이 존재하였다.
그러나 본 발명의 경우, 태스크 내에서 실행되지 못한 함수 또는 일부부만 실행된 함수를 감지하고 이를 다른 태스크에서 실행할 수 있도록 하여 보다 안정적으로 프로그램을 수행할 수 있는 효과가 존재한다.
지금까지 실시 예들이 비록 한정된 실시 예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다. 그러므로, 다른 실시 예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.
1: 차량
110: 프로세스 제어 블록(PCB)
120: 정보 취득부
130: 제어부
140: 표시부
200: 제 1태스크
300: 제 2태스크

Claims (20)

  1. 오토사(AUTOSAR) 플렛폼이 적용된 차량에 있어서,
    프로세스 제어 블록(PCB)으로부터 제1태스크(Task)에 관한 정보 및 상기 제 1태스크가 실행하는 함수의 종류 및 시간에 관한 정보를 취득하는 정보 취득부; 및
    상기 제1태스크가 실행하는 함수들 중에서 실행되지 못한 함수가 존재하는 경우, 상기 실행되지 못한 함수가 제 2태스크에서 실행되도록 상기 함수를 제어하는 제어부;를 포함하며,
    상기 제 2태스크는,
    상기 제 2태스크의 전체 시간에서 상기 제 2태스크가 수행해야 할 함수의 실행 시간을 제외한 시간이 상기 실행되지 못한 함수를 실행하는데 필요한 시간보다 긴 차량.
  2. 제 1항에 있어서,
    상기 실행하지 못한 함수는,
    함수가 처음부터 실행되지 않았거나 일부만 실행된 함수를 포함하는 차량.
  3. 삭제
  4. 제 1항에 있어서,
    상기 제 2태스크는,
    상기 제 2태스크의 전체 시간 대비 상기 제 2태스크에 포함되어 있는 함수의 실행 시간 비율이 가장 작은 차량.
  5. 제 1항에 있어서,
    상기 제 2태스크는,
    상기 제 1태스크를 기준으로 가장 인접해 있는 차량.
  6. 제 1항에 있어서,
    상기 제어부는,
    상기 실행되지 못한 함수가 복수 개 존재하는 경우, 복수 개의 제 2태스크에서 상기 실행되지 못한 함수들이 실행되도록 상기 함수를 제어하는 차량.
  7. 제 1항에 있어서,
    상기 제어부는,
    상기 실행되지 못한 함수를 실행할 수 있는 상기 제 2태스크가 존재하지 않는 경우, 다른 코어(Core)에서 상기 실행되지 못한 함수를 실행시키는 차량.
  8. 제 7항에 있어서,
    상기 실행되지 못한 함수를 실행할 수 있는 상기 다른 코어가 존재하지 않는 경우, 사용자에게 이를 알리는 표시부를 더 포함하는 차량.
  9. 제 7항에 있어서,
    상기 제어부는,
    상기 실행되지 못한 함수를 실행할 수 있는 다른 코어가 존재하지 않는 경우 미리 설정된 순서에 따라 상기 함수의 실행을 종료시키는 차량.
  10. 제 1항에 있어서,
    상기 정보 취득부는,
    탐침 코드(Instrumentation Code)를 삽입하여 상기 제 1태스크 및 함수에 관한 정보를 취득하는 차량.
  11. 오토사(AUTOSAR) 플렛폼이 적용된 차량의 제어 방법에 있어서,
    프로세스 제어 블록(PCB)으로부터 제1태스크(Task)에 관한 정보 및 상기 제 1태스크가 실행하는 함수의 종류 및 시간에 관한 정보를 취득하는 단계;
    상기 제1태스크가 실행하는 함수들 중에서 실행되지 못한 함수가 존재하는지 판단하는 단계;
    상기 실행되지 못한 함수가 존재하는 경우 제 2태스크에서 상기 실행되지 못한 함수가 실행되도록 상기 함수를 제어하는 단계를 포함하며,
    상기 제 2태스크는,
    상기 제 2태스크의 전체 시간에서 상기 제 2태스크가 수행해야 할 함수의 실행 시간을 제외한 시간이 상기 실행되지 못한 함수를 실행하는데 필요한 시간보다 긴 차량의 제어 방법.
  12. 제 11항에 있어서,
    상기 실행하지 못한 함수는,
    함수가 처음부터 실행되지 않았거나 일부만 실행된 함수를 포함하는 차량의 제어 방법.
  13. 삭제
  14. 제 11항에 있어서,
    상기 제 2태스크는,
    상기 제 2태스크의 전체 시간 대비 상기 제 2태스크에 포함되어 있는 함수의 실행 시간 비율이 가장 작은 차량의 제어 방법.
  15. 제 11항에 있어서,
    상기 제 2태스크는,
    상기 제 1태스크를 기준으로 가장 인접해 있는 차량의 제어 방법.
  16. 제 11항에 있어서,
    상기 함수를 제어하는 단계는,
    상기 실행되지 못한 함수가 복수 개 존재하는 경우, 복수 개의 제 2태스크에서 상기 실행되지 못한 함수들이 실행되도록 상기 함수를 제어하는 단계를 포함하는 차량의 제어 방법.
  17. 제 11항에 있어서,
    상기 함수를 제어하는 단계는,
    상기 실행되지 못한 함수를 실행할 수 있는 상기 제 2태스크가 존재하지 않는 경우, 다른 코어(Core)에서 상기 실행되지 못한 함수를 실행시키는 단계를 더 포함하는 차량의 제어 방법.
  18. 제 17항에 있어서,
    상기 실행되지 못한 함수를 실행할 수 있는 상기 다른 코어가 존재하지 않는 경우, 사용자에게 이를 알리는 단계를 더 포함하는 차량의 제어 방법.
  19. 제 17항에 있어서,
    상기 함수를 제어하는 단계는.
    상기 실행되지 못한 함수를 실행할 수 있는 다른 코어가 존재하지 않는 경우 미리 설정된 순서에 따라 상기 함수의 실행을 종료시키는 단계를 더 포함하는 차량의 제어 방법.
  20. 제 11항에 있어서,
    상기 정보를 취득하는 단계는,
    탐침 코드(Instrumentation Code)를 삽입하여 상기 제 1태스크 및 함수에 관한 정보를 취득하는 단계를 포함하는 차량의 제어 방법.
KR1020170034684A 2017-03-20 2017-03-20 차량 및 그 제어 방법 KR102309429B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020170034684A KR102309429B1 (ko) 2017-03-20 2017-03-20 차량 및 그 제어 방법
US15/788,382 US10843704B2 (en) 2017-03-20 2017-10-19 Vehicle and control method thereof
CN201711054339.XA CN108621978B (zh) 2017-03-20 2017-10-31 车辆及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170034684A KR102309429B1 (ko) 2017-03-20 2017-03-20 차량 및 그 제어 방법

Publications (2)

Publication Number Publication Date
KR20180106406A KR20180106406A (ko) 2018-10-01
KR102309429B1 true KR102309429B1 (ko) 2021-10-07

Family

ID=63520968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170034684A KR102309429B1 (ko) 2017-03-20 2017-03-20 차량 및 그 제어 방법

Country Status (3)

Country Link
US (1) US10843704B2 (ko)
KR (1) KR102309429B1 (ko)
CN (1) CN108621978B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102360725B1 (ko) * 2020-12-15 2022-02-08 현대오토에버 주식회사 차량용 제어기 및 그것의 에러 관리 방법
US20230222846A1 (en) * 2022-01-11 2023-07-13 Ford Global Technologies, Llc Task managing system for testing-configuring vehicles based on a task order and method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158015A1 (en) * 2007-12-17 2009-06-18 Hillman Garth D Uses of Known Good Code for Implementing Processor Architectural Modifications
KR101233214B1 (ko) * 2011-06-02 2013-02-15 엘지전자 주식회사 이동통신 단말기 및 그 동작방법
US20140052432A1 (en) * 2011-04-23 2014-02-20 Michael Deubzer Method for a design evaluation of a system
US20150248343A1 (en) * 2012-07-27 2015-09-03 Freescale Semiconductor, Inc. Method and apparatus for implementing instrumentation code

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030204549A1 (en) 1998-10-22 2003-10-30 Wolfgang Eibach Operating system for handling dynamic and static tasks
JP2001167060A (ja) 1999-12-07 2001-06-22 Hitachi Ltd タスク並列化方法
JP2001350639A (ja) 2000-06-06 2001-12-21 Atr Adaptive Communications Res Lab ソフトリアルタイムにおけるスケジューリング方法
JP2002342097A (ja) * 2001-05-17 2002-11-29 Matsushita Electric Ind Co Ltd タスク割当可能時間決定装置及びタスク割当可能時間決定方法
JP4028444B2 (ja) * 2003-06-27 2007-12-26 株式会社東芝 スケジューリング方法およびリアルタイム処理システム
JP3920818B2 (ja) * 2003-07-22 2007-05-30 株式会社東芝 スケジューリング方法および情報処理システム
JP4016010B2 (ja) * 2004-03-26 2007-12-05 株式会社東芝 リアルタイムスケジューリング可能性判定方法およびリアルタイムシステム
US7523092B2 (en) * 2004-12-14 2009-04-21 International Business Machines Corporation Optimization of aspects of information technology structures
US7406689B2 (en) * 2005-03-22 2008-07-29 International Business Machines Corporation Jobstream planner considering network contention & resource availability
JP4074296B2 (ja) * 2005-03-25 2008-04-09 株式会社東芝 スケジューリング可能性判定方法、リアルタイムシステム及びプログラム
JP2006295715A (ja) * 2005-04-13 2006-10-26 Toyota Motor Corp 車両遠隔操作装置及びシステム
JP2008276674A (ja) 2007-05-07 2008-11-13 Denso Corp タスクの実行時間を特定することのできる電子計算装置、および当該電子計算装置用のプログラム
US8612729B2 (en) * 2007-12-17 2013-12-17 Advanced Micro Devices, Inc. Known good code for on-chip device management
US8856196B2 (en) * 2008-07-22 2014-10-07 Toyota Jidosha Kabushiki Kaisha System and method for transferring tasks in a multi-core processor based on trial execution and core node
US8245234B2 (en) * 2009-08-10 2012-08-14 Avaya Inc. Credit scheduler for ordering the execution of tasks
JP2011216004A (ja) 2010-04-01 2011-10-27 Toyota Motor Corp マイクロプロセッサ、電子制御ユニット、実行比率切り替え方法
US8606375B2 (en) * 2010-06-04 2013-12-10 The Mathworks, Inc. Interactive control of multiple input multiple output control structures
US8566633B2 (en) * 2011-02-10 2013-10-22 GM Global Technology Operations LLC Method of dynamic allocation on a statically allocated and embedded software architecture
JP5938165B2 (ja) * 2011-02-25 2016-06-22 任天堂株式会社 情報処理装置、情報処理プログラム、情報処理方法および情報処理システム
US9128763B2 (en) * 2011-08-23 2015-09-08 Infosys Limited System and method for job scheduling optimization
JP5842930B2 (ja) * 2011-12-21 2016-01-13 富士通株式会社 情報処理装置、情報処理方法、およびプログラム
WO2013123376A1 (en) * 2012-02-15 2013-08-22 The Mathworks, Inc. Unified state transition table describing a state machine model
US8819618B2 (en) * 2012-09-26 2014-08-26 The Mathworks, Inc. Behavior invariant optimization of maximum execution times for model simulation
KR20140078344A (ko) 2012-12-17 2014-06-25 콘티넨탈 오토모티브 시스템 주식회사 차량 소프트웨어의 성능 판단방법
US9959142B2 (en) * 2014-06-17 2018-05-01 Mediatek Inc. Dynamic task scheduling method for dispatching sub-tasks to computing devices of heterogeneous computing system and related computer readable medium
US9513967B2 (en) * 2014-09-18 2016-12-06 International Business Machines Corporation Data-aware workload scheduling and execution in heterogeneous environments
US9696787B2 (en) * 2014-12-10 2017-07-04 Qualcomm Innovation Center, Inc. Dynamic control of processors to reduce thermal and power costs
JP2016162418A (ja) * 2015-03-05 2016-09-05 富士通株式会社 検索制御プログラム、検索制御方法および検索制御装置
KR101728326B1 (ko) * 2015-03-19 2017-05-02 현대자동차주식회사 차량, 서버 및 이를 포함하는 차량 모니터링 시스템
US9501328B2 (en) * 2015-03-30 2016-11-22 Qualcomm Incorporated Method for exploiting parallelism in task-based systems using an iteration space splitter
KR101794568B1 (ko) * 2016-03-29 2017-12-01 현대오트론 주식회사 오토사 운영체제의 태스크 분배 방법 및 그 장치
US10698692B2 (en) * 2016-07-21 2020-06-30 Advanced Micro Devices, Inc. Controlling the operating speed of stages of an asynchronous pipeline
US10275280B2 (en) * 2016-08-10 2019-04-30 International Business Machines Corporation Reserving a core of a processor complex for a critical task
US10289448B2 (en) * 2016-09-06 2019-05-14 At&T Intellectual Property I, L.P. Background traffic management
US10503544B2 (en) * 2016-10-17 2019-12-10 Toyota Jidosha Kabushiki Kaisha Efficient mapping from task graphs to dynamic system platforms
US9747139B1 (en) * 2016-10-19 2017-08-29 International Business Machines Corporation Performance-based multi-mode task dispatching in a multi-processor core system for high temperature avoidance
US10664413B2 (en) * 2017-01-27 2020-05-26 Lear Corporation Hardware security for an electronic control unit
US11237866B2 (en) * 2017-05-04 2022-02-01 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a scheduler and workload manager with scheduling redundancy and site fault isolation
DE102018221534A1 (de) * 2017-12-18 2019-06-19 Robert Bosch Engineering And Business Solutions Private Limited System und Verfahren zum Messen der Reaktionszeit von Ereignisketten
US11475306B2 (en) * 2018-03-22 2022-10-18 Amazon Technologies, Inc. Processing for multiple input data sets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090158015A1 (en) * 2007-12-17 2009-06-18 Hillman Garth D Uses of Known Good Code for Implementing Processor Architectural Modifications
US20140052432A1 (en) * 2011-04-23 2014-02-20 Michael Deubzer Method for a design evaluation of a system
KR101233214B1 (ko) * 2011-06-02 2013-02-15 엘지전자 주식회사 이동통신 단말기 및 그 동작방법
US20150248343A1 (en) * 2012-07-27 2015-09-03 Freescale Semiconductor, Inc. Method and apparatus for implementing instrumentation code

Also Published As

Publication number Publication date
KR20180106406A (ko) 2018-10-01
CN108621978B (zh) 2022-08-12
US20180265096A1 (en) 2018-09-20
CN108621978A (zh) 2018-10-09
US10843704B2 (en) 2020-11-24

Similar Documents

Publication Publication Date Title
JP6659312B2 (ja) 自律的な乗客用の乗り物のためのコンピューティング装置、コンピュータにより実施される方法及びシステム
US10107888B1 (en) Vehicle status monitoring system and vehicle
US10325519B2 (en) Vehicle tutorial system and method for sending vehicle tutorial to tutorial manager device
US10305304B2 (en) Cloud server, vehicle, and method for controlling the vehicle
US11054818B2 (en) Vehicle control arbitration
KR102327195B1 (ko) 차량의 원격 제어방법과 이를 위한 차량 및 이동통신 단말
EP3167364B1 (en) Operating system startup acceleration
CN109466471B (zh) 车辆及其控制方法
KR102309429B1 (ko) 차량 및 그 제어 방법
JP7238547B2 (ja) 自動車用演算装置
US10379871B2 (en) Operating system startup acceleration
EP3167360B1 (en) Operating system startup acceleration
JP2020035442A (ja) 車両運行状態監視方法、装置、及び機器
US20190355185A1 (en) Vehicle entry through access points via mobile devices
CN112477881B (zh) 车辆控制指令的生成方法和装置
JP2020040581A (ja) 判定システム、車両制御システム、車両、判定方法、及びプログラム
CN114841514A (zh) 模型训练和车辆舒适性评价方法、装置、设备及存储介质
JP2011162090A (ja) 車両制御システム
CN113791840A (zh) 一种管理系统、管理方法、装置、设备及存储介质
KR20200048361A (ko) 차량 및 그 제어방법
US10437244B2 (en) Remote vehicle insturction
US20240126594A1 (en) Application control in a vehicle
US20230143376A1 (en) Vehicle platform and vehicle control interface box
CN112172819A (zh) 一种车辆变道方法、装置、设备及存储介质
US9639168B2 (en) Vehicle having touch recognizing function, control method thereof, and navigation device

Legal Events

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