(57)【要約】  本発明は、従来のマルチコアとロックステップコアで高性能と高信頼を実現しようとする場合、エラーが起きたマルチコアのプログラムを実行するためのロックステップコアを冗長に用意する必要があり、回路面積が増大しコストと消費電力が増大するという問題を解決する。本発明は、エラーが発生したマルチコア上で動作していたソフトウェアプログラムを、ロックステップ動作からマルチコア動作に切り替えたコア上で縮退したソフトウェアとして動作させることで制御システムの安全な動作を担保する。
2018198184.tif 000002
【特許請求の範囲】
【請求項１】
マルチコアと、
ロックステップコアと、
前記ロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部と、を有し、
前記マルチコアでエラー発生時に前記システム制御部が前記ロックステップコアをマルチコア動作に動的に切り替え、
前記マルチコアで動作していたソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの再起動と診断を指示することを特徴とする再構成制御装置。 
【請求項２】
請求項１に記載の再構成制御装置において、
前記システム制御部は、
前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に選択信号を出力する再構成制御部と、
前記選択信号の値に応じて前記マルチコアからの制御出力と前記ロックステップコアからの制御出力を選択するマルチプレクサと、
を有することを特徴とする再構成制御装置。
【請求項３】
請求項２に記載の再構成制御装置において、
前記再構成制御部は、
前記ソフトウェアを配置する不揮発メモリを有し、
前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に前記不揮発メモリから縮退ソフトウェアのバイナリデータを読み出すことを特徴とする再構成制御装置。
【請求項４】
請求項１乃至３のいずれかに記載の再構成制御装置において、
前記システム制御部は、前記マルチコアでエラー発生時に前記マルチコアからの制御出力の代わりに前記第一のコアからの制御出力を選択して出力することを特徴とする再構成制御装置。
【請求項５】
マルチコアと、
第一のロックステップコアと、
第二のロックステップコアと、
前記第一のロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部を有し、
前記マルチコアでエラー発生時に前記システム制御部が前記第一のロックステップコアをマルチコア動作に動的に切り替え、
前記マルチコアで動作していたソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの再起動と診断を指示することを特徴とする再構成制御装置。 
【請求項６】
請求項５に記載の再構成制御装置において、
前記システム制御部は、
前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に選択信号を出力する再構成制御部と、
前記選択信号の値に応じて前記マルチコアからの制御出力と前記ロックステップコアからの制御出力を選択するマルチプレクサと、
を有することを特徴とする再構成制御装置。
【請求項７】
請求項６に記載の再構成制御装置において、
前記再構成制御部は、前記ソフトウェアを配置する不揮発メモリと、前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に前記不揮発メモリから縮退ソフトウェアのバイナリデータを読み出すことを特徴とする再構成制御装置。
【請求項８】
請求項５乃至７のいずれかに記載の再構成制御装置において、
前記システム制御部は、前記マルチコアでエラー発生時に前記マルチコアからの制御出力の代わりに前記第一のコアからの制御出力を選択して出力することを特徴とする再構成制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、再構成制御装置に関する。
【背景技術】
【０００２】
半導体プロセスの微細化に伴って、一つのデバイス内に複数のＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央演算処理装置）コアを集積することが可能となっている。【０００３】
産業用途や組込み用途では、複数のＣＰＵコアをマルチプロセッシングさせることにより消費電力を抑えながら高い処理性能を得るマルチコア構成、また複数のＣＰＵコア上で同一のソフトウェアプログラム（ソフト）を動作させて結果を照合することで高い信頼性を得るロックステップ（Ｌｏｃｋ−Ｓｔｅｐ、ＬＳ）コア構成を採る場合がある。
産業用途や組込み用途では実装のための面積、消費電力、コストなどの制約が大きく、その制約の下で高性能や高信頼を実現するためにはマルチコアやロックステップコアを採用することが考えられ、例えば特許文献１には、複数のコアと少ない数のロックステップコアを有し、エラーを許容できないレベルのプログラムをロックステップコアに同期して実行させる情報処理装置の例が記載されている。また特許文献２の例では、電子制御ユニット（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ、ＥＣＵ）を分散させた再構成可能信号処理システムの例が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−１５７２４７号公報
【特許文献２】特許第４４２２５９６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、従来のマルチコアとロックステップコアで実行させる技術について検討した結果、以下のようなことが明らかとなった。【０００６】
特許文献１の例では、エラーが起きたマルチコアのプログラムを実行するためのロックステップコアを冗長に用意する必要があり、またマルチコアが３２ビットや６４ビットなど高性能なＣＰＵで実装される場合はロックステップコアも同様に高性能とする必要があるため、回路面積が増大しコストと消費電力が増大するという問題があった。【０００７】
また特許文献２の例では、再構成するための冗長なＥＣＵが必要で、再構成のためのコンフィギュレーションデータを２つずつ保持するため高コストになり、再構成の制御も複雑になるため、リアルタイム性能が要求される組込み用途への適用が困難という問題があった。【０００８】
そこで本発明では、産業用途や組込み用途にマルチコアやロックステップコアを適用する場合でも、高性能と高信頼を低コストに実現可能な仕組みを提供する。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、例えば特許請求の範囲に記載の構成を採用する。本願は上記課題を解決する手段を複数含んでいるが、その一例を挙げるならば、マルチコアと、ロックステップコアと、前記ロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部を有し、前記マルチコアでエラー発生時に前記システム制御部が前記ロックステップコアをマルチコア動作に動的に切り替え、前記マルチコアで動作していたソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの再起動と診断を指示することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、産業用途や組込み用途にマルチコアやロックステップコアを適用する場合でも、高性能と高信頼を低コストに実現することが可能になる。【００１１】
上記した以外の課題、構成および効果は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１における、本発明の再構成制御装置においてマルチコア動作とロックステップ動作をする構成の一例である。
【図２】実施例１の再構成制御装置におけるシステム制御部の構成方法の一例である。
【図３】実施例１の再構成制御装置における再構成制御部の構成方法の一例である。
【図４】実施例１の再構成制御装置においてロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例である。
【図５】図４の構成においてソフトが動作しているタイミングチャートを示す一例である。
【図６】実施例２における、本発明の再構成制御装置においてマルチコア動作とロックステップ動作をする構成の一例である。
【図７】実施例２の再構成制御装置におけるシステム制御部の構成方法の一例である。
【図８】実施例２の再構成制御装置における再構成制御部の構成方法の一例である。
【図９】実施例２の再構成制御装置においてロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例である。
【図１０】図９の構成においてソフトが動作しているタイミングチャートを示す一例である。
【図１１】実施例３における、本発明の再構成制御装置においてマルチコア動作とロックステップ動作をする構成の一例である。
【図１２】実施例３の再構成制御装置においてロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例である。
【図１３】本発明の再構成制御装置を車載システムに適用した場合の一例を示す図である。
【図１４】本発明の再構成制御装置を産業制御システムに適用した場合の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施例を、図面を用いて説明する。
【実施例１】
【００１４】
図１から図５を用いて、本発明の実施形態の一例を示す。【００１５】
図１は、本発明の再構成制御装置の一例を示したものである。【００１６】
図１に示した再構成制御装置は、コア１０、１１、１２、１３の４つのコアがマルチコア構成を採っている。
コア１０はメモリ５０と接続しメモリ５０にコア１０のソフトを配置して処理を行う。同様にコア１１はメモリ５１と、コア１２はメモリ５２と、コア１３はメモリ５３とそれぞれ接続しそれぞれのソフトをメモリに配置して処理を行う。
図１の例では、ソフトＡ（３０）はメモリ５０、５１に配置されてコア１０、１１でマルチコア動作する。一方、ソフトＢ（３１）はメモリ５２にのみ配置されてコア１２で動作し、同様にソフトＣ（３２）もメモリ５３のみに配置されてコア１３で動作する。
これらのコア１０、１１、１２、１３、メモリ５０、５１、５２、５３、ソフトＡ（３０）、ソフトＢ（３１）、ソフトＣ（３２）を纏めてここではマルチコアシステム２とする。
コア２０、２１は、ロックステップ（ＬＳ）を構成している。すなわち、コア２０、２１はメモリ６０を共有し、コア２０でソフトＰ（３３）を動作させ、コア２１でソフトＰ（３３）と同一のソフトＰ（３４）を動作させ、動作中に照合することでエラーが起こったことを検出する。
これらのコア２０、２１、メモリ６０、ソフトＰ（３３）、ソフトＰ（３４）を纏めてここではロックステップコアシステム３とする。【００１７】
なお、コアのエラー検出手段としては、パリティ、ＥＣＣ（Ｅｒｒｏｒ  Ｃｏｒｒｅｃｔｉｏｎ  Ｃｏｄｅ）、ウォッチドッグタイマなどの技術が知られている。また、ロックステップ動作中の照合手法としては特許第３１７５８９６号公報（特許文献３）に記載の技術などが知られている。【００１８】
更に、図１に示したシステム制御部６は、コア１０から制御出力１００、コア１１から制御出力１０１、コア１２から制御出力１０２、コア１３から制御出力１０３、コア２０から制御出力１１１、コア２１から制御出力１１０をそれぞれ入力とし、コア１０に対しリセット信号７０、コア１１に対しリセット信号７１、コア１２に対しリセット信号７２、コア１３に対しリセット信号７３、コア２０に対し切り替え制御信号８１、コア２１に対し切り替え制御信号８０をそれぞれ出力し、更に制御出力１０４、１０５、１０６、１０７、１１３を制御ユニット１外部へ出力する。【００１９】
図２は、図１に示したシステム制御部６の詳細な構成方法の一例を示したものである。【００２０】
システム制御部６の内部にある再構成制御部８には、制御信号１００、１０１、１０２、１０３、１１０を入力とし、リセット信号７０、７１、７２、７３、および切り替え制御信号８１、８０を出力し、更に選択信号１２０を出力する構成となっている。【００２１】
マルチプレクサ９０は、制御出力１００、１０１、１０２、１０３、１１１、１１０のうちいずれかの制御出力を選択信号１２０の値によって選択して制御出力１０４として出力する。マルチプレクサ９１、９２、９３、９４も同様である。【００２２】
図３は、図２に示した再構成制御部８の詳細な構成方法の一例を示したものである。【００２３】
図３に示す不揮発メモリ２００には、マルチコアシステムとロックステップコアシステムで動作させるソフトが配置されている。【００２４】
制御出力選択部２０１は、制御出力１００、１０１、１０２、１０３および制御出力１１０を入力とし、不揮発メモリ２００に対しメモリアクセス信号２１１を出力する。このメモリアクセス信号２１１は、不揮発メモリ２００からソフトのバイナリデータ２１０を読み出すための信号である。例えば、図１においてコア１３でエラーが発生したときは制御出力１０３によってコア１３でのエラー情報が制御出力選択部２０１に入力され、制御出力選択部２０１はソフトＣ（３２）に対応した縮退ソフトのバイナリデータ２１０を不揮発メモリ２００から読み出すようにメモリアクセス信号２１１を出力する。【００２５】
不揮発メモリ２００から読み出されたバイナリデータ２１０は、信号結合回路２０２が制御出力選択部２０１から出力されるコアイネーブル信号２１２と結合し、切り替え制御信号８１、８０としてコア２０、２１に対し出力する。【００２６】
また制御出力選択部２０１は選択信号１２０を出力する。この選択信号１２０は、図２に示したマルチプレクサ９０、９１、９２、９３、９４がそれぞれ出力する制御出力１０４、１０５、１０６、１０７、１１３を選択する信号である。例えば、図１においてコア１３でエラーが発生したときは、図３で説明した選択信号１２０により、図２に示した制御出力１０７へ制御出力１１１を選択して出力する。それ以外のマルチプレクサ９０は制御出力１００を選択して制御出力１０４として出力し、マルチプレクサ９１は制御出力１０１を選択して制御出力１０５として出力し、マルチプレクサ９２は制御出力１０２を選択して制御出力１０６として出力し、マルチプレクサ９４は制御出力１１０を選択して制御出力１１３として出力する。【００２７】
図４は、実施例１における本発明の再構成制御装置において、ロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例であり、図１に示した再構成制御装置と比較して、ロックステップコアをロックステップ動作からマルチコア動作モードに切り替え、メモリ上に配置したソフトを入れ替えている部分が異なっている。【００２８】
図４の制御ユニット１では、マルチコアシステム２内のコア１３でエラーが発生しソフトＣ（３２）が動作不可になった例を示している。【００２９】
エラーが発生したコア１３からの制御出力１０３により、図３で説明した再構成制御部８によってシステム制御部６からの切り替え制御信号８１、８０によりコア２０、２１はロックステップ動作モードからマルチコア動作モードに切り替わり、ソフトＣ（３２）に対応した縮退ソフトＣ（３５）がメモリ６０に配置される。【００３０】
このとき、エラーが発生したコア１３からの制御出力１０３は制御ユニット１の外部に制御出力１０７として出力せず、縮退ソフトＣ（３５）が動作中のコア２０の制御出力１１１を制御出力１０７として出力するように、図２で説明した再構成制御部８から選択信号１２０を出力する。【００３１】
図５は、図４に示した再構成制御装置において、マルチコアシステムとロックステップコアシステムで動作するソフトのタイミングチャートを示した一例である。【００３２】
制御周期Ｓ１では、マルチコアシステム２のコア１０、１１でソフトＡ（３０）が動作し、ソフトＡ（３０）に続けてコア１２でソフトＢ（３１）が動作し、更に続けてコア１３でソフトＣ（３２）が動作する。【００３３】
また同じ制御周期Ｓ１において、ロックステップコアシステム３のコア２０でソフトＰ（３３）が動作し、コア２１でソフトＰ（３４）が動作し、ソフトＰ（３３）とソフトＰ（３４）は動作中に照合処理を行う。【００３４】
図５の制御周期Ｓ２は制御周期Ｓ１と同様の動作である。【００３５】
図５の制御周期Ｓ３において、コア１３でエラーが発生しソフトＣ（３２）が動作不可になった場合、図４で説明した縮退動作によってコア２０で縮退ソフトＣ（３５）を動作させ、コア１３はシステム制御部６からのリセット信号７３により復帰処理を行う。【００３６】
このようにコア１３でエラーが発生しても、制御周期Ｓ３において、ソフトＡ（３０）、ソフトＢ（３１）、縮退ソフトＣ（３５）、ソフトＰ（３４）が動作可能なので、システム全体としては停止せずに縮退しながら処理を継続することができる。【００３７】
図５では制御周期Ｓ４まで復帰処理を行って制御周期Ｓ５で復帰した例を示している。そのため制御周期Ｓ５では再びコア１３でソフトＣ（３２）が動作し、ロックステップコアシステム３のコア２０で動作するソフトＰ（３３）とコア２１で動作するソフトＰ（３４）が照合処理を行う。
このような構成を採ることで、マルチコアでエラーが発生した場合でも、既に実装されているロックステップコアをマルチコア動作に切り替えて縮退したソフトウェアを動作させることができるため、追加のハードウェアコストを必要とせずに制御システムの動作を継続することが可能になる。【００３８】
また、実施例１ではマルチコアシステムのコア数を４として説明したが、４に限らず様々なコア数で実装しても良い。
【実施例２】
【００３９】
次に、図６から図１０を用いて、本発明の別の実施形態の一例を示す。【００４０】
図６は、本発明の再構成制御装置における実施例１の図１と比較して、ロックステップコアシステムを１つ追加しデュアルロックステップコアシステム構成にした点が異なっている。
図６では、コア２０、２１、メモリ６０、ソフトＰ（３３）、ソフトＰ（３４）を纏めたロックステップコアシステム３に加えて、コア２２、２３、メモリ６１、ソフトＰ（３６）、ソフトＰ（３７）を纏めたロックステップコアシステム４がある。
ロックステップコアシステム４もロックステップコアシステム３と同様に、コア２２、２３はメモリ６１を共有し、コア２２でソフトＰ（３６）を動作させ、コア２３でソフトＰ（３６）と同一のソフトＰ（３７）を動作させ、動作中に照合することでエラーが起こったことを検出する。
更に、図６に示したシステム制御部７は、図１で説明したシステム制御部６と比較して、コア２２から制御出力１１５、コア２３から制御出力１１２をそれぞれ入力とし、コア２２に対し切り替え制御信号８３、コア２３に対し切り替え制御信号８２をそれぞれ出力し、更に制御出力１１４を制御ユニット５外部へ出力する部分を追加している。【００４１】
図７は、図６に示したシステム制御部７の詳細な構成方法の一例を示したものであり、図２で説明したシステム制御部６と比較して、デュアルロックステップコアシステム構成に対応したマルチプレクサと制御信号を追加した部分が異なっている。【００４２】
マルチプレクサ９０は、制御出力１００、１０１、１０２、１０３、１１１、１１０、１１５、１１２のうちいずれかの制御出力を選択信号１２０の値によって選択して制御出力１０４として出力する。マルチプレクサ９１、９２、９３、９４、及び新規に追加したマルチプレクサ９５も同様である。【００４３】
図８は、図７に示した再構成制御部９の詳細な構成方法の一例を示したものであり、図３で説明した再構成制御部８と比較して、デュアルロックステップコアシステム構成に対応した制御出力と切り替え制御信号を追加した部分が異なっている。【００４４】
図８の制御出力選択部２０３は、制御出力１００、１０１、１０２、１０３および制御出力１１０、１１２を入力とし、不揮発メモリ２００に対しメモリアクセス信号２１１を出力するもので、図３で説明した制御出力選択部２０１と同様の動作をする。【００４５】
不揮発メモリ２００から読み出されたバイナリデータ２１０は、信号結合回路２０２によって制御出力選択部２０３が出力するコアイネーブル信号２１２と結合され、切り替え制御信号８１、８０をコア２０、２１に対して出力し、切り替え信号８３、８２をコア２２、２３に対し出力する。【００４６】
図９は、実施例２における本発明の再構成制御装置において、ロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例であり、図６に示した再構成制御装置と比較して、ロックステップコアをロックステップ動作からマルチコア動作モードに切り替え、メモリ上に配置したソフトを入れ替えている部分が異なっている。【００４７】
図９の制御ユニット５ではマルチコアシステム２内のコア１３でエラーが発生しソフトＣ（３２）が動作不可になった例を示している。【００４８】
エラーが発生したコア１３からの制御出力１０３により、図３で説明した再構成制御部８によってシステム制御部７からの切り替え制御信号８１、８０によりコア２０、２１はロックステップ動作モードからマルチコア動作モードに切り替わり、ソフトＣ（３２）に対応した縮退ソフトＣ（３５）がメモリ６０に配置される。【００４９】
このとき、エラーが発生したコア１３からの制御出力１０３は制御ユニット５の外部に制御出力１０７として出力せず、縮退ソフトＣ（３５）が動作中のコア２０の制御出力１１１を制御出力１０７として出力するよう、図７で説明した再構成制御部９から選択信号１２０を出力する。【００５０】
図１０は、図９に示した再構成制御装置において、マルチコアシステムとロックステップコアシステムで動作するソフトのタイミングチャートを示した一例であり、図５で説明したタイミングチャートと比較して、ロックステップコアシステム４を追加した部分が異なっている。【００５１】
図１０の制御周期Ｓ３において、コア１３でエラーが発生しソフトＣ（３２）が動作不可になった場合、図９で説明した縮退動作によってコア２０で縮退ソフトＣ（３５）を動作させ、コア１３はシステム制御部７からのリセット信号７３により復帰処理が行われる。【００５２】
このようにコア１３でエラーが発生しても、制御周期Ｓ３において、ソフトＡ（３０）、ソフトＢ（３１）、縮退ソフトＣ（３５）、ソフトＰ（３４）が動作可能なので、システム全体としては停止せずに縮退しながら処理を継続することができる。【００５３】
更にこの図１０では、ロックステップコアシステム４のコア２２でソフトＰ（３６）が動作し、コア２３でソフトＰ（３７）が動作し、ソフトＰ（３６）とソフトＰ（３７）は動作中に照合処理を行う。【００５４】
このように、本発明の再構成制御装置をデュアルロックステップコアシステム構成とすることで、一方のロックステップコアシステムでエラーが発生してマルチコア動作に切り替わったとしても、もう一方のロックステップコアシステムがロックステップ動作を継続できるため、例えば機能安全規格への対応が要求されるような高い信頼性が必要となるシステムへ適用することが可能となる。【００５５】
また、実施例２ではマルチコアシステムのコア数を４として説明したが、４に限らず様々なコア数で実装しても良い。
【実施例３】
【００５６】
次に、図１１から図１２を用いて、本発明の別の実施形態の一例を示す。【００５７】
図１１は、本発明の再構成制御装置における実施例１の図１と比較して、マルチコアシステムとロックステップコアシステムを分離してバスで接続した構成にした点が異なっている。【００５８】
図１１のシステム制御部１６はマルチコアシステム２に対応し、システム制御部１７はロックステップコアシステム３に対応し、これらの間を制御バス３０１とメモリバス３０２で接続し、メモリバス３００には不揮発メモリ３００を接続している。
システム制御部１６、１７の内部構成は図２で説明したシステム制御部６の内部構成と同様にマルチプレクサと再構成制御部で構成される。
図１２は、実施例３における本発明の再構成制御装置において、ロックステップ動作をマルチコア動作に切り替えた場合の構成を示す一例であり、図１１に示した再構成制御装置と比較して、ロックステップコアをロックステップ動作からマルチコア動作モードに切り替え、メモリ上に配置したソフトを入れ替えている部分が異なっている。【００５９】
図１２の制御ユニット１４、１５では、マルチコアシステム２内のコア１３でエラーが発生しソフトＣ（３２）が動作不可になった例を示している。【００６０】
エラーが発生したコア１３からの制御出力１０３により、再構成制御部１６によってシステム制御部１７からの切り替え制御信号８１、８０によりコア２０、２１はロックステップ動作モードからマルチコア動作モードに切り替わり、ソフトＣ（３２）に対応した縮退ソフトＣ（３５）が不揮発メモリ３００からメモリバス３０２を介してメモリ６０に配置される。【００６１】
このとき、エラーが発生したコア１３からの制御出力１０３は制御ユニット１４の外部に制御出力１０７として出力されず、縮退ソフトＣ（３５）が動作中のコア２０の制御出力１１１が制御出力１０７として出力されるように、再構成制御部１６、１７が選択信号を出力する。
このような構成にすることで、複数の制御ユニットで構成しなければならない制御システムであった場合でも、マルチコア構成のみの制御ユニットとロックステップコア構成のみの制御ユニットとの間でロックステップコアをマルチコア動作に切り替えて縮退したソフトウェアを動作させることができるため、冗長な追加のハードウェアコストを必要とせずに制御システムの動作を継続することが可能になる。【００６２】
また、実施例３の例ではマルチコアシステムのコア数を４として説明したが、４に限らず様々なコア数で実装しても良い。
【実施例４】
【００６３】
次に、図１３を用いて、本発明の別の実施形態の一例を示す。図１３は、本発明の再構成制御装置を車載システムに適用した場合の一例を示したものである。
【００６４】
自動車５００の内部は複数の電子制御ユニット（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ、ＥＣＵ）を接続した形で構成している。
この自動車５００では、カメラ５０１がカメラＥＣＵ（５１１）と接続し、ステア５０２がステアＥＣＵ（５１２）と接続し、モーター５０３がモーターＥＣＵ（５１３）と接続しており、さらにカメラＥＣＵ（５１１）、ステアＥＣＵ（５１２）、モーターＥＣＵ（５１３）の各ＥＣＵはそれぞれ統合ＥＣＵ（５１４）と接続し、協調動作することで自動車としての制御を行う。【００６５】
この構成において、例えばステアＥＣＵ（５１２）でエラーが発生した場合、本発明の再構成制御装置ではステアＥＣＵ（５１２）で動作するソフト４０を統合ＥＣＵ（５１４）で縮退ソフト４１として動作させることで、ステアＥＣＵ（５１２）が担っていた最低限の動作を継続し、周囲の状況に応じて前輪５０４と後輪５０５の回転を継続もしくは停止させることで自動車５００全体としては安全動作を担保する。【００６６】
このように、本発明の再構成制御装置を適用することで、自動車を構成するＥＣＵの一部にエラーが発生した場合でも、自動車全体として縮退動作をしながら安全性を保つことが可能になる。
【実施例５】
【００６７】
次に、図１４を用いて、本発明の別の実施形態の一例を示す。図１４は、本発明の再構成制御装置を産業制御システムに適用した場合の一例を示したものである。【００６８】
この産業制御システムは、システムを統括制御するコンピュータ６００、コンピュータ６００によって制御する制御コントローラ６０１、制御機器６０４を制御するプログラマブルロジックコントローラ６０２、制御機器６０５を制御するプログラマブルロジックコントローラ６０３で構成し、制御コントローラ６０１、プログラマブルロジックコントローラ６０２、６０３はそれぞれ制御ネットワーク６０６を介して接続している。【００６９】
この構成において、例えばプログラマブルロジックコントローラ６０２でエラーが発生した場合、本発明の再構成制御装置ではプログラマブルロジックコントローラ６０２で動作するソフト４２を制御ネットワーク６０６を介して制御コントローラ６０１で縮退ソフト４３として動作させることで、プログラマブルロジックコントローラ６０２が担っていた最低限の動作を継続し、制御機器６０４の動作を継続もしくは安全に停止させることで、産業制御システム全体としては安全動作を担保する。【００７０】
以上のように、各実施例の再構成制御装置は、マルチコアと、ロックステップコアと、前記ロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部と、を有し、前記マルチコアでエラー発生時に前記システム制御部が前記ロックステップコアをマルチコア動作に動的に切り替え、前記マルチコアで動作していたソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの再起動と診断を指示する。【００７１】
また、前記システム制御部は、前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に選択信号を出力する再構成制御部と、前記選択信号の値に応じて前記マルチコアからの制御出力と前記ロックステップコアからの制御出力を選択するマルチプレクサと、を有する。【００７２】
また、前記再構成制御部は、前記ソフトウェアを配置する不揮発メモリを有し、前記マルチコアからの制御出力と前記ロックステップコアからの制御出力の値を元に前記不揮発メモリから縮退ソフトウェアのバイナリデータを読み出す。【００７３】
また、前記システム制御部は、前記マルチコアでエラー発生時に前記マルチコアからの制御出力の代わりに前記第一のコアからの制御出力を選択して出力する。【００７４】
また、マルチコアと、第一のロックステップコアと、第二のロックステップコアと、前記第一のロックステップコアを第一のコアと第二のコアに動的に切り替えるシステム制御部を有し、前記マルチコアでエラー発生時に前記システム制御部が前記第一のロックステップコアをマルチコア動作に動的に切り替え、前記マルチコアで動作していたソフトウェアが前記第一のコアで動作中に前記システム制御部が前記マルチコアの再起動と診断を指示する。【００７５】
このように、各実施例の再構成制御装置を適用することで、産業制御システムを構成する一部のコントローラにエラーが発生した場合でも、システム全体として縮退動作をしながら安全性を保つことが可能になる。【００７６】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００７７】
１、５、１４、１５  …  制御ユニット
２  …  マルチコアシステム
３、４  …  ロックステップコアシステム
６、７、１６、１７  …  システム制御部
８、９  …  再構成制御部
１０、１１、１２、１３、２０、２１、２２、２３  …  コア
５０、５１、５２、５３、６０、６１  …  メモリ
９０、９１、９２、９３、９４、９５  …  マルチプレクサ
２００、３００  …  不揮発メモリ
２００  …  信号結合回路
２０１、２０３  …  制御出力選択部
５００  …  自動車
５０１  …  カメラ
５０２  …  ステア
５０３  …  モーター
５０４  …  前輪
５０５  …  後輪
５１１  …  カメラＥＣＵ
５１２  …  ステアＥＣＵ
５１３  …  モーターＥＣＵ
５１４  …  統合ＥＣＵ
６００  …  コンピュータ
６０１  …  制御コントローラ
６０２、６０３  …  プログラマブルロジックコントローラ
６０４、６０５  …  制御機器
【図１】
2018198184.tif 000003
【図２】
2018198184.tif 000004
【図３】
2018198184.tif 000005
【図４】
2018198184.tif 000006
【図５】
2018198184.tif 000007
【図６】
2018198184.tif 000008
【図７】
2018198184.tif 000009
【図８】
2018198184.tif 000010
【図９】
2018198184.tif 000011
【図１０】
2018198184.tif 000012
【図１１】
2018198184.tif 000013
【図１２】
2018198184.tif 000014
【図１３】
2018198184.tif 000015
【図１４】
2018198184.tif 000016
【国際調査報告】
2018198184.tif 000017
2018198184.tif 000018