(57)【要約】【課題】複数のアクチュエータを備える制御対象を制御する制御装置において、個々のアクチュエータに対する要求と、アクチュエータの全てに対する包括的な要求とを共に充足させることを目的する。【解決手段】図２に示すように、共通要素がコア１に、要素＃１〜要素＃ｎがコア２〜コアｎ＋１に、全体補正要素がコアｎ＋２に、夫々割り付けられている。要素＃１〜要素＃ｎは、夫々が独立する特異な要素である。共通要素および全体補正要素は、要素＃１〜要素＃ｎに従属する要素である。このように、複数の要素を演算の性質に応じて分離し、異なるコアに割り付けることで、個々のアクチュエータに対する要求だけでなく、当該アクチュエータの全てに対する包括的な要求をも充足させることもできる。【選択図】図２
2015109071.tif 000002
【特許請求の範囲】
【請求項１】
複数のアクチュエータを備える制御対象を制御する制御装置であって、
前記制御装置は、前記アクチュエータの動作の制御に必要な複数の演算タスクを処理するマルチコアタイプのプロセッサを備え、
前記演算タスクは、前記アクチュエータの夫々に特有な個別タスクと、前記アクチュエータの全てに共通する全体タスクとを含み、
前記プロセッサは、前記個別タスクと前記全体タスクを異なるコアによって処理するように構成され、
前記個別タスクは、前記アクチュエータの夫々に対する要求指令に従って演算結果を出力するように構築され、
前記全体タスクは、前記アクチュエータに対する包括的な要求指令に従って前記演算結果を補正するように構築された演算結果補正タスクを含むことを特徴とする制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は制御装置に関し、より詳細には、複数のアクチュエータを備える制御対象を制御する装置に関する。
【背景技術】
【０００２】
従来、例えば特許文献１には、６気筒エンジンのシリンダの夫々に対応して設けた６つの電子制御装置が開示されている。この制御装置によれば、燃料噴射弁、排気弁、始動弁、シリンダ注油装置といったシリンダ毎に設けられるアクチュエータの動作を当該シリンダ単位で制御することができる。即ち、アクチュエータの夫々に対する要求を常に充足させることができる。また、ある気筒のアクチュエータに割り当てた制御装置が故障した場合であっても、他の正常な制御装置によってエンジンの運転を継続させることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平４−３１８２５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、シリンダ毎にアクチュエータが存在する場合は、個々のアクチュエータに対する要求だけでなく、当該アクチュエータの全てに対する包括的な要求をも充足させることが望ましい。包括的な要求を充足させることで、アクチュエータ全体のバランスを調整することができるからである。この観点から見た場合、上述の制御装置は不十分である。というのも、上述の制御装置は当該制御装置間で情報のやり取りを行う構成ではないためである。また、一部の制御装置が故障した場合、これに伴い生じた不具合を他の正常な制御装置で補填することもできない。
【０００５】
本発明は、上述のような課題に鑑みなされたものである。すなわち、複数のアクチュエータを備える制御対象を制御する制御装置において、個々のアクチュエータに対する要求と、アクチュエータの全てに対する包括的な要求とを共に充足させることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上記の目的を達成するため、複数のアクチュエータを備える制御対象を制御する制御装置であって、
前記制御装置は、前記アクチュエータの動作の制御に必要な複数の演算タスクを処理するマルチコアタイプのプロセッサを備え、
前記演算タスクは、前記アクチュエータの夫々に特有な個別タスクと、前記アクチュエータの全てに共通する全体タスクとを含み、
前記プロセッサは、前記個別タスクと前記全体タスクを異なるコアによって処理するように構成され、
前記個別タスクは、前記アクチュエータの夫々に対する要求指令に従って演算結果を出力するように構築され、
前記全体タスクは、前記アクチュエータに対する包括的な要求指令に従って前記演算結果を補正するように構築された演算結果補正タスクを含むことを特徴とする。
【発明の効果】
【０００７】
本発明によれば、複数のアクチュエータの夫々に特有な個別タスクと、当該アクチュエータの全てに共通する全体タスクを異なるコアによって処理することができる。そのため、個々のアクチュエータに対する要求だけでなく、当該アクチュエータの全てに対する包括的な要求をも充足させることができる。また、個別タスクを処理するコアの一部が故障した場合であっても、全体タスクを処理するコアによってアクチュエータ全体のバランスを調整することができる。
【図面の簡単な説明】
【０００８】
【図１】実施の形態の制御装置の構成の概略を示す図である。
【図２】演算要素のコア１０２への割り付けを説明するための図である。
【図３】各コアによる演算の時間的な関係を示したものである。
【図４】各コアによる演算の時間的な関係を示したものである。
【図５】各コアによる演算の時間的な関係を示したものである。
【図６】各コアによる演算の時間的な関係を示したものである。
【図７】各コアによる演算の時間的な関係を示したものである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態の制御装置について図を用いながら説明する。
【００１０】
本実施の形態の制御装置は、複数のアクチュエータを備える制御対象の制御にかかる当該アクチュエータの制御目標値を、マルチコアタイプのプロセッサを用いて並列演算する機能を備えている。図１は、本実施の形態の制御装置の構成の概略を示す図である。制御装置１００には、制御対象の状態に関する情報や、制御対象の周囲の環境に関する情報といった各種の情報が入力される。制御装置１００からは、それらの情報に基づいて演算された制御目標値が出力される。
【００１１】
図１に示すように、制御装置１００は複数のコア１０２を備えている。各コア１０２は、ＣＰＵ１０４とキャッシュ１０６とを備えている。ローカルメモリ１０８には、ＣＰＵ１０４で実行される各種のプログラムとそのプログラムの実行時に使用される各種のデータが記憶されている。コア１０２同士はバス１１０で接続されている。バス１１０を経由してコア１０２間での通信が行われる。図示は省略するが、バス１１０にはコア間で共有されるキャッシュも接続されている。
【００１２】
制御目標値の演算は、複数の演算要素（演算タスク）を複数のコア１０２に割り付けることにより行われる。図２は、演算要素のコア１０２への割り付けを説明するための図である。図２に示すように、共通要素（共通情報作成タスク）がコア１に、要素＃１〜要素＃ｎ（個別タスク）がコア２〜コアｎ＋１に、全体補正要素（演算結果補正タスク）がコアｎ＋２に、夫々割り付けられている。ここで、要素＃１〜要素＃ｎは、夫々が独立する特異な要素である。一方、共通要素および全体補正要素は、要素＃１〜要素＃ｎに従属する要素である。共通要素と全体補正要素の違いは、独立要素（即ち、要素＃１〜要素＃ｎ）との関係性にある。即ち、共通要素は独立要素の演算に必要な要素であり、全体補正要素は独立要素の演算結果を踏まえた上で演算される要素である。
【００１３】
図３は、各コアによる演算の時間的な関係を示したものである。図３に示すように、コア１において共通要素が演算されると、その演算結果がコア２〜コアｎ＋１に出力される。コア２〜コアｎ＋１においては、コア１の演算結果を用いて要素＃１〜要素＃ｎ（例えば、目的Ａの最適化）が演算され、それらの演算結果がコアｎ＋２に出力される。コアｎ＋２においては、全体補正要素（例えば、目的Ｂの補正）が演算され、これによりコア２〜コアｎ＋１の演算結果が補正される。コアｎ＋２での要素＃１〜要素＃ｎの補正結果は、同コアでの全体補正要素の演算に反映される。また、要素＃１〜要素＃ｎの補正結果はコア１に出力され、同コアでの共通要素の演算に反映される。
【００１４】
図２，図３において説明したように、複数の要素を演算の性質（独立、従属）に応じて分離し、異なるコアに割り付けることで、個々のアクチュエータに対する要求だけでなく、当該アクチュエータの全てに対する包括的な要求をも充足させることもできる。
【００１５】
また、複数の演算要素を分離して異なるコア１〜コアｎ＋２に割り付けることで、１コア当たりの演算負荷を低減できる。加えて、上述したｎ＋２個のコアは同一プロセッサ内にあるので、複数のシングルコアプロセッサ間で情報をやり取りする場合に比べて通信時間を短縮できる。従って、制御目標値の演算に要する時間を制御装置全体で短縮できる。
【００１６】
また、独立要素を分離して異なるコア２〜コアｎ＋１に割り付けることで、コア２〜コアｎ＋１の一部が故障した場合であっても、コア１とコアｎ＋２による演算によって、アクチュエータ全体のバランスを調整することが可能となる。この効果について、図４を参照しながら説明する。図４は、コア３が故障した場合における、各コアによる演算の時間的な関係を示したものである。図４に示すように、コア３が故障した場合には、共通要素の演算結果がコア３に入力されず、または、コア３において要素＃２の演算が行われないので、要素＃２の演算結果がコア３からコアｎ＋２に出力されないことになる。
【００１７】
ここで、何れかのコアが故障した場合には、故障コアからエラー信号が発せられ、または、任意のビットが０または１を示すように設計されている。そのため、コア３からエラー信号等を受け取ったコアｎ＋２は、コア３が故障であると判断し、コア３の故障直前におけるコアｎ＋２での全体補正要素の演算結果（即ち、要素＃１、要素＃３〜要素＃ｎの補正結果）を用いて、要素＃２の演算結果の補正結果を補間する。このように、要素＃２の演算結果がコアｎ＋２に出力されない場合でも、コアｎ＋２において全体補正要素が演算される。また、補間された要素＃２の補正結果はコア１に出力されるので、この補正結果がコア１に入力されれば、それ以降はコア３の故障を加味した共通要素の演算が行われることになる。従って、アクチュエータ全体のバランスが調整される。
【００１８】
次に、図５乃至図７を参照しながら本実施の形態の制御装置の具体例を説明する。図５乃至図７は何れも各コアによる演算の時間的な関係を示したものである。但し、各図において、エンジンの気筒毎に設けられる複数のアクチュエータが、上記制御対象が備える複数のアクチュエータに対応するものとする。なお、気筒数はｎ以下であるものとする。
【００１９】
図５に示すように、コア１において共通要素（例えば、１番気筒〜ｎ番気筒に共通の基本点火時期）が演算されると、その演算結果がコア２〜コアｎ＋１に出力される。コア２〜コアｎ＋１においては、各気筒に特異な要素（例えば、各気筒からのエミッション（ＮＯｘ等）排出量を最小化するために必要な点火時期の遅角量）が演算され、それらの演算結果がコアｎ＋２に出力される。コアｎ＋２においては、全体補正要素（例えば、エンジンに要求されるトルクを確保するために必要な点火時期の進角量）が演算され、これによりコア２〜コアｎ＋１の演算結果が補正される。コアｎ＋２の補正結果は、共通要素の演算に反映される。
【００２０】
図６に示すように、コア１において共通要素（例えば、１番気筒〜ｎ番気筒に共通の目標空燃比）が演算されると、その演算結果がコア２〜コアｎ＋１に出力される。コア２〜コアｎ＋１においては、各気筒に特異な要素（例えば、各気筒での燃焼を最適化するために必要な燃料噴射量、燃料噴射形態）が演算され、それらの演算結果がコアｎ＋２に出力される。コアｎ＋２においては、全体補正要素（例えば、エンジンに要求されるトルクを確保するために必要な燃料噴射量）が演算され、これによりコア２〜コアｎ＋１の演算結果が補正される。コアｎ＋２の補正結果は、共通要素の演算に反映される。
【００２１】
図７に示すように、コア１において共通要素（例えば、吸入空気量）が演算されると、その演算結果がコア２〜コアｎ＋１に出力される。コア２〜コアｎ＋１においては、各気筒に特異な要素（例えば、各気筒での空燃比をストイキ近傍とするために必要な燃料噴射量）が演算され、それらの演算結果がコアｎ＋２に出力される。コアｎ＋２においては、全体補正要素（例えば、排気触媒の劣化を考慮した燃料噴射量の増減量）が演算され、これによりコア２〜コアｎ＋１の演算結果が補正される。コアｎ＋２の補正結果は、共通要素の演算に反映される。
【符号の説明】
【００２２】
１００  制御装置
１０２  コア
１０４  ＣＰＵ
１０６  キャッシュ
１０８  ローカルメモリ
１１０  バス
【図１】
2015109071.tif 000003
【図２】
2015109071.tif 000004
【図３】
2015109071.tif 000005
【図４】
2015109071.tif 000006
【図５】
2015109071.tif 000007
【図６】
2015109071.tif 000008
【図７】
2015109071.tif 000009