(57)【特許請求の範囲】
【請求項１】
演算処理手段と、
通常時における制御対象の制御の実行に関連する非安全関連アプリケーションプログラムと、前記制御対象の異常監視又は異常時における前記制御対象の制御の実行に関連する安全関連アプリケーションプログラムの、少なくとも２種のアプリケーションプログラムと、
前記アプリケーションプログラムに含まれるタスクの実行に割り当てられる時間パーティションを前記アプリケーションプログラム毎に設定するシステムプログラムと、
前記タスクの実行時間が決まるためのタスク実行時間決定情報が格納される記憶部と、
前記タスク実行時間決定情報に基づき、前記タスクの実行時間に対応した時間パーティションの長さを導出する変換部と、
を備え、
前記システムプログラムは、前記変換部により導出された前記時間パーティションの長さに従って前記アプリケーションプログラムに前記時間パーティションを設定し、
前記演算処理手段は、前記システムプログラムに設定された前記時間パーティションに従って前記タスクを実行する
ことを特徴とする電子制御装置。
【請求項２】
前記演算処理手段による演算処理時間の１サイクルには、複数の前記時間パーティションが含まれ、
前記変換部は、前記複数の時間パーティションの長さを導出する変換テーブルを有すると共に、前記複数の時間パーティションのうち、少なくとも１つの前記時間パーティションについて、前記タスク実行時間決定情報に基づき、前記タスクの実行時間に対応した前記時間パーティションの長さを導出し、
前記システムプログラムは所定の周期で前記サイクル内の前記時間パーティションを設定する
ことを特徴とする請求項１に記載の電子制御装置。
【請求項３】
前記演算処理手段による演算処理時間の１サイクルには、複数の前記時間パーティションが含まれ、
前記１サイクルに従って、周期的にインクリメントされるサイクルカウンタを備え、
前記タスク実行時間決定情報は、前記サイクルカウンタの値に基づくものである
ことを特徴とする請求項１又は２に記載の電子制御装置。
【請求項４】
それぞれの前記サイクルには対応する時間パーティションが含まれ、
前記対応する時間パーティションの長さが前記サイクルによって異なり、前記対応する時間パーティションの長さの長短の差を利用して、前記対応する時間パーティションとは異なる前記時間パーティションが前記サイクル内に含まれる
ことを特徴とする請求項２又は３に記載の電子制御装置。
【請求項５】
外部装置から情報を受け取る情報入力手段を備え、
前記タスク実行時間決定情報は、前記情報入力手段で受け取る情報に基づくものである
ことを特徴とする請求項１乃至４のいずれかに記載の電子制御装置。
【請求項６】
前記タスク実行時間決定情報は、以前の前記タスクの実行結果に基づくものである
ことを特徴とする請求項１乃至５のいずれかに記載の電子制御装置。
【請求項７】
複数の種類の前記タスク実行時間決定情報はそれぞれ優先度を持ち、
前記優先度に応じて、前記変換部において前記時間パーティションの長さの導出に利用される前記タスク実行時間決定情報が決定する
ことを特徴とする請求項１乃至６のいずれかに記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時間パーティションを用いて、アプリケーションプログラムに含まれるタスクの実行を制御する電子制御装置に関する。
【背景技術】
【０００２】
自動車や船舶には、エンジンの点火時期やステアリングモータの制御を行うための電子制御装置（Electronic Control Unit：以下、ＥＣＵ）が搭載されている。制御の高度化に伴い、ＥＣＵに実装されるアプリケーションソフトウェア（以下、アプリケーションＳ／Ｗ）の複雑化が進んでいる。さらに近年、ＥＣＵの機能安全規格ＩＳＯ２６２６２への対応が求められるようになってきている。機能安全規格ＩＳＯ２６２６２は、何らかの異常が発生した場合にも、安全を確保するための機能を備え、安全性を確保することを目的として定められたものである。
【０００３】
従来、ＥＣＵの複雑なアプリケーションＳ／Ｗを、機能安全規格を満たしながら効率よく開発するために、アプリケーションＳ／Ｗを、安全関連Ｓ／Ｗコンポーネントと、非安全関連Ｓ／Ｗコンポーネントの２種類のＳ／Ｗコンポーネントに分ける方法がある。
安全関連Ｓ／Ｗコンポーネントとは、機能安全規格が求める手法を実装した安全監視や安全制御を行うＳ／Ｗ部分のことである。さらに安全関連Ｓ／Ｗコンポーネントは、安全要求に応じて異なる安全度水準を持つ複数のＳ／Ｗコンポーネントに分割される場合もある。一方、非安全関連Ｓ／Ｗコンポーネントとは、自動車や船舶の通常制御を行うＳ／Ｗ部分のことである。
【０００４】
このように各Ｓ／Ｗコンポーネントを分けて、互いの独立性を保証することにより、通常制御を行うＳ／Ｗコンポーネントを機能安全規格の適用対象から除外した非安全関連Ｓ／Ｗコンポーネントとし、既存のＳ／Ｗを流用することができる。また、安全関連Ｓ／Ｗコンポーネントを安全度水準毎に分割することによって、各Ｓ／Ｗコンポーネントに、各安全度水準に適した安全手法を適用することができる。このように、Ｓ／Ｗコンポーネントをその内容に応じて分けることによって、Ｓ／Ｗコンポーネントを効率良く開発することができる。
【０００５】
同一マイクロコントローラ上に複数のＳ／Ｗコンポーネントを実装する場合、実行時間を複数に区切る時間パーティションと実行領域を複数に区切る空間パーティションを用いることで、これらＳ／Ｗコンポーネント間の独立性を保証することができる。ここでは、時間パーティションを用いたＳ／Ｗコンポーネント間の独立について図１３を用いて説明する。図１３は、背景技術にかかる、Ｓ／Ｗコンポーネントのタスクに対する時間パーティションの割り当てを示すタイムチャートである。この時間パーティションには、各Ｓ／Ｗコンポーネントにおける実行単位である、タスクが割り当てられる。タスクは、１つのＳ／Ｗコンポーネントに１つ以上存在し、異なるＳ／Ｗコンポーネントのタスクは異なる時間パーティションに割り当てる必要がある。同じＳ／Ｗコンポーネントのタスクは、複数の時間パーティションへ割り当ててもよい。
【０００６】
図１３では、非安全関連Ｓ／Ｗコンポーネントのタスクａとタスクｂ、安全関連Ｓ／Ｗコンポーネント１のタスクｃ、別の安全関連Ｓ／Ｗコンポーネント２のタスクｄが、それぞれ時間パーティション１〜３に割り当てられている。
それぞれの時間パーティションには、開始時間と終了時間が設定され、その間の時間内においてのみ、時間パーティション内に割り当てられたタスクは実行される。これにより、例えば非安全関連Ｓ／Ｗコンポーネントのタスクｂを実行中にエラーが発生し、タスクｂが暴走しても、時間パーティションの区切りでハードウェアの機能を利用して強制的にタスクｂの動作を終了させることができ、時間パーティション２や時間パーティション３に割り当てられた安全関連Ｓ／Ｗコンポーネントのタスクｃやタスクｄの動作に影響しないことを保証できる。よって各タスクがＣＰＵの処理時間において混在することがなく、各Ｓ／Ｗコンポーネントが独立しているといえる。
【０００７】
時間パーティションを用いたタスクの実行を制御する方法として、例えば特許文献１では、固定長の安全関連時間パーティションと固定長の非安全関連時間パーティションから構成される通常制御スケジュールを、一定周期のサイクルで繰り返す方法が提案されている。各時間パーティションの長さは、正常時にはタスクの実行を確実に完了できるように、タスクの最悪実行時間以上に設定しておく必要があり、いずれのサイクルにおいてもその必要があるため、時間パーティションに設定される各サイクル共通の固定長は必然的に長くなってしまう。そのため、最悪実行時間までかからずにタスクが完了した場合は、時間パーティション内に不要な空き時間が生じてしまう。空き時間とは、時間パーティション内において、タスクの実行が完了してからその時間パーティションの終了時間までの、プロセッサが実行するタスクが他に存在しない時間のことを言う。
異常が検知された場合に通常制御スケジュールから安全制御スケジュールに切り替わることで、１サイクルにおける時間パーティションの編成が変更されるが、通常制御スケジュール時と同様に、時間パーティションの固定長は、全サイクルにおけるタスクの最悪実行時間のうち最も長い時間に合わせて設定されるため、時間パーティション内に不要な空き時間が生じることがあることに変わりはない。（特許文献１の図５参照）
【０００８】
そこで、特許文献２では、各時間パーティションの長さは固定長であるものの、同一時間パーティション内に同一Ｓ／Ｗコンポーネントに属する複数のタスクを割り当てることによって、１つのタスクが終了しても、同一時間パーティション内で別のタスクを実行するようにし、この時間パーティションの空き時間を減らす方法が提案されている。（特許文献２の図１５参照）
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−２７１７５９号公報
【特許文献２】特許第５１３６６９５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
上記の特許文献１、２のようなＥＣＵの制御では、周期的に実行されるタスクのサイクル番号や、車両の状態を示す入力情報や、以前の演算結果などによって、タスクの実行時間が変化する場合がある。
例えばＥＣＵ起動直後において、他のＥＣＵは自身の起動を完了するまでは情報を送信しないため、他のＥＣＵからの情報を用いて演算するタスクはすぐに演算処理を終了することで実行時間が短くなったり、逆に初期化処理などを行うために実行時間が長くなったりする。また、例えば電波を送信して前方車両を検出することを目的として、様々な周波数を送信するようなレーダＥＣＵでは、偶数サイクルと奇数サイクルで異なる周波数を用いるために実行時間が変化する場合がある。特許文献１はこの変化に対応できず、その解決策として特許文献２が提案されていた。
【００１１】
しかし、ある時間パーティションに割り当てられるタスクが１つしかなく、このタスクの実行時間が前述のように変化する場合においては、同一時間パーティション内に複数のタスクを必要とする特許文献２の方法は適用できず、空き時間を減らすことはできない。
また、ある時間パーティションに割り当てられたタスクが複数あり、それらタスクの実行時間の総和が変化する場合に特許文献２の方法を適用しても、時間パーティションの長さが充分長く設定されていた場合、時間パーティション内のすべてのタスクを実行してもなお、空き時間が生じる恐れがある。
いずれにおいても、タスクの実行時間が変化する一方で、時間パーティションが固定長であるため、時間パーティション内の不要な空き時間が生じるという問題がある。
【００１２】
本発明は、上記の課題を解決するためになされたものであり、タスクの実行時間が変化する場合に、周期的に実行されるタスクのサイクル番号や、車両の状態を示す入力情報、以前の演算結果などのタスクの実行時間が決まるための情報に基づき、時間パーティションの長さをタスクの実行時間に対応して設定することにより、時間パーティション内の空き時間を減らすことを目的としている。
【課題を解決するための手段】
【００１３】
本発明に係る電子制御装置は、演算処理手段と、通常時における制御対象の制御の実行に関連する非安全関連アプリケーションプログラムと、制御対象の異常監視又は異常時における制御対象の制御の実行に関連する安全関連アプリケーションプログラムの、少なくとも２種のアプリケーションプログラムと、アプリケーションプログラムに含まれるタスクの実行に割り当てられる時間パーティションをアプリケーションプログラム毎に設定するシステムプログラムと、タスクの実行時間が決まるためのタスク実行時間決定情報が格納される記憶部と、タスク実行時間決定情報に基づき、タスクの実行時間に対応した時間パーティションの長さを導出する変換部と、を備え、システムプログラムは、変換部により導出された時間パーティションの長さに従ってアプリケーションプログラムに時間パーティションを設定し、演算処理手段は、システムプログラムに設定された時間パーティションに従ってタスクを実行するものである。
【発明の効果】
【００１４】
本発明に係る電子制御装置によれば、タスクの実行時間が変化する場合に、周期的に実行されるタスクのサイクル番号や、車両の状態を示す入力情報、以前の演算結果などのタスクの実行時間が決まるための情報に基づき、時間パーティションの長さをタスクの実行時間に対応して設定することにより、時間パーティション内の空き時間を減らすことができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態１に係るレーダＥＣＵの構成図である。
【図２】サイクル番号情報に基づく時間パーティションの長さを示す変換テーブルＡである。
【図３】本発明の実施の形態１に係る、時間パーティションの割り当てを示す基本タイムチャートである。
【図４】参考例に係る、時間パーティションの割り当てを示すタイムチャートである。
【図５】本発明の実施の形態１に係る、時間パーティションの割り当てを示すエラー発生時タイムチャートである。
【図６】参考例に係る、時間パーティションの割り当てを示すエラー発生時タイムチャートである。
【図７】本発明の実施の形態２に係るレーダＥＣＵの構成図である。
【図８】スリープフラグがセットされている場合の、信号処理プログラムにおける時間パーティションの長さを示す変換テーブルＢである。
【図９】データ数減少フラグがセットされている場合の、信号処理プログラムにおけるサイクル番号情報が奇数時の時間パーティションの長さを示す変換テーブルＣである。
【図１０】実施の形態２に係る、信号処理プログラムのタスクに割り当てられる時間パーティションの長さを設定するＯＳの動作を示すフローチャートである。
【図１１】スリープフラグセット時の、時間パーティションの割り当てを示すタイムチャートである。
【図１２】データ数減少フラグセット時の、時間パーティションの割り当てを示すタイムチャートである。
【図１３】背景技術にかかる、Ｓ／Ｗコンポーネントのタスクに対する時間パーティションの割り当てを示すタイムチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、図中における同等または対応する要素については同番号を付す。
【００１７】
実施の形態１．
以下に、本発明の実施の形態１に係る車載のレーダＥＣＵ２０１について説明する。レーダＥＣＵ２０１は、電波を送受信し、送受信した電波の周波数の差から、前方車両を検出し、自車との距離や相対速度を算出する機能を備える。ここでは電子制御装置として車載のレーダＥＣＵ２０１を採用したが、これに限らず、船舶や飛行機、ロボット等の各種電子制御装置を採用できる。
【００１８】
図１は本発明の実施の形態１に係るレーダＥＣＵの構成図である。レーダＥＣＵ２０１は、演算処理を行うプロセッサ２０２、送信アンテナ２０３と受信アンテナ２０４、送信アンテナ２０３と受信アンテナ２０４を制御する送受信ドライバ２０５、読み込みと書き込みが可能な揮発メモリ（以下、ＲＡＭ) ２０６、読み込み専用の不揮発メモリ（以下、ＲＯＭ）２０７を備える。
【００１９】
プロセッサ２０２は、ＲＯＭ２０７に格納されたアプリケーションプログラムを実行する。送信アンテナ２０３と受信アンテナ２０４は、電波の送受信を行う。送受信ドライバ２０５は、プロセッサ２０２でのアプリケーションプログラムの実行によって設定される電波の送信タイミングや送信周波数に従って、送信アンテナ２０３から電波を送信し、受信アンテナ２０４から受信した電波の周波数（測定データ）をＲＡＭ２０６へ格納する。ＲＡＭ２０６には、サイクル番号情報２０８と、送受信ドライバ２０５からの測定データ２０９が格納される。ＲＯＭ２０７には、信号処理プログラム２１０、安全監視プログラム２１１、ＥＣＵ管理プログラム２１２、オペレーティングシステムプログラム（ＯＳ）２１３、変換テーブルＡ２１４、が格納されている。
【００２０】
ここで、プロセッサ２０２、ＲＡＭ２０６はそれぞれ特許請求の範囲に記載の、演算処理手段、記憶部に相当する。ＲＯＭ２０７に格納される信号処理プログラム２１０、安全監視プログラム２１１およびＥＣＵ管理プログラム２１２はいずれもアプリケーションプログラムの１つであり、ＯＳ２１３はシステムプログラムである。
【００２１】
信号処理プログラム２１０は、送信アンテナ２０３からの電波の送信タイミングを設定したり、受信アンテナ２０４を用いて取得した測定データ２０９を基に、前方車両と自車との距離や相対速度を演算したりするアプリケーションプログラムであり、通常時における制御対象の制御の実行に関連する非安全関連アプリケーションプログラムである。
信号処理プログラム２１０のタスクは、定期的に測定と演算を行うために、一定周期で実行開始する必要がある。また、送信アンテナ２０３から送信する電波の周波数帯域は、偶数サイクルと奇数サイクルで異なるように設定するものとする。
【００２２】
偶数サイクルでは、近距離の測定を目的とした周波数帯域の電波を送信し、奇数サイクルでは、遠距離（広範囲）の測定を目的とした周波数帯域の電波を送信する。さらに、近距離の測定結果の精度を上げるため、測定する周波数のサンプリング数を、遠距離よりも多くとる。したがって、サンプリング数が多い偶数サイクルでは、信号処理プログラム２１０におけるタスクの実行時間が奇数サイクルよりも長くなる。
【００２３】
安全監視プログラム２１１は、送受信ドライバ２０５の動作状態や、信号処理プログラム２１０の実行を監視するアプリケーションプログラムであり、各サイクルで実行する必要がある。この安全監視プログラム２１１は、安全関連アプリケーションプログラムの１つである。
【００２４】
ＥＣＵ管理プログラム２１２は、安全監視プログラム２１１の実行結果に基づき、レーダＥＣＵ２０１をスリープさせたり、シャットダウンさせたりするアプリケーションプログラムである。ＥＣＵ管理プログラム２１２は、２サイクルに１回、実行する必要がある。このＥＣＵ管理プログラム２１２も、安全関連アプリケーションプログラムの１つである。
【００２５】
ここでは説明を簡単にするために、プロセッサ２０２に実行される信号処理プログラム２１０、安全監視プログラム２１１、ＥＣＵ管理プログラム２１２には、それぞれ１つのタスクが含まれているものとする。ただし、これらのアプリケーションプログラムにはそれぞれ複数のタスクが含まれることも当然ある。
【００２６】
ＯＳ２１３は、サイクル番号情報２０８を用いて変換テーブルＡ２１４を参照し、信号処理プログラム２１０、安全監視プログラム２１１、ＥＣＵ管理プログラム２１２を割り当てる各時間パーティションの開始時間と終了時間を設定する。サイクル番号情報２０８は、ＯＳ２１３が、信号処理プログラム２１０の開始前に１ずつインクリメントするサイクルカウンタ（図示しない）によって情報が更新される。前述のように、信号処理プログラム２１０は一定周期で実行を開始する必要があり、安全監視プログラム２１１、ＥＣＵ管理プログラム２１２の実行時間も考慮して、１サイクルは５０ｍｓ周期とする。
【００２７】
変換テーブルＡ２１４は、サイクル番号情報２０８に対して、信号処理プログラム２１０、安全監視プログラム２１１及びＥＣＵ管理プログラム２１２における時間パーティションの長さの対応関係を示すものである。この変換テーブルＡ２１４を図２に示す。
サイクル番号情報２０８が偶数である場合、信号処理プログラム２１０のタスク、安全監視プログラム２１１のタスク、ＥＣＵ管理プログラム２１２のタスクが割り当てられる時間パーティションの長さは、それぞれ、４５ｍｓ、５ｍｓ、０ｍｓである。すなわち、ＥＣＵ管理プログラム２１２は偶数サイクルでは実行されない。
一方、サイクル番号情報２０８が奇数である場合、信号処理プログラム２１０のタスク、安全監視プログラム２１１のタスク、ＥＣＵ管理プログラム２１２のタスクが割り当てられる時間パーティションの長さは、それぞれ、４０ｍｓ、５ｍｓ、５ｍｓである。
【００２８】
前述の通り、信号処理プログラム２１０のタスクの実行時間は、偶数サイクルの方が奇数サイクルよりも長くなるため、時間パーティションの長さも、偶数サイクルでは奇数サイクルより５ｍｓ長く設定している。すなわちここでは、偶数サイクルにおける信号処理プログラム２１０の最悪実行時間に若干余裕を持たせて４５ｍｓ、奇数サイクルにおけるそれを４０ｍｓとしている。なお、これらの時間パーティションの長さは、各アプリケーションプログラム（信号処理プログラム２１０、安全監視プログラム２１１、ＥＣＵ管理プログラム２１２）の処理ステップ数から見積もったり、実測したりして、あらかじめ設定されるものである。
【００２９】
時間パーティションの割り当て方法を、プロセッサ２０２が演算を処理する時間、すなわち演算処理時間を時間軸とした、図３のタイムチャートを用いて説明する。
例えばサイクル番号情報２０８が２のとき、サイクル番号情報２０８が偶数であるため、変換テーブルＡ２１４において、「信号処理プログラム２１０の時間パーティションの長さが４５ｍｓ、安全監視プログラム２１１の時間パーティションの長さが５ｍｓ、ＥＣＵ管理プログラム２１２には時間パーティションの割り当てなし」がＯＳ２１３に参照される。ＯＳ２１３はこの情報に従って、演算処理時間が１００ｍｓ〜１５０ｍｓの間に各アプリケーションプログラムの時間パーティションを割り当てる。プロセッサ２０２は、ＯＳ２１３が設定した時間パーティションに従って、１００〜１４５ｍｓの間に信号処理プログラム２１０のタスクが、１４５ｍｓ〜１５０ｍｓの間に安全監視プログラム２１１のタスクが、それぞれ実行されるように、各タスクの起動と終了を行う。
【００３０】
またサイクル番号情報２０８が３のとき、サイクル番号情報２０８が奇数であるため、変換テーブルＡ２１４において、「信号処理プログラム２１０の時間パーティションの長さが４０ｍｓ、安全監視プログラム２１１とＥＣＵ管理プログラム２１２の時間パーティションの長さがそれぞれ５ｍｓ」がＯＳ２１３に参照される。ＯＳ２１３はこの情報に従って、演算処理時間が１５０ｍｓ〜２００ｍｓの間に各アプリケーションプログラムの時間パーティションを割り当てる。プロセッサ２０２は、ＯＳ２１３が設定した時間パーティションに従って、１５０〜１９０ｍｓの間に信号処理プログラム２１０のタスクが、１９０ｍｓ〜１９５ｍｓの間に安全監視プログラム２１１のタスクが、１９５ｍｓ〜２００ｍｓの間にＥＣＵ管理プログラム２１２のタスクが、それぞれ実行されるように、各タスクの起動と終了を行う。
【００３１】
ＯＳ２１３が上記時間パーティションを設定することにかかる実行時間は、図３のタイムチャートには明示していないが、各サイクルの境界において、次サイクルの各時間パーティションの開始時間と終了時間の設定を周期的に実行しているものである。ただし、この時間パーティションの設定は、例えば各時間パーティションの境界ごとに次の時間パーティションを設定するものでもよい。
なお、ここではＯＳ２１３は絶対時間を参照して時間パーティションの開始時間と終了時間を設定しているが、サイクル開始時からの相対時間で設定するものであってもよい。
【００３２】
時間パーティションを割り当てられた上で実行される、信号処理プログラム２１０のタスクの実行時間の例を図３の下部に示す。サイクル番号情報２０８が０、１、２、３でのタスクの実行時間は、それぞれ４３ｍｓ、３６ｍｓ、４４ｍｓ、３８ｍｓである。このようにタスクの実行時間はサイクル番号情報が偶数時に４５ｍｓ以下、奇数時には４０ｍｓ以下に決まるものである。このタスクの実行時間に対応して設定された各時間パーティションでの空き時間は、２ｍｓ、４ｍｓ、１ｍｓ、２ｍｓとなっている。ここで、各タスクは各時間パーティションの開始と同時に実行を開始している。
【００３３】
ここで参考例として、本発明を適用せず、特許文献１の制御にあるような、いずれのサイクルにおいても時間パーティションの長さが固定であった場合の、時間パーティションの割り当て方法のタイムチャートを図４に示す。本発明の構成との比較のため、信号処理プログラム２１０の各サイクルにおけるタスクの実行時間は図３と同じであるとする。信号処理プログラム２１０のタスクが割り当てられる時間パーティションの長さは、どのサイクルでもタスク実行完了できるよう、偶数サイクルにおける最悪実行時間にあわせて設定するため、４５ｍｓとする。安全監視プログラム２１１とＥＣＵ管理プログラム２１２のタスクが割り当てられる時間パーティションの長さは５ｍｓである。したがって、１サイクルの長さは５５ｍｓとなる。
【００３４】
その結果、信号処理プログラム２１０のタスクが実行される時間パーティションの空き時間は、２ｍｓ、９ｍｓ、１ｍｓ、７ｍｓとなっており、図３と比較すると、空き時間が増加してしまうことがわかる。さらに、ＥＣＵ管理プログラム２１２のタスクは、２サイクルに１回実行すればよいため、いずれのサイクルにおいても時間パーティションが割り当てられているものの、偶数サイクルでは実行されない。そのため、この不必要に設けられた時間パーティションの長さ（擬似的空き時間）も追加すると、各サイクルでの空き時間と擬似的空き時間の総和は、７ｍｓ、９ｍｓ、６ｍｓ、７ｍｓとなり、図３と比較すると、サイクル番号情報２０８が０〜４での空き時間の総和に対して３倍以上（２＋４＋１＋２＝９ｍｓ、７＋９＋６＋７＝２９ｍｓ）になり、プロセッサ２０２の使用効率が低下していることがわかる。
【００３５】
以上のように、この実施の形態１に記載された電子制御装置２０１は、演算処理手段２０２と、通常時における制御対象の制御の実行に関連する非安全関連アプリケーションプログラム２１０と、制御対象の異常監視又は異常時における制御対象の制御の実行に関連する安全関連アプリケーションプログラム２１１、２１２の、少なくとも２種のアプリケーションプログラムと、これらアプリケーションプログラムに含まれるタスクの実行に割り当てられる時間パーティションを、いずれのアプリケーションプログラムにも設定するシステムプログラム２１３と、タスクの実行時間が決まるためのタスク実行時間決定情報２０８が格納される記憶部２０６と、タスク実行時間決定情報２０８に基づき、タスクの実行時間に対応した時間パーティションの長さを導出する変換部２１４とを備える。ここで、システムプログラム２１３は、変換部２１４に導出された時間パーティションの長さに従ってアプリケーションプログラムに時間パーティションを設定するものであり、演算処理手段２０２は、システムプログラム２１３を実行することによって、時間パーティション内に割り当てられたタスクを実行するものである。
この構成により、アプリケーションプログラム（信号処理プログラム２１０、安全監視プログラム２１１、ＥＣＵ管理プログラム２１２）間の独立性を保ちながら、各時間パーティション内の不要な空き時間を減らすことができる。
【００３６】
以上の効果を有する構成に加えて、本発明では、演算処理手段２０２による演算処理時間の１サイクルには、複数の時間パーティションが含まれ、変換部２１４は、複数の時間パーティションの長さを導出する変換テーブルＡからなっており、複数の時間パーティションのうち、少なくとも１つの時間パーティションについて、タスク実行時間決定情報２０８に基づき、タスクの実行時間に対応した時間パーティションの長さを導出している。さらに、システムプログラム２１３は所定の周期でサイクル内の時間パーティションを設定している。
この構成により、例えば信号処理プログラム２１０のタスクを一定周期で実行開始する必要がある場合等に対応が容易となり、１サイクルをまとめて時間パーティション設定することが可能なため設定回数を減らし、さらに所定の周期での設定であるため、制御が複雑になることがない。また、予め設定された変換テーブルであるため、時間パーティションの設定に要する時間が短く、その設定が複雑になることがない。
【００３７】
また、演算処理時間の１サイクルに従って、周期的にインクリメントされるサイクルカウンタを備え、タスク実行時間決定情報２０８は、サイクルカウンタの値に基づくものである。
この構成により、偶奇数周期やスタートアップ時におけるタスクの処理内容が変化することでタスクの実行時間が変化する場合に、この実行時間の変化に適応して、各時間パーティション内の不要な空き時間を減らすことができる。
【００３８】
さらにまた、それぞれのサイクルには対応するアプリケーションプログラム（信号処理プログラム２１０）の時間パーティションが含まれ、この時間パーティションの長さがサイクルによって異なり、この対応する時間パーティションの長さの長短の差を利用して、対応する時間パーティションとは異なるアプリケーションプログラム（ＥＣＵ管理プログラム２１２）の時間パーティションがサイクル内に含まれている。
この構成により、１サイクルの長さを短縮しつつ、１サイクル内で実行できるタスク数を増加することができる。具体的には、信号処理プログラム２１０の時間パーティションの長さが短い奇数サイクルでは、短くなった分、すなわち、対応する時間パーティションの長さの長短の差を利用して、ＥＣＵ管理プログラム２１２の時間パーティションを加えることができ、プロセッサ２０２の使用効率を向上させることができる。そのうえ、１サイクルの時間が参考例の図４よりも短くなるため、信号処理プログラム２１０の実行頻度を増やすことができる。レーダＥＣＵ２０１においては、所定のサイクル周期で前方車両と自車との距離や相対速度の算出を行っているため、その算出頻度が増え、きめ細かい制御が可能になる。
【００３９】
また、本実施の形態１では、１サイクルごとの所定周期で、変換部に導出された時間パーティションの長さに従ってアプリケーションプログラムに時間パーティションを設定したがこれに限らず、不定期で、または特定のサイクル番号のみを、変換部を用いた本発明の設定方法によって設定するものであってもよい。この具体例については実施の形態２に後述する。また、本実施の形態１では、１サイクル内において信号処理プログラム２１０のみの時間パーティションの長さを可変としたが、１サイクル内において複数のアプリケーションプログラムの時間パーティションの長さを可変とするものでもよく、安全関連アプリケーションプログラムの時間パーティションの長さも可変にできる。さらに、時間パーティション内に複数のタスクがあり、それらタスクの実行時間の総和に対応して時間パーティションの長さを導出するものでもよい。
【００４０】
さらにまた、変換部で導出される時間パーティションの長さは絶対量に限らず、基本的な時間パーティションの長さに対する相対的な変化量であってもよい。例えば、１サイクルにおける各時間パーティションとその長さの編成を定めた基本テーブルを用意し、特定のサイクル番号の場合に、基本テーブルで定めた時間パーティションの長さに対する変化量を変換部で導出し、この変化量（相対量）と基本テーブルにおける時間パーティションの長さ（絶対量）から得られる特定のサイクル番号における時間パーティションの長さ（絶対量）に従って、アプリケーションプログラムに時間パーティションを設定するものであってもよい。
【００４１】
また、サイクル番号情報を偶数と奇数の２つに分類して信号処理プログラム２１０の時間パーティションの長さを長い方と短い方にそれぞれ設定したが、例えばサイクル番号情報を３つ以上に分類することに対応して、時間パーティションの長さを３つ以上に異ならせて設定してもよい。また、レーダＥＣＵ２０１による制御開始直後であるサイクル番号情報２０８が小さい数字の場合に、初期化処理実行のために時間パーティションの長さを長く設定するものであっても良い。
【００４２】
本実施の形態１では、記憶部に格納されるタスク実行時間決定情報であるサイクル番号情報０、１、２・・・を用いてシステムプログラムが偶数、奇数を判断し、変換部を参照して時間パーティションを設定しているが、変換部が偶数、奇数を判断したり、時間パーティションの長さを算出したりするものであってもよく、記憶部はサイクル番号情報から得られる偶数、奇数といった二次情報を格納するものでもよい。
【００４３】
なお、タスク実行時間決定情報によってタスクの実行時間が決まるとは、例えば４３ｍｓや３６ｍｓというように一点に決まるものに限らず、上記で説明した４５ｍｓ以下や４０ｍｓ以下のように、ある幅をもって決まるものでもよく、この決定によって時間パーティションの空き時間が減少するものであればよい。
【００４４】
次に、図１に示したレーダＥＣＵを用いて、信号処理プログラム２１０のタスク実行中にエラーが発生し、割り当てられた時間パーティション内でタスクが完了しない場合について、図５を用いて説明する。図５は、本実施の形態１にかかる、エラー発生時における時間パーティションの割り当てを示すタイムチャートである。図５の下部には信号処理プログラム２１０のタスクの実行時間も記している。
サイクル番号情報２０８が１となるサイクルにおいて、すなわち、信号処理プログラム２１０の時間パーティションの長さが４０ｍｓの場合において、信号処理プログラム２１０のタスクの実行時間が３６ｍｓの時点で、エラーが発生し、タスクの実行が完了しないとする。このとき、エラー発生から４ｍｓ後には、信号処理プログラム２１０の時間パーティションが強制的に終了する。信号処理プログラム２１０の後に割り当てられていた安全監視プログラム２１１がすぐさま実行されることによって信号処理プログラム２１０のタスクが完了していないことが検出され、エラーが発生していると判断される。
【００４５】
この図５の状況に対して、本発明を適用していない場合として、図４に記載した参考例においてエラーが発生した場合について、参考例として図６を用いて説明する。図６は、参考例にかかる、エラー発生時における時間パーティションの割り当てを示すタイムチャートである。図６の下部には信号処理プログラム２１０のタスクの実行時間も記している。
各信号処理プログラム２１０の時間パーティションの長さはいずれも４５ｍｓに設定されている。エラー発生時点は、図５と同じ３６ｍｓとすると、信号処理プログラム２１０の時間パーティションの長さが図５よりも長い分、エラー発生から９ｍｓ後に、信号処理プログラム２１０の時間パーティションが強制的に終了する。その後に割り当てられていた安全監視プログラム２１１が実行することによってエラーが発生しているとようやく判断される。
【００４６】
このように図５と図６を比較することで分かるように、図５では本発明を適用することによって、アプリケーションプログラムに含まれるタスクの実行時間に対応させて時間パーティションの長さを設定できるため、時間パーティション内でエラーが発生した場合に、エラーを検出するまでの時間が短くなり、その結果、エラーに対して早く処理を開始できる。
【００４７】
実施の形態２．
次に、本発明の実施の形態２に関して、以下に図を用いて説明する。実施の形態１と同様なものについては説明を省略し、実施の形態１と異なる点、新たな点について詳述する。図７は、実施の形態２に係るレーダＥＣＵの構成図である。
【００４８】
本実施の形態２に係るレーダＥＣＵ８０１は、実施の形態１で説明した機能に加えて、次の２つの機能を備える。１つ目は、レーダＥＣＵ８０１が他のＥＣＵ（図示せず）とＣＡＮ（Controller Area Network）を介して接続しており、他のＥＣＵから測定停止シグナルを受信した場合に、送受信ドライバ２０５の設定を変更して、送信アンテナ２０３や受信アンテナ２０４での電波の送受信と、測定データ２０９を用いた演算の実行を停止するようにした後、レーダＥＣＵ８０１を消費電力の低いスリープ状態へ移行する機能である。２つ目は、自車前方の遠距離の測定時に物体が検出されなかった場合、次の遠距離の測定時には受信した電波のサンプリング数を下げて、演算処理にかかる時間を短くする機能である。
【００４９】
レーダＥＣＵ８０１は、ＣＡＮ通信コントローラ８０２を備える。ＣＡＮ通信コントローラ８０２は、他のＥＣＵと通信プロトコルＣＡＮに従ってメッセージの送受信を行う。なお、通信プロトコルはＣＡＮに限定されるものではなく、ＦｌｅｘＲａｙやＬＩＮなど、他の通信プロトコルであってもよい。このＣＡＮ通信コントローラ８０２は、外部装置から情報を受け取る情報入力手段の一具体例である。
【００５０】
ＲＡＭ８０３には、サイクル番号情報２０８と測定データ２０９に加えて、スリープフラグ８０４とデータ数減少フラグ８０５が格納される。
スリープフラグ８０４は、ＥＣＵ管理プログラム８０８によってセットあるいはクリアされる。セットされている場合には、次のＥＣＵ管理プログラム８０８のタスク実行時に、レーダＥＣＵ８０１がスリープ状態へ移行することを示している。
データ数減少フラグ８０５は、信号処理プログラム８０７によってセットあるいはクリアされる。セットされている場合には、次の奇数サイクルにおいて、信号処理プログラム８０７におけるサンプリング数を減らすことを示す。
【００５１】
スリープフラグ８０４のセットの有無、およびデータ減少フラグ８０５のセットの有無が、特許請求の範囲に記載のタスク実行時間決定情報であり、ここではサイクル番号情報２０８と合わせて、３種類のタスク実行時間決定情報が利用されている。このスリープフラグ８０４、データ数減少フラグ８０５及びサイクル番号情報２０８に対して優先度をつけ、この優先度に従って参照する変換テーブルを決定している。
【００５２】
ＲＯＭ８０６には、信号処理プログラム８０７、安全監視プログラム２１１、ＥＣＵ管理プログラム８０８、変換テーブルＡ２１４、オペレーティングシステム（ＯＳ）８０９に加えて、変換テーブルＢ８１０と変換テーブルＣ８１１が格納されている。
【００５３】
信号処理プログラム８０７は、各サイクルの最初に、スリープフラグ８０４がセットされているか確認し、セットされている場合には、送受信ドライバ２０５の設定を変更して、電波の送受信を停止し、測定データ２０９を用いた演算の実行は行わない。
また、信号処理プログラム８０７は、遠距離の測定データ２０９を用いた演算結果により、自車前方に物体を検出しなかった場合には、ＲＡＭ８０３のデータ数減少フラグ８０５をセットする。
また、遠距離の測定データ２０９を用いた演算を行う奇数サイクルの最初に、データ数減少フラグ８０５がセットされているか確認し、セットされている場合には、サンプリング数を下げるように送受信ドライバ２０５を設定するとともに、減少したサンプリング数に対応する演算処理を実行する。
【００５４】
ＥＣＵ管理プログラム８０８は、ＣＡＮ通信コントローラ８０２から測定停止シグナルを受信すると、スリープフラグ８０４をセットする。また、スリープフラグ８０４をセットした後、次にＥＣＵ管理プログラム８０８が実行される２サイクル経過後に消費電力を下げるためにプロセッサ２０２の動作を停止し、レーダＥＣＵ８０１をスリープさせる。スリープフラグ８０４がセットされてから、スリープに入るまでに、他のアプリケーションプログラム（信号処理プログラム８０７、安全監視プログラム２１１）は、スリープに向けた終了処理などを行うことができる。
【００５５】
変換テーブルＢ８１０は、スリープフラグ８０４がセットされている場合の、信号処理プログラム８０７における時間パーティションの長さを示すものである。この変換テーブルＢ８１０を図８に示す。このとき、信号処理プログラム８０７は、送信アンテナ２０３や受信アンテナ２０４からの電波の送受信を停止するため、送受信ドライバ２０５の設定変更のみを行い、測定データ２０９を用いた演算は行わない。したがって実行時間が短くなることから、信号処理プログラム８０７に割り当てられる時間パーティションの長さは１５ｍｓとなり、変換テーブルＡ２１４と比較すると、割り当てられる時間パーティションの長さが短くなっている。
【００５６】
変換テーブルＣ８１１は、データ数減少フラグ８０５がセットされている場合の、信号処理プログラム８０７におけるサイクル番号情報が奇数時の時間パーティションの長さを示すものである。この変換テーブルＣ８１１を図９に示す。このとき、信号処理プログラム８０７に割り当てられる時間パーティションの長さは３０ｍｓである。データ数が減少しており、信号処理プログラム８０７の実行時間は短くなることから、変換テーブルＡ２１４と比較すると、割り当てられる時間パーティションの長さが短くなっている。
【００５７】
続いて、本実施の形態２に係るＯＳ８０９が、信号処理プログラム８０７のタスクに割り当てられる時間パーティションの長さを設定する際の動作を、図１０のフローチャートを用いて説明する。
【００５８】
ＯＳ８０９は、信号処理プログラム８０７のタスクに割り当てられる時間パーティションの設定を開始すると、まずステップＳ１１０１において、スリープフラグ８０４を参照する。スリープフラグ８０４がセットされている場合にはステップＳ１１０５に進み、セットされていない場合にはステップＳ１１０２に進む。
【００５９】
ステップＳ１１０２に進んだ場合には、ＯＳ８０９はサイクル番号情報２０８を参照する。そしてサイクル番号情報２０８が偶数である場合にはステップＳ１１０６へ進み、奇数の場合にはステップＳ１１０３に進む。
【００６０】
ステップＳ１１０３に進んだ場合には、ＯＳ８０９はさらにデータ数減少フラグ８０５を参照する。そしてデータ数減少フラグ８０５がセットされている場合にはステップＳ１１０７に進み、セットされていない場合にはステップＳ１１０４に進む。ステップＳ１１０４に進んだ場合には、変換テーブルＡ２１４を参照し、時間パーティションの長さを４０ｍｓに設定して、信号処理プログラム８０７に対する時間パーティションの長さの設定処理を終了する。
【００６１】
一方、ステップＳ１１０１においてスリープフラグ８０４がセットされており、ステップＳ１１０５に進んだ場合には、変換テーブルＢ８１０を参照し、時間パーティションの長さを１５ｍｓに設定して、信号処理プログラム８０７に対する時間パーティションの長さの設定処理を終了する。
【００６２】
また、ステップＳ１１０２においてサイクル番号情報２０８が偶数であり、ステップＳ１１０６に進んだ場合には、変換テーブルＡ２１４を参照し、時間パーティションの長さを４５ｍｓに設定して、信号処理プログラム８０７に対する時間パーティションの長さの設定処理を終了する。
【００６３】
ステップＳ１１０３においてデータ数減少フラグ８０５がセットされており、ステップＳ１１０７に進んだ場合には、変換テーブルＣ８１１を参照し、時間パーティションの長さを３０ｍｓに設定して、信号処理プログラム８０７に対する時間パーティションの長さの設定処理を終了する。
【００６４】
このように、ＯＳ８０９は右記の各タスク実行時間決定情報を、スリープフラグ８０４、サイクル番号情報２０８、データ数減少フラグ８０５の順に高い優先度をつけて、参照する変換テーブルを決定し、時間パーティションの長さを設定する。
【００６５】
次に、図１１に示すタイムチャートを用いて、他のＥＣＵから測定停止シグナルを受信したときの、図１０のフローチャートによるＯＳ８０９の一連の処理を説明する。図１１は、スリープフラグセット時の、時間パーティションの割り当てを示すタイムチャートである。
【００６６】
サイクル番号情報２０８が１のときにおいて、ＥＣＵ管理プログラム８０８のタスク実行時に、ＥＣＵ管理プログラム８０８が、ＣＡＮ通信コントローラ８０２から測定停止シグナルを受信し、スリープフラグ８０４をセットしたとする。次に、ＯＳ８０９はＥＣＵ管理プログラム８０８の時間パーティションを終了し、サイクル番号情報２０８を２にインクリメントするとともに、次の信号処理プログラム８０７の時間パーティションの設定を開始する。
【００６７】
そしてステップＳ１１０１において、スリープフラグ８０４がセットされているか確認する。ここで、ＥＣＵ管理プログラム８０８によって既にセットされているため、ステップＳ１１０５に進む。次に変換テーブルＢ８１０を参照し、信号処理プログラム８０７の時間パーティションの長さを１５ｍｓに設定して処理を終了する。サイクル番号情報２０８が偶数のため、安全監視プログラム２１１時間パーティションの長さは５ｍｓに設定され、ＥＣＵ管理プログラムの時間パーティションは設定されない。
【００６８】
続いて信号処理プログラム８０７のタスクが起動すると、送受信ドライバ２０５の設定を変更して、電波の送受信を停止する。測定データ２０９を用いた演算の実行は行わないため、実行時間が短くなり、１５ｍｓ以内に処理を終了する。
その結果、実施の形態１において図４の参考例で示した、時間パーティションの長さが４５ｍｓで固定された状態で停止処理を行う場合と比較すると、信号処理プログラム８０７の時間パーティションにおける不要な空き時間は３０ｍｓ短縮できることがわかる。
【００６９】
次のサイクル番号情報２０８が３のときにおいて、信号処理プログラム８０７におけるレーダＥＣＵ８０１のスリープに向けた動作も、タスクの実行時間が短くなるため、信号処理プログラム８０７の時間パーティションの長さを１５ｍｓに設定する。安全監視プログラム２１１、ＥＣＵ管理プログラム８０８の時間パーティションの長さは、サイクル番号情報２０８が奇数のため、いずれも５ｍｓに設定される。この設定された時間パーティション内で各タスクが実行することで、図４に示した参考例に比べて３０ｍｓ以上時間を短縮して、レーダＥＣＵ８０１をスリープ状態にすることが可能となる。
【００７０】
このように、本実施の形態２における上記の発明は、他のＥＣＵから受信したシグナル情報に基づいて、信号処理プログラム８０７のタスクを実行する時間パーティションの長さを変更している。すなわち、タスク実行時間決定情報（スリープフラグ８０４のセットの有無）は、情報入力手段が外部装置から受け取る情報に基づくものであり、このタスク実行時間決定情報に基づきタスクの実行時間に対応した時間パーティションの長さが導出される。
このことにより、外部装置からの車両状態情報などに応じてタスクの処理内容が変化することでタスクの実行時間が変化する場合にも対応して、アプリケーションプログラム（信号処理プログラム８０７、安全監視プログラム２１１、ＥＣＵ管理プログラム８０８）間の独立性を保ちながら、時間パーティション内の不要な空き時間を減らすことができる。
【００７１】
また、同時にデータ数減少フラグ８０５がセットされている場合であっても、スリープフラグ８０４の状態を優先的に確認することにより、信号処理プログラム８０７のタスクの実行時間に適した時間パーティションを設定している。すなわち、複数の種類のタスク実行時間決定情報がそれぞれ優先度を持ち、優先度に応じて、変換部において時間パーティションの長さの導出に利用されるタスク実行時間決定情報を決定している。
そのため、複数種のタスク実行時間決定情報から、時間パーティション内の不要な空き時間を減らす量や実行されるタスクの緊急度合等に応じて、空き時間を適切に減らすことができる。
【００７２】
次に、図１２に示すタイムチャートを用いて、自車前方の遠距離の測定時に物体が検出されなかったときの、図１０のフローチャートによるＯＳ８０９の一連の処理を説明する。このとき、他のＥＣＵから測定停止シグナルは受信せず、スリープフラグ８０４はセットされていないものとする。図１２は、データ数減少フラグセット時の、時間パーティションの割り当てを示すタイムチャートである。
【００７３】
サイクル番号情報２０８が１のときにおいて、信号処理プログラム８０７のタスクでは、遠距離用の電波の送受信と演算処理を実行する。ここで、自車遠方に物体が検出されなかったため、信号処理プログラム８０７はデータ数減少フラグ８０５をセットする。その後、サイクル番号情報２０８が２、３にインクリメントされる度に、ＯＳ８０９は、次の信号処理プログラム８０７の時間パーティションの設定を開始し、ステップＳ１１０１において、スリープフラグ８０４がセットされているか確認する。スリープフラグ８０４はセットされていないため、ステップＳ１１０２に進み、サイクル番号情報２０８を参照する。そしてサイクル番号情報２０８が奇数の３となったとき、ステップＳ１１０３に進む。
なお、奇数サイクルにおける、自車前方の遠距離の測定時に物体が検出されなかったという演算結果が、特許請求の範囲における、以前のタスクの実行結果に相当する。
【００７４】
ステップＳ１１０３において、ＯＳ８０９はデータ数減少フラグ８０５がセットされているか確認する。データ数減少フラグ８０５はサイクル番号情報２０８が１のときにセットしているため、ステップＳ１１０７に進み、ＯＳ８０９は変換テーブルＣ８１１を参照し、信号処理プログラム８０７の時間パーティションの長さを３０ｍｓに設定して処理を終了する。安全監視プログラム２１１、ＥＣＵ管理プログラム８０８の時間パーティションの長さは、実施の形態１と同様に、サイクル番号情報２０８が奇数のため、いずれも５ｍｓに設定される。
【００７５】
続いて信号処理プログラム８０７のタスクが起動すると、送受信ドライバ２０５の設定を変更して、測定サンプリング数を下げ、その分減少した測定データ２０９に対して演算処理を実行する。減少した分、実行時間が短くなり、３０ｍｓ以内に処理を終了する。
その結果、図４で示した、時間パーティションの長さが４５ｍｓで固定されている参考例と比較すると、信号処理プログラム８０７の時間パーティションの不要な空き時間は１５ｍｓ短縮できることがわかる。
【００７６】
このように、本実施の形態２におけるもう１つの発明は、以前のタスクの実行結果として、奇数サイクルにおいて、自車前方の遠距離の測定時に物体が検出されなかった場合、データ数減少フラグ８０５がセットされ、次の奇数サイクルにおいて、信号処理プログラム８０７のタスクを実行する時間パーティションの長さを変更している。すなわち、タスク実行時間決定情報（データ数減少フラグ８０５のセットの有無）は、以前のタスクの実行結果に基づくものであり、このタスク実行時間決定情報に基づきタスクの実行時間に対応した時間パーティションの長さが導出される。
このことにより、以前のタスクの実行結果に応じてタスクの内容が変化することでタスクの実行時間が変化する場合にも対応して、アプリケーションプログラム（信号処理プログラム８０７、安全監視プログラム２１１、ＥＣＵ管理プログラム８０８）間の独立性を保ちながら、時間パーティション内の不要な空き時間を減らすことができる。
【００７７】
なお、図１１や図１２のタイムチャートでは、信号処理プログラム８０７の時間パーティションが短くなった分、同じサイクル内で処理を実行しない時間が増加している。ここには実施の形態１に示したように、他の時間パーティションを割り当てて、他のアプリケーションプログラムのタスクを実行するようにしても良いため、時間パーティションの割り当ての自由度が向上する。
【００７８】
また、本実施の形態２では、外部装置からの入力情報として、ネットワークを介して受信した情報を用いたが、本発明はこれに限定されるものではない。例えば、レーダＥＣＵ８０１に直接接続されたセンサからの情報を用いて、時間パーティションの長さを変更するものであってもよい。
【００７９】
以上に説明した実施の形態１、２の構成、動作に限定されることはなく、本発明の範囲内にある限り、別な構成、動作へ変更を加えて実施してもよい。
【符号の説明】
【００８０】
２０１、８０１    レーダＥＣＵ
２０２            プロセッサ
２０６、８０３    ＲＡＭ
２０８            サイクル番号情報
２１０、８０７    信号処理プログラム
２１１            安全監視プログラム
２１２、８０８    ＥＣＵ管理プログラム
２１３、８０９    オペレーティングシステムプログラム（ＯＳ）
２１４            変換テーブルＡ
８０２            ＣＡＮ通信コントローラ
８０４            スリープフラグ
８０５            データ数減少フラグ
８１０            変換テーブルＢ
８１１            変換テーブルＣ
【要約】
【課題】  この発明は、タスクの実行時間が変化する場合に、時間パーティションの長さをタスクの実行時間に対応して設定し、時間パーティション内の空き時間を減らすことを目的とする。
【解決手段】  本発明に係る電子制御装置２０１は、非安全関連アプリケーションプログラム２１０と、安全関連アプリケーションプログラム２１１、２１２との、両アプリケーションプログラムに含まれる各タスクの実行に割り当てられる時間パーティションをアプリケーションプログラム毎に設定するＯＳ２１３が、記憶部２０６に格納されたタスク実行時間決定情報２０８に基づき、タスクの実行時間に対応した時間パーティションの長さを導出する変換部２１４により導出された時間パーティションの長さに従って、アプリケーションプログラムに時間パーティションを設定するものである。
【選択図】  図１【図１】
0005594416.tif 000002
【図２】
0005594416.tif 000003
【図３】
0005594416.tif 000004
【図４】
0005594416.tif 000005
【図５】
0005594416.tif 000006
【図６】
0005594416.tif 000007
【図７】
0005594416.tif 000008
【図８】
0005594416.tif 000009
【図９】
0005594416.tif 000010
【図１０】
0005594416.tif 000011
【図１１】
0005594416.tif 000012
【図１２】
0005594416.tif 000013
【図１３】
0005594416.tif 000014