電子制御ユニット、回路再構築方法
【課題】複数のセンサ信号を調停して動的再構成回路を再構築する電子制御ユニット及び回路再構築方法を提供すること。
【解決手段】複数のセンサ1〜nから選択的に1以上のセンサ信号を読み出すインターフェイス13と、回路の再構築を指示する配線情報を記憶した配線情報記憶手段14と、記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路16と、を有する電子制御ユニット100において、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段12、を有し、動的再構成回路16は、調停手段12が決定したセンサ信号を処理する内部構成に再構築する、ことを特徴とする。
【解決手段】複数のセンサ1〜nから選択的に1以上のセンサ信号を読み出すインターフェイス13と、回路の再構築を指示する配線情報を記憶した配線情報記憶手段14と、記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路16と、を有する電子制御ユニット100において、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段12、を有し、動的再構成回路16は、調停手段12が決定したセンサ信号を処理する内部構成に再構築する、ことを特徴とする。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両に搭載される電子制御ユニット等に関し、特に、動的再構成回路16を搭載した電子制御ユニットに関する。
【背景技術】
【0002】
車両では演算負荷が高い処理を実行する専用ハードウェアをマイコンに実装することで、CPUがソフトウェアを実行することによる処理負荷を低減している。車両では1つのマイコンに複数のセンサが接続されることが少なくなく、センサ毎に決まった演算が必要となることがあるが、この場合、複数の専用ハードウェアをマイコンに実装することも可能である。
【0003】
図1(a)は、センサ毎に搭載された専用ハードウェア回路図の一例である。セレクタは、センサAとセンサBと接続されている。セレクタには、センサAのセンサ信号を処理する専用H/W回路Aと、センサBのセンサ信号を処理する専用H/W回路Bが、接続されている。しかし、このように搭載する専用ハードウェアの数が増えれば、実装面積が大きくなってしまう。具体的には、専用H/W回路AがセンサAのセンサ信号を処理している間、専用H/W回路Bは動作していないので、少なくとも一方の専用ハードウェア回路が無駄となっている。
【0004】
そこで、複数の専用ハードウェアを1つの動的再構成回路で実装することが考えられている(例えば、特許文献1参照。)。動的再構成回路は、複数の演算ユニットと、演算ユニット間を結ぶ配線によって構成され、配線を切り替えることで異なる回路を再構築することができる演算回路である。特許文献1には、動的再構成回路の回路切り替えに要する時間とバッファのデータ数が一定数以上になるまでの時間を比較し、前者の方が短い場合、動的再構成回路をタスクに応じたものに切り替えるデータ処理装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−200106号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、車両に搭載されたマイコンでは、タスクの処理時間のみから動的再構成回路を再構築するか否かを決定するだけでは不十分である。
【0007】
図1(b)は、センサ毎に構成が切り替えられる動的再構成回路を模式的に示す図の一例である。フラッシュROMには、専用H/W回路A及び専用H/W回路Bに動的再構成回路を切り替えるオブジェクトコードが記憶されている。セレクタは、センサAとセンサBが検出したセンサ信号に応じて読み出すオブジェクトコードを選択し、動的再構成回路を再構築させる。ここで、動的再構成回路の内部構成は、処理対象のセンサ信号に応じて一意に定まるので、セレクタはセンサ信号を出力したセンサA又はセンサBに応じて、読み出すオブジェクトコードを決定しなければならないことになる。しかし、センサAとセンサBはそれぞれ独立してセンサ信号を出力するので、セレクタがセンサAに適した回路にのみ動的再構成回路を切り替えてしまったり、その逆の状況が生じてしまうことがある。また、センサA及びセンサBがセンサ信号を出力するタイミングと、センサ信号を処理するタイミングが同じとは限らない。すなわち、動的再構成回路を複数のセンサのそれぞれに適した回路に再構築する場合、センサ信号を調停する必要がある。
【0008】
本発明は、上記課題に鑑み、複数のセンサのセンサ信号を調停して動的再構成回路を再構築する電子制御ユニット及び回路再構築方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題に鑑み、本発明は、複数のセンサから選択的に1以上のセンサ信号を読み出すインターフェイスと、回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、動的再構成回路は、調停手段が決定したセンサ信号を処理する内部構成に再構築する、ことを特徴とする電子制御ユニットを提供する。
【発明の効果】
【0010】
複数のセンサ信号を調停して動的再構成回路を再構築する電子制御ユニット及び回路再構築方法を提供することができる。
【図面の簡単な説明】
【0011】
【図1】センサ毎に専用ハードウェア回路図の一例である(従来図)。
【図2】電子制御ニットのブロック図の一例である。
【図3】エンジンECUの概略構成図の一例である。
【図4】優先順位テーブルの一例を示す図である。
【図5】電子制御ユニットが、動的再構成回路の内部構成を再構築する手順を示すフローチャート図の一例である。
【図6】動的再構成回路を切り替える車両状態の一例を示す図である。
【図7】各気筒のサイクルを説明するための図の一例である。
【図8】ハイブリッドECUの該略構成図の一例である。
【図9】モータ起動数とエンジンシリンダ起動数の比を説明するための図の一例である。
【図10】ハイブリッドECUの動的再構成回路が内部構成を再構築する手順を示すフローチャート図の一例である。
【図11】統合ECUを模式的に示す図の一例である。
【図12】統合ECUの動的再構成回路が内部構成を再構築する手順を示すフローチャート図の一例である。
【図13】バックモニタECUを模式的に示す図の一例である。
【図14】ディーゼルエンジンの動作手順の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【実施例1】
【0013】
図2は、電子制御ユニット100のブロック図の一例を示す。動的再構成回路16が内部構成を再構築する手順の概略を説明する。アービタ12は、センサ11(区別する場合、センサ1〜nという)が検出したセンサ信号に優先順位を付けて、INTC(割り込みコントローラ)15にセンサを識別するためのセンサ情報を出力する。INTC15はセンサ情報に応じて動的再構成回路16に割り込みすると共に、動的再構成回路16にセンサ情報に対応したオブジェクトコードを読み込ませる。アービタ12がセンサ信号を調停することで、複数のセンサ1〜nが接続されたマイコンにセンサ毎に専用の回路を再構築する動的再構成回路16を搭載しても、センサ信号を処理すべきタイミングでセンサ信号に対応した内部構成に、動的再構成回路を再構築することができる。
【0014】
電子制御ユニット100は、バス34に接続された動的再構成回路16、CPU18、INTC23、RAM19、DMAC21及びTimer22を有する。動的再構成回路16以外の回路については公知のものを利用できる。CPU18は、FlashROM17に記憶されたプログラムを読み出して電子制御ユニット100の全体を制御する。CPU18は、バス34に接続された複数のレジスタセット26,27、レジスタセット26,27に接続されたマルチプレクサ28、マルチプレクサ28と接続された演算ユニット30、FlashROM17と接続されたプログラムカウンタ24と命令キュー25、とを有する。
【0015】
レジスタセット26,27には、動的再構成回路16により処理が施されたセンサ信号、又は、RAM19に記憶されているデータ等がバス34を介して読み出される。マルチプレクサ28は、プログラムの指定に従い演算ユニット30に接続するレジスタセット26,27を切り替える。
【0016】
プログラムカウンタ24にはCPU18が実行するFlashROM17のアドレスが記憶される。プログラムカウンタ24がクロックに同期してアドレスをFlashROM17に出力すると、命令キュー25に命令が読み出される。プログラムカウンタ24は、所定値だけアドレスの値を大きくして次の命令の読み出しに備える。
【0017】
命令キュー25に格納された命令は命令デコーダで解読され、不図示のレジスタファイルに記憶される。レジスタファイルには演算の種別、ソースオペランド(演算対象のデータのアドレス)等が記憶される。ソースオペランドが例えばレジスタセット26,27を指定すれば、演算ユニット30はレジスタセット26,27からデータを読み出す。演算ユニット30は、演算の種別に応じた演算をソースオペランドのデータに施す。図示するように、演算ユニット30は、一般的なALU29(Arithmetic Logic Unit)の他、LSU32(Load Store Unit)、MUL31(Multiply)、DIV33(Divide)等の演算が可能になっている。演算結果は、不図示のレジスタファイルに記憶され、プログラムの指示に応じてレジスタセット26,27を介してRAM19に書き込まれる。
【0018】
DMAC21はRAM19に記憶されたデータを、CPU18を介することなくI/O35に転送したり、I/O35から入力されたデータを、CPU18を介することなくRAM19に格納する。I/O35には、スイッチング素子、ASIC(Application Specific Integrated Circuit)、アクチュエータ等が接続されている。
【0019】
また、INTC23は、Timer22に設定された値が経過するとCPU18に割り込みを生じさせる割り込みコントローラである。サイクル時間毎に処理したいプログラムがある場合、そのプログラムはTimer22にサイクル時間を設定してCPU18を停止する。INTC23はTimer22がゼロになるとTimer22に対応した割り込みベクタをCPU18に実行させる。割り込みベクタは指定されたプログラムのアドレスをプログラムカウンタ24に設定するので、再度、サイクル時間毎に処理したいプログラムが実行される。
【0020】
動的再構成回路16にはINTC15が接続され、INTC15にはFlashROM14及びアービタ12が接続され、アービタ12には入力I/F13が接続され、入力I/F13にはセンサ1〜nが接続されている。センサ1〜nは2以上であればよい。また、動的再構成回路16は、例えば、多数のPE(Processing Element)と配線部分で構成される。配線を動的に再構築することで実行する処理の内容を切り替える変更することが可能である。動的再構成回路16には種々のものが知られているが、実装形態はどのようなものでもよい。例えば、PLD(Programable Logic Device)やFPGA(Field Programable Gate Array)、リコンフィギュラブルチップ(Reconfigurable Chip)が知られている。
【0021】
動的再構成回路16は、INTC15から割り込みを受けると、割り込みに用いられた信号線をセンサ情報として、センサ情報に応じたオブジェクトコードをFlashROM14から読み出す。オブジェクトコードには、例えば、PE間の断接情報が含まれている。したがって、動的再構成回路16はオブジェクトコードを実行することで回路の配線を切り替えることができる。
【0022】
センサ1〜nは、車両状態を検出するための各種のセンサである。この電子制御ユニット100が、エンジンECUの場合、センサ1〜nはクランクアングルセンサ、回転速度センサ、及び、ノックセンサ等である。図3は、エンジンECUの概略構成図を示す。図2と比べ、センサ1〜nが、クランクアングルセンサ11a、回転速度センサ11b、ノックセンサ11cと置き換わっている。
【0023】
また、電子制御ユニット100がハイブリッドECUの場合、センサ1〜nは、モータ回転数センサ、モータトルクセンサ、電流センサ(以下、総称して「HV(ハイブリッド)センサ」という)等である。また、電子制御ユニット100が電動パワステECUの場合、センサ1〜nは操舵角センサ等であり、障害物検出ECUの場合、センサ1〜nはミリ波レーダセンサ等である。また、ECUがバックモニタECUの場合、センサ1〜nは、シフトポジションセンサ、車速センサ(以下、総称して「車両方向移動センサ」という)等である。また、ECUがディーゼルエンジンのエンジンECUの場合、センサ1〜nはディーゼルセンサ(例えば、クランクアングルセンサ11a)である。
【0024】
入力I/F13は、センサ1〜nと順番に接続し、必要であればA/D変換し、センサ1〜nのセンサ信号を取得する。入力I/F13は、充分に短いサイクル時間毎に各センサ1〜nが検出するセンサ信号を取得する。
【0025】
アービタ12は、1以上のセンサ信号が書き変わる時間が経過する時間を下限、全てのセンサ信号が書き変わる時間を上限に、適当な時間間隔毎に、入力I/F13に全てのセンサ信号を読み行く。一般的には、センサ信号の処理が必要なセンサ1〜nのいずれかがセンサ信号を検出する毎に、アービタ12がセンサ信号を読みに行く。アービタ12がセンサ信号を読みに行く場合、後述する優先順位テーブルと照らし合わせて全てのセンサ信号を調停し、優先順位の高いセンサ1〜nのセンサ信号を抽出する。
【0026】
そして、アービタ12はセンサ1〜nのセンサ信号に基づき、以下をそれぞれ判定し、1つのセンサに処理権を与える。
(1)動的再構成回路16の内部構成を再構築する必要がある状況か
(2)2つ以上のセンサ信号に対し動的再構成回路16の内部構成の再構築が必要であると判定した場合、最も優先順位の高いセンサ信号はどれか
アービタ12は、動的再構成回路16の構成を変更する必要があるセンサ信号が1つだけの場合は、そのセンサのセンサ情報をINTC15に出力する。また、最も優先順位の高いセンサを決定した場合、そのセンサのセンサ情報をINTC15に出力する。センサ情報は、例えば、アービタ12とINTC15をセンサ毎に接続する信号線に出力されるHigh信号、又は、センサに対応づけられた番号等である。
【0027】
アービタ12は、回路で構成してもよいし、CPU18がプログラムを実行することで実現してもよい。プログラムで実現する場合、例えば、アービタ12、FlashROM14及びINTC15をIC等で構成し、CPU18がFlashROM14に記憶されたプログラムを実行する。回路などのハードウェアで実現すれば、センサ信号の調停を高速で行うことが可能であるし、プログラムで実現すれば調停論理に柔軟性を持たせやすくなる。
【0028】
図4は、アービタ12が記憶する優先順位テーブルの一例を示す図である。優先順位テーブルには、センサ情報に対応づけて、「処理間隔」、「デッドライン」、「最終処理」、「優先順位」が登録されている。「処理間隔」は、次にセンサ信号を処理するタイミングまでのセンサ信号の増大分である。「最終処理」は、最後にセンサ信号を処理した際のセンサ信号の値である。「デッドライン」は、センサ信号が処理間隔を超えていても優先順位が低いため処理されない場合、強制的にそのセンサのセンサ信号を処理するための処理間隔である。「優先順位」はセンサ1〜nのセンサ信号を優先的に処理する優先順位であり、数値が小さいほど優先度が高いことを示す。優先順位テーブルに登録された情報のうち、「センサ情報」「処理間隔」「デッドライン」「優先順位」は予めアービタ12に登録されており、「最終処理」はセンサ信号の処理の度にアービタ12が登録する。
【0029】
例えば、図示する状態の場合、クランクアングルセンサ11aの最終処理は「120度」、「処理間隔」は「30度」なので、アービタ12はセンサ信号が「120+30度」になると、クランクアングルセンサ11aに処理権を与える。クランクアングルセンサ11aは、「優先順位」が「1」なので、調停されることなくセンサ信号がそのまま処理される。
【0030】
また、回転速度センサ11bの最終処理は「0度(360度回転して元の位置に戻った)」、「処理間隔」は「90度」なので、アービタ12はセンサ信号が「0+90度」になると、センサ信号の処理が必要であると判定する。回転速度センサ11bは、「優先順位」が「2」なので、アービタ12は、クランクアングルセンサ11aのセンサ信号を処理する必要があるか否かを判定し、処理する必要がなければ回転速度センサ11bに処理権を与える。また、ノックセンサ11cの最終処理は「345秒」、「処理間隔」は「1度」なので、アービタ12はセンサ信号が「345+1秒」になると、センサ信号の処理が必要であると判定する。ノックセンサ11cは、「優先順位」が「3」なので、アービタ12は、クランクアングルセンサ11aと回転速度センサ11bのセンサ信号を処理する必要があるか否かを判定し、2つとも処理する必要がなければノックセンサ11cに処理権を与える。
【0031】
なお、「優先順位」は、車両の3つの基本機能「止まる、走る、曲がる」のどれにそのセンサ1〜nが関係するかに応じて定められる。すなわち、「止まる」に関係するセンサ1〜nの優先順位が最も高く、ついで、「走る」に関係するセンサの優先順位が最も高く、「曲がる」に関係するセンサ1〜nの優先順位が最も低い。
【0032】
また、回転速度センサ11bの「デッドライン」は「85度」なので、アービタ12はセンサ信号が「0+90+85度」になると、優先順位の高いクランクアングルセンサ11aのセンサ信号が「処理間隔」の条件を満たしていても、回転速度センサ11bに処理権を与える。同様に、ノックセンサ11cの「デッドライン」は「0.9秒」なので、アービタ12はセンサ信号が「345+1+0.9秒」になると、優先順位の高いクランクアングルセンサ11aと回転速度センサ11bのセンサ信号が「処理間隔」の条件を満たしていても、ノックセンサ11cに処理権を与える。「デッドライン」には、「処理間隔」よりもわずかに小さな値が登録されているので、各センサのセンサ信号が最終処理された時の値から、もう一度「処理間隔」を超えるまでにセンサ信号が処理される。「デッドライン」は、「処理間隔」よりわずかに小さい値でなくてもよく、何回か「処理間隔」を飛ばして処理してもセンサ信号の処理に影響の少ないセンサであれば、デッドライン=「n×処理間隔(n:1以上の実数)」とすることができる。
【0033】
なお、アービタ12は、最後に処理権を与えたセンサのセンサ情報及びセンサ信号を記憶している。動的再構成回路16は、最後に処理権を与えたセンサのセンサ信号を処理する回路に再構築されていることになる。アービタ12は、処理権を与えたセンサ及びセンサ信号と、最後に処理権を与えたセンサ及びセンサ信号を比較して、センサ又はセンサ信号の一方が変化した場合は回路を切り替える必要があるか否かを判定する。こうすることで、内部構成の再構築が不要な場合は、動的再構成回路16を再構築する必要がなくなる。
【0034】
動的再構成回路16の処理内容について説明する。動的再構成回路16はINTC15が割り込み時に指定したセンサ情報及びセンサ信号に基づき、FlashROM14から読み出すべきオブジェクトコードを決定する。
【0035】
例えば、アービタ12がクランクアングルセンサ11aに処理権を与えた場合、動的再構成回路16は、クランク角度に基づきVVT(Variable Valve Timing)入力角度を算出する内部構成に再構築する。また、アービタ12が回転速度センサ11bに処理権を与えた場合、動的再構成回路16は、回線速度センサのセンサ信号に基づきエンジン回転数を算出する内部構成に再構築する。また、アービタ12がノックセンサ11cに処理権を与えた場合、動的再構成回路16は、ノックセンサ11cのセンサ信号に基づきノッキングの有無を判定する内部構成に再構築する。
【0036】
図5は、電子制御ユニット100が、動的再構成回路16を再構築する手順を示すフローチャート図の一例である。図5のフローチャート図は、例えば、電子制御ユニット100が起動するとスタートする。
【0037】
まず、アービタ12はセンサ信号を読みに行くタイミングか否かを判定する(S10)。例えば、センサ1〜nのいずれかからセンサ信号が取得される毎に、アービタ12はセンサ信号を読みに行く。アービタ12がセンサ信号を読みに行くタイミングとなるまで、アービタ12は待機する。
【0038】
アービタ12がセンサ信号を読みに行くタイミングとなった場合(S10のYes)、アービタ12は、センサ信号と優先順位テーブルに基づき処理間隔を超えたセンサがあるか否かを判定する(S20)。処理間隔を超えたセンサがない場合(S20のNo)、センサ信号を処理する必要がないので、ステップS10からの判定を繰り返す。
【0039】
処理間隔を超えたセンサがある場合(S20のYes)、センサ信号を処理する必要があるため、アービタ12は処理間隔を超えたセンサが複数あるか否かを判定する(S30)。処理間隔を超えたセンサが複数ない場合(S30のNo)、すなわち、処理間隔を超えたセンサが1つだけの場合、そのセンサのセンサ信号を処理すればよい。このため、アービタ12は、処理間隔を超えたセンサに対応した割り込みを動的再構成回路16に発生させるようINTC15に要求する(S40)。
【0040】
処理間隔を超えたセンサが複数ある場合(S30のYes)、デッドラインを超えたセンサが最も優先されるべきなので、アービタ12は、複数のセンサの中に、デッドラインを超えたセンサがあるか否かを判定する(S50)。デッドラインを超えたセンサがある場合(S50のYes)、そのセンサのセンサ信号を早期に処理するため、アービタ12は、デッドラインを超えたセンサに対応した割り込みを動的再構成回路16に発生させるようINTC15に要求する(S60)。
【0041】
デッドラインを超えたセンサがない場合(S50のNo)、アービタ12は、優先順位テーブルを参照して、複数のセンサから最も優先順位の高いセンサを特定する(S70)。そして、アービタ12は、最も優先順位の高いセンサに対応した割り込みを動的再構成回路16に発生させるようINTC15に要求する(S80)。
【0042】
ステップS40,S60,S80の割り込みにより、動的再構成回路16はセンサに対応するオブジェクトコードを読み込み、回路を再構築する(S90)。
【0043】
以上の処理を繰り返すことで、アービタ12がセンサ信号に優先順位を付けることができ、複数のセンサに専用の内部構成に切り替えることができる。また、動的再構成回路16が複数のセンサに対応した回路に切り替わるので、マイコンの実装面積を節約することができる。
【実施例2】
【0044】
実施例1ではセンサ毎に予め優先順位を定めておくこととしたが、本実施例では、車両状態に応じてアービタ12がセンサの優先順位を切り替え、又は、車両状態に応じて動的再構成回路16の内部構成を再構築する電子制御ユニット100について説明する。車両状態とは、動的再構成回路16を切り替える必要のある全ての車両状態をいう。したがって、車両状態は、電子制御ユニット100によっても変わるし、動的再構成回路16の設計によっても様々である。本実施例では、例えば、エンジンECUが検出するクランク角度の値、ハイブリッドECU100Aが検出する運転モード(後述する「比」)、統合ECU100Bが検出する操舵角、バックモニタECU100Cが検出する車両の移動方向等が、車両状態である。
【0045】
図6は、動的再構成回路16を切り替える車両状態の一例を示す図である。センサに対応づけて車両状態が登録されている。例えば、クランクアングルセンサ11aには「一定角度毎」、HV(ハイブリッド)センサ41には「モータ走行、ガソリン走行の比」、パワステセンサには「ステアリング舵角、パワステのオン/オフ」、車両移動方向センサ47には「車両の前進/後進」、ディーゼルセンサには「ディーゼルエンジン制御のエンジン動作タスク」、がそれぞれ対応づけられている。以下、車両状態について説明する。
【0046】
・エンジンECUが検出するクランク角度
センサ毎に動的再構成回路16が切り替わるだけでなく、同じ1つのセンサのセンサ信号の値により動的再構成回路16が切り替わる場合を説明する。クランクアングルセンサ11aは、クランク角度を検出する。エンジンが4気筒、4サイクルの場合、各気筒がサイクルを1つずつずらしながら、エンジンが1回転する間に1気筒当たり、爆発、排気、吸気、圧縮を繰り返す。
【0047】
図7は、各気筒のサイクルを説明するための図である。エンジンが1回転する間に、クランク角度は360度変化する。所定角度毎(例えば30度毎)に、動的再構成回路16がクランク角度を処理することで、各気筒の回転速度や吸排気のタイミングを適切に制御可能となる。
【0048】
アービタ12は、クランク角度が所定角度変化すると、クランク角度に応じて動的再構成回路16に割り込みするようINTC15に要求する。この割り込みにより、動的再構成回路16は、クランク角度に応じたオブジェクトコードをFlashROM14から読み出し、内部構成を再構築する。再構築後の動的再構成回路16は、例えば、各気筒1〜4のサイクルに応じた回路であり、例えばクランク角度と時間経過の関係から回転速度を算出したり、吸排気のタイミングを決定する回路、燃料噴射量を決定する回路等、のいずれか又は組み合わせた回路である。
【0049】
なお、クランクアングルセンサのセンサ信号だけについて説明したが、回転速度センサやノックセンサの処理間隔が経過すると、動的再構成回路16は実施例1と同様にセンサ1〜n毎に切り替わる。
【0050】
・ハイブリッドECU100Aが検出する運転モード
図8は、ハイブリッドECU100Aの該略構成図の一例を示す。HVセンサ41は、主にハイブリッドECU100Aに接続されるセンサである。ハイブリッドECU100Aは、エンジンのみを動力源として走行するエンジン運転モード、電動モータのみを動力源として走行するモータ運転モード、エンジン+電動モータの両方を動力源として走行するエンジン+モータ運転モード、等の運転モードを有する。ハイブリッドECU100Aは、アクセル操作量、傾斜、車速等をパラメータとして運転モードを切り換える。例えば、要求出力の増加率や、一定時間内の要求出力の増加量(変化量)が所定値より大きい場合、モータ運転モードから、エンジン+モータ運転モードに切り替えたり、要求出力の増加が所定より大きい場合は、モータ運転モードにおける起動モータ数、エンジン+モータ運転モードにおけるエンジンシリンダ起動数又はモータ数を増大させる。また、要求出力が低下すれば、エンジン+モータ運転モードからモータ運転モードに切り替えたり、モータ運転モードにおける起動モータ数、エンジン+モータ運転モードにおけるエンジンシリンダ起動数又はモータ数を低減させる。こうすることで、ハイブリッドECU100Aはパラメータに見合う動力をエンジンやモータから出力させる。このように、走行中に「モータ起動数(モータトルク)とエンジンシリンダ起動数(エンジントルク)の比」が切り替わる。
【0051】
図9は、モータ起動数とエンジンシリンダ起動数の比を説明するための図の一例である。図示するように、モータ起動数とエンジンシリンダ起動数が分かれば、「モータ起動数/エンジンシリンダ起動数」の比も一意に定まる。
【0052】
ハイブリッドECU100Aが動的再構成回路16で行う処理は種々のものがありうるが、ハイブリッドECU100Aの動的再構成回路16は、比に応じて異なる態様でHVセンサ41のセンサ信号を処理する。ここで、ハイブリッドECU100Aの場合、比によって、複数のHVセンサ41の優先順位が変わる。ハイブリッドECU100Aは、電動モータについてモータ回転数、モータトルク、モータに流れる電流値等を算出し、エンジンについてエンジン回転数、エンジントルク等を算出する。したがって、比によって、動的再構成回路16に必要な内部構成は異なることになり、比によって、HVセンサ41の優先順位が異なることになる。具体的には、例えば、モータ起動数の数だけモータ回転数、モータトルク、モータに流れる電流値を算出する回路と、エンジンシリンダ起動数の数だけエンジン回転数、エンジントルク等を算出する回路が必要となる。
【0053】
このため、アービタ12は、比が所定値以上変化すると、又は、予め定めた比に到達すると、HVセンサ41の優先順位を切り替える。こうすることで、比に応じて最適な優先順位で、複数のHVセンサ41のセンサ信号を処理できる。この場合、比毎の優先順位テーブルを予めアービタ12に登録しておく。アービタ12は比に基づき参照する優先順位テーブルを切り替え、複数のHVセンサ41の中から処理権を与える1以上のセンサを決定する。
【0054】
そして、アービタ12は、処理権を与えたセンサのセンサ情報を指定して、動的再構成回路16に割り込みするようINTC15に要求する。INTC15が動的再構成回路16に割り込むと、動的再構成回路16は、センサ情報に応じてFlashROM14からオブジェクトコードを読み出し、内部構成を再構築する。これにより、動的再構成回路16は、処理権を与えられたセンサのセンサ信号を処理する内部構成を再構築する。
【0055】
図10は、ハイブリッドECU100Aの動的再構成回路16が内部構成を再構築する手順を示すフローチャート図の一例である。図10において、図5と同一ステップには同一の符号を付した。
【0056】
アービタ12はサイクル時間毎に運転モードによる比を監視し、比が変化したか否かを判定する(S1)。比が変化しない場合(S1のNo)、優先順位テーブルを切り替える必要がないので、ステップS10以降の処理へ進む。
【0057】
比が変化した場合(S1のYes)、アービタ12は、比に応じた優先順位テーブルを選択する(S5)。ついでステップS10以降の処理へ進む。以降の処理は図5と同様なので説明は省略する。
【0058】
したがって、ハイブリッドECU100Aに動的再構成回路16を搭載することで、車両状態(運転モード)に応じてセンサ1〜nの優先順位を切り替えて、センサ信号を調停し、動的再構成回路16の内部構成を再構築することができる。ハイブリッドECU100Aには多くのHVセンサ41が接続されるので、実装面積の低減効果を大きい。
【0059】
・統合ECU100Bが検出する操舵角
車両状態に応じてアービタ12がセンサの優先順位を切り替え、さらに、動的再構成回路16の内部構成を再構築する電子制御ユニット100について説明する。例えば、電動パワステECUは、パワステセンサ(例えば、操舵角センサ43)が検出したセンサ信号を、ステアリング補助モータ44を制御する際に利用する。また、車両には障害物検出装置が搭載されることがある。障害物検出装置は障害物検出ECUにより制御される。ここで、本実施形態では、動的再構成回路16によりセンサ信号の処理を切り替えられることを利用して、電動パワステECUと障害物ECUを、統合ECU100Bに統合した場合について説明する。
【0060】
図11(a)は、統合ECU100Bを模式的に示す図の一例である。統合ECU100Bにはミリ波レーダA、ミリ波レーダB右、ミリ波レーダB左、とが接続され、I/O35にはステアリング補助モータ44が、I/O36には警報器45が接続されている。ミリ波レーダAは前方の障害物を、ミリ波レーダB右は右側方の障害物を、ミリ波レーダB左は左側方の障害物を、それぞれ検出する。ミリ波レーダA、B右及びB左は、ミリ波レーダを送信しその反射波を受信する。ミリ波レーダA、B右及びB左は、センサの一形態である。
【0061】
そして、統合ECU100Bは、ステアリングの操舵角に応じて、障害物の検知方向の重み付けを切り替える。図11(b)は、操舵角と障害物の検知方向の重み付けの一例を示す図である。操舵角が0度(直進方向)付近の場合、障害物の検知方向は前方だけである。逆に、操舵角が90度又はマイナス90度付近の場合(右折又は左折方向に操舵している)、障害物の検知方向は右又は左の側方だけである。操舵角が0度付近〜90度付近の間は、例えば前方を2、右側方を1、又は、前方を1:右側方を2のように、操舵角に応じて障害物の検知方向の重み付けが変わる。重み付けが変わればミリ波レーダのセンサ信号から障害物を検出するアルゴリズムも変わる。
【0062】
このため、アービタ12は、操舵角センサ43の角度が重み付けの変わる所定値に変化したことを検出すると、優先順位テーブルを切り替える。例えば、操舵角が0度付近の場合、ミリ波レーダAの優先順位が最も高く、処理間隔も短いのに対し、ミリ波レーダB右、B左の優先順位は低く、処理間隔も長い。操舵角が90度付近の場合、ミリ波レーダAの優先順位は低く、処理間隔も長いのに対し、ミリ波レーダB右の優先順位は高く、処理間隔も短い。このように、操舵角に応じて優先順位テーブルを切り替えることで、アービタ12は、ミリ波レーダA、B右、B左の重み付けに応じてセンサ信号を調停できる。
【0063】
なお、センサ信号に重み付けがあることは、複数のセンサ信号を処理することが前提であるため、センサ毎に動的再構成回路16を再構築するよりも、操舵角毎に動的再構成回路16を再構築する方が好ましい。この場合、アービタ12は、操舵角毎に、優先順位テーブルを切り替えると共に、INTC15に割り込みを発生させる。これにより、動的再構成回路16は、操舵角に応じたオブジェクトコードを読み出し、ミリ波レーダA,B右、B左のセンサ信号を処理する回路を再構築することができる。したがって、同じ操舵角であれば、動的再構成回路16は再構築されず、アービタ12は優先順位に従いミリ波レーダA、B右及びB左に処理権を与える。動的再構成回路16は、操舵角に応じて再構築された内部構成でセンサ信号を処理できる。なお、動的再構成回路16は、障害物を検出すると、警報器45に警報音を吹鳴させる。また、ブレーキECUに制動を要求してもよい。
【0064】
図12は、統合ECU100Bの動的再構成回路16が内部構成を再構築する手順を示すフローチャート図の一例である。図12において、図5と同一ステップには同一の符号を付した。
【0065】
アービタ12は操舵角を監視し、操舵角が変化したか否かを判定する(S2)。操舵角が変更されなければ(S2のNo)、ステップS10に進む。操舵角が変更された場合(S2のYes)、アービタ12は操舵角に応じた優先順位テーブルを選択し、また、操舵角に応じて動的再構成回路16に割り込みするようINTC15に要求する(S6)。
【0066】
ステップS10〜S30の処理は図5と同様である。すなわち、処理間隔を超えたセンサが複数ない場合(S30のNo)、アービタ12は、処理間隔を超えたセンサのセンサ信号を動的再構成回路16に供給し、動的再構成回路16がセンサ信号を処理する(S41)。
【0067】
また、処理間隔を超えたセンサが複数ある場合(S30のYes)、アービタ12は、複数のセンサの中に、デッドラインを超えたセンサがあるか否かを判定し(S50)、デッドラインを超えたセンサがある場合(S50のYes)、そのセンサのセンサ信号を動的再構成回路16に供給し、動的再構成回路16がセンサ信号を処理する(S61)。
【0068】
また、デッドラインを超えたセンサがない場合(S50のNo)、アービタ12は、優先順位テーブルを参照して、複数のセンサから最も優先順位の高いセンサを特定し(S70)、アービタ12は、センサのセンサ信号を動的再構成回路16に供給し、動的再構成回路16がセンサ信号を処理する(S81)。
【0069】
以上のように、統合ECU100Bは、車両状態(操舵角)に応じて、センサ1〜nの優先順位を切り替え、また、動的再構成回路16の内部構成を再構築することで、操舵角に応じて優先順位を付けられたセンサ1〜nのセンサ信号を専用の回路で処理できる。
【0070】
ところで、図11(a)の統合ECU100BにはSW42が接続されている。パワステによるステアリング補助モータ44の制御は、ユーザのSW42の操作や車両状態によりオン/オフを切り替えることができるようになっている。例えばSW42がオンに操作されると、ステアリング補助モータ44に電流が供給され、統合ECU100Bが運転者の操舵方向に操舵トルクをアシストする。動的再構成回路16は、操舵角センサ43が検出した操舵角を処理して適切なアシスト量(ステアリング補助モータのトルク)を決定する処理を実行する。すなわち、動的再構成回路16は、ミリ波レーダA、B右及びB左のセンサ信号だけでなく、操舵角そのものをセンサ信号にしている。
【0071】
したがって、SW42がオフであれば、統合ECU100Bがアシスト量を決定する必要もなく、動的再構成回路16を操舵角の処理用の回路として維持する必要がない。このため、アービタ12は、SW42がオフになると、INTC15に割り込みを発生させる。動的再構成回路16は、内部構成を再構築して、アシスト量を処理する以外の回路を再構築することができる。例えば、動的再構成回路16は、ミリ波レーダA、B右、B左が検出したセンサ信号による障害物の検出を、より高度にしたアルゴリズムの回路に再構築できる。
【0072】
・バックモニタECUが検出する車両の移動方向
図13は、バックモニタECU100Cを模式的に示す図の一例である。車両移動方向センサ47は、例えば、シフトポジションセンサ、車速センサ、Gセンサ等、車両の移動方向が分かるセンサであればよい。車両移動方向センサ47は、例えば、バックモニタECU100Cに接続される。バックモニタECU100Cには後方カメラ46が接続されている。
【0073】
図13の動的再構成回路16は、後方カメラ46が車両の後方を撮影して取得した画像データに対し、車両の移動方向に応じて回路を再構築する。後退走行時、バックモニタECU100Cは車両の操舵角、車速に応じて車両の進行方向を予測し、予測結果を画像データに重畳して画像データと共に表示装置に表示する。前進走行時、バックモニタECU100Cは、画像データを処理して後方からの接近車両を検出する。具体的には、画像データにエッジ処理を施し移動体を検出し、移動体に対し車両の標準テンプレートを用いて、パターンマッチングを行うことで、後方から接近する車両を検出する。後方から接近する車両を検出すると、バックモニタECU100Cは例えば、乗員に警告する。
【0074】
アービタ12は、車両移動方向センサ47のセンサ信号から車両の移動方向を検出し、動的再構成回路16に割り込むようINTC15に要求する。これにより、動的再構成回路16は、前進走行と後退走行に応じて内部構成を再構築することができる。
【0075】
・ディーゼルエンジン用のECUが検出するエンジンのサイクル
ディーゼルセンサは、例えばクランクアングルセンサ11aである。図14は、ディーゼルエンジンの動作手順の一例を示す。よく知られているように、ディーゼルエンジンは、爆発、排気、吸入、圧縮の各サイクルを繰り返す。ディーゼルエンジン用のエンジンECUは、クランク角度に応じて各サイクルに必要な処理を行う。このため、動的再構成回路16は、クランク角度に応じてサイクルに適した処理に再構築する。
【0076】
以上説明したように、本実施例の電子制御ユニット100は、車両状態に応じてセンサの優先順位を切り替え、センサの優先順位に従い動的再構成回路16の内部構造を再構築することができる。また、車両状態に応じて動的再構成回路16を再構築することもできる。種々のセンサを接続する必要のある電子制御ユニット100に種々の専用回路を搭載する必要性を低減して実装面積を節約できる。
【符号の説明】
【0077】
11 センサ
12 アービタ
13 入力I/F
14 FlashROM
15 INTC
16 動的再構成回路
18 CPU
100 電子制御ユニット
【技術分野】
【0001】
本発明は、車両に搭載される電子制御ユニット等に関し、特に、動的再構成回路16を搭載した電子制御ユニットに関する。
【背景技術】
【0002】
車両では演算負荷が高い処理を実行する専用ハードウェアをマイコンに実装することで、CPUがソフトウェアを実行することによる処理負荷を低減している。車両では1つのマイコンに複数のセンサが接続されることが少なくなく、センサ毎に決まった演算が必要となることがあるが、この場合、複数の専用ハードウェアをマイコンに実装することも可能である。
【0003】
図1(a)は、センサ毎に搭載された専用ハードウェア回路図の一例である。セレクタは、センサAとセンサBと接続されている。セレクタには、センサAのセンサ信号を処理する専用H/W回路Aと、センサBのセンサ信号を処理する専用H/W回路Bが、接続されている。しかし、このように搭載する専用ハードウェアの数が増えれば、実装面積が大きくなってしまう。具体的には、専用H/W回路AがセンサAのセンサ信号を処理している間、専用H/W回路Bは動作していないので、少なくとも一方の専用ハードウェア回路が無駄となっている。
【0004】
そこで、複数の専用ハードウェアを1つの動的再構成回路で実装することが考えられている(例えば、特許文献1参照。)。動的再構成回路は、複数の演算ユニットと、演算ユニット間を結ぶ配線によって構成され、配線を切り替えることで異なる回路を再構築することができる演算回路である。特許文献1には、動的再構成回路の回路切り替えに要する時間とバッファのデータ数が一定数以上になるまでの時間を比較し、前者の方が短い場合、動的再構成回路をタスクに応じたものに切り替えるデータ処理装置が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2007−200106号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、車両に搭載されたマイコンでは、タスクの処理時間のみから動的再構成回路を再構築するか否かを決定するだけでは不十分である。
【0007】
図1(b)は、センサ毎に構成が切り替えられる動的再構成回路を模式的に示す図の一例である。フラッシュROMには、専用H/W回路A及び専用H/W回路Bに動的再構成回路を切り替えるオブジェクトコードが記憶されている。セレクタは、センサAとセンサBが検出したセンサ信号に応じて読み出すオブジェクトコードを選択し、動的再構成回路を再構築させる。ここで、動的再構成回路の内部構成は、処理対象のセンサ信号に応じて一意に定まるので、セレクタはセンサ信号を出力したセンサA又はセンサBに応じて、読み出すオブジェクトコードを決定しなければならないことになる。しかし、センサAとセンサBはそれぞれ独立してセンサ信号を出力するので、セレクタがセンサAに適した回路にのみ動的再構成回路を切り替えてしまったり、その逆の状況が生じてしまうことがある。また、センサA及びセンサBがセンサ信号を出力するタイミングと、センサ信号を処理するタイミングが同じとは限らない。すなわち、動的再構成回路を複数のセンサのそれぞれに適した回路に再構築する場合、センサ信号を調停する必要がある。
【0008】
本発明は、上記課題に鑑み、複数のセンサのセンサ信号を調停して動的再構成回路を再構築する電子制御ユニット及び回路再構築方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上記課題に鑑み、本発明は、複数のセンサから選択的に1以上のセンサ信号を読み出すインターフェイスと、回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、動的再構成回路は、調停手段が決定したセンサ信号を処理する内部構成に再構築する、ことを特徴とする電子制御ユニットを提供する。
【発明の効果】
【0010】
複数のセンサ信号を調停して動的再構成回路を再構築する電子制御ユニット及び回路再構築方法を提供することができる。
【図面の簡単な説明】
【0011】
【図1】センサ毎に専用ハードウェア回路図の一例である(従来図)。
【図2】電子制御ニットのブロック図の一例である。
【図3】エンジンECUの概略構成図の一例である。
【図4】優先順位テーブルの一例を示す図である。
【図5】電子制御ユニットが、動的再構成回路の内部構成を再構築する手順を示すフローチャート図の一例である。
【図6】動的再構成回路を切り替える車両状態の一例を示す図である。
【図7】各気筒のサイクルを説明するための図の一例である。
【図8】ハイブリッドECUの該略構成図の一例である。
【図9】モータ起動数とエンジンシリンダ起動数の比を説明するための図の一例である。
【図10】ハイブリッドECUの動的再構成回路が内部構成を再構築する手順を示すフローチャート図の一例である。
【図11】統合ECUを模式的に示す図の一例である。
【図12】統合ECUの動的再構成回路が内部構成を再構築する手順を示すフローチャート図の一例である。
【図13】バックモニタECUを模式的に示す図の一例である。
【図14】ディーゼルエンジンの動作手順の一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明を実施するための形態について図面を参照しながら説明する。
【実施例1】
【0013】
図2は、電子制御ユニット100のブロック図の一例を示す。動的再構成回路16が内部構成を再構築する手順の概略を説明する。アービタ12は、センサ11(区別する場合、センサ1〜nという)が検出したセンサ信号に優先順位を付けて、INTC(割り込みコントローラ)15にセンサを識別するためのセンサ情報を出力する。INTC15はセンサ情報に応じて動的再構成回路16に割り込みすると共に、動的再構成回路16にセンサ情報に対応したオブジェクトコードを読み込ませる。アービタ12がセンサ信号を調停することで、複数のセンサ1〜nが接続されたマイコンにセンサ毎に専用の回路を再構築する動的再構成回路16を搭載しても、センサ信号を処理すべきタイミングでセンサ信号に対応した内部構成に、動的再構成回路を再構築することができる。
【0014】
電子制御ユニット100は、バス34に接続された動的再構成回路16、CPU18、INTC23、RAM19、DMAC21及びTimer22を有する。動的再構成回路16以外の回路については公知のものを利用できる。CPU18は、FlashROM17に記憶されたプログラムを読み出して電子制御ユニット100の全体を制御する。CPU18は、バス34に接続された複数のレジスタセット26,27、レジスタセット26,27に接続されたマルチプレクサ28、マルチプレクサ28と接続された演算ユニット30、FlashROM17と接続されたプログラムカウンタ24と命令キュー25、とを有する。
【0015】
レジスタセット26,27には、動的再構成回路16により処理が施されたセンサ信号、又は、RAM19に記憶されているデータ等がバス34を介して読み出される。マルチプレクサ28は、プログラムの指定に従い演算ユニット30に接続するレジスタセット26,27を切り替える。
【0016】
プログラムカウンタ24にはCPU18が実行するFlashROM17のアドレスが記憶される。プログラムカウンタ24がクロックに同期してアドレスをFlashROM17に出力すると、命令キュー25に命令が読み出される。プログラムカウンタ24は、所定値だけアドレスの値を大きくして次の命令の読み出しに備える。
【0017】
命令キュー25に格納された命令は命令デコーダで解読され、不図示のレジスタファイルに記憶される。レジスタファイルには演算の種別、ソースオペランド(演算対象のデータのアドレス)等が記憶される。ソースオペランドが例えばレジスタセット26,27を指定すれば、演算ユニット30はレジスタセット26,27からデータを読み出す。演算ユニット30は、演算の種別に応じた演算をソースオペランドのデータに施す。図示するように、演算ユニット30は、一般的なALU29(Arithmetic Logic Unit)の他、LSU32(Load Store Unit)、MUL31(Multiply)、DIV33(Divide)等の演算が可能になっている。演算結果は、不図示のレジスタファイルに記憶され、プログラムの指示に応じてレジスタセット26,27を介してRAM19に書き込まれる。
【0018】
DMAC21はRAM19に記憶されたデータを、CPU18を介することなくI/O35に転送したり、I/O35から入力されたデータを、CPU18を介することなくRAM19に格納する。I/O35には、スイッチング素子、ASIC(Application Specific Integrated Circuit)、アクチュエータ等が接続されている。
【0019】
また、INTC23は、Timer22に設定された値が経過するとCPU18に割り込みを生じさせる割り込みコントローラである。サイクル時間毎に処理したいプログラムがある場合、そのプログラムはTimer22にサイクル時間を設定してCPU18を停止する。INTC23はTimer22がゼロになるとTimer22に対応した割り込みベクタをCPU18に実行させる。割り込みベクタは指定されたプログラムのアドレスをプログラムカウンタ24に設定するので、再度、サイクル時間毎に処理したいプログラムが実行される。
【0020】
動的再構成回路16にはINTC15が接続され、INTC15にはFlashROM14及びアービタ12が接続され、アービタ12には入力I/F13が接続され、入力I/F13にはセンサ1〜nが接続されている。センサ1〜nは2以上であればよい。また、動的再構成回路16は、例えば、多数のPE(Processing Element)と配線部分で構成される。配線を動的に再構築することで実行する処理の内容を切り替える変更することが可能である。動的再構成回路16には種々のものが知られているが、実装形態はどのようなものでもよい。例えば、PLD(Programable Logic Device)やFPGA(Field Programable Gate Array)、リコンフィギュラブルチップ(Reconfigurable Chip)が知られている。
【0021】
動的再構成回路16は、INTC15から割り込みを受けると、割り込みに用いられた信号線をセンサ情報として、センサ情報に応じたオブジェクトコードをFlashROM14から読み出す。オブジェクトコードには、例えば、PE間の断接情報が含まれている。したがって、動的再構成回路16はオブジェクトコードを実行することで回路の配線を切り替えることができる。
【0022】
センサ1〜nは、車両状態を検出するための各種のセンサである。この電子制御ユニット100が、エンジンECUの場合、センサ1〜nはクランクアングルセンサ、回転速度センサ、及び、ノックセンサ等である。図3は、エンジンECUの概略構成図を示す。図2と比べ、センサ1〜nが、クランクアングルセンサ11a、回転速度センサ11b、ノックセンサ11cと置き換わっている。
【0023】
また、電子制御ユニット100がハイブリッドECUの場合、センサ1〜nは、モータ回転数センサ、モータトルクセンサ、電流センサ(以下、総称して「HV(ハイブリッド)センサ」という)等である。また、電子制御ユニット100が電動パワステECUの場合、センサ1〜nは操舵角センサ等であり、障害物検出ECUの場合、センサ1〜nはミリ波レーダセンサ等である。また、ECUがバックモニタECUの場合、センサ1〜nは、シフトポジションセンサ、車速センサ(以下、総称して「車両方向移動センサ」という)等である。また、ECUがディーゼルエンジンのエンジンECUの場合、センサ1〜nはディーゼルセンサ(例えば、クランクアングルセンサ11a)である。
【0024】
入力I/F13は、センサ1〜nと順番に接続し、必要であればA/D変換し、センサ1〜nのセンサ信号を取得する。入力I/F13は、充分に短いサイクル時間毎に各センサ1〜nが検出するセンサ信号を取得する。
【0025】
アービタ12は、1以上のセンサ信号が書き変わる時間が経過する時間を下限、全てのセンサ信号が書き変わる時間を上限に、適当な時間間隔毎に、入力I/F13に全てのセンサ信号を読み行く。一般的には、センサ信号の処理が必要なセンサ1〜nのいずれかがセンサ信号を検出する毎に、アービタ12がセンサ信号を読みに行く。アービタ12がセンサ信号を読みに行く場合、後述する優先順位テーブルと照らし合わせて全てのセンサ信号を調停し、優先順位の高いセンサ1〜nのセンサ信号を抽出する。
【0026】
そして、アービタ12はセンサ1〜nのセンサ信号に基づき、以下をそれぞれ判定し、1つのセンサに処理権を与える。
(1)動的再構成回路16の内部構成を再構築する必要がある状況か
(2)2つ以上のセンサ信号に対し動的再構成回路16の内部構成の再構築が必要であると判定した場合、最も優先順位の高いセンサ信号はどれか
アービタ12は、動的再構成回路16の構成を変更する必要があるセンサ信号が1つだけの場合は、そのセンサのセンサ情報をINTC15に出力する。また、最も優先順位の高いセンサを決定した場合、そのセンサのセンサ情報をINTC15に出力する。センサ情報は、例えば、アービタ12とINTC15をセンサ毎に接続する信号線に出力されるHigh信号、又は、センサに対応づけられた番号等である。
【0027】
アービタ12は、回路で構成してもよいし、CPU18がプログラムを実行することで実現してもよい。プログラムで実現する場合、例えば、アービタ12、FlashROM14及びINTC15をIC等で構成し、CPU18がFlashROM14に記憶されたプログラムを実行する。回路などのハードウェアで実現すれば、センサ信号の調停を高速で行うことが可能であるし、プログラムで実現すれば調停論理に柔軟性を持たせやすくなる。
【0028】
図4は、アービタ12が記憶する優先順位テーブルの一例を示す図である。優先順位テーブルには、センサ情報に対応づけて、「処理間隔」、「デッドライン」、「最終処理」、「優先順位」が登録されている。「処理間隔」は、次にセンサ信号を処理するタイミングまでのセンサ信号の増大分である。「最終処理」は、最後にセンサ信号を処理した際のセンサ信号の値である。「デッドライン」は、センサ信号が処理間隔を超えていても優先順位が低いため処理されない場合、強制的にそのセンサのセンサ信号を処理するための処理間隔である。「優先順位」はセンサ1〜nのセンサ信号を優先的に処理する優先順位であり、数値が小さいほど優先度が高いことを示す。優先順位テーブルに登録された情報のうち、「センサ情報」「処理間隔」「デッドライン」「優先順位」は予めアービタ12に登録されており、「最終処理」はセンサ信号の処理の度にアービタ12が登録する。
【0029】
例えば、図示する状態の場合、クランクアングルセンサ11aの最終処理は「120度」、「処理間隔」は「30度」なので、アービタ12はセンサ信号が「120+30度」になると、クランクアングルセンサ11aに処理権を与える。クランクアングルセンサ11aは、「優先順位」が「1」なので、調停されることなくセンサ信号がそのまま処理される。
【0030】
また、回転速度センサ11bの最終処理は「0度(360度回転して元の位置に戻った)」、「処理間隔」は「90度」なので、アービタ12はセンサ信号が「0+90度」になると、センサ信号の処理が必要であると判定する。回転速度センサ11bは、「優先順位」が「2」なので、アービタ12は、クランクアングルセンサ11aのセンサ信号を処理する必要があるか否かを判定し、処理する必要がなければ回転速度センサ11bに処理権を与える。また、ノックセンサ11cの最終処理は「345秒」、「処理間隔」は「1度」なので、アービタ12はセンサ信号が「345+1秒」になると、センサ信号の処理が必要であると判定する。ノックセンサ11cは、「優先順位」が「3」なので、アービタ12は、クランクアングルセンサ11aと回転速度センサ11bのセンサ信号を処理する必要があるか否かを判定し、2つとも処理する必要がなければノックセンサ11cに処理権を与える。
【0031】
なお、「優先順位」は、車両の3つの基本機能「止まる、走る、曲がる」のどれにそのセンサ1〜nが関係するかに応じて定められる。すなわち、「止まる」に関係するセンサ1〜nの優先順位が最も高く、ついで、「走る」に関係するセンサの優先順位が最も高く、「曲がる」に関係するセンサ1〜nの優先順位が最も低い。
【0032】
また、回転速度センサ11bの「デッドライン」は「85度」なので、アービタ12はセンサ信号が「0+90+85度」になると、優先順位の高いクランクアングルセンサ11aのセンサ信号が「処理間隔」の条件を満たしていても、回転速度センサ11bに処理権を与える。同様に、ノックセンサ11cの「デッドライン」は「0.9秒」なので、アービタ12はセンサ信号が「345+1+0.9秒」になると、優先順位の高いクランクアングルセンサ11aと回転速度センサ11bのセンサ信号が「処理間隔」の条件を満たしていても、ノックセンサ11cに処理権を与える。「デッドライン」には、「処理間隔」よりもわずかに小さな値が登録されているので、各センサのセンサ信号が最終処理された時の値から、もう一度「処理間隔」を超えるまでにセンサ信号が処理される。「デッドライン」は、「処理間隔」よりわずかに小さい値でなくてもよく、何回か「処理間隔」を飛ばして処理してもセンサ信号の処理に影響の少ないセンサであれば、デッドライン=「n×処理間隔(n:1以上の実数)」とすることができる。
【0033】
なお、アービタ12は、最後に処理権を与えたセンサのセンサ情報及びセンサ信号を記憶している。動的再構成回路16は、最後に処理権を与えたセンサのセンサ信号を処理する回路に再構築されていることになる。アービタ12は、処理権を与えたセンサ及びセンサ信号と、最後に処理権を与えたセンサ及びセンサ信号を比較して、センサ又はセンサ信号の一方が変化した場合は回路を切り替える必要があるか否かを判定する。こうすることで、内部構成の再構築が不要な場合は、動的再構成回路16を再構築する必要がなくなる。
【0034】
動的再構成回路16の処理内容について説明する。動的再構成回路16はINTC15が割り込み時に指定したセンサ情報及びセンサ信号に基づき、FlashROM14から読み出すべきオブジェクトコードを決定する。
【0035】
例えば、アービタ12がクランクアングルセンサ11aに処理権を与えた場合、動的再構成回路16は、クランク角度に基づきVVT(Variable Valve Timing)入力角度を算出する内部構成に再構築する。また、アービタ12が回転速度センサ11bに処理権を与えた場合、動的再構成回路16は、回線速度センサのセンサ信号に基づきエンジン回転数を算出する内部構成に再構築する。また、アービタ12がノックセンサ11cに処理権を与えた場合、動的再構成回路16は、ノックセンサ11cのセンサ信号に基づきノッキングの有無を判定する内部構成に再構築する。
【0036】
図5は、電子制御ユニット100が、動的再構成回路16を再構築する手順を示すフローチャート図の一例である。図5のフローチャート図は、例えば、電子制御ユニット100が起動するとスタートする。
【0037】
まず、アービタ12はセンサ信号を読みに行くタイミングか否かを判定する(S10)。例えば、センサ1〜nのいずれかからセンサ信号が取得される毎に、アービタ12はセンサ信号を読みに行く。アービタ12がセンサ信号を読みに行くタイミングとなるまで、アービタ12は待機する。
【0038】
アービタ12がセンサ信号を読みに行くタイミングとなった場合(S10のYes)、アービタ12は、センサ信号と優先順位テーブルに基づき処理間隔を超えたセンサがあるか否かを判定する(S20)。処理間隔を超えたセンサがない場合(S20のNo)、センサ信号を処理する必要がないので、ステップS10からの判定を繰り返す。
【0039】
処理間隔を超えたセンサがある場合(S20のYes)、センサ信号を処理する必要があるため、アービタ12は処理間隔を超えたセンサが複数あるか否かを判定する(S30)。処理間隔を超えたセンサが複数ない場合(S30のNo)、すなわち、処理間隔を超えたセンサが1つだけの場合、そのセンサのセンサ信号を処理すればよい。このため、アービタ12は、処理間隔を超えたセンサに対応した割り込みを動的再構成回路16に発生させるようINTC15に要求する(S40)。
【0040】
処理間隔を超えたセンサが複数ある場合(S30のYes)、デッドラインを超えたセンサが最も優先されるべきなので、アービタ12は、複数のセンサの中に、デッドラインを超えたセンサがあるか否かを判定する(S50)。デッドラインを超えたセンサがある場合(S50のYes)、そのセンサのセンサ信号を早期に処理するため、アービタ12は、デッドラインを超えたセンサに対応した割り込みを動的再構成回路16に発生させるようINTC15に要求する(S60)。
【0041】
デッドラインを超えたセンサがない場合(S50のNo)、アービタ12は、優先順位テーブルを参照して、複数のセンサから最も優先順位の高いセンサを特定する(S70)。そして、アービタ12は、最も優先順位の高いセンサに対応した割り込みを動的再構成回路16に発生させるようINTC15に要求する(S80)。
【0042】
ステップS40,S60,S80の割り込みにより、動的再構成回路16はセンサに対応するオブジェクトコードを読み込み、回路を再構築する(S90)。
【0043】
以上の処理を繰り返すことで、アービタ12がセンサ信号に優先順位を付けることができ、複数のセンサに専用の内部構成に切り替えることができる。また、動的再構成回路16が複数のセンサに対応した回路に切り替わるので、マイコンの実装面積を節約することができる。
【実施例2】
【0044】
実施例1ではセンサ毎に予め優先順位を定めておくこととしたが、本実施例では、車両状態に応じてアービタ12がセンサの優先順位を切り替え、又は、車両状態に応じて動的再構成回路16の内部構成を再構築する電子制御ユニット100について説明する。車両状態とは、動的再構成回路16を切り替える必要のある全ての車両状態をいう。したがって、車両状態は、電子制御ユニット100によっても変わるし、動的再構成回路16の設計によっても様々である。本実施例では、例えば、エンジンECUが検出するクランク角度の値、ハイブリッドECU100Aが検出する運転モード(後述する「比」)、統合ECU100Bが検出する操舵角、バックモニタECU100Cが検出する車両の移動方向等が、車両状態である。
【0045】
図6は、動的再構成回路16を切り替える車両状態の一例を示す図である。センサに対応づけて車両状態が登録されている。例えば、クランクアングルセンサ11aには「一定角度毎」、HV(ハイブリッド)センサ41には「モータ走行、ガソリン走行の比」、パワステセンサには「ステアリング舵角、パワステのオン/オフ」、車両移動方向センサ47には「車両の前進/後進」、ディーゼルセンサには「ディーゼルエンジン制御のエンジン動作タスク」、がそれぞれ対応づけられている。以下、車両状態について説明する。
【0046】
・エンジンECUが検出するクランク角度
センサ毎に動的再構成回路16が切り替わるだけでなく、同じ1つのセンサのセンサ信号の値により動的再構成回路16が切り替わる場合を説明する。クランクアングルセンサ11aは、クランク角度を検出する。エンジンが4気筒、4サイクルの場合、各気筒がサイクルを1つずつずらしながら、エンジンが1回転する間に1気筒当たり、爆発、排気、吸気、圧縮を繰り返す。
【0047】
図7は、各気筒のサイクルを説明するための図である。エンジンが1回転する間に、クランク角度は360度変化する。所定角度毎(例えば30度毎)に、動的再構成回路16がクランク角度を処理することで、各気筒の回転速度や吸排気のタイミングを適切に制御可能となる。
【0048】
アービタ12は、クランク角度が所定角度変化すると、クランク角度に応じて動的再構成回路16に割り込みするようINTC15に要求する。この割り込みにより、動的再構成回路16は、クランク角度に応じたオブジェクトコードをFlashROM14から読み出し、内部構成を再構築する。再構築後の動的再構成回路16は、例えば、各気筒1〜4のサイクルに応じた回路であり、例えばクランク角度と時間経過の関係から回転速度を算出したり、吸排気のタイミングを決定する回路、燃料噴射量を決定する回路等、のいずれか又は組み合わせた回路である。
【0049】
なお、クランクアングルセンサのセンサ信号だけについて説明したが、回転速度センサやノックセンサの処理間隔が経過すると、動的再構成回路16は実施例1と同様にセンサ1〜n毎に切り替わる。
【0050】
・ハイブリッドECU100Aが検出する運転モード
図8は、ハイブリッドECU100Aの該略構成図の一例を示す。HVセンサ41は、主にハイブリッドECU100Aに接続されるセンサである。ハイブリッドECU100Aは、エンジンのみを動力源として走行するエンジン運転モード、電動モータのみを動力源として走行するモータ運転モード、エンジン+電動モータの両方を動力源として走行するエンジン+モータ運転モード、等の運転モードを有する。ハイブリッドECU100Aは、アクセル操作量、傾斜、車速等をパラメータとして運転モードを切り換える。例えば、要求出力の増加率や、一定時間内の要求出力の増加量(変化量)が所定値より大きい場合、モータ運転モードから、エンジン+モータ運転モードに切り替えたり、要求出力の増加が所定より大きい場合は、モータ運転モードにおける起動モータ数、エンジン+モータ運転モードにおけるエンジンシリンダ起動数又はモータ数を増大させる。また、要求出力が低下すれば、エンジン+モータ運転モードからモータ運転モードに切り替えたり、モータ運転モードにおける起動モータ数、エンジン+モータ運転モードにおけるエンジンシリンダ起動数又はモータ数を低減させる。こうすることで、ハイブリッドECU100Aはパラメータに見合う動力をエンジンやモータから出力させる。このように、走行中に「モータ起動数(モータトルク)とエンジンシリンダ起動数(エンジントルク)の比」が切り替わる。
【0051】
図9は、モータ起動数とエンジンシリンダ起動数の比を説明するための図の一例である。図示するように、モータ起動数とエンジンシリンダ起動数が分かれば、「モータ起動数/エンジンシリンダ起動数」の比も一意に定まる。
【0052】
ハイブリッドECU100Aが動的再構成回路16で行う処理は種々のものがありうるが、ハイブリッドECU100Aの動的再構成回路16は、比に応じて異なる態様でHVセンサ41のセンサ信号を処理する。ここで、ハイブリッドECU100Aの場合、比によって、複数のHVセンサ41の優先順位が変わる。ハイブリッドECU100Aは、電動モータについてモータ回転数、モータトルク、モータに流れる電流値等を算出し、エンジンについてエンジン回転数、エンジントルク等を算出する。したがって、比によって、動的再構成回路16に必要な内部構成は異なることになり、比によって、HVセンサ41の優先順位が異なることになる。具体的には、例えば、モータ起動数の数だけモータ回転数、モータトルク、モータに流れる電流値を算出する回路と、エンジンシリンダ起動数の数だけエンジン回転数、エンジントルク等を算出する回路が必要となる。
【0053】
このため、アービタ12は、比が所定値以上変化すると、又は、予め定めた比に到達すると、HVセンサ41の優先順位を切り替える。こうすることで、比に応じて最適な優先順位で、複数のHVセンサ41のセンサ信号を処理できる。この場合、比毎の優先順位テーブルを予めアービタ12に登録しておく。アービタ12は比に基づき参照する優先順位テーブルを切り替え、複数のHVセンサ41の中から処理権を与える1以上のセンサを決定する。
【0054】
そして、アービタ12は、処理権を与えたセンサのセンサ情報を指定して、動的再構成回路16に割り込みするようINTC15に要求する。INTC15が動的再構成回路16に割り込むと、動的再構成回路16は、センサ情報に応じてFlashROM14からオブジェクトコードを読み出し、内部構成を再構築する。これにより、動的再構成回路16は、処理権を与えられたセンサのセンサ信号を処理する内部構成を再構築する。
【0055】
図10は、ハイブリッドECU100Aの動的再構成回路16が内部構成を再構築する手順を示すフローチャート図の一例である。図10において、図5と同一ステップには同一の符号を付した。
【0056】
アービタ12はサイクル時間毎に運転モードによる比を監視し、比が変化したか否かを判定する(S1)。比が変化しない場合(S1のNo)、優先順位テーブルを切り替える必要がないので、ステップS10以降の処理へ進む。
【0057】
比が変化した場合(S1のYes)、アービタ12は、比に応じた優先順位テーブルを選択する(S5)。ついでステップS10以降の処理へ進む。以降の処理は図5と同様なので説明は省略する。
【0058】
したがって、ハイブリッドECU100Aに動的再構成回路16を搭載することで、車両状態(運転モード)に応じてセンサ1〜nの優先順位を切り替えて、センサ信号を調停し、動的再構成回路16の内部構成を再構築することができる。ハイブリッドECU100Aには多くのHVセンサ41が接続されるので、実装面積の低減効果を大きい。
【0059】
・統合ECU100Bが検出する操舵角
車両状態に応じてアービタ12がセンサの優先順位を切り替え、さらに、動的再構成回路16の内部構成を再構築する電子制御ユニット100について説明する。例えば、電動パワステECUは、パワステセンサ(例えば、操舵角センサ43)が検出したセンサ信号を、ステアリング補助モータ44を制御する際に利用する。また、車両には障害物検出装置が搭載されることがある。障害物検出装置は障害物検出ECUにより制御される。ここで、本実施形態では、動的再構成回路16によりセンサ信号の処理を切り替えられることを利用して、電動パワステECUと障害物ECUを、統合ECU100Bに統合した場合について説明する。
【0060】
図11(a)は、統合ECU100Bを模式的に示す図の一例である。統合ECU100Bにはミリ波レーダA、ミリ波レーダB右、ミリ波レーダB左、とが接続され、I/O35にはステアリング補助モータ44が、I/O36には警報器45が接続されている。ミリ波レーダAは前方の障害物を、ミリ波レーダB右は右側方の障害物を、ミリ波レーダB左は左側方の障害物を、それぞれ検出する。ミリ波レーダA、B右及びB左は、ミリ波レーダを送信しその反射波を受信する。ミリ波レーダA、B右及びB左は、センサの一形態である。
【0061】
そして、統合ECU100Bは、ステアリングの操舵角に応じて、障害物の検知方向の重み付けを切り替える。図11(b)は、操舵角と障害物の検知方向の重み付けの一例を示す図である。操舵角が0度(直進方向)付近の場合、障害物の検知方向は前方だけである。逆に、操舵角が90度又はマイナス90度付近の場合(右折又は左折方向に操舵している)、障害物の検知方向は右又は左の側方だけである。操舵角が0度付近〜90度付近の間は、例えば前方を2、右側方を1、又は、前方を1:右側方を2のように、操舵角に応じて障害物の検知方向の重み付けが変わる。重み付けが変わればミリ波レーダのセンサ信号から障害物を検出するアルゴリズムも変わる。
【0062】
このため、アービタ12は、操舵角センサ43の角度が重み付けの変わる所定値に変化したことを検出すると、優先順位テーブルを切り替える。例えば、操舵角が0度付近の場合、ミリ波レーダAの優先順位が最も高く、処理間隔も短いのに対し、ミリ波レーダB右、B左の優先順位は低く、処理間隔も長い。操舵角が90度付近の場合、ミリ波レーダAの優先順位は低く、処理間隔も長いのに対し、ミリ波レーダB右の優先順位は高く、処理間隔も短い。このように、操舵角に応じて優先順位テーブルを切り替えることで、アービタ12は、ミリ波レーダA、B右、B左の重み付けに応じてセンサ信号を調停できる。
【0063】
なお、センサ信号に重み付けがあることは、複数のセンサ信号を処理することが前提であるため、センサ毎に動的再構成回路16を再構築するよりも、操舵角毎に動的再構成回路16を再構築する方が好ましい。この場合、アービタ12は、操舵角毎に、優先順位テーブルを切り替えると共に、INTC15に割り込みを発生させる。これにより、動的再構成回路16は、操舵角に応じたオブジェクトコードを読み出し、ミリ波レーダA,B右、B左のセンサ信号を処理する回路を再構築することができる。したがって、同じ操舵角であれば、動的再構成回路16は再構築されず、アービタ12は優先順位に従いミリ波レーダA、B右及びB左に処理権を与える。動的再構成回路16は、操舵角に応じて再構築された内部構成でセンサ信号を処理できる。なお、動的再構成回路16は、障害物を検出すると、警報器45に警報音を吹鳴させる。また、ブレーキECUに制動を要求してもよい。
【0064】
図12は、統合ECU100Bの動的再構成回路16が内部構成を再構築する手順を示すフローチャート図の一例である。図12において、図5と同一ステップには同一の符号を付した。
【0065】
アービタ12は操舵角を監視し、操舵角が変化したか否かを判定する(S2)。操舵角が変更されなければ(S2のNo)、ステップS10に進む。操舵角が変更された場合(S2のYes)、アービタ12は操舵角に応じた優先順位テーブルを選択し、また、操舵角に応じて動的再構成回路16に割り込みするようINTC15に要求する(S6)。
【0066】
ステップS10〜S30の処理は図5と同様である。すなわち、処理間隔を超えたセンサが複数ない場合(S30のNo)、アービタ12は、処理間隔を超えたセンサのセンサ信号を動的再構成回路16に供給し、動的再構成回路16がセンサ信号を処理する(S41)。
【0067】
また、処理間隔を超えたセンサが複数ある場合(S30のYes)、アービタ12は、複数のセンサの中に、デッドラインを超えたセンサがあるか否かを判定し(S50)、デッドラインを超えたセンサがある場合(S50のYes)、そのセンサのセンサ信号を動的再構成回路16に供給し、動的再構成回路16がセンサ信号を処理する(S61)。
【0068】
また、デッドラインを超えたセンサがない場合(S50のNo)、アービタ12は、優先順位テーブルを参照して、複数のセンサから最も優先順位の高いセンサを特定し(S70)、アービタ12は、センサのセンサ信号を動的再構成回路16に供給し、動的再構成回路16がセンサ信号を処理する(S81)。
【0069】
以上のように、統合ECU100Bは、車両状態(操舵角)に応じて、センサ1〜nの優先順位を切り替え、また、動的再構成回路16の内部構成を再構築することで、操舵角に応じて優先順位を付けられたセンサ1〜nのセンサ信号を専用の回路で処理できる。
【0070】
ところで、図11(a)の統合ECU100BにはSW42が接続されている。パワステによるステアリング補助モータ44の制御は、ユーザのSW42の操作や車両状態によりオン/オフを切り替えることができるようになっている。例えばSW42がオンに操作されると、ステアリング補助モータ44に電流が供給され、統合ECU100Bが運転者の操舵方向に操舵トルクをアシストする。動的再構成回路16は、操舵角センサ43が検出した操舵角を処理して適切なアシスト量(ステアリング補助モータのトルク)を決定する処理を実行する。すなわち、動的再構成回路16は、ミリ波レーダA、B右及びB左のセンサ信号だけでなく、操舵角そのものをセンサ信号にしている。
【0071】
したがって、SW42がオフであれば、統合ECU100Bがアシスト量を決定する必要もなく、動的再構成回路16を操舵角の処理用の回路として維持する必要がない。このため、アービタ12は、SW42がオフになると、INTC15に割り込みを発生させる。動的再構成回路16は、内部構成を再構築して、アシスト量を処理する以外の回路を再構築することができる。例えば、動的再構成回路16は、ミリ波レーダA、B右、B左が検出したセンサ信号による障害物の検出を、より高度にしたアルゴリズムの回路に再構築できる。
【0072】
・バックモニタECUが検出する車両の移動方向
図13は、バックモニタECU100Cを模式的に示す図の一例である。車両移動方向センサ47は、例えば、シフトポジションセンサ、車速センサ、Gセンサ等、車両の移動方向が分かるセンサであればよい。車両移動方向センサ47は、例えば、バックモニタECU100Cに接続される。バックモニタECU100Cには後方カメラ46が接続されている。
【0073】
図13の動的再構成回路16は、後方カメラ46が車両の後方を撮影して取得した画像データに対し、車両の移動方向に応じて回路を再構築する。後退走行時、バックモニタECU100Cは車両の操舵角、車速に応じて車両の進行方向を予測し、予測結果を画像データに重畳して画像データと共に表示装置に表示する。前進走行時、バックモニタECU100Cは、画像データを処理して後方からの接近車両を検出する。具体的には、画像データにエッジ処理を施し移動体を検出し、移動体に対し車両の標準テンプレートを用いて、パターンマッチングを行うことで、後方から接近する車両を検出する。後方から接近する車両を検出すると、バックモニタECU100Cは例えば、乗員に警告する。
【0074】
アービタ12は、車両移動方向センサ47のセンサ信号から車両の移動方向を検出し、動的再構成回路16に割り込むようINTC15に要求する。これにより、動的再構成回路16は、前進走行と後退走行に応じて内部構成を再構築することができる。
【0075】
・ディーゼルエンジン用のECUが検出するエンジンのサイクル
ディーゼルセンサは、例えばクランクアングルセンサ11aである。図14は、ディーゼルエンジンの動作手順の一例を示す。よく知られているように、ディーゼルエンジンは、爆発、排気、吸入、圧縮の各サイクルを繰り返す。ディーゼルエンジン用のエンジンECUは、クランク角度に応じて各サイクルに必要な処理を行う。このため、動的再構成回路16は、クランク角度に応じてサイクルに適した処理に再構築する。
【0076】
以上説明したように、本実施例の電子制御ユニット100は、車両状態に応じてセンサの優先順位を切り替え、センサの優先順位に従い動的再構成回路16の内部構造を再構築することができる。また、車両状態に応じて動的再構成回路16を再構築することもできる。種々のセンサを接続する必要のある電子制御ユニット100に種々の専用回路を搭載する必要性を低減して実装面積を節約できる。
【符号の説明】
【0077】
11 センサ
12 アービタ
13 入力I/F
14 FlashROM
15 INTC
16 動的再構成回路
18 CPU
100 電子制御ユニット
【特許請求の範囲】
【請求項1】
複数のセンサから選択的に1以上のセンサ信号を読み出すインターフェイスと、
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、
複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、
前記動的再構成回路は、前記調停手段が決定したセンサ信号を処理する内部構成に再構築する、
ことを特徴とする電子制御ユニット。
【請求項2】
車両状態を検出する車両状態検出手段を有し、
前記調停手段は、前記車両状態に応じて複数のセンサ信号から優先して処理するセンサ信号を決定する、
ことを特徴とする請求項1記載の電子制御ユニット。
【請求項3】
前記車両状態検出手段はモータトルクとエンジントルクの比を検出し、
前記調停手段は、前記比に応じて複数のセンサ信号から優先して処理するセンサ信号を決定する、
ことを特徴とする請求項2記載の電子制御ユニット。
【請求項4】
センサ毎に予め優先順位を定めた優先順位テーブルを有し、
前記調停手段は、前記優先順位テーブルに基づきセンサ信号の優先順位を定める、
ことを特徴とする請求項1記載の電子制御ユニット。
【請求項5】
複数のセンサの1つがクランクアングルセンサの場合、
前記動的再構成回路は、クランク角度が所定量増大する毎に、前記配線情報を読み出し内部構成を再構築し、クランク角度に処理を施す、
ことを特徴とする請求項4記載の電子制御ユニット。
【請求項6】
前記動的再構成回路は、クランク角度が所定量増大する毎にクランク角度に対応した前記配線情報を読み出し内部構成を再構築し、クランク角度に処理を施す、
ことを特徴とする請求項5記載の電子制御ユニット。
【請求項7】
複数のセンサから選択的に1以上のセンサ信号を読み出すインターフェイスと、
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、
車両状態を検出する車両状態検出手段と、
前記車両状態に応じて、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、
前記動的再構成回路は、前記車両状態に基づき、前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す、
ことを特徴とする電子制御ユニット。
【請求項8】
前記車両状態検出手段は車両の操舵角を検出し、複数のセンサが障害物を検出する複数の障害物検出センサの場合、
前記調停手段は、前記操舵角に応じて障害物検知センサの優先順位を定め、
前記動的再構成回路は、操舵角に応じて再構築された内部構成により、障害物検知センサが検出したセンサ信号に処理を施す、
ことを特徴とする請求項7記載の電子制御ユニット。
【請求項9】
前記車両状態検出手段は、前記動的再構成回路により処理が必要な装置の電源オン及びオフを検出し、
前記動的再構成回路は、前記装置の電源のオン又はオフに応じて内部構成を再構築する、
ことを特徴とする請求項7記載の電子制御ユニット。
【請求項10】
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットの回路再構築方法において、
複数のセンサが、2以上のセンサ信号を出力するステップと、
調停手段が、複数のセンサ信号を調停し、処理するセンサ信号を決定するステップと、
前記動的再構成回路が、前記調停手段が決定したセンサ信号を処理する内部構成に再構築するステップと、
を有することを特徴とする電子制御ユニットの回路再構築方法。
【請求項1】
複数のセンサから選択的に1以上のセンサ信号を読み出すインターフェイスと、
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、
複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、
前記動的再構成回路は、前記調停手段が決定したセンサ信号を処理する内部構成に再構築する、
ことを特徴とする電子制御ユニット。
【請求項2】
車両状態を検出する車両状態検出手段を有し、
前記調停手段は、前記車両状態に応じて複数のセンサ信号から優先して処理するセンサ信号を決定する、
ことを特徴とする請求項1記載の電子制御ユニット。
【請求項3】
前記車両状態検出手段はモータトルクとエンジントルクの比を検出し、
前記調停手段は、前記比に応じて複数のセンサ信号から優先して処理するセンサ信号を決定する、
ことを特徴とする請求項2記載の電子制御ユニット。
【請求項4】
センサ毎に予め優先順位を定めた優先順位テーブルを有し、
前記調停手段は、前記優先順位テーブルに基づきセンサ信号の優先順位を定める、
ことを特徴とする請求項1記載の電子制御ユニット。
【請求項5】
複数のセンサの1つがクランクアングルセンサの場合、
前記動的再構成回路は、クランク角度が所定量増大する毎に、前記配線情報を読み出し内部構成を再構築し、クランク角度に処理を施す、
ことを特徴とする請求項4記載の電子制御ユニット。
【請求項6】
前記動的再構成回路は、クランク角度が所定量増大する毎にクランク角度に対応した前記配線情報を読み出し内部構成を再構築し、クランク角度に処理を施す、
ことを特徴とする請求項5記載の電子制御ユニット。
【請求項7】
複数のセンサから選択的に1以上のセンサ信号を読み出すインターフェイスと、
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットにおいて、
車両状態を検出する車両状態検出手段と、
前記車両状態に応じて、複数のセンサ信号を調停し、処理するセンサ信号を決定する調停手段、を有し、
前記動的再構成回路は、前記車両状態に基づき、前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す、
ことを特徴とする電子制御ユニット。
【請求項8】
前記車両状態検出手段は車両の操舵角を検出し、複数のセンサが障害物を検出する複数の障害物検出センサの場合、
前記調停手段は、前記操舵角に応じて障害物検知センサの優先順位を定め、
前記動的再構成回路は、操舵角に応じて再構築された内部構成により、障害物検知センサが検出したセンサ信号に処理を施す、
ことを特徴とする請求項7記載の電子制御ユニット。
【請求項9】
前記車両状態検出手段は、前記動的再構成回路により処理が必要な装置の電源オン及びオフを検出し、
前記動的再構成回路は、前記装置の電源のオン又はオフに応じて内部構成を再構築する、
ことを特徴とする請求項7記載の電子制御ユニット。
【請求項10】
回路の再構築を指示する配線情報を記憶した配線情報記憶手段と、
前記配線情報を読み出し内部構成を再構築し、センサ信号に処理を施す動的再構成回路と、を有する電子制御ユニットの回路再構築方法において、
複数のセンサが、2以上のセンサ信号を出力するステップと、
調停手段が、複数のセンサ信号を調停し、処理するセンサ信号を決定するステップと、
前記動的再構成回路が、前記調停手段が決定したセンサ信号を処理する内部構成に再構築するステップと、
を有することを特徴とする電子制御ユニットの回路再構築方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2010−282563(P2010−282563A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2009−137422(P2009−137422)
【出願日】平成21年6月8日(2009.6.8)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願日】平成21年6月8日(2009.6.8)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【出願人】(000004260)株式会社デンソー (27,639)
【Fターム(参考)】
[ Back to top ]