JP2000293382A - リアルタイムオペレーティングシステムを用いたタスク起動制御装置 - Google Patents

リアルタイムオペレーティングシステムを用いたタスク起動制御装置

Info

Publication number
JP2000293382A
JP2000293382A JP11103879A JP10387999A JP2000293382A JP 2000293382 A JP2000293382 A JP 2000293382A JP 11103879 A JP11103879 A JP 11103879A JP 10387999 A JP10387999 A JP 10387999A JP 2000293382 A JP2000293382 A JP 2000293382A
Authority
JP
Japan
Prior art keywords
task
event
standby state
executed
occurrence
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP11103879A
Other languages
English (en)
Inventor
Tomokazu Sawada
朋一 沢田
Kenji Sunami
堅二 角南
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP11103879A priority Critical patent/JP2000293382A/ja
Publication of JP2000293382A publication Critical patent/JP2000293382A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】無駄な処理を無くし、タスク起動の最適化を図
ることができるリアルタイムオペレーティングシステム
を用いたタスク起動制御装置を提供する。 【解決手段】ECU1のCPU10は各イベントの発生
を検出して、所望の演算プログラムを実行する。演算プ
ログラムには、第1のイベントの発生で実行される第1
タスク群と、第2のイベントの発生で実行される第2タ
スク群とを備え、さらに、両タスク群には少なくとも1
つの同一タスクが含まれている。イベントの発生により
第1、第2タスク群を起動すべくタスクを待機状態にす
る前に、ステップ104でタスク状態を判断し、既に同
一タスクが待機状態にある時にはステップ105の処理
を迂回することにより待機状態への移行を禁止する。よ
って、同じタスクがつながっていたらそのタスクはリス
トにつなげない。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、リアルタイムオ
ペレーティングシステムを用いたタスク起動制御装置に
関するものである。
【0002】
【従来の技術】従来、タスク起動をするものとして、特
開平10−105416号公報に示すものがある。それ
は、イベントの発生(パラメータの取り込み時)から要
求時間内にデータを処理するリアルタイムオペレーティ
ングシステムを用いてタスクを起動する起動制御装置に
おいて、イベントによって起動するタスクを共通のヘッ
ダファイルにする。そうすることで、タスクの接続形態
の変更に対してタスクヘッダファイルの変更のみで済
み、変更が容易に実施できる。
【0003】
【発明が解決しようとする課題】上記技術では、イベン
トが発生することによってタスクを起動するが(リスト
につなげるが)、同じタスクを起動するイベントが同時
に複数発生した場合には、そのタスクを同じタイミング
で何度も起動してしまう。
【0004】具体的には、自動車用ECU(エンジン制
御用ECU)において、吸気圧pm、吸気温tha、水
温thwのいずれかが変化したら実行されるタスクの場
合、図7に示すように吸気圧pmが変化した直後に吸気
温thaが変化したら、同じ処理(タスク1)が2回コ
ールされ、最終的に同じタスクが2度実行されてしま
う。
【0005】これにより、処理負荷が増大する原因とな
りうる。この発明は、以上のような事情に鑑みなされた
ものであり、その目的は、無駄な処理を無くし、タスク
起動の最適化を図ることができるリアルタイムオペレー
ティングシステムを用いたタスク起動制御装置を提供す
ることにある。
【0006】
【課題を解決するための手段】請求項1に記載の発明に
よれば、イベントの発生により第1、第2タスク群を起
動すべくタスクを待機状態にする前に、タスク状態が判
断され、既に同一タスクが待機状態にある時には待機状
態への移行が禁止される。
【0007】このように、同じタスクがつながっていた
らそのタスクはリストにつなげないことで、無駄な処理
を無くし、タスク起動の最適化を図ることができる。
【0008】
【発明の実施の形態】以下、この発明を具体化した実施
の形態を図面に従って説明する。本実施形態において
は、エンジン制御用ECU(ECU;Electric Contr
olUnit )に適用している。
【0009】図1には、ECU1の全体構成を示す。E
CU1は自動車のエンジンを制御するためのものであ
る。ECU1は多重伝送路2に接続され、多重伝送路2
を介して他の電子機器と接続されLANを構築したり、
修理用ツール(図示略)と接続できるようになってい
る。
【0010】ECU1はMPU(マイクロコンピュー
タ)3と外部RAM(ランダムアクセスメモリ)4と入
出力(I/O)ユニット5と通信ユニット6とインター
フェース回路7にて構成されている。MPU3は、RO
M(リードオンリメモリ)8と内部RAM9とCPU
(中央処理装置)10を備えている。
【0011】ECU1には吸気管圧力センサ11とエン
ジン回転数センサ12と水温センサ13と吸気温センサ
14が接続されている。吸気管圧力センサ11からエン
ジンの吸気管圧力pmに応じた信号が出力され、エンジ
ン回転数センサ12からエンジン回転数Neに応じた信
号が出力される。また、水温センサ13からエンジン冷
却水温thwに応じた信号が出力され、吸気温センサ1
4から吸気温度thaに応じた信号が出力される。各セ
ンサ11〜14の信号は入出力(I/O)ユニット5を
介してMPU3に取り込まれる。
【0012】また、ECU1には燃料噴射弁15が接続
され、MPU3は入出力(I/O)ユニット5を介して
燃料噴射弁15を駆動制御する。通信ユニット6とイン
ターフェース回路7を用いて、MPU3からデータを多
重伝送路2に送出したり、多重伝送路2からデータを受
信する。
【0013】CPU10はセンサ11〜14からの信号
および通信によるデータに基づいてエンジンの運転状態
に応じた最適燃料噴射量(噴射時間)を演算して燃料噴
射弁15を駆動制御する。また、CPU10は自己診断
を行い、各種センサやアクチュエータの異常発生の有無
を判断する。
【0014】MPU3はイグニッションスイッチ16を
介してバッテリ17に接続されている。外部RAM4は
直接、バッテリ17に接続されており、スイッチオフ後
も記憶内容が保持される。この外部RAM4には前述の
自己診断結果が記憶される。
【0015】MPU3にはリアルタイムオペレーティン
グシステムが搭載されており、各イベントの発生を検出
して所望の演算プログラムを実行する。つまり、MPU
3により、第1のイベントの発生(第1の環境変化)を
検出する第1の検出手段と、第1のイベントの発生(第
1の環境変化)とは異なる第2のイベントの発生(第2
の環境変化)を検出する第2の検出手段と、第1、第2
の検出手段からの情報に基づき所望の演算プログラムを
実行する演算装置とが構成されている。また、この演算
プログラムには、第1のイベントの発生(第1の環境変
化)で実行される第1タスク群と、第2のイベントの発
生(第2の環境変化)で実行される第2タスク群とを備
え、さらに、両タスク群には少なくとも1つの同一タス
クが含まれている。
【0016】このリアルタイムオペレーティングシステ
ムについて図2を用いて詳しく説明する。図2は、リア
ルタイムオペレーティングシステムにて、あるパラメー
タ(吸気管圧力pm、吸気温tha、水温thwの変
化)によって起動されるタスクを示すものである。吸気
管圧力pmが変化した際のタスク群が、タスク5とタス
ク6とタスク1により構成され、吸気温thaが変化し
た際のタスク群が、タスク1とタスク2とタスク3によ
り構成され、水温thwが変化した際のタスク群が、タ
スク1とタスク4により構成されている。このイベント
毎の各タスク群はリアルタイムオペレーティングシステ
ムのイベントハンドラによって選択される(スイッチが
切り換えられる)。
【0017】つまり、イベントの発生(吸気管圧力p
m、吸気温tha、水温thwの変化)に伴い、そのイ
ベントの種類に対応するようにスケジューリングが行わ
れる。具体的には、吸気管圧力pmが変化した場合には
タスク5とタスク6とタスク1が連結され、また、吸気
温thaが変化した場合にはタスク1とタスク2とタス
ク3が連結され、さらに、水温thwが変化した場合に
はタスク1とタスク4が連結される。
【0018】このように、タスク1〜タスク6は、吸気
管圧力pm、吸気温tha、水温thwのいずれかが変
化した時にのみ実行されるタスクであり、かつ、各タス
ク群には少なくとも1つの同一タスク(図2の場合は、
タスク1)が含まれている。
【0019】そして、このタスク群がイベントの発生に
伴って起動され、待機状態のタスク(タスク群を構成す
る各タスク)が順に実行される。例えば、吸気管圧力p
mが変化したら、タスク5,6,1が順に実行される。
【0020】次に、このように構成したECU1、つま
り、リアルタイムオペレーティングシステムを用いたタ
スク起動制御装置の作用を説明する。この作用説明で
は、入力パラメータとして、吸気管圧力pmと吸気温t
haと水温thwを使用し、それらをCPU10に取り
込んで処理する場合について説明する。
【0021】図3には、スケジューリングのフローチャ
ートを示す。この処理は4ms毎に起動する。図4に
は、起動されるタスクデータとスケジューリングの例を
示す。図4において、吸気管圧力pmが変化した直後に
吸気温thaが変化し、さらにその直後に水温thwが
変化した場合を示す。つまり、タスクが実行される前に
pm、tha、thwが連続して変化したときの例であ
る。
【0022】図3において、CPU10はステップ10
0でパラメータの取り込みを行う。つまり、吸気管圧力
pmと吸気温thaと水温thwを4ms毎に取り込
む。そして、CPU10はステップ101で吸気管圧力
pmと吸気温thaと水温thwに関し、前回の取り込
み値に対し変化があったか否か判定する。変化がなけれ
ば、CPU10は図3のフローチャートの処理を終了す
る。
【0023】一方、CPU10はステップ101で前回
の取り込み値に対し変化があると、環境が変化してイベ
ントが発生したとして、リアルタイムオペレーティング
システムのイベントハンドラによる割り込みを行い、以
後の処理を実行する(OSのスケジューリングにタスク
を追加する)。
【0024】まず、ステップ102に移行して、CPU
10は起動するタスクリストの先頭にいく(タスクリス
トの先頭をポインタで指す)。そして、CPU10はス
テップ103で先頭タスクから順に1個ずつタスクの状
態を読み出し、ステップ104でタスク状態が待機状態
か否か(登録済みか否か)を判断する。例えば、吸気管
圧力pmが変化したと判断されると、図2のごとく、タ
スク5、タスク6、タスク1が実行されるべきプログラ
ムであるので、その先頭タスクであるタスク5の状態が
まず判断される。
【0025】タスクの状態は、以下のようにして判断さ
れる。各タスクは図5に示すようなプログラム文でコー
ディングされ、タスクが構成されている。そして、各タ
スクの先頭アドレスにはタスク関数名(Tsk)やタス
クの優先度(pri)と共に、タスクの状態を示すフラ
グ情報(flag)が配設されている。正確には、図5
のプログラム文には該当アドレスのみ記述され、図6に
示すようにフラグ状態はアドレスの示す任意のRAMエ
リアに格納されている。図6の例では$00が実行中
を、$01が待機中を、$11が休止中を示している。
CPU10はこのフラグ情報をみて、図6の例では$0
1となっていないか否か判断する。
【0026】そして、図3のステップ104において図
6のデータを読み出した結果、このデータが待機中を示
す$01でなければ、ステップ105で当該タスクを待
機中を示す$01にする($11から$01に変更す
る)。
【0027】ここで、図4において、吸気管圧力pmが
変化した時[1]の処理として、図3のステップ104
において先頭のタスク5(図2参照)が待機中でないの
で、ステップ105で待機中にする(登録する)。
【0028】一方、図3のステップ104で当該タスク
が待機状態であれば、ステップ105の処理は行わな
い。そして、ステップ105あるいは104の処理を行
った後に、CPU10はステップ106に移行して読み
出すタスクがないか判定し、読み出すタスクが有る場合
にはステップ103に戻る。よって、読み出すタスクが
有る場合にはステップ103〜105の処理が繰り返さ
れる。
【0029】図4の場合には、前述したように吸気管圧
力pmが変化した場合にタスク5を待機中にした後にお
いて、タスク6が読み出され(ステップ103)、待機
中でないので待機中にされ(ステップ105)、さら
に、タスク1が読み出され(ステップ103)、待機中
でないので待機中にされる(ステップ105)。
【0030】そして、図3のステップ106において、
読み出すタスクがなくなると、図3のフローチャートの
処理を終了する。図4の場合に、次に吸気温thaが変
化した際[2]には、図3のステップ103で先頭のタ
スク1(図2参照)が読み出され、ステップ104で図
6のデータを読み出した結果、このデータが待機中を示
す$01であるので、ステップ105の処理は行わな
い。よって、吸気管圧力pmの変化に伴うタスク群の末
尾のタスク1の後に、吸気温thaの変化に伴うタスク
群の先頭のタスク1をつなげないことになる。
【0031】その後、図2のタスク2が読み出され(ス
テップ103)、待機中でないので待機中にされ(ステ
ップ105)、さらに、タスク3が読み出され(ステッ
プ103)、待機中でないので待機中にされる(ステッ
プ105)。
【0032】そして、図3のステップ106において、
読み出すタスクがなくなると、図3のフローチャートの
処理を終了する。図4の場合に、次に水温thwが変化
した際[3]には、図3のステップ103で先頭のタス
ク1(図2参照)が読み出され、ステップ104で図6
のデータを読み出した結果、このデータが待機中を示す
$01であるので、ステップ105の処理は行わない。
よって、吸気温thaの変化に伴うタスク群の末尾のタ
スク3の後に、水温thwの変化に伴うタスク群の先頭
のタスク1をつなげないことになる。
【0033】その後、図2のタスク4が読み出され(ス
テップ103)、待機中でないので待機中にされる(ス
テップ105)。そして、図3のステップ106におい
て、読み出すタスクがなくなると、図3のフローチャー
トの処理を終了する。
【0034】以上のように、吸気管圧力pmを前回値と
比較してもし違いがあれば、OSのスケジューリングに
タスクを追加するが、このときに既に登録されているタ
スクがないので全部待機中にし(登録し)、次に、吸気
温thaが変化してOSのスケジューリングに追加する
ときに、タスク1が既に登録されているのでそれだけ省
いて登録する。同様に、水温thwが変化した時もタス
ク1が登録されているのでそれだけ省く。これにより、
同じタスクが実行されないので、処理の負担が減る。
【0035】つまり、既にタスク状態が待機中($0
1)であるなら、図3のステップ104で登録済みと判
断され、ステップ105の処理は実行されない。よっ
て、同じタスク(図4ではタスク1)が2回実行される
ことはない。
【0036】このように本実施の形態は、下記の特徴を
有する。 (イ)少なくとも2つのタスク群における両タスク群に
少なくとも1つの同一タスクが含まれる場合において、
図3に示すごとくステップ105にてイベントの発生に
より第1、第2タスク群を起動すべくタスクを待機状態
にする前に、ステップ104でタスク状態を判断し、既
に同一タスクが待機状態にある時にはステップ105の
処理を迂回することにより待機状態への移行を禁止する
ようにした。
【0037】よって、同じタスクがつながっていたらそ
のタスクはリストにつなげないことで、無駄な処理を無
くし、タスク起動の最適化を図ることができる。つま
り、同じタスクがつながっていたらそのタスクはリスト
につなげないことで、前回の結果と同じ結果になる無駄
なタスクを起動しない構造を構築できる(無駄な処理を
省くことができる)。
【図面の簡単な説明】
【図1】 エンジン制御ECUの構成図。
【図2】 タスクリストの説明図。
【図3】 CPUの処理内容を示すフローチャート。
【図4】 スケジューリングの説明のための図。
【図5】 OSのプログラムソース例を示す図。
【図6】 フラグ状態を示すデータの格納用メモリを示
す図。
【図7】 従来技術を説明するための図。
【符号の説明】
1…ECU、3…MPU、10…CPU

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】 第1のイベントの発生を検出する第1の
    イベント検出手段と、 前記第1のイベントとは異なる第2のイベントの発生を
    検出する第2のイベント検出手段と、 前記第1、第2のイベントの発生に基づき所望の演算プ
    ログラムを実行する演算装置とを備え、 前記演算プログラムには、前記第1のイベントの発生で
    実行される第1タスク群と、前記第2のイベントの発生
    で実行される第2タスク群とを備え、さらに、両タスク
    群には少なくとも1つの同一タスクが含まれるものであ
    って、 イベントの発生により前記第1、第2タスク群を起動す
    べくタスクを待機状態にする前に、タスク状態を判断
    し、既に同一タスクが待機状態にある時には待機状態へ
    の移行を禁止することを特徴とするリアルタイムオペレ
    ーティングシステムを用いたタスク起動制御装置。
