KR100705955B1 - 자동차의 엔진 제어 방법 - Google Patents
자동차의 엔진 제어 방법 Download PDFInfo
- Publication number
- KR100705955B1 KR100705955B1 KR1020040116855A KR20040116855A KR100705955B1 KR 100705955 B1 KR100705955 B1 KR 100705955B1 KR 1020040116855 A KR1020040116855 A KR 1020040116855A KR 20040116855 A KR20040116855 A KR 20040116855A KR 100705955 B1 KR100705955 B1 KR 100705955B1
- Authority
- KR
- South Korea
- Prior art keywords
- task
- delay time
- engine
- elapsed
- tasks
- Prior art date
Links
Images
Classifications
-
- F—MECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
- F02—COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
- F02D—CONTROLLING COMBUSTION ENGINES
- F02D41/00—Electrical control of supply of combustible mixture or its constituents
- F02D41/24—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means
- F02D41/26—Electrical control of supply of combustible mixture or its constituents characterised by the use of digital means using computer, e.g. microprocessor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Mechanical Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Combined Controls Of Internal Combustion Engines (AREA)
Abstract
다수개의 타스크 각각에 지연 시간을 설정하여 타스크 실행 순위를 결정한 후 결정된 순위에 따라 타스크를 실행하는 자동차의 엔진 제어 방법이 개시되어 있다. 이러한 본 발명은 이러한 복수의 제어 프로그램 중 하나의 프로그램 내용을 변경할 필요가 생겼을 경우나 또는 새로운 프로그램을 추가하는 경우, 또는 현재 시점에서 우선적으로 처리하여 경우에는 일부분만의 변경으로는 안되며, 결국 복수 제어 프로그램의 전체를 재 작성하여야 하는 불편함이 있었다. 본 발명에 의하면, 각 제어 프로그램의 타스크 마다 지연 시간을 설정하여 레벨의 실행 순위를 결정함으로써, 우선 처리하여야 하는 타스크를 효율적으로 처리하여 최적의 상태로 엔진을 제어할 수 있다.
자동차, 엔진제어, 운영 체제, 마이크로 프로세서
Description
도 1은 각 프로그램에 대한 타스크 테이블을 보인 도이다.
도 2는 도 1의 도시된 각 타스크에 할당된 비트 데이털르 보인 도이다.
도 3은 본 발명에 따른 자동차의 엔진 제어 과정을 보인 흐름도이다.
본 발명은 자동차의 엔진 제어 방법에 관한 것으로서, 보다 상세하게는, 엔진에 대한 최적의 엔진 상태로 제어하기 위한 자동차의 엔진 제어 방법에 관한 것이다.
통상적인 엔진 전자 제어 장치(Engine control unit)는 엔진의 효율적 작동으로 위하여 연료 분사량 제어, 점화 시기, 엔진의 회전수 계산 및 단위 행정 당 흡입 공기량 계산 등을 위한 동작을 실행하고 있다. 즉, 엔진 전자 제어 장치가 이러한 계산들을 정확하게 실행하기 위하여 연료 분사량, 흡입 공기량 등 엔진의 물리량 측정을 정확히 하여야 하는 것이 필수적이다.
이러한 물리량 측정 및 계산은 TDC의 경우 1 기통 엔진의 경우 엔진 1/2 회전 마다 1회씩 수행하여야 하고, 이러한 물리량 측정 및 계산은 타스크(작업)라 칭한다.
즉, 일반적인 엔진 제어 방법은 그 제어 대상 마다 센서에서 발생된 정보 인출에서부터 엔진을 제어하고자 하는 모든 기능에 대한 제어량의 설정까지의 일련의 프로그램을 엔진의 상태에 따라 실행하고 있다. 이러한 제어 프로그램으로서는, 예를 들어, 연료량 제어 프로그램이나 점화 시가 제어 프로그램 등 제어 프로그램 및 엔진 시동 프로그램 등이 있다. 연료량 제어 프로그램이나 점화 시기 제어 프로그램 등은 엔진 회전의 일정 크랭크 각에 동기되어 실행되며, 상기 프로그램의 연산 결과인 연료 공급량이나 점화 시기 진각량을 펄스출력 회로에 출력함으로써 상기 프로그램의 타스크 처리를 종료시킨다.
이와 같은 엔진의 어떤 상태에서 프로그램을 실행하며, 제어 시스템인 엔진 전자 제어 장치의 부하 상태가 엔진의 동작 상태에 따라 크게 변동한다. 예를 들어 엔진 속도가 저속에서 중속 또는 고속으로 변환하는 경우 타스크의 처리의 실행 회수인 연산 요구 회수가 엔진 속도에 증대되므로 엔진 전자 제어 장치는 이러한 요구에 응할 수 없는 경우가 발생하였다.
즉, 이러한 복수의 제어 프로그램 중 하나의 프로그램 중 타스크의 내용을 변경할 필요가 생겼을 경우나 또는 새로운 프로그램을 추가하는 경우, 또는 현재 시점에서 우선적으로 처리하여 경우에는 일부분만의 변경으로는 안되며, 결국 복수 제어 프로그램의 전체를 재 작성하여야 하는 불편함이 있었다.
본 발명은 이와 같은 문제점을 해결하기 위해 창출된 것으로, 본 발명의 목적은 각 제어 프로그램의 타스크 마다 각각의 지연 시간을 설정하고, 이 설정된 지연 시간에 따라 실행하여야 할 타스크의 순위를 결정함으로써, 우선 처리하여야 하는 레벨의 타스크를 효율적으로 처리할 수 있는 자동차의 엔진 제어 방법을 제공하고자 함에 있다.
상기와 같은 목적을 달성하기 위하여 본 발명의 기술적 과제는
다수개의 프로그램의 타스크의 수행 순위를 지연 시간에 따라 설정하고, 상기 설정된 순위에 따라 순차적으로 수행하도록 제어하는 운용 프로그램을 포함하는 자동차의 엔진 제어 방법에 있어서,
a) 각 타스크에 대한 플래그 비트를 초기화하는 단계;
b) 미리 설정된 최저 지연 시간을 가지는 타스크를 미리 저장된 타스크 테이블로부터 읽어 들이는 단계;
c) 상기 b)단계에서 읽어 들인 상기 최저 지연 시간을 가지는 현재 타스크에 대한 지연 시간 및 소정 시간을 카운팅하기 위한 플래그 비트를 설정하는 단계;
d) 상기 c) 단계에서 현재 타스크를 실행하는 단계; 및
e) 상기 d) 단계의 실행 후 미리 설정된 최저 지연 시간이 경과되었는 지를 판단하고, 최저 지연 시간이 경과된 경우 현재 타스크의 소정 시간이 경과되었는 지를 판단하고 판단 결과 소정 시간이 경과되지 않은 경우 상기 d) 단계로 진행하여 현재 타스크를 계속 실행하고, 상기 소정 시간이 경과된 경우 상기 최저 지연 시간을 가지는 타스크를 제외한 다음 최저 지연 시간을 가지는 타스크를 타스크 테이블로부터 읽은 후 상기 c) 단계로 진행하는 단계로 이루어지는 것을 특징으로 하는 자동차의 엔진 제어 방법을 제공함으로서 달성될 수 있다.
본 발명에 의하면, 각 제어 프로그램의 각 타스크 마다 지연 시간을 설정하고, 이 설정된 지연 시간에 따라 실행하여야 할 타스크의 순위를 결정함으로써, 우선 처리하여야 하는 타스크를 효율적으로 처리하여 최적의 상태로 엔진을 제어할 수 있다.
이하, 본 발명을 첨부된 예시도면에 의거 상세히 설명하면 다음과 같다.
도 1은 본 발명이 적용되는 하나의 제어 프로그램에 대한 타스크를 보인 도이고, 도 2는 도 1에 도시된 각 타스크에 할당된 비트 데이터를 보인 도이다. 도 1 및 도 2에 도시된 바와 같이, 각 타스크에 대한 비트 데이터는 각각의 타스크 마다 할당된다. 즉, 발명의 실시 예에서는 도 1에 도시된 바와 같이, 하나의 제어 프로그램(N)에 대해 다수의 타스크(AA, BB, CC, DD...)가 타스크 테이블 형태로 저장되고, 도 2에 도시된 바와 같이, 도 1에 도시된 각 타스크 마다 미리 설정된 지연 시간을 나타내는 비트 데이터가 타스크 테이블 형태로 메모리에 저장된다, 예를들어 제1 타스크의 비트 데이터가 001로 저자된 경우 상기 제1 타스크의 재연 시간은 2sㄹ로 설정된다.
즉, 도 1에 도시된 바와 같이, 타스크는 1 바이트 크기를 가지는 램의 경우 총 8개의 타스크가 존재하게 되고, 타스크 테이블에 저장된 비트 데이터는 비트 0부터 비트7까지 모두 스캔한 후 최저 지연 시간을 가지는 타스크가 읽혀지며, 읽혀진 해당 타스크의 비트 데이터를 기초로 설정된 지연 시간과 소정 시간은 플래그 비트에 의해 서정된다, 해당 타스크는 상기 설정된 플래그 비트가 0으로 될 때까지 지연 후 실행된다. 여기서, 상기 플래그 비트는 상기 해당 타스크의 지연 시간과 소정 시간(실제 타스크가 실행되는 실행 시간)으로 설정되며, 상기 소정 시간은 통상 10ms로 이미 공지된 값이다.
즉, 도 1에 도시된 바와 같이, 타스크는 1 바이트 크기를 가지는 램의 경우 총 8개의 타스크가 존재하게 되고, 타스크 테이블에 저장된 비트 데이터는 비트 0부터 비트7까지 모두 스캔한 후 최저 지연 시간을 가지는 타스크가 읽혀지며, 읽혀진 해당 타스크의 비트 데이터를 기초로 설정된 지연 시간과 소정 시간은 플래그 비트에 의해 서정된다, 해당 타스크는 상기 설정된 플래그 비트가 0으로 될 때까지 지연 후 실행된다. 여기서, 상기 플래그 비트는 상기 해당 타스크의 지연 시간과 소정 시간(실제 타스크가 실행되는 실행 시간)으로 설정되며, 상기 소정 시간은 통상 10ms로 이미 공지된 값이다.
삭제
또한, 각 타스크에 대한 지연 시간은 매 10ms마다 수징된다. 예를 들어 10ms 배수로 수행되는 타스크와 10ms 단위로 타스크 들을 수행할 수 있도록 타스크 테이블의 데이터가 업데이트된다.
즉, 10ms 마다 제1 타스크를 실행하고, 10ms 배수인 20ms 마다 제2 타스크를, 20ms 의 배수인 40ms 마다 제3 타스크를, 40ms의 배수인 80ms 마다 제4 타스크를 실행한다. 각 타스크에 대한 타스크 테이블 데이터가 각각 000에서 001로 스캔된 경우 타스크 수행은 (10ms, 20ms)이다. 여기서, (10ms, 20ms)는 10ms 단위로 수정되는 현재 타스크이며 이 현재 타스크 수행 시간은 20ms의 지연 시간과 10ms의 소정 시간이 포함됨을 의미한다.
또한, 다음 타스크의 스캔된 데이터가 010인 경우 경우 지연 시간은 (10ms, 40ms)이다. 3번째 비트 데이터가 1에서 0으로 변경된 후 다시 2번째 비트 데이터가 0에서 1로 변경되었으므로 지연 시간은 40ms이 소요된다.
다음 타스크의 스캔된 데이터가 010에서 011로 수정된 경우 3번째 비트 정보 만이 변경되었으므로, 지연 시간은 (10ms, 20ms)이 된다.
상기에서 설명한 바와 같이, 각 레벨의 타스크의 지연 시간은 매 10ms 마다 (10ms, 20ms), (10ms, 40ms), (10ms, 20ms), (10ms, 40ms),(10ms, 80ms), (10ms, 20ms), (10ms, 40ms) (10ms, 160ms) ... 순서대로 설정된다.
또한, 상기 마이크로프로세서는 이러한 타스크의 지연 시간 및 소정 시간을 카운팅하기 위한 플래그 비트를 설정한다. 상기의 과정을 통해 각 타스크에 대한 지연 시간의 설정이 매 10ms 마다 업 데이트가 끝난 후 마이크로 프로세서는 각 타스크의 지연 시간을 설정한 후 설정된 지연 시간마다 타스크를 수행함으로써, 각 타스크 간의 우선 순위를 간단하게 설정할 수 있다. 예를 들어 마이크로프로세서는 20ms의 지연 시간과 10ms 의 소정 시간을 카운팅하도록 플래그 비트를 설정하고, 설정된 플래그 비트가 0이 되면 현재 타스크의 실행이 종료된 것으로 판정하여 다음 지연 시간과 소정 시간을 가지는 해당 타스크의 비트 데이터를 타스크 테이블로부터 읽은 후 해당 타스크를 실행한다.
즉, 각 타스크 테이블에 저장된 비트 데이터를 스캔하여 상기 3번째 비트 데이터가 변경된 최저 지연 시간을 가지는 타스크(BB)로 판정하여 가장 먼저 실행하고, 현재 진행하고 있는 타스크 수행 완료 후 다음 최저 지연 시간을 가지는 타스크(AA)를 수행하게 된다.
도 3은 본 발명에 따른 각 타스크의 지연 시간에 따라 정해진 타스크를 실행순서에 따라 타스크를 실행하는 과정을 보인 흐름도이다. 도 3의 흐름도를 참조하여 엔진 제어 장치의 마이크로 프로세서에서 행하여지는 각 레벨에 대한 타스크 실행 동작에 대해 설명한다.
도 3은 본 발명에 따른 각 타스크의 지연 시간에 따라 정해진 타스크를 실행순서에 따라 타스크를 실행하는 과정을 보인 흐름도이다. 도 3의 흐름도를 참조하여 엔진 제어 장치의 마이크로 프로세서에서 행하여지는 각 레벨에 대한 타스크 실행 동작에 대해 설명한다.
삭제
우선, 상기 마이크로 프로세서는 타스크에 할당된 플래그 비트를 초기화시키고(단계 201), 도2에 도시된 각 타스크에 할당된 타스크 테이블에 저장된 비트 데이터를 스캔하여 상기 최저 지연 시간을 가지는 타스크의 비트 데이터를 미리 저장된 타스크 테이블로부터 읽어 들인다(단계 203).
그 후 상기 단계(203)에서 읽어 들인 상기 최저 지연 시간을 가지는 현재 타스크의 지연 시간과 소정 시간을 카운팅하기 위한 플래그 비트를 상기 지연 시간 및 소정 시간으로 설정한 후(단계 205) 상기 현재 행한다(단계 207).
상기 단계(207)의 실행 후 상기 마이크로프로세서는 미리 설정된 지연 시간이 경과되었는 지를 체크하여(단계 209) 최저 지연 시간이 경과되지 않은 경우 미리 설정된 타스크의 소정 시간이 경과되었는 지를 체크한다(단계 211).
상기 단계(211)를 통해 현재 타스크의 소정 시간이 경과된 경우 다음 최저 지연 시간을 가지는 현재 타스크를 미리 저장된 타스크 테이블로부터 읽은 후(단계 213) 상기 단계(205)로 진행한다.
한편, 상기 단계(211)를 통해 상기 최저 지연 시간이 경과되지 않는 경우 상기 단계(207)로 진행하여 상기 단계(203)에 의해 설정된 현재 타스크를 계속 실행한다. 상기의 일련의 과정은 자동차의 전원이 오프될 때 가지 반복 실행한다.
이상 설명된 바와 같이, 본 발명에 따른 자동차의 엔진 제어 방법은, 각 제어 프로그램의 각 타스크 지연 시간을 설정하고, 이 설정된 지연 시간에 따라 실행하여야 할 타스크의 실행 순위를 결정함으로써, 우선 처리하여야 하는 타스크를 효율적으로 처리하여 최적의 상태로 엔진을 제어할 수 있다.
본 발명은 상기한 실시 예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.
Claims (1)
- 다수개의 프로그램의 타스크의 수행 순위를 지연 시간에 따라 설정하고, 상기 설정된 순위에 따라 순차적으로 수행하도록 제어하는 운용 프로그램을 포함하는 자동차의 엔진 제어 방법에 있어서,a) 각 타스크에 대한 플래그 비트를 초기화하는 단계;b) 미리 설정된 최저 지연 시간을 가지는 타스크를 미리 저장된 타스크 테이블로부터 읽어 들이는 단계;c) 상기 b)단계에서 읽어 들인 상기 최저 지연 시간을 가지는 현재 타스크에 대한 지연 시간 및 소정 시간을 카운팅하기 위한 플래그 비트를 설정하는 단계;d) 상기 c) 단계에서 현재 타스크를 실행하는 단계; 및e) 상기 d) 단계의 실행 후 미리 설정된 최저 지연 시간이 경과되었는 지를 판단하고, 최저 지연 시간이 경과된 경우 현재 타스크의 소정 시간이 경과되었는 지를 판단하고 판단 결과 소정 시간이 경과되지 않은 경우 상기 d) 단계로 진행하여 현재 타스크를 계속 실행하고, 상기 소정 시간이 경과된 경우 상기 최저 지연 시간을 가지는 타스크를 제외한 다음 최저 지연 시간을 가지는 타스크를 타스크 테이블로부터 읽은 후 상기 c) 단계로 진행하는 단계로 이루어지는 것을 특징으로 하는 자동차의 엔진 제어 방법
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040116855A KR100705955B1 (ko) | 2004-12-30 | 2004-12-30 | 자동차의 엔진 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040116855A KR100705955B1 (ko) | 2004-12-30 | 2004-12-30 | 자동차의 엔진 제어 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060078155A KR20060078155A (ko) | 2006-07-05 |
KR100705955B1 true KR100705955B1 (ko) | 2007-04-11 |
Family
ID=37170099
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040116855A KR100705955B1 (ko) | 2004-12-30 | 2004-12-30 | 자동차의 엔진 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100705955B1 (ko) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06230985A (ja) * | 1993-02-02 | 1994-08-19 | Hitachi Ltd | タスク制御回路、及びマイクロプロセッサ |
KR970016979A (ko) * | 1995-09-27 | 1997-04-28 | 제프리 엘. 포맨 | 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법 |
JPH09146780A (ja) * | 1995-11-20 | 1997-06-06 | Fujitsu Ltd | ハードウェアパッケージに対するタスク実行順序制御方法 |
JPH11134203A (ja) | 1997-09-01 | 1999-05-21 | Matsushita Electric Ind Co Ltd | マイクロコントローラ、データ処理システム及びタスクスイッチの制御方法 |
KR20040049732A (ko) * | 2002-12-07 | 2004-06-12 | 한국전자통신연구원 | 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진 및방법과 그를 이용한 홈게이트웨이의 데이터 서비스 시스템 |
-
2004
- 2004-12-30 KR KR1020040116855A patent/KR100705955B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06230985A (ja) * | 1993-02-02 | 1994-08-19 | Hitachi Ltd | タスク制御回路、及びマイクロプロセッサ |
KR970016979A (ko) * | 1995-09-27 | 1997-04-28 | 제프리 엘. 포맨 | 다중 처리 시스템에서 타스크의 큐잉 시스템 및 방법 |
JPH09128252A (ja) * | 1995-09-27 | 1997-05-16 | Internatl Business Mach Corp <Ibm> | 優先度付きタスク実行制御方法及びデータ処理装置 |
JPH09146780A (ja) * | 1995-11-20 | 1997-06-06 | Fujitsu Ltd | ハードウェアパッケージに対するタスク実行順序制御方法 |
JPH11134203A (ja) | 1997-09-01 | 1999-05-21 | Matsushita Electric Ind Co Ltd | マイクロコントローラ、データ処理システム及びタスクスイッチの制御方法 |
KR20040049732A (ko) * | 2002-12-07 | 2004-06-12 | 한국전자통신연구원 | 홈게이트웨이 시스템에서의 동적 우선순위 큐잉 엔진 및방법과 그를 이용한 홈게이트웨이의 데이터 서비스 시스템 |
Also Published As
Publication number | Publication date |
---|---|
KR20060078155A (ko) | 2006-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4376428A (en) | Spark timing control system for internal combustion engine | |
JP6125111B2 (ja) | 車載電子制御装置 | |
JP2005133614A (ja) | エンジン制御装置 | |
KR100705955B1 (ko) | 자동차의 엔진 제어 방법 | |
JPH04112967A (ja) | 内燃機関点火制御方法及び装置 | |
KR100705956B1 (ko) | 자동차의 엔진 제어 방법 | |
JP4462147B2 (ja) | 信号出力装置及び電子制御装置 | |
US4996958A (en) | Ignition timing controlling apparatus for internal combustion engine | |
CN103423011A (zh) | 半导体数据处理装置和引擎控制装置 | |
US6671565B1 (en) | Electronic control apparatus having mode check function | |
US6047683A (en) | Process and arrangement for controlling the fuel injection quantity for an internal-combustion engine in a vehicle | |
KR100273530B1 (ko) | 상사점 태스크용 인터럽트 장치 | |
JP2016162330A (ja) | 電子制御装置 | |
JPH0681917B2 (ja) | 内燃機関の気筒判別装置 | |
US6591810B2 (en) | Control system for internal combustion engine | |
JP6834671B2 (ja) | 電子制御装置 | |
KR0164491B1 (ko) | 차량의 엔진 제어 방법 | |
JPS5967459A (ja) | 内燃機関の回転数検出方法 | |
JPH0610755A (ja) | 内燃機関の運転パラメータに関係するプロセスを制御する装置 | |
JP2003172190A (ja) | 加速性能の評価方法、加速性能評価装置及び車両 | |
KR100282904B1 (ko) | 크랭크 축 위치 감지 신호 처리 장치 및 그 방법 | |
KR100273552B1 (ko) | 실린더 위치 감지 신호 처리 장치 및 그 방법 | |
JP2001318701A (ja) | 電子制御装置 | |
JP2588649B2 (ja) | 内燃機関点火制御装置 | |
KR100394866B1 (ko) | 차량의 엔진 관리 시스템 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20130321 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20140320 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160324 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20170323 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20180323 Year of fee payment: 12 |