(57)【要約】【課題】複数のセンサ信号を調停して動的再構成回路を再構築する電子制御ユニット及び回路再構築方法を提供すること。【解決手段】複数のセンサ１〜ｎから選択的に１以上のセンサ信号を読み出すインターフェイス１３と、回路の再構築を指示する配線情報を記憶した配線情報記憶手段１４と、記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路１６と、を有する電子制御ユニット１００において、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段１２、を有し、動的再構成回路１６は、調停手段１２が決定したセンサ信号を処理する内部構成に再構築する、ことを特徴とする。【選択図】図２
2010282563.tif 000002
【特許請求の範囲】
【請求項１】
複数のセンサから選択的に１以上のセンサ信号を読み出すインターフェイスと、
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、
複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、
前記動的再構成回路は、前記調停手段が決定したセンサ信号を処理する内部構成に再構築する、
ことを特徴とする電子制御ユニット。
【請求項２】
車両状態を検出する車両状態検出手段を有し、
前記調停手段は、前記車両状態に応じて複数のセンサ信号から優先して処理するセンサ信号を決定する、
ことを特徴とする請求項１記載の電子制御ユニット。
【請求項３】
前記車両状態検出手段はモータトルクとエンジントルクの比を検出し、
前記調停手段は、前記比に応じて複数のセンサ信号から優先して処理するセンサ信号を決定する、
ことを特徴とする請求項２記載の電子制御ユニット。
【請求項４】
センサ毎に予め優先順位を定めた優先順位テーブルを有し、
前記調停手段は、前記優先順位テーブルに基づきセンサ信号の優先順位を定める、
ことを特徴とする請求項１記載の電子制御ユニット。
【請求項５】
複数のセンサの１つがクランクアングルセンサの場合、
前記動的再構成回路は、クランク角度が所定量増大する毎に、前記配線情報を読み出し内部構成を再構築し、クランク角度に処理を施す、
ことを特徴とする請求項４記載の電子制御ユニット。
【請求項６】
前記動的再構成回路は、クランク角度が所定量増大する毎にクランク角度に対応した前記配線情報を読み出し内部構成を再構築し、クランク角度に処理を施す、
ことを特徴とする請求項５記載の電子制御ユニット。
【請求項７】
複数のセンサから選択的に１以上のセンサ信号を読み出すインターフェイスと、
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、
車両状態を検出する車両状態検出手段と、
前記車両状態に応じて、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、
前記動的再構成回路は、前記車両状態に基づき、前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す、
ことを特徴とする電子制御ユニット。
【請求項８】
前記車両状態検出手段は車両の操舵角を検出し、複数のセンサが障害物を検出する複数の障害物検出センサの場合、
前記調停手段は、前記操舵角に応じて障害物検知センサの優先順位を定め、
前記動的再構成回路は、操舵角に応じて再構築された内部構成により、障害物検知センサが検出したセンサ信号に処理を施す、
ことを特徴とする請求項７記載の電子制御ユニット。
【請求項９】
前記車両状態検出手段は、前記動的再構成回路により処理が必要な装置の電源オン及びオフを検出し、
前記動的再構成回路は、前記装置の電源のオン又はオフに応じて内部構成を再構築する、
ことを特徴とする請求項７記載の電子制御ユニット。
【請求項１０】
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットの回路再構築方法において、
複数のセンサが、２以上のセンサ信号を出力するステップと、
調停手段が、複数のセンサ信号を調停し、処理するセンサ信号を決定するステップと、
前記動的再構成回路が、前記調停手段が決定したセンサ信号を処理する内部構成に再構築するステップと、
を有することを特徴とする電子制御ユニットの回路再構築方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載される電子制御ユニット等に関し、特に、動的再構成回路１６を搭載した電子制御ユニットに関する。
【背景技術】
【０００２】
車両では演算負荷が高い処理を実行する専用ハードウェアをマイコンに実装することで、ＣＰＵがソフトウェアを実行することによる処理負荷を低減している。車両では１つのマイコンに複数のセンサが接続されることが少なくなく、センサ毎に決まった演算が必要となることがあるが、この場合、複数の専用ハードウェアをマイコンに実装することも可能である。
【０００３】
図１（ａ）は、センサ毎に搭載された専用ハードウェア回路図の一例である。セレクタは、センサＡとセンサＢと接続されている。セレクタには、センサＡのセンサ信号を処理する専用Ｈ／Ｗ回路Ａと、センサＢのセンサ信号を処理する専用Ｈ／Ｗ回路Ｂが、接続されている。しかし、このように搭載する専用ハードウェアの数が増えれば、実装面積が大きくなってしまう。具体的には、専用Ｈ／Ｗ回路ＡがセンサＡのセンサ信号を処理している間、専用Ｈ／Ｗ回路Ｂは動作していないので、少なくとも一方の専用ハードウェア回路が無駄となっている。
【０００４】
そこで、複数の専用ハードウェアを１つの動的再構成回路で実装することが考えられている（例えば、特許文献１参照。）。動的再構成回路は、複数の演算ユニットと、演算ユニット間を結ぶ配線によって構成され、配線を切り替えることで異なる回路を再構築することができる演算回路である。特許文献１には、動的再構成回路の回路切り替えに要する時間とバッファのデータ数が一定数以上になるまでの時間を比較し、前者の方が短い場合、動的再構成回路をタスクに応じたものに切り替えるデータ処理装置が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２００１０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、車両に搭載されたマイコンでは、タスクの処理時間のみから動的再構成回路を再構築するか否かを決定するだけでは不十分である。
【０００７】
図１（ｂ）は、センサ毎に構成が切り替えられる動的再構成回路を模式的に示す図の一例である。フラッシュＲＯＭには、専用Ｈ／Ｗ回路Ａ及び専用Ｈ／Ｗ回路Ｂに動的再構成回路を切り替えるオブジェクトコードが記憶されている。セレクタは、センサＡとセンサＢが検出したセンサ信号に応じて読み出すオブジェクトコードを選択し、動的再構成回路を再構築させる。ここで、動的再構成回路の内部構成は、処理対象のセンサ信号に応じて一意に定まるので、セレクタはセンサ信号を出力したセンサＡ又はセンサＢに応じて、読み出すオブジェクトコードを決定しなければならないことになる。しかし、センサＡとセンサＢはそれぞれ独立してセンサ信号を出力するので、セレクタがセンサＡに適した回路にのみ動的再構成回路を切り替えてしまったり、その逆の状況が生じてしまうことがある。また、センサＡ及びセンサＢがセンサ信号を出力するタイミングと、センサ信号を処理するタイミングが同じとは限らない。すなわち、動的再構成回路を複数のセンサのそれぞれに適した回路に再構築する場合、センサ信号を調停する必要がある。
【０００８】
本発明は、上記課題に鑑み、複数のセンサのセンサ信号を調停して動的再構成回路を再構築する電子制御ユニット及び回路再構築方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題に鑑み、本発明は、複数のセンサから選択的に１以上のセンサ信号を読み出すインターフェイスと、回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、動的再構成回路は、調停手段が決定したセンサ信号を処理する内部構成に再構築する、ことを特徴とする電子制御ユニットを提供する。
【発明の効果】
【００１０】
複数のセンサ信号を調停して動的再構成回路を再構築する電子制御ユニット及び回路再構築方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】センサ毎に専用ハードウェア回路図の一例である（従来図）。
【図２】電子制御ニットのブロック図の一例である。
【図３】エンジンＥＣＵの概略構成図の一例である。
【図４】優先順位テーブルの一例を示す図である。
【図５】電子制御ユニットが、動的再構成回路の内部構成を再構築する手順を示すフローチャート図の一例である。
【図６】動的再構成回路を切り替える車両状態の一例を示す図である。
【図７】各気筒のサイクルを説明するための図の一例である。
【図８】ハイブリッドＥＣＵの該略構成図の一例である。
【図９】モータ起動数とエンジンシリンダ起動数の比を説明するための図の一例である。
【図１０】ハイブリッドＥＣＵの動的再構成回路が内部構成を再構築する手順を示すフローチャート図の一例である。
【図１１】統合ＥＣＵを模式的に示す図の一例である。
【図１２】統合ＥＣＵの動的再構成回路が内部構成を再構築する手順を示すフローチャート図の一例である。
【図１３】バックモニタＥＣＵを模式的に示す図の一例である。
【図１４】ディーゼルエンジンの動作手順の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【実施例１】
【００１３】
図２は、電子制御ユニット１００のブロック図の一例を示す。動的再構成回路１６が内部構成を再構築する手順の概略を説明する。アービタ１２は、センサ１１（区別する場合、センサ１〜ｎという）が検出したセンサ信号に優先順位を付けて、ＩＮＴＣ（割り込みコントローラ）１５にセンサを識別するためのセンサ情報を出力する。ＩＮＴＣ１５はセンサ情報に応じて動的再構成回路１６に割り込みすると共に、動的再構成回路１６にセンサ情報に対応したオブジェクトコードを読み込ませる。アービタ１２がセンサ信号を調停することで、複数のセンサ１〜ｎが接続されたマイコンにセンサ毎に専用の回路を再構築する動的再構成回路１６を搭載しても、センサ信号を処理すべきタイミングでセンサ信号に対応した内部構成に、動的再構成回路を再構築することができる。
【００１４】
電子制御ユニット１００は、バス３４に接続された動的再構成回路１６、ＣＰＵ１８、ＩＮＴＣ２３、ＲＡＭ１９、ＤＭＡＣ２１及びＴｉｍｅｒ２２を有する。動的再構成回路１６以外の回路については公知のものを利用できる。ＣＰＵ１８は、ＦｌａｓｈＲＯＭ１７に記憶されたプログラムを読み出して電子制御ユニット１００の全体を制御する。ＣＰＵ１８は、バス３４に接続された複数のレジスタセット２６，２７、レジスタセット２６，２７に接続されたマルチプレクサ２８、マルチプレクサ２８と接続された演算ユニット３０、ＦｌａｓｈＲＯＭ１７と接続されたプログラムカウンタ２４と命令キュー２５、とを有する。
【００１５】
レジスタセット２６，２７には、動的再構成回路１６により処理が施されたセンサ信号、又は、ＲＡＭ１９に記憶されているデータ等がバス３４を介して読み出される。マルチプレクサ２８は、プログラムの指定に従い演算ユニット３０に接続するレジスタセット２６，２７を切り替える。
【００１６】
プログラムカウンタ２４にはＣＰＵ１８が実行するＦｌａｓｈＲＯＭ１７のアドレスが記憶される。プログラムカウンタ２４がクロックに同期してアドレスをＦｌａｓｈＲＯＭ１７に出力すると、命令キュー２５に命令が読み出される。プログラムカウンタ２４は、所定値だけアドレスの値を大きくして次の命令の読み出しに備える。
【００１７】
命令キュー２５に格納された命令は命令デコーダで解読され、不図示のレジスタファイルに記憶される。レジスタファイルには演算の種別、ソースオペランド（演算対象のデータのアドレス）等が記憶される。ソースオペランドが例えばレジスタセット２６，２７を指定すれば、演算ユニット３０はレジスタセット２６，２７からデータを読み出す。演算ユニット３０は、演算の種別に応じた演算をソースオペランドのデータに施す。図示するように、演算ユニット３０は、一般的なＡＬＵ２９（Arithmetic  Logic  Unit)の他、ＬＳＵ３２（Load  Store  Unit）、ＭＵＬ３１（Multiply）、ＤＩＶ３３（Divide）等の演算が可能になっている。演算結果は、不図示のレジスタファイルに記憶され、プログラムの指示に応じてレジスタセット２６，２７を介してＲＡＭ１９に書き込まれる。
【００１８】
ＤＭＡＣ２１はＲＡＭ１９に記憶されたデータを、ＣＰＵ１８を介することなくＩ／Ｏ３５に転送したり、Ｉ／Ｏ３５から入力されたデータを、ＣＰＵ１８を介することなくＲＡＭ１９に格納する。Ｉ／Ｏ３５には、スイッチング素子、ＡＳＩＣ（Application  Specific  Integrated  Circuit）、アクチュエータ等が接続されている。
【００１９】
また、ＩＮＴＣ２３は、Ｔｉｍｅｒ２２に設定された値が経過するとＣＰＵ１８に割り込みを生じさせる割り込みコントローラである。サイクル時間毎に処理したいプログラムがある場合、そのプログラムはＴｉｍｅｒ２２にサイクル時間を設定してＣＰＵ１８を停止する。ＩＮＴＣ２３はＴｉｍｅｒ２２がゼロになるとＴｉｍｅｒ２２に対応した割り込みベクタをＣＰＵ１８に実行させる。割り込みベクタは指定されたプログラムのアドレスをプログラムカウンタ２４に設定するので、再度、サイクル時間毎に処理したいプログラムが実行される。
【００２０】
動的再構成回路１６にはＩＮＴＣ１５が接続され、ＩＮＴＣ１５にはＦｌａｓｈＲＯＭ１４及びアービタ１２が接続され、アービタ１２には入力Ｉ／Ｆ１３が接続され、入力Ｉ／Ｆ１３にはセンサ１〜ｎが接続されている。センサ１〜ｎは２以上であればよい。また、動的再構成回路１６は、例えば、多数のＰＥ（Processing  Element）と配線部分で構成される。配線を動的に再構築することで実行する処理の内容を切り替える変更することが可能である。動的再構成回路１６には種々のものが知られているが、実装形態はどのようなものでもよい。例えば、ＰＬＤ（Programable  Logic  Device）やＦＰＧＡ（Field  Programable  Gate  Array）、リコンフィギュラブルチップ(Reconfigurable  Chip)が知られている。
【００２１】
動的再構成回路１６は、ＩＮＴＣ１５から割り込みを受けると、割り込みに用いられた信号線をセンサ情報として、センサ情報に応じたオブジェクトコードをＦｌａｓｈＲＯＭ１４から読み出す。オブジェクトコードには、例えば、ＰＥ間の断接情報が含まれている。したがって、動的再構成回路１６はオブジェクトコードを実行することで回路の配線を切り替えることができる。
【００２２】
センサ１〜ｎは、車両状態を検出するための各種のセンサである。この電子制御ユニット１００が、エンジンＥＣＵの場合、センサ１〜ｎはクランクアングルセンサ、回転速度センサ、及び、ノックセンサ等である。図３は、エンジンＥＣＵの概略構成図を示す。図２と比べ、センサ１〜ｎが、クランクアングルセンサ１１ａ、回転速度センサ１１ｂ、ノックセンサ１１ｃと置き換わっている。
【００２３】
また、電子制御ユニット１００がハイブリッドＥＣＵの場合、センサ１〜ｎは、モータ回転数センサ、モータトルクセンサ、電流センサ（以下、総称して「ＨＶ（ハイブリッド）センサ」という）等である。また、電子制御ユニット１００が電動パワステＥＣＵの場合、センサ１〜ｎは操舵角センサ等であり、障害物検出ＥＣＵの場合、センサ１〜ｎはミリ波レーダセンサ等である。また、ＥＣＵがバックモニタＥＣＵの場合、センサ１〜ｎは、シフトポジションセンサ、車速センサ（以下、総称して「車両方向移動センサ」という）等である。また、ＥＣＵがディーゼルエンジンのエンジンＥＣＵの場合、センサ１〜ｎはディーゼルセンサ（例えば、クランクアングルセンサ１１ａ）である。
【００２４】
入力Ｉ／Ｆ１３は、センサ１〜ｎと順番に接続し、必要であればＡ／Ｄ変換し、センサ１〜ｎのセンサ信号を取得する。入力Ｉ／Ｆ１３は、充分に短いサイクル時間毎に各センサ１〜ｎが検出するセンサ信号を取得する。
【００２５】
アービタ１２は、１以上のセンサ信号が書き変わる時間が経過する時間を下限、全てのセンサ信号が書き変わる時間を上限に、適当な時間間隔毎に、入力Ｉ／Ｆ１３に全てのセンサ信号を読み行く。一般的には、センサ信号の処理が必要なセンサ１〜ｎのいずれかがセンサ信号を検出する毎に、アービタ１２がセンサ信号を読みに行く。アービタ１２がセンサ信号を読みに行く場合、後述する優先順位テーブルと照らし合わせて全てのセンサ信号を調停し、優先順位の高いセンサ１〜ｎのセンサ信号を抽出する。
【００２６】
そして、アービタ１２はセンサ１〜ｎのセンサ信号に基づき、以下をそれぞれ判定し、１つのセンサに処理権を与える。
（１）動的再構成回路１６の内部構成を再構築する必要がある状況か
（２）２つ以上のセンサ信号に対し動的再構成回路１６の内部構成の再構築が必要であると判定した場合、最も優先順位の高いセンサ信号はどれか
アービタ１２は、動的再構成回路１６の構成を変更する必要があるセンサ信号が1つだけの場合は、そのセンサのセンサ情報をＩＮＴＣ１５に出力する。また、最も優先順位の高いセンサを決定した場合、そのセンサのセンサ情報をＩＮＴＣ１５に出力する。センサ情報は、例えば、アービタ１２とＩＮＴＣ１５をセンサ毎に接続する信号線に出力されるＨｉｇｈ信号、又は、センサに対応づけられた番号等である。
【００２７】
アービタ１２は、回路で構成してもよいし、ＣＰＵ１８がプログラムを実行することで実現してもよい。プログラムで実現する場合、例えば、アービタ１２、ＦｌａｓｈＲＯＭ１４及びＩＮＴＣ１５をＩＣ等で構成し、ＣＰＵ１８がＦｌａｓｈＲＯＭ１４に記憶されたプログラムを実行する。回路などのハードウェアで実現すれば、センサ信号の調停を高速で行うことが可能であるし、プログラムで実現すれば調停論理に柔軟性を持たせやすくなる。
【００２８】
図４は、アービタ１２が記憶する優先順位テーブルの一例を示す図である。優先順位テーブルには、センサ情報に対応づけて、「処理間隔」、「デッドライン」、「最終処理」、「優先順位」が登録されている。「処理間隔」は、次にセンサ信号を処理するタイミングまでのセンサ信号の増大分である。「最終処理」は、最後にセンサ信号を処理した際のセンサ信号の値である。「デッドライン」は、センサ信号が処理間隔を超えていても優先順位が低いため処理されない場合、強制的にそのセンサのセンサ信号を処理するための処理間隔である。「優先順位」はセンサ１〜ｎのセンサ信号を優先的に処理する優先順位であり、数値が小さいほど優先度が高いことを示す。優先順位テーブルに登録された情報のうち、「センサ情報」「処理間隔」「デッドライン」「優先順位」は予めアービタ１２に登録されており、「最終処理」はセンサ信号の処理の度にアービタ１２が登録する。
【００２９】
例えば、図示する状態の場合、クランクアングルセンサ１１ａの最終処理は「１２０度」、「処理間隔」は「３０度」なので、アービタ１２はセンサ信号が「１２０＋３０度」になると、クランクアングルセンサ１１ａに処理権を与える。クランクアングルセンサ１１ａは、「優先順位」が「１」なので、調停されることなくセンサ信号がそのまま処理される。
【００３０】
また、回転速度センサ１１ｂの最終処理は「０度（３６０度回転して元の位置に戻った）」、「処理間隔」は「９０度」なので、アービタ１２はセンサ信号が「０＋９０度」になると、センサ信号の処理が必要であると判定する。回転速度センサ１１ｂは、「優先順位」が「２」なので、アービタ１２は、クランクアングルセンサ１１ａのセンサ信号を処理する必要があるか否かを判定し、処理する必要がなければ回転速度センサ１１ｂに処理権を与える。また、ノックセンサ１１ｃの最終処理は「３４５秒」、「処理間隔」は「１度」なので、アービタ１２はセンサ信号が「３４５＋１秒」になると、センサ信号の処理が必要であると判定する。ノックセンサ１１ｃは、「優先順位」が「３」なので、アービタ１２は、クランクアングルセンサ１１ａと回転速度センサ１１ｂのセンサ信号を処理する必要があるか否かを判定し、２つとも処理する必要がなければノックセンサ１１ｃに処理権を与える。
【００３１】
なお、「優先順位」は、車両の３つの基本機能「止まる、走る、曲がる」のどれにそのセンサ１〜ｎが関係するかに応じて定められる。すなわち、「止まる」に関係するセンサ１〜ｎの優先順位が最も高く、ついで、「走る」に関係するセンサの優先順位が最も高く、「曲がる」に関係するセンサ１〜ｎの優先順位が最も低い。
【００３２】
また、回転速度センサ１１ｂの「デッドライン」は「８５度」なので、アービタ１２はセンサ信号が「０＋９０＋８５度」になると、優先順位の高いクランクアングルセンサ１１ａのセンサ信号が「処理間隔」の条件を満たしていても、回転速度センサ１１ｂに処理権を与える。同様に、ノックセンサ１１ｃの「デッドライン」は「０．９秒」なので、アービタ１２はセンサ信号が「３４５＋１＋０．９秒」になると、優先順位の高いクランクアングルセンサ１１ａと回転速度センサ１１ｂのセンサ信号が「処理間隔」の条件を満たしていても、ノックセンサ１１ｃに処理権を与える。「デッドライン」には、「処理間隔」よりもわずかに小さな値が登録されているので、各センサのセンサ信号が最終処理された時の値から、もう一度「処理間隔」を超えるまでにセンサ信号が処理される。「デッドライン」は、「処理間隔」よりわずかに小さい値でなくてもよく、何回か「処理間隔」を飛ばして処理してもセンサ信号の処理に影響の少ないセンサであれば、デッドライン＝「ｎ×処理間隔（ｎ：１以上の実数）」とすることができる。
【００３３】
なお、アービタ１２は、最後に処理権を与えたセンサのセンサ情報及びセンサ信号を記憶している。動的再構成回路１６は、最後に処理権を与えたセンサのセンサ信号を処理する回路に再構築されていることになる。アービタ１２は、処理権を与えたセンサ及びセンサ信号と、最後に処理権を与えたセンサ及びセンサ信号を比較して、センサ又はセンサ信号の一方が変化した場合は回路を切り替える必要があるか否かを判定する。こうすることで、内部構成の再構築が不要な場合は、動的再構成回路１６を再構築する必要がなくなる。
【００３４】
動的再構成回路１６の処理内容について説明する。動的再構成回路１６はＩＮＴＣ１５が割り込み時に指定したセンサ情報及びセンサ信号に基づき、ＦｌａｓｈＲＯＭ１４から読み出すべきオブジェクトコードを決定する。
【００３５】
例えば、アービタ１２がクランクアングルセンサ１１ａに処理権を与えた場合、動的再構成回路１６は、クランク角度に基づきＶＶＴ（Variable  Valve  Timing）入力角度を算出する内部構成に再構築する。また、アービタ１２が回転速度センサ１１ｂに処理権を与えた場合、動的再構成回路１６は、回線速度センサのセンサ信号に基づきエンジン回転数を算出する内部構成に再構築する。また、アービタ１２がノックセンサ１１ｃに処理権を与えた場合、動的再構成回路１６は、ノックセンサ１１ｃのセンサ信号に基づきノッキングの有無を判定する内部構成に再構築する。
【００３６】
図５は、電子制御ユニット１００が、動的再構成回路１６を再構築する手順を示すフローチャート図の一例である。図５のフローチャート図は、例えば、電子制御ユニット１００が起動するとスタートする。
【００３７】
まず、アービタ１２はセンサ信号を読みに行くタイミングか否かを判定する（Ｓ１０）。例えば、センサ１〜ｎのいずれかからセンサ信号が取得される毎に、アービタ１２はセンサ信号を読みに行く。アービタ１２がセンサ信号を読みに行くタイミングとなるまで、アービタ１２は待機する。
【００３８】
アービタ１２がセンサ信号を読みに行くタイミングとなった場合（Ｓ１０のＹｅｓ）、アービタ１２は、センサ信号と優先順位テーブルに基づき処理間隔を超えたセンサがあるか否かを判定する（Ｓ２０）。処理間隔を超えたセンサがない場合（Ｓ２０のＮｏ）、センサ信号を処理する必要がないので、ステップＳ１０からの判定を繰り返す。
【００３９】
処理間隔を超えたセンサがある場合（Ｓ２０のＹｅｓ）、センサ信号を処理する必要があるため、アービタ１２は処理間隔を超えたセンサが複数あるか否かを判定する（Ｓ３０）。処理間隔を超えたセンサが複数ない場合（Ｓ３０のＮｏ）、すなわち、処理間隔を超えたセンサが１つだけの場合、そのセンサのセンサ信号を処理すればよい。このため、アービタ１２は、処理間隔を超えたセンサに対応した割り込みを動的再構成回路１６に発生させるようＩＮＴＣ１５に要求する（Ｓ４０）。
【００４０】
処理間隔を超えたセンサが複数ある場合（Ｓ３０のＹｅｓ）、デッドラインを超えたセンサが最も優先されるべきなので、アービタ１２は、複数のセンサの中に、デッドラインを超えたセンサがあるか否かを判定する（Ｓ５０）。デッドラインを超えたセンサがある場合（Ｓ５０のＹｅｓ）、そのセンサのセンサ信号を早期に処理するため、アービタ１２は、デッドラインを超えたセンサに対応した割り込みを動的再構成回路１６に発生させるようＩＮＴＣ１５に要求する（Ｓ６０）。
【００４１】
デッドラインを超えたセンサがない場合（Ｓ５０のＮｏ）、アービタ１２は、優先順位テーブルを参照して、複数のセンサから最も優先順位の高いセンサを特定する（Ｓ７０）。そして、アービタ１２は、最も優先順位の高いセンサに対応した割り込みを動的再構成回路１６に発生させるようＩＮＴＣ１５に要求する（Ｓ８０）。
【００４２】
ステップＳ４０，Ｓ６０，Ｓ８０の割り込みにより、動的再構成回路１６はセンサに対応するオブジェクトコードを読み込み、回路を再構築する（Ｓ９０）。
【００４３】
以上の処理を繰り返すことで、アービタ１２がセンサ信号に優先順位を付けることができ、複数のセンサに専用の内部構成に切り替えることができる。また、動的再構成回路１６が複数のセンサに対応した回路に切り替わるので、マイコンの実装面積を節約することができる。
【実施例２】
【００４４】
実施例１ではセンサ毎に予め優先順位を定めておくこととしたが、本実施例では、車両状態に応じてアービタ１２がセンサの優先順位を切り替え、又は、車両状態に応じて動的再構成回路１６の内部構成を再構築する電子制御ユニット１００について説明する。車両状態とは、動的再構成回路１６を切り替える必要のある全ての車両状態をいう。したがって、車両状態は、電子制御ユニット１００によっても変わるし、動的再構成回路１６の設計によっても様々である。本実施例では、例えば、エンジンＥＣＵが検出するクランク角度の値、ハイブリッドＥＣＵ１００Ａが検出する運転モード（後述する「比」）、統合ＥＣＵ１００Ｂが検出する操舵角、バックモニタＥＣＵ１００Ｃが検出する車両の移動方向等が、車両状態である。
【００４５】
図６は、動的再構成回路１６を切り替える車両状態の一例を示す図である。センサに対応づけて車両状態が登録されている。例えば、クランクアングルセンサ１１ａには「一定角度毎」、ＨＶ（ハイブリッド）センサ４１には「モータ走行、ガソリン走行の比」、パワステセンサには「ステアリング舵角、パワステのオン／オフ」、車両移動方向センサ４７には「車両の前進／後進」、ディーゼルセンサには「ディーゼルエンジン制御のエンジン動作タスク」、がそれぞれ対応づけられている。以下、車両状態について説明する。
【００４６】
・エンジンＥＣＵが検出するクランク角度
センサ毎に動的再構成回路１６が切り替わるだけでなく、同じ１つのセンサのセンサ信号の値により動的再構成回路１６が切り替わる場合を説明する。クランクアングルセンサ１１ａは、クランク角度を検出する。エンジンが４気筒、４サイクルの場合、各気筒がサイクルを１つずつずらしながら、エンジンが１回転する間に１気筒当たり、爆発、排気、吸気、圧縮を繰り返す。
【００４７】
図７は、各気筒のサイクルを説明するための図である。エンジンが１回転する間に、クランク角度は３６０度変化する。所定角度毎（例えば３０度毎）に、動的再構成回路１６がクランク角度を処理することで、各気筒の回転速度や吸排気のタイミングを適切に制御可能となる。
【００４８】
アービタ１２は、クランク角度が所定角度変化すると、クランク角度に応じて動的再構成回路１６に割り込みするようＩＮＴＣ１５に要求する。この割り込みにより、動的再構成回路１６は、クランク角度に応じたオブジェクトコードをＦｌａｓｈＲＯＭ１４から読み出し、内部構成を再構築する。再構築後の動的再構成回路１６は、例えば、各気筒１〜４のサイクルに応じた回路であり、例えばクランク角度と時間経過の関係から回転速度を算出したり、吸排気のタイミングを決定する回路、燃料噴射量を決定する回路等、のいずれか又は組み合わせた回路である。
【００４９】
なお、クランクアングルセンサのセンサ信号だけについて説明したが、回転速度センサやノックセンサの処理間隔が経過すると、動的再構成回路１６は実施例１と同様にセンサ１〜ｎ毎に切り替わる。
【００５０】
・ハイブリッドＥＣＵ１００Ａが検出する運転モード
図８は、ハイブリッドＥＣＵ１００Ａの該略構成図の一例を示す。ＨＶセンサ４１は、主にハイブリッドＥＣＵ１００Ａに接続されるセンサである。ハイブリッドＥＣＵ１００Ａは、エンジンのみを動力源として走行するエンジン運転モード、電動モータのみを動力源として走行するモータ運転モード、エンジン＋電動モータの両方を動力源として走行するエンジン＋モータ運転モード、等の運転モードを有する。ハイブリッドＥＣＵ１００Ａは、アクセル操作量、傾斜、車速等をパラメータとして運転モードを切り換える。例えば、要求出力の増加率や、一定時間内の要求出力の増加量（変化量）が所定値より大きい場合、モータ運転モードから、エンジン＋モータ運転モードに切り替えたり、要求出力の増加が所定より大きい場合は、モータ運転モードにおける起動モータ数、エンジン＋モータ運転モードにおけるエンジンシリンダ起動数又はモータ数を増大させる。また、要求出力が低下すれば、エンジン＋モータ運転モードからモータ運転モードに切り替えたり、モータ運転モードにおける起動モータ数、エンジン＋モータ運転モードにおけるエンジンシリンダ起動数又はモータ数を低減させる。こうすることで、ハイブリッドＥＣＵ１００Ａはパラメータに見合う動力をエンジンやモータから出力させる。このように、走行中に「モータ起動数（モータトルク）とエンジンシリンダ起動数（エンジントルク）の比」が切り替わる。
【００５１】
図９は、モータ起動数とエンジンシリンダ起動数の比を説明するための図の一例である。図示するように、モータ起動数とエンジンシリンダ起動数が分かれば、「モータ起動数／エンジンシリンダ起動数」の比も一意に定まる。
【００５２】
ハイブリッドＥＣＵ１００Ａが動的再構成回路１６で行う処理は種々のものがありうるが、ハイブリッドＥＣＵ１００Ａの動的再構成回路１６は、比に応じて異なる態様でＨＶセンサ４１のセンサ信号を処理する。ここで、ハイブリッドＥＣＵ１００Ａの場合、比によって、複数のＨＶセンサ４１の優先順位が変わる。ハイブリッドＥＣＵ１００Ａは、電動モータについてモータ回転数、モータトルク、モータに流れる電流値等を算出し、エンジンについてエンジン回転数、エンジントルク等を算出する。したがって、比によって、動的再構成回路１６に必要な内部構成は異なることになり、比によって、ＨＶセンサ４１の優先順位が異なることになる。具体的には、例えば、モータ起動数の数だけモータ回転数、モータトルク、モータに流れる電流値を算出する回路と、エンジンシリンダ起動数の数だけエンジン回転数、エンジントルク等を算出する回路が必要となる。
【００５３】
このため、アービタ１２は、比が所定値以上変化すると、又は、予め定めた比に到達すると、ＨＶセンサ４１の優先順位を切り替える。こうすることで、比に応じて最適な優先順位で、複数のＨＶセンサ４１のセンサ信号を処理できる。この場合、比毎の優先順位テーブルを予めアービタ１２に登録しておく。アービタ１２は比に基づき参照する優先順位テーブルを切り替え、複数のＨＶセンサ４１の中から処理権を与える１以上のセンサを決定する。
【００５４】
そして、アービタ１２は、処理権を与えたセンサのセンサ情報を指定して、動的再構成回路１６に割り込みするようＩＮＴＣ１５に要求する。ＩＮＴＣ１５が動的再構成回路１６に割り込むと、動的再構成回路１６は、センサ情報に応じてＦｌａｓｈＲＯＭ１４からオブジェクトコードを読み出し、内部構成を再構築する。これにより、動的再構成回路１６は、処理権を与えられたセンサのセンサ信号を処理する内部構成を再構築する。
【００５５】
図１０は、ハイブリッドＥＣＵ１００Ａの動的再構成回路１６が内部構成を再構築する手順を示すフローチャート図の一例である。図１０において、図５と同一ステップには同一の符号を付した。
【００５６】
アービタ１２はサイクル時間毎に運転モードによる比を監視し、比が変化したか否かを判定する（Ｓ１）。比が変化しない場合（Ｓ１のＮｏ）、優先順位テーブルを切り替える必要がないので、ステップＳ１０以降の処理へ進む。
【００５７】
比が変化した場合（Ｓ１のＹｅｓ）、アービタ１２は、比に応じた優先順位テーブルを選択する（Ｓ５）。ついでステップＳ１０以降の処理へ進む。以降の処理は図５と同様なので説明は省略する。
【００５８】
したがって、ハイブリッドＥＣＵ１００Ａに動的再構成回路１６を搭載することで、車両状態（運転モード）に応じてセンサ１〜ｎの優先順位を切り替えて、センサ信号を調停し、動的再構成回路１６の内部構成を再構築することができる。ハイブリッドＥＣＵ１００Ａには多くのＨＶセンサ４１が接続されるので、実装面積の低減効果を大きい。
【００５９】
・統合ＥＣＵ１００Ｂが検出する操舵角
車両状態に応じてアービタ１２がセンサの優先順位を切り替え、さらに、動的再構成回路１６の内部構成を再構築する電子制御ユニット１００について説明する。例えば、電動パワステＥＣＵは、パワステセンサ（例えば、操舵角センサ４３）が検出したセンサ信号を、ステアリング補助モータ４４を制御する際に利用する。また、車両には障害物検出装置が搭載されることがある。障害物検出装置は障害物検出ＥＣＵにより制御される。ここで、本実施形態では、動的再構成回路１６によりセンサ信号の処理を切り替えられることを利用して、電動パワステＥＣＵと障害物ＥＣＵを、統合ＥＣＵ１００Ｂに統合した場合について説明する。
【００６０】
図１１（ａ）は、統合ＥＣＵ１００Ｂを模式的に示す図の一例である。統合ＥＣＵ１００Ｂにはミリ波レーダＡ、ミリ波レーダＢ右、ミリ波レーダＢ左、とが接続され、Ｉ／Ｏ３５にはステアリング補助モータ４４が、Ｉ／Ｏ３６には警報器４５が接続されている。ミリ波レーダＡは前方の障害物を、ミリ波レーダＢ右は右側方の障害物を、ミリ波レーダＢ左は左側方の障害物を、それぞれ検出する。ミリ波レーダＡ、Ｂ右及びＢ左は、ミリ波レーダを送信しその反射波を受信する。ミリ波レーダＡ、Ｂ右及びＢ左は、センサの一形態である。
【００６１】
そして、統合ＥＣＵ１００Ｂは、ステアリングの操舵角に応じて、障害物の検知方向の重み付けを切り替える。図１１（ｂ）は、操舵角と障害物の検知方向の重み付けの一例を示す図である。操舵角が０度（直進方向）付近の場合、障害物の検知方向は前方だけである。逆に、操舵角が９０度又はマイナス９０度付近の場合（右折又は左折方向に操舵している）、障害物の検知方向は右又は左の側方だけである。操舵角が０度付近〜９０度付近の間は、例えば前方を２、右側方を１、又は、前方を１：右側方を２のように、操舵角に応じて障害物の検知方向の重み付けが変わる。重み付けが変わればミリ波レーダのセンサ信号から障害物を検出するアルゴリズムも変わる。
【００６２】
このため、アービタ１２は、操舵角センサ４３の角度が重み付けの変わる所定値に変化したことを検出すると、優先順位テーブルを切り替える。例えば、操舵角が０度付近の場合、ミリ波レーダＡの優先順位が最も高く、処理間隔も短いのに対し、ミリ波レーダＢ右、Ｂ左の優先順位は低く、処理間隔も長い。操舵角が９０度付近の場合、ミリ波レーダＡの優先順位は低く、処理間隔も長いのに対し、ミリ波レーダＢ右の優先順位は高く、処理間隔も短い。このように、操舵角に応じて優先順位テーブルを切り替えることで、アービタ１２は、ミリ波レーダＡ、Ｂ右、Ｂ左の重み付けに応じてセンサ信号を調停できる。
【００６３】
なお、センサ信号に重み付けがあることは、複数のセンサ信号を処理することが前提であるため、センサ毎に動的再構成回路１６を再構築するよりも、操舵角毎に動的再構成回路１６を再構築する方が好ましい。この場合、アービタ１２は、操舵角毎に、優先順位テーブルを切り替えると共に、ＩＮＴＣ１５に割り込みを発生させる。これにより、動的再構成回路１６は、操舵角に応じたオブジェクトコードを読み出し、ミリ波レーダＡ，Ｂ右、Ｂ左のセンサ信号を処理する回路を再構築することができる。したがって、同じ操舵角であれば、動的再構成回路１６は再構築されず、アービタ１２は優先順位に従いミリ波レーダＡ、Ｂ右及びＢ左に処理権を与える。動的再構成回路１６は、操舵角に応じて再構築された内部構成でセンサ信号を処理できる。なお、動的再構成回路１６は、障害物を検出すると、警報器４５に警報音を吹鳴させる。また、ブレーキＥＣＵに制動を要求してもよい。
【００６４】
図１２は、統合ＥＣＵ１００Ｂの動的再構成回路１６が内部構成を再構築する手順を示すフローチャート図の一例である。図１２において、図５と同一ステップには同一の符号を付した。
【００６５】
アービタ１２は操舵角を監視し、操舵角が変化したか否かを判定する（Ｓ２）。操舵角が変更されなければ（Ｓ２のＮｏ）、ステップＳ１０に進む。操舵角が変更された場合（Ｓ２のＹｅｓ）、アービタ１２は操舵角に応じた優先順位テーブルを選択し、また、操舵角に応じて動的再構成回路１６に割り込みするようＩＮＴＣ１５に要求する（Ｓ６）。
【００６６】
ステップＳ１０〜Ｓ３０の処理は図５と同様である。すなわち、処理間隔を超えたセンサが複数ない場合（Ｓ３０のＮｏ）、アービタ１２は、処理間隔を超えたセンサのセンサ信号を動的再構成回路１６に供給し、動的再構成回路１６がセンサ信号を処理する（Ｓ４１）。
【００６７】
また、処理間隔を超えたセンサが複数ある場合（Ｓ３０のＹｅｓ）、アービタ１２は、複数のセンサの中に、デッドラインを超えたセンサがあるか否かを判定し（Ｓ５０）、デッドラインを超えたセンサがある場合（Ｓ５０のＹｅｓ）、そのセンサのセンサ信号を動的再構成回路１６に供給し、動的再構成回路１６がセンサ信号を処理する（Ｓ６１）。
【００６８】
また、デッドラインを超えたセンサがない場合（Ｓ５０のＮｏ）、アービタ１２は、優先順位テーブルを参照して、複数のセンサから最も優先順位の高いセンサを特定し（Ｓ７０）、アービタ１２は、センサのセンサ信号を動的再構成回路１６に供給し、動的再構成回路１６がセンサ信号を処理する（Ｓ８１）。
【００６９】
以上のように、統合ＥＣＵ１００Ｂは、車両状態（操舵角）に応じて、センサ１〜ｎの優先順位を切り替え、また、動的再構成回路１６の内部構成を再構築することで、操舵角に応じて優先順位を付けられたセンサ１〜ｎのセンサ信号を専用の回路で処理できる。
【００７０】
ところで、図１１（ａ）の統合ＥＣＵ１００ＢにはＳＷ４２が接続されている。パワステによるステアリング補助モータ４４の制御は、ユーザのＳＷ４２の操作や車両状態によりオン／オフを切り替えることができるようになっている。例えばＳＷ４２がオンに操作されると、ステアリング補助モータ４４に電流が供給され、統合ＥＣＵ１００Ｂが運転者の操舵方向に操舵トルクをアシストする。動的再構成回路１６は、操舵角センサ４３が検出した操舵角を処理して適切なアシスト量（ステアリング補助モータのトルク）を決定する処理を実行する。すなわち、動的再構成回路１６は、ミリ波レーダＡ、Ｂ右及びＢ左のセンサ信号だけでなく、操舵角そのものをセンサ信号にしている。
【００７１】
したがって、ＳＷ４２がオフであれば、統合ＥＣＵ１００Ｂがアシスト量を決定する必要もなく、動的再構成回路１６を操舵角の処理用の回路として維持する必要がない。このため、アービタ１２は、ＳＷ４２がオフになると、ＩＮＴＣ１５に割り込みを発生させる。動的再構成回路１６は、内部構成を再構築して、アシスト量を処理する以外の回路を再構築することができる。例えば、動的再構成回路１６は、ミリ波レーダＡ、Ｂ右、Ｂ左が検出したセンサ信号による障害物の検出を、より高度にしたアルゴリズムの回路に再構築できる。
【００７２】
・バックモニタＥＣＵが検出する車両の移動方向
図１３は、バックモニタＥＣＵ１００Ｃを模式的に示す図の一例である。車両移動方向センサ４７は、例えば、シフトポジションセンサ、車速センサ、Ｇセンサ等、車両の移動方向が分かるセンサであればよい。車両移動方向センサ４７は、例えば、バックモニタＥＣＵ１００Ｃに接続される。バックモニタＥＣＵ１００Ｃには後方カメラ４６が接続されている。
【００７３】
図１３の動的再構成回路１６は、後方カメラ４６が車両の後方を撮影して取得した画像データに対し、車両の移動方向に応じて回路を再構築する。後退走行時、バックモニタＥＣＵ１００Ｃは車両の操舵角、車速に応じて車両の進行方向を予測し、予測結果を画像データに重畳して画像データと共に表示装置に表示する。前進走行時、バックモニタＥＣＵ１００Ｃは、画像データを処理して後方からの接近車両を検出する。具体的には、画像データにエッジ処理を施し移動体を検出し、移動体に対し車両の標準テンプレートを用いて、パターンマッチングを行うことで、後方から接近する車両を検出する。後方から接近する車両を検出すると、バックモニタＥＣＵ１００Ｃは例えば、乗員に警告する。
【００７４】
アービタ１２は、車両移動方向センサ４７のセンサ信号から車両の移動方向を検出し、動的再構成回路１６に割り込むようＩＮＴＣ１５に要求する。これにより、動的再構成回路１６は、前進走行と後退走行に応じて内部構成を再構築することができる。
【００７５】
・ディーゼルエンジン用のＥＣＵが検出するエンジンのサイクル
ディーゼルセンサは、例えばクランクアングルセンサ１１ａである。図１４は、ディーゼルエンジンの動作手順の一例を示す。よく知られているように、ディーゼルエンジンは、爆発、排気、吸入、圧縮の各サイクルを繰り返す。ディーゼルエンジン用のエンジンＥＣＵは、クランク角度に応じて各サイクルに必要な処理を行う。このため、動的再構成回路１６は、クランク角度に応じてサイクルに適した処理に再構築する。
【００７６】
以上説明したように、本実施例の電子制御ユニット１００は、車両状態に応じてセンサの優先順位を切り替え、センサの優先順位に従い動的再構成回路１６の内部構造を再構築することができる。また、車両状態に応じて動的再構成回路１６を再構築することもできる。種々のセンサを接続する必要のある電子制御ユニット１００に種々の専用回路を搭載する必要性を低減して実装面積を節約できる。
【符号の説明】
【００７７】
１１      センサ
１２      アービタ
１３      入力Ｉ／Ｆ
１４      ＦｌａｓｈＲＯＭ
１５      ＩＮＴＣ
１６      動的再構成回路
１８      ＣＰＵ
１００    電子制御ユニット
【図１】
2010282563.tif 000003
【図２】
2010282563.tif 000004
【図３】
2010282563.tif 000005
【図４】
2010282563.tif 000006
【図５】
2010282563.tif 000007
【図６】
2010282563.tif 000008
【図７】
2010282563.tif 000009
【図８】
2010282563.tif 000010
【図９】
2010282563.tif 000011
【図１０】
2010282563.tif 000012
【図１１】
2010282563.tif 000013
【図１２】
2010282563.tif 000014
【図１３】
2010282563.tif 000015
【図１４】
2010282563.tif 000016