(57)【要約】【課題】  プログラマブルデバイスを用いつつ、電源投入後、早期に制御を開始することを可能とした制御装置を提供する。【解決手段】  制御回路１００は、プログラマブルデバイスであるＦＰＧＡ１と、ＦＰＧＡ１の一部の処理内容を共通して実行することが可能なベース処理ＩＣ３を有している。起動時にコンフィグレーションＲＯＭ１０に内蔵されたコンフィグレーション情報をＦＰＧＡ１へと書き込んで、コンフィグレーションを完了するまでの間は、ベース処理ＩＣ３を用いて制御を行う。さらに、コンフィグレーション後もコンペアＩＣ８がベース処理ＩＣ３とＦＰＧＡ１の制御出力を比較することで、コンフィグレーション情報の状態をチェックする。【選択図】  図１
2006279322.tif 000002
【特許請求の範囲】
【請求項１】
ハードウェアの機能を任意に決定できるプログラマブルデバイスと、前記プログラマブルデバイスのコンフィグレーション情報を記憶したメモリとを有し、前記メモリに記憶された情報に基づいてコンフィグレーションされたプログラマブルデバイスによってシステム制御を行う制御装置において、
前記プログラマブルデバイスで実行する制御内容の一部を実行可能な専用処理回路をさらに備えており、前記プログラマブルデバイスのコンフィグレーションが未完了の場合には、前記専用処理回路によりシステム制御を行うことを特徴とする制御装置。
【請求項２】
前記プログラマブルデバイスと前記専用処理回路で共通する制御について両者の制御出力を比較する比較回路を有し、比較結果が同一の場合には前記プログラマブルデバイスによる制御を続行し、比較結果が異なる場合には、前記プログラマブルデバイスの再コンフィグレーションを実行するとともに、再コンフィグレーションの間は前記専用処理回路によりシステム制御を行うことを特徴とする請求項１記載の制御回路。
【請求項３】
前記メモリに内容の異なる複数のコンフィグレーション情報が記憶されており、前記プログラマブルデバイスへと転送するコンフィグレーション情報を選択する選択手段をさらに備えていることを特徴とする請求項１または２に記載の制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両をはじめとする各種の機器類を制御する制御装置に関し、特に、プログラマブルデバイスを用いて制御処理内容を書き換えることが可能な制御装置に関する。
【背景技術】
【０００２】
プログラマブルデバイスであるＦＰＧＡ（Field Programmable Gate Array）を論理回路として用いる制御装置が知られている（例えば、特許文献１参照）。ＦＰＧＡは電源投入時に回路データを読み込んでコンフィグレーションを行う必要がある。特許文献１の技術においては、電源投入直後に有している複数の電源間で電圧の立ち上がりに時間差が発生した場合に、電圧がばらついている間にコンフィグレーションを行ってコンフィグレーションが失敗するのを防止するために、電圧が安定するまでの間は、コンフィグレーションデータの転送を禁止し、電圧安定を確認後にコンフィグレーションを実行することにより、コンフィグレーションを確実に行うものである。
【特許文献１】特開２００２−１７６３５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、このように電源が安定してからコンフィグレーションを行うとすると、電源投入からコンフィグレーションの完了までに時間がかかり、制御回路が起動するまでに時間を要するため、電源投入後すぐに制御を行うことができないという問題がある。このため、早期に起動して制御を行う必要があるシステムへの適用が難しい。
【０００４】
そこで本発明は、プログラマブルデバイスを用いつつ、電源投入後、早期に制御を開始することを可能とした制御装置を提供することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するため、本発明に係る制御装置は、ハードウェアの機能を任意に決定できるプログラマブルデバイスと、このプログラマブルデバイスのコンフィグレーション情報を記憶したメモリとを有し、メモリに記憶された情報に基づいてコンフィグレーションされたプログラマブルデバイスによってシステム制御を行う制御装置において、プログラマブルデバイスで実行する制御内容の一部を実行可能な専用処理回路をさらに備えており、プログラマブルデバイスのコンフィグレーションが未完了の場合には、専用処理回路によりシステム制御を行うことを特徴とする。
【０００６】
電源投入や再起動時にＦＰＧＡ等のプログラマブルデバイスのコンフィグレーションが行われる。このコンフィグレーションが完了するまでの間は、コンフィグレーションを必要としないマイコンやＬＳＩを用いた専用処理回路によって電源投入時や再起動時に必要とされる処理を行う。
【０００７】
プログラマブルデバイスと専用処理回路で共通する制御について両者の制御出力を比較する比較回路を有し、比較結果が同一の場合にはプログラマブルデバイスによる制御を続行し、比較結果が異なる場合には、プログラマブルデバイスの再コンフィグレーションを実行するとともに、再コンフィグレーションの間は専用処理回路によりシステム制御を行うとよい。
【０００８】
プログラマブルデバイスでは、設定されているコンフィグレーション情報が何らかの原因でその一部または全部が失われることがありうる。このような場合でも専用処理回路においては正常な制御出力が得られる。そこで、両者の処理結果が異なる場合には、プログラムデバイス内のコンフィグレーション情報に異常が発生したと判定して、その再コンフィグレーションを行うことにより、コンフィグレーション情報の復旧を行う。
【０００９】
メモリに内容の異なる複数のコンフィグレーション情報が記憶されており、プログラマブルデバイスへと転送するコンフィグレーション情報を選択する選択手段をさらに備えているとよい。
【００１０】
プログラマブルデバイスは、コンフィグレーション情報に応じた処理回路として機能する。つまり、複数のコンフィグレーション情報から選択した情報を転送することで、複数の処理回路の中から一つを選択することと同意になる。
【発明の効果】
【００１１】
本発明によれば、プログラマブルデバイスのコンフィグレーションの間は、専用処理回路によって処理を行うことで、コンフィグレーション完了を待つことなく早期に制御を開始することができる。このため、制御装置の使い勝手が向上する。
【００１２】
また、専用処理回路の制御出力とプログラマブルデバイスの制御出力とを比較することで、制御処理中にプログラマブルデバイスのコンフィグレーション情報の検証を行うことができるとともに、制御処理中でも再コンフィグレーションによるコンフィグレーション情報の復旧を行うことができるため、制御処理の精度を維持することができ、信頼性も向上する。
【００１３】
コンフィグレーション情報を複数格納して、その中から適切なコンフィグレーション情報を選択できるようにすることで、例えば、同種の制御を行う異なる制御装置間で、メモリ、プログラマブルデバイスを共通化し、どのコンフィグレーション情報を選択するかを変えることで、ハード的な構成は同一でも、異なる処理回路を実現できる。このため、制御処理のバリエーションを変えることが容易になり、システムに適合したきめ細かい制御を低コストで実現することができる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して本発明の好適な実施の形態について詳細に説明する。説明の理解を容易にするため、各図面において同一の構成要素に対しては可能な限り同一の参照番号を附し、重複する説明は省略する。
【００１５】
図１は、本発明に係る制御装置のブロック構成図である。本制御装置１００は、ＦＰＧＡ１を中心に構成されており、処理回路としてＦＰＧＡ１と、マイコン２、ベース処理ＩＣ３の３つを有している車両のエンジン等を制御する制御装置である。制御装置１００は、それぞれ２種類の入力回路４Ａ、４Ｂと、出力回路５Ａ、５Ｂがあり、入力回路４Ａには、クランク角センサ、ノックセンサ、水温センサ、外気温センサ、エアコンスイッチ等の出力が入力され、ＦＰＧＡ１とベース処理ＩＣ３へ入力された信号を出力する。一方、入力回路４Ｂには、入力回路４Ａと同様に水温センサ、外気温センサ、エアコンスイッチ等の出力のほか、エアフローメータ、アクセル／スロットル開度センサ、ＶＶＴ（Variable Valve Timing）センサ、Ｏ２センサ等の出力信号が入力され、マイコン２へ入力された信号を出力している。
【００１６】
ＦＰＧＡ１とマイコン２は、電源ＩＣ６からバッテリ２０を通じて起動制御を受ける。ＦＰＧＡ１には、コンフィグレーション情報が記憶されたコンフィグレーションＲＯＭ１０が接続される。また、ＦＰＧＡ１とベース処理ＩＣ３には、制御パラメータ等を格納したＤＰＲＯＭ７が接続される。ＦＰＧＡ１とベース処理ＩＣ３の出力信号は、信号間の比較を行うコンペアＩＣ８へと送られ、コンペアＩＣ８から出力回路５Ａへと送られる。コンペアＩＣ８には、ＦＰＧＡ１の完了信号が入力されている。出力回路５Ａからは、インジェクタ／イグナイタ信号等が出力される。一方、マイコン２の出力は、出力回路５Ｂへと送られる。出力回路５Ｂからは、電動スロットル、ＶＶＴ等の制御信号が出力される。
【００１７】
マイコン２とＦＰＧＡ１とは通信バスによって接続され、各種のデータを送受しうる構成となっている。マイコン２とＦＰＧＡ１で共通する入力データ（さらにベース処理ＩＣ３とも共通する場合がある。）については、入力回路４Ａ、４Ｂのいずれかに入力して、各回路へ分岐して出力する構成としてもよいが、さらに、マイコン２、ＦＰＧＡ１のいずれか一方から他方へ対してこの通信バスを通じて送信する構成としてもよい。
【００１８】
このコンペアＩＣ８の構成例を、図２に示す。コンペアＩＣ８は、ＦＰＧＡ１とベース処理ＩＣ３とで同一の制御処理（図中の処理Ａ’）を行った場合の制御出力がそれぞれ入力される。コンペアＩＣ８は、比較器８０とスイッチ８１とで構成される。比較器８０は、ＦＰＧＡ１の完了信号を受けて作動を開始する。そして、比較器８０は、ＦＰＧＡ１の完了信号が入力された後は、比較結果が一致するか否かを出力し、完了信号が未入力の間は、常に、比較結果が一致しない旨の信号を出力する。スイッチ８１は、出力回路５Ａへの出力信号をＦＰＧＡ１の制御出力とベース処理ＩＣ３の制御出力との間で切り換えるものであり、比較器８０の出力が一致する旨を出力している場合には、ＦＰＧＡ１側へと切り換え、一致しない旨を出力している場合には、ベース処理ＩＣ３側へと切り換える。
【００１９】
次に、この制御装置の動作について説明する。図３は、制御装置の動作を示すフローチャートである。この処理は、電源ＩＣ６によって車両の電源がオンにされたことが検知された後に実行される。
【００２０】
まず、マイコン２、コンフィグレーションＲＯＭ１０で、ベース処理ＩＣ３のパワーオン処理を行う（ステップＳ１）。次に、コンフィグレーションＲＯＭ１０からコンフィグレーション情報を読み出して、ＦＰＧＡ１へと書き込むコンフィグレーション処理を開始する（ステップＳ２）。次に、入力回路４Ａからベース処理ＩＣ３に信号を入力し（ステップＳ３）、ベース処理ＩＣ３内で処理Ａ’の制御出力を求める（ステップＳ４）。この処理は、車両の起動時に最低限必要とされる基本的な処理であり、例えば、基本噴射量、基本点火位置の算出等が挙げられる。
【００２１】
次に、ＦＰＧＡ１のコンフィグレーションが完了したか否かを判定する（ステップＳ５）。未完了の場合には、出力回路５Ａには、ベース処理ＩＣ３の制御出力が出力され（ステップＳ６）、制御が行われる。出力後は、ステップＳ３へと戻ることで、コンフィグレーションが未完了の間は、ベース処理ＩＣ３による処理が行われることになる。
【００２２】
ステップＳ５でコンフィグレーションが完了したと判定した場合には、ステップＳ７へと移行し、ＦＰＧＡ１と、ベース処理ＩＣ３の双方へ信号を入力する。次に、ベース処理ＩＣ３では、処理Ａ’の制御出力を、ＦＰＧＡ１では処理Ａ’と処理Ａの制御出力を求める（ステップＳ８）。ここで、処理Ａは、噴射量や点火位置の補正量算出など、高速処理が必要な処理のうち、補正量制御などの比較的複雑な計算を必要とする高度な制御が挙げられる。
【００２３】
ステップＳ９では、ＦＰＧＡ１と、ベース処理ＩＣ３の処理Ａ’の制御出力を比較し、一致するか否かを判定する。不一致の場合には、コンフィグレーション情報に不具合ありと判定して、ステップＳ１０へと移行し、ベース処理ＩＣ３の制御出力を出力回路５Ａへと出力した後、ステップＳ２へと戻ることで、再コンフィグレーションを実行する。一方、一致する場合には、ステップＳ１１へと移行して、ＦＰＧＡ１の制御出力を出力してステップＳ７へと戻る。
【００２４】
なお、マイコン２は、電源オン直後から入力回路４Ｂへの入力信号を基にして所定の処理を行い、出力回路５Ｂを通じて各装置へと制御信号を出力している。この処理内容の例としては、吸入空気量の算出、目標スロットル開度の算出、目標ＶＶＴ変位の算出等が挙げられる。
【００２５】
図４は、ＦＰＧＡ１、マイコン２、ベース処理ＩＣ３でそれぞれ実行される処理内容を例示したものである。ＦＰＧＡ１においては、増量補正や点火位置補正、アイドル時補正といったインジェクタやイグナイタの制御が行われる。これらは、高速処理が必要で、非同期型の処理が多い。ベース処理ＩＣ３では、これらの高速処理が必要な制御のうちで、最低限必要な基本処理がＦＰＧＡ１と共通して行われる。これに対してマイコン２においては、吸入空気量の算出、目標スロットル開度の算出、空燃比のフィードバック制御、目標ＶＶＴ変位の算出や他のＥＣＵとの通信といった同期型の処理が行われる。このように、それぞれの処理に応じて適切な制御回路を使い分けることで、高速処理や同期処理を適切に実行することができる。
【００２６】
また、コンフィグレーション完了判定後も、ＦＰＧＡ１とベース処理ＩＣ３の処理結果を比較することで、ノイズ等何らかの原因でＦＰＧＡ１内のコンフィグレーション情報への異常発生を検知するようにしたが、処理簡略化のためにこの機能を搭載しないようにすることもできる。
【００２７】
また、ベース処理ＩＣ３とＦＰＧＡ１で実行する処理のパラメータをＤＰＲＯＭ７に記録しておく構成とすることで、パラメータの書き換えが容易になり、処理内容の更新や車種に合わせた変更を加えることが容易になる。
【００２８】
コンフィグレーションＲＯＭ１０には、数種類のコンフィグレーション情報を記憶するようにしてもよい。ＦＰＧＡ１へ読み出すコンフィグレーション情報を選択可能とすることで、エンジン構成やその他の構成の異なる車両に対しても共通の制御装置１００を用いつつ、コンフィグレーション情報は各車両に適合した情報をそれぞれ記憶しておくことで、それぞれの車種に専用の回路を用いた制御装置を搭載するのと同じ効果が得られる。つまり、ハードウェアとしての構成を共通化しつつ、専用のハードウェアを用いたのと同じ結果が得られる。
【図面の簡単な説明】
【００２９】
【図１】本発明に係る制御装置のブロック構成図である。
【図２】図１の制御装置のコンペアＩＣ８のブロック構成図である。
【図３】図１の制御装置の動作を示すフローチャートである。
【図４】図1の制御装置の各回路で実行される処理内容を例示したものである。
【符号の説明】
【００３０】
１…ＦＰＧＡ、２…マイコン、３…ベース処理ＩＣ、４Ａ、４Ｂ…入力回路、５Ａ、５Ｂ…出力回路、６…電源ＩＣ、７…ＤＰＲＯＭ、８…コンペアＩＣ、１０…コンフィグレーションＲＯＭ、２０…バッテリ、８０…比較器、８１…スイッチ、１００…制御装置。
【図１】
2006279322.tif 000003
【図２】
2006279322.tif 000004
【図３】
2006279322.tif 000005
【図４】
2006279322.tif 000006