JP11103879A 1999-04-12 1999-04-12 リアルタイムオペレーティングシステムを用いたタスク起動制御装置 Pending JP2000293382A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11103879A JP2000293382A (ja) 1999-04-12 1999-04-12 リアルタイムオペレーティングシステムを用いたタスク起動制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11103879A JP2000293382A (ja) 1999-04-12 1999-04-12 リアルタイムオペレーティングシステムを用いたタスク起動制御装置

Publications (1)

Publication Number Publication Date
JP2000293382A true JP2000293382A (ja) 2000-10-20

Family

ID=14365732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11103879A Pending JP2000293382A (ja) 1999-04-12 1999-04-12 リアルタイムオペレーティングシステムを用いたタスク起動制御装置

Country Status (1)

Country Link
JP (1) JP2000293382A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426201B1 (ko) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 전자 제어 장치의 타스크 운영 시스템
JP2021057043A (ja) * 2019-09-30 2021-04-08 マレリ ヨーロッパ エス.ピー.エー. トラストアンカコンピューティング装置を備える処理システムおよび対応する方法
CN114637597A (zh) * 2020-12-16 2022-06-17 现代奥特奥博株式会社 车辆用操作系统的任务执行系统及方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100426201B1 (ko) * 2001-12-27 2004-04-06 씨멘스 오토모티브 주식회사 전자 제어 장치의 타스크 운영 시스템
JP2021057043A (ja) * 2019-09-30 2021-04-08 マレリ ヨーロッパ エス.ピー.エー. トラストアンカコンピューティング装置を備える処理システムおよび対応する方法
JP7635494B2 (ja) 2019-09-30 2025-02-26 マレリ ヨーロッパ エス.ピー.エー. トラストアンカコンピューティング装置を備える処理システムおよび対応する方法
CN114637597A (zh) * 2020-12-16 2022-06-17 现代奥特奥博株式会社 车辆用操作系统的任务执行系统及方法

Similar Documents

Publication Publication Date Title
CN102741818B (zh) 故障诊断系统、用于车辆的电子控制单元、故障诊断方法
JP3610915B2 (ja) 処理実行装置及びプログラム
JP2010285001A (ja) 電子制御システム、機能代行方法
JP4728020B2 (ja) 車両制御用ソフトウェア及び車両制御装置
JP2009145117A (ja) 車両用情報記憶装置
WO2008035766A1 (fr) Système de commande électronique et dispositif de commande électronique
JP2000066963A (ja) マイコン用メモリの診断装置
JP3883842B2 (ja) 車両用電子制御装置
JP2000293382A (ja) リアルタイムオペレーティングシステムを用いたタスク起動制御装置
JP3923810B2 (ja) 車両用電子制御装置
JP2006327217A (ja) 車両制御用プログラム及び車両用電子制御装置
JP2003294129A (ja) 車両用電子制御装置
EP1712424B1 (en) Vehicle control apparatus
JP3799797B2 (ja) 車両用診断装置
JP2010113419A (ja) マルチコア制御装置
US20020147761A1 (en) Processing execution apparatus having data reference limiting function
JP3908020B2 (ja) 車両用電子制御装置
JP4375105B2 (ja) マイクロコンピュータ監視装置の故障診断方法及び車両用電子制御装置
JP4828947B2 (ja) 車両制御装置の入出力装置
JP5085719B2 (ja) 車両制御用ソフトウェア及び車両制御装置
JP6887277B2 (ja) 自動車用電子制御装置
CN115877813B (zh) 车辆中执行车载诊断功能的方法、系统和计算机程序产品
JP2013001141A (ja) 情報処理装置、ソフト起動方法
JP5287657B2 (ja) 車両用制御装置、及びその制御方法
JP6061973B2 (ja) プログラマブルデバイスのコンフィグレーション制御方法およびプログラマブルデバイスを有する制御装置