(57)【要約】  本発明の課題は、１つの演算部が故障と診断された場合には、他の演算部による制御を継続することができず、車両に搭載されたモータの制御が安全に継続できなかったことである。本発明に係るモータ制御装置は、ステップＳ３２では、ステップＳ３１と同様に、第１マイコン１００の故障及び、第１マイコンの第１ＣＰＵ１２０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する。正常の場合は、ステップＳ３４に進み、第１ＣＰＵ１２０は正常、第２ＣＰＵ１１０は故障と判定する。この判定は、ステップＳ２の判定と矛盾があるため、ステップＳ３２に従い、第２ＣＰＵ１１０が故障であると判定し、更に第１ＣＰＵ１２０が正常であると判定する。したがって、この場合は第１ＣＰＵ１２０の処理を継続することが可能である。
2015194282.tif 000002
【特許請求の範囲】
【請求項１】
第１マイコン及び第２マイコンより故障に関する情報を受け取り、モータを制御する統合制御部を備え、
前記第１マイコンは、第１ＣＰＵと、第１自己診断機能部を有する第２ＣＰＵと、前記第２ＣＰＵから前記第１ＣＰＵへ通信をして前記第１ＣＰＵの故障を検出する第１内部通信機能部と有し、
前記第２マイコンは、第３ＣＰＵと、前記第３ＣＰＵから前記第１マイコンへ通信して前記第１マイコンの故障を検出する第２外部通信機能部とを有し、
前記統合制御部は、
前記第１マイコンにおいて、前記第２ＣＰＵが前記第１自己診断機能部により故障と判定された場合でも、前記第１内部通信機能部と前記第２外部通信機能部の故障検出結果に基づき、前記第１ＣＰＵの故障を監視し、当該監視結果に基づき前記第１ＣＰＵの処理を継続するモータ制御装置。
【請求項２】
請求項１に記載のモータ制御装置において、
前記第１マイコンは、前記第２ＣＰＵと、前記第１ＣＰＵとを有するマルチコアマイコンであり、
前記第２ＣＰＵは、演算処理を実行する第１コアと演算処理を実行する第２コアを有し、
前記第１自己診断機能部は、前記第１コアの演算処理結果と前記第２コアの演算処理結果を比較して第２ＣＰＵの故障を検出し、
前記第１内部通信機能部は、前記第１コアと前記第１ＣＰＵと通信を行い、前記第１ＣＰＵの故障を検出するモータ制御装置。
【請求項３】
請求項１または２のいずれか一項に記載のモータ制御装置において、
前記第１ＣＰＵ及び前記第２ＣＰＵは、車両用のモータである第１モータの制御にかかわる処理を行い、
前記統合制御部は、
前記第１マイコンにおいて、前記第２ＣＰＵが前記第１自己診断機能部により故障と判定された場合でも、前記第１内部通信機能部と前記第２外部通信機能部の故障検出結果に基づき、前記第１ＣＰＵの故障を監視し、当該監視結果に基づき前記第１ＣＰＵの処理に基づき前記第１モータの制御を継続するモータ制御装置。
【請求項４】
請求項２に記載のモータ制御装置において、
前記第１ＣＰＵは、演算処理を実行する第３コアを有し、
前記第１内部通信機能部は、前記第１コアから前記第３コアへの通信を行い、前記第１ＣＰＵの故障を検出し、且つ、前記第３コアから前記第１コアへの通信を行い、前記第２ＣＰＵの故障を検出するモータ制御装置。
【請求項５】
請求項１〜４に記載のモータ制御装置において、
前記第２マイコンは、前記第３ＣＰＵと、第４ＣＰＵとを有するマルチコアマイコンであり、
前記第２マイコンは、第３ＣＰＵと、第２自己診断機能部を有する第４ＣＰＵと、前記第４ＣＰＵから前記第３ＣＰＵへ通信して前記第３ＣＰＵの故障を検出する第２内部通信機能部と有し、
前記第１マイコンは、前記第１ＣＰＵから前記第２マイコンへ通信して前記第２マイコンの前記第３ＣＰＵの故障を検出する第１外部通信機能部とを有し、
前記統合制御部は、
前記第２マイコンにおいて、前記第４ＣＰＵが前記第２自己診断機能部により故障と判定された場合でも、前記第２内部通信機能部と前記第１外部通信機能部の故障検出結果に基づき、前記第３ＣＰＵの故障を監視し、当該監視結果に基づき前記第３ＣＰＵの処理を継続するモータ制御装置。
【請求項６】
請求項１〜４に記載のモータ制御装置において、
前記第２マイコンは、前記第３ＣＰＵと、第４ＣＰＵとを有するマルチコアマイコンであり、
前記第２マイコンは、第３ＣＰＵと、第２自己診断機能部を有する第４ＣＰＵと、前記第３ＣＰＵと前記第４ＣＰＵとの間で通信をして故障を検出する第２内部通信機能部と有し、
前記第２外部通信機能部は、前記第１ＣＰＵと前記第４ＣＰＵとの間で通信をして前記第４ＣＰＵの故障を検出し、
前記第１マイコンは、前記第１ＣＰＵから前記第２マイコンへ通信して前記第２マイコンの前記第４ＣＰＵの故障を検出する第１外部通信機能部とを有し、
前記統合制御部は、
前記第２マイコンにおいて、前記第４ＣＰＵが前記第２自己診断機能部により故障と判定された場合でも、前記第２内部通信機能部と前記第１外部通信機能部の故障検出結果に基づき、前記第４ＣＰＵの故障を監視し、当該監視結果に基づき前記第４ＣＰＵの処理を継続するモータ制御装置。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両に搭載されるモータ制御装置に関する。
【背景技術】
【０００２】
特許文献１に記載される安全保護システムでは、機器を制御するマイコンの故障を２つの演算部を比較することにより検出可能であり、故障時は、エラーの通知もしくは、機能の停止を行う。【０００３】
しかし、車両に搭載されるモータ制御装置に適用する安全保護システムでは、高速走行中や機器に高い残留電荷があるときに、故障が発生した場合、エラー通知もしくは、機能の停止では不十分である。たとえば、電動車両の場合、高速走行中でのモータの急停止による事故発生時やインバータキャパシタに高い残留電荷がある時の故障発生時において、感電事故を防止する必要がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１４９０４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に示すような従来の制御装置では、１つの演算部が故障と診断された場合には、他の演算部による制御を継続することができず、車両に搭載されたモータ制御の継続性が担保されていない。
【課題を解決するための手段】
【０００６】
請求項１に記載のモータ制御装置は、第１マイコン及び第２マイコンより故障に関する情報を受け取り、モータを制御する統合制御部を備え、第１マイコンは、第１ＣＰＵと、第１自己診断機能部を有する第２ＣＰＵと、第２ＣＰＵから第１ＣＰＵへ通信をして第１ＣＰＵの故障を検出する第１内部通信機能部と有し、第２マイコンは、第３ＣＰＵと、第３ＣＰＵから第１マイコンへ通信して第１マイコンの故障を検出する第２外部通信機能部とを有し、統合制御部は、第１マイコンにおいて、第２ＣＰＵが第１自己診断機能部により故障と判定された場合でも、第１内部通信機能部と第２外部通信機能部の故障検出結果に基づき、第１ＣＰＵの故障を監視し、当該監視結果に基づき第１ＣＰＵの処理を継続する。
【発明の効果】
【０００７】
本発明は、第２ＣＰＵが故障と診断されても、第１ＣＰＵの制御を継続できることにより、車両に搭載されるモータの制御が安全に継続可能である。
【図面の簡単な説明】
【０００８】
【図１】第１の実施の形態におけるモータ制御装置の回路図である。
【図２】第１の実施の形態における動作を説明するフローチャートである。
【図３】第２の実施の形態におけるモータ制御装置の回路図である。
【図４】第２の実施の形態における動作を説明するフローチャートである。
【図５】第３の実施の形態におけるモータ制御装置の回路図である。
【図６】第３の実施の形態における動作を説明するフローチャートである。
【図７】第４の実施の形態におけるモータ制御装置の回路図である。
【図８】第４の実施の形態における動作を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
（第１の実施の形態）
図１は、第１の実施の形態に係わるモータ制御装置１の全体構成を示す回路図である。
モータ制御装置１は、第１マイコン１００と、第２マイコン２００と、統合制御部３００と、第１モータ４００と、第２モータ５００とを備えている。
【００１０】
第１マイコン１００は、第１ＣＰＵ１２０と、第２ＣＰＵ１１０と、第１内部通信機能部１３０と、第１故障判定通知部１４０と、第１ＰＷＭ信号生成部１５０とを備え、モータ制御用のＰＷＭ信号を生成したり、第１ＣＰＵ１２０や第２ＣＰＵ１１０の故障診断などを行う。第１マイコン１００は、第２ＣＰＵ１１０と、第１ＣＰＵ１２０とを有するマルチコアマイコンである。
【００１１】
第１内部通信機能部１３０は、第２ＣＰＵ１１０と第１ＣＰＵ１２０との間に設けられ、共有メモリ等を介した通信を行うことで、第１ＣＰＵ１２０の故障を検知する。
【００１２】
第１故障判定通知部１４０は、第１内部通信機能部１３０などから故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。
【００１３】
第１ＰＷＭ信号生成部１５０は、モータ制御用のＰＷＭ信号を生成して、ＰＷＭ信号を統合制御部３００へ出力する。第１ＰＷＭ信号生成部１５０は、第２ＣＰＵ１１０により動作される。
【００１４】
第２ＣＰＵ１１０は、第１コア１１１と、第１自己診断機能部１１５とを備える。第１自己診断機能部１１５は、第２コア１１２と、故障診断部１１３とを備える。
【００１５】
第１コア１１１は、演算機能を有する。たとえば、一般的なＣＰＵの命令フェッチ、デコード、演算処理、演算結果をメモリ等へ出力する機能を有する。また、第２ＣＰＵ１１０のコア周辺モジュールであるバス、ＩＯコントローラ、内部メモリ等の故障は第１コア１１１で検出する。そして、第１コア１１１は、演算処理結果を故障診断部１１３へ伝える。
【００１６】
第２コア１１２は、演算機能を有する。たとえば、一般的なＣＰＵの命令フェッチ、デコード、演算処理、演算結果をメモリ等へ出力する機能を有する。そして、第１コア１１１と同一演算を行い、演算処理結果を故障診断部１１３へ伝える。
【００１７】
故障診断部１１３は、第１コア１１１の演算処理結果と第２コア１１２の演算処理結果を比較して一致しなければ、異常と判定する。異常から復帰できない場合は第２ＣＰＵ１１０の故障と判断し、第１故障判定通知部１４０へ故障を伝える。
【００１８】
第１自己診断機能部１１５は、上述した第２コアと、第１コア１１１の演算処理結果と第２コア１１２の演算処理結果を比較し故障を診断する故障診断部１１３とを有する。
【００１９】
第１内部通信機能部１３０は、第２ＣＰＵ１１０と第１ＣＰＵ１２０との間に設けられ、第１コア１１１が、第１ＣＰＵ１２０と共有メモリ等を介して通信を行い、共有メモリ等を介した通信を行うことで、第１ＣＰＵ１２０の故障を検知する。故障が検知された場合は、第１故障判定通知部１４０へ故障が伝えられる。
【００２０】
第１故障判定通知部１４０は、第１自己診断機能部１１５、第１内部通信機能部１３０から故障の通知を受け、リトライの結果、即ち、所定回数の故障の通知を受けた場合に、真に故障と判定したものを統合制御部３００へ通知する。具体的には、第１自己診断機能部１１５からの故障を受けて、真に故障と判定した場合は、第２ＣＰＵ１１０が故障であることを統合制御部３００へ通知する。また、第１内部通信機能部１３０からの故障を受けて、真に故障と判定した場合は、第１ＣＰＵ１２０が故障であることを統合制御部３００へ通知する。
【００２１】
第２マイコン２００は、第３ＣＰＵ２１０と、第２外部通信機能部２６０と、第２故障判定通知部２４０と、第２ＰＷＭ信号生成部２５０とを備え、モータ制御用のＰＷＭ信号を生成したり、第１マイコン１００の故障診断などを行う。
【００２２】
第２外部通信機能部２６０は、第１マイコン１００の第１ＣＰＵ１２０と第２マイコン２００と通信をすることで、第１マイコン１００の故障を検出する。具体的には、第３ＣＰＵ２１０からの例題演算を第１ＣＰＵ１２０で処理して、その結果の一致を確認する。不一致であれば第１ＣＰＵ１２０が故障していると判断し、第２故障判定通知部２４０へ故障を通知する。
【００２３】
第２故障判定通知部２４０は、第２外部通信機能部２６０から故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。具体的には、第２外部通信機能部２６０からの故障を受けて、真に故障と判定した場合は、第１ＣＰＵ１２０が故障であることを統合制御部３００へ通知する。
【００２４】
第２ＰＷＭ信号生成部２５０は、モータ制御用のＰＷＭ信号を生成して、ＰＷＭ信号を統合制御部３００へ出力する。
【００２５】
統合制御部３００は、第１故障判定通知部１４０及び第２故障判定通知部２４０からの通知に基づいて故障判定を行い、正常であれば、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給し、第２ＰＷＭ信号生成部２５０から送出されたＰＷＭ信号を第２モータ５００へ供給する。統合制御部３００は、第１故障判定通知部１４０及び第２故障判定通知部２４０からの通知に基づいて故障判定を行い、例えば、第２ＣＰＵ１１０が故障と判定された場合は、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給しない制御を行う。ここで、第１モータ４００は、車両の駆動に用いられる駆動モータであり、第２モータ５００は、回生モータである。
【００２６】
図２は、統合制御部３００の故障判定動作を説明するフローチャートを示す。
第１マイコン１００及び第２マイコン２００は常時故障診断を行っており、その診断結果は、第１マイコン１００の第１故障判定通知部１４０及び第２マイコン２００の第２故障判定通知部２４０より、統合制御部３００へ通知されている。
【００２７】
以下に説明する図２のフローチャートは、統合制御部３００の図示省略する制御部が実行する動作を示す。なお、このフローチャートで示す動作と同様に動作する論理回路を統合制御部３００内にハードウェアとして設けてもよい。  
【００２８】
統合制御部３００は、第１マイコン１００の第２ＣＰＵ１１０及び第１ＣＰＵ１２０の故障判定を開始する。なお、故障とは、想定以外の動作を定常的に実行し続けることを示し、ハードウェア故障及び、ソフトウェア故障を示す。
【００２９】
ステップＳ１は、第１マイコン１００の第２ＣＰＵ１１０の故障を監視するもので、第１マイコン１００の第１自己診断機能部１１５の結果をもとに判定する（判定モード１）。正常な場合は、ステップＳ１１に進み、第２ＣＰＵ１１０は正常と判定する。故障の場合は、ステップＳ１２に進み、第２ＣＰＵ１１０は故障と判定する。ステップＳ１１の判定後、ステップＳ２へ進み、ステップＳ１２の判定後、ステップＳ３２へ進む。
【００３０】
ステップＳ２は、第１マイコン１００の第１ＣＰＵ１２０と第２ＣＰＵ１１０との間で故障を監視するものであり、第１内部通信機能部１３０の結果をもとに判定する（判定モード２）。正常な場合は、ステップＳ２１に進み、第１ＣＰＵ１２０は正常と判定する。故障の場合は、ステップＳ３２へ進む。ステップＳ２１の判定後、ステップＳ３１へ進む。
【００３１】
ステップＳ３１は、第１マイコン１００の故障及び、第１マイコンの第１ＣＰＵ１２０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する（判定モード３）。正常の場合は、上記ステップＳ２１で既に判定されているように、第１ＣＰＵ１２０は正常と判定する。故障の場合は、ステップＳ３３に進み、第２ＣＰＵ１１０及び第１ＣＰＵ１２０は故障と判定する。この判定は、第１自己診断機能部１１５が故障したときを考慮した診断であり、ステップＳ１１及びステップＳ２１の判定と矛盾があるため、第２ＣＰＵ１１０及び第１ＣＰＵ１２０は故障であると判定する。
【００３２】
ステップＳ３２は、ステップＳ３１と同様に、第１マイコン１００の故障及び、第１マイコンの第１ＣＰＵ１２０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する（判定モード３）。正常の場合は、ステップＳ３４に進み、第１ＣＰＵ１２０は正常、第２ＣＰＵ１１０は故障と判定する。この判定は、ステップＳ２の判定と矛盾があるため、ステップＳ３２に従い、第２ＣＰＵ１１０が故障であると判定し、更に第１ＣＰＵ１２０が正常であると判定する。したがって、この場合は第１ＣＰＵ１２０の処理を継続することが可能である。
【００３３】
ステップＳ３２で、故障の場合は、ステップＳ３５に進み、第１ＣＰＵ１２０は故障であると判定する。
【００３４】
以上の故障判定において、第２マイコン２００は故障していないことを前提とする。統合制御部３００は、例えば、第１ＣＰＵ１２０もしくは第２ＣＰＵ１１０が故障と判定された場合は、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給しないで遮断する制御を行う。
【００３５】
（第２の実施の形態）
図３は、第２の実施の形態に係わるモータ制御装置１の全体構成を示す回路図である。第１内部通信機能部１３０と第１ＣＰＵ１２０の構成が第１の実施の形態と相違する。
モータ制御装置１は、第１マイコン１００と、第２マイコン２００と、統合制御部３００と、第１モータ４００と、第２モータ５００とを備えている。
【００３６】
第１マイコン１００は、第１ＣＰＵ１２０と、第２ＣＰＵ１１０と、第１内部通信機能部１３０と、第１故障判定通知部１４０と、第１ＰＷＭ信号生成部１５０とを備え、モータ制御用のＰＷＭ信号を生成したり、第１ＣＰＵ１２０や第２ＣＰＵ１１０の故障診断などを行う。第１マイコン１００は、第２ＣＰＵ１１０と、第１ＣＰＵ１２０とを有するマルチコアマイコンである。
【００３７】
第１内部通信機能部１３０は、第２ＣＰＵ１１０と第１ＣＰＵ１２０との間に設けられ、共有メモリ等を介した通信を行うことで、第１ＣＰＵ１２０の故障を検知する。
【００３８】
第１故障判定通知部１４０は、第１内部通信機能部１３０などから故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。
【００３９】
第１ＰＷＭ信号生成部１５０は、モータ制御用のＰＷＭ信号を生成して、ＰＷＭ信号を統合制御部３００へ出力する。第１ＰＷＭ信号生成部１５０は、第２ＣＰＵ１１０により動作される。
【００４０】
第２ＣＰＵ１１０は、第１コア１１１と第１自己診断機能部１１５を備える。第２ＣＰＵ１１０は、第１の実施の形態で示した構成と同様の構成を備えているのでその詳細は省略する。
【００４１】
第１自己診断機能部１１５は、第１コア１１１の演算処理結果と第１自己診断機能部１１５内部の第２コア（図示省略）の演算処理結果を比較して第２ＣＰＵ１１０の故障を診断し、第１故障判定通知部１４０へ故障を伝える。
【００４２】
第１ＣＰＵ１２０は、第３コア１２１を備え、第３コア１２１は、演算機能を有する。たとえば、一般的なＣＰＵの命令フェッチ、デコード、演算処理、演算結果をメモリ等へ出力する機能を有する。
【００４３】
第１内部通信機能部１３０は、第２ＣＰＵ１１０の第１コア１１１と第１ＣＰＵ１２０の第３コア１２１との間に設けられ、第２ＣＰＵ１１０が、第１ＣＰＵ１２０と共有メモリ等を介して通信を行い、共有メモリ等を介した通信を行うことで、第１ＣＰＵ１２０の故障を検知する。更に、第１ＣＰＵ１２０が、第２ＣＰＵ１１０と共有メモリ等を介して通信を行い、共有メモリ等を介した通信を行うことで、第２ＣＰＵ１１０の故障を検知する。故障が検知された場合は、第１故障判定通知部１４０へ故障を伝える。
【００４４】
第１故障判定通知部１４０は、第１自己診断機能部１１５、第１内部通信機能部１３０から故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。具体的には、第１自己診断機能部１１５からの故障を受けて、真に故障と判定した場合は、第２ＣＰＵ１１０が故障であることを統合制御部３００へ通知する。また、第１内部通信機能部１３０からの故障を受けて、真に故障と判定した場合は、第１ＣＰＵ１２０が故障であることを、更に、第１内部通信機能部１３０からの故障を受けて、真に故障と判定した場合は、第２ＣＰＵ１１０が故障であることを統合制御部３００へ通知する。
【００４５】
第２マイコン２００は、第３ＣＰＵ２１０と、第２外部通信機能部２６０と、第２故障判定通知部２４０と、第２ＰＷＭ信号生成部２５０とを備え、モータ制御用のＰＷＭ信号を生成したり、第１マイコン１００の故障診断などを行う。
【００４６】
第２外部通信機能部２６０は、第１マイコン１００の第１ＣＰＵ１２０の第３コア１２１と第２マイコン２００と通信をすることで、第１マイコン１００の故障を検出する。具体的には、第３ＣＰＵ２１０からの例題演算を第１ＣＰＵ１２０の第３コア１２１で処理して、その結果の一致を確認する。不一致であれば第１ＣＰＵ１２０が故障していると判断し、第２故障判定通知部２４０へ故障を通知する。
【００４７】
第２故障判定通知部２４０は、第２外部通信機能部２６０から故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。具体的には、第２外部通信機能部２６０からの故障を受けて、真に故障と判定した場合は、第１ＣＰＵ１２０が故障であることを統合制御部３００へ通知する。
【００４８】
第２ＰＷＭ信号生成部２５０は、モータ制御用のＰＷＭ信号を生成して、ＰＷＭ信号を統合制御部３００へ出力する。
【００４９】
統合制御部３００は、第１故障判定通知部１４０及び第２故障判定通知部２４０からの通知に基づいて故障判定を行い、正常であれば、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給し、第２ＰＷＭ信号生成部２５０から送出されたＰＷＭ信号を第２モータ５００へ供給する。統合制御部３００は、第１故障判定通知部１４０及び第２故障判定通知部２４０からの通知に基づいて故障判定を行い、例えば、第２ＣＰＵ１１０が故障と判定された場合は、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給しない制御を行う。ここで、第１モータ４００は、車両の駆動に用いられる駆動モータであり、第２モータ５００は、回生モータである。
【００５０】
図４は、統合制御部３００の故障判定動作を説明するフローチャートを示す。
第１マイコン１００及び第２マイコン２００は常時故障診断を行っており、その診断結果は、第１マイコン１００の第１故障判定通知部１４０及び第２マイコン２００の第２故障判定通知部２４０より、統合制御部３００へ通知されている。
【００５１】
以下に説明する図４のフローチャートは、統合制御部３００の図示省略する制御部が実行する動作を示す。なお、このフローチャートで示す動作と同様に動作する論理回路を統合制御部３００内にハードウェアとして設けてもよい。  
【００５２】
統合制御部３００は、第１マイコン１００の第２ＣＰＵ１１０及び第１ＣＰＵ１２０の故障判定を開始する。なお、故障とは、想定以外の動作を定常的に実行し続けることを示し、ハードウェア故障及び、ソフトウェア故障を示す。
【００５３】
ステップＳ１は、第１マイコン１００の第２ＣＰＵ１１０の故障を監視するもので、第１マイコン１００の第１自己診断機能部１１５の結果をもとに判定する（判定モード１）。正常な場合は、ステップＳ１１に進み、第２ＣＰＵ１１０は正常と判定する。故障の場合は、ステップＳ１２に進み、第２ＣＰＵ１１０は故障と判定する。ステップＳ１１の判定後、ステップＳ２−１へ進み、ステップＳ１２の判定後、ステップＳ３２へ進む。
【００５４】
ステップＳ２−１は、第１マイコン１００の第１ＣＰＵ１２０から第２ＣＰＵ１１０の故障を監視するものであり、第１内部通信機能部１３０の結果をもとに判定する（判定モード２１）。正常な場合は、ステップＳ２−２に進む。故障の場合は、ステップＳ３２へ進む。
【００５５】
ステップＳ２−２は、第１マイコン１００の第２ＣＰＵ１１０から第１ＣＰＵ１２０の故障を監視するものであり、第１内部通信機能部１３０の結果をもとに判定する（判定モード２２）。正常な場合は、ステップＳ２１に進み、第１ＣＰＵ１２０は正常と判定する。故障の場合は、ステップＳ２−３へ進む。
【００５６】
ステップＳ２−３は、第１マイコン１００の第２ＣＰＵ１１０は故障であると判定する。この場合は、第２ＣＰＵ１１０の第１自己診断機能部１１５が故障であることを示している。ステップＳ２−３の判定後、ステップＳ３２へ進む。
【００５７】
ステップＳ２１の判定後、ステップＳ３１へ進む。ステップＳ３１は、第１マイコン１００の故障及び、第１マイコンの第１ＣＰＵ１２０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する（判定モード３）。正常の場合は、上記ステップＳ２１で既に判定されているように、第１ＣＰＵ１２０は正常と判定する。故障の場合は、ステップＳ３３に進み、第２ＣＰＵ１１０及び第１ＣＰＵ１２０は故障と判定する。この判定は、第１自己診断機能部１１５が故障したときを考慮した診断であり、ステップＳ１１及びステップＳ２１の判定と矛盾があるため、第２ＣＰＵ１１０及び第１ＣＰＵ１２０は故障であると判定する。
【００５８】
ステップＳ３２は、ステップＳ３１と同様に、第１マイコン１００の故障及び、第１マイコンの第１ＣＰＵ１２０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する（判定モード３）。正常の場合は、ステップＳ３４に進み、第１ＣＰＵ１２０は正常、第２ＣＰＵ１１０は故障と判定する。この判定は、ステップＳ２の判定と矛盾があるため、ステップＳ３２に従い、第２ＣＰＵ１１０が故障であると判定し、更に第１ＣＰＵ１２０が正常であると判定する。したがって、この場合は第１ＣＰＵ１２０の処理を継続することが可能である。
【００５９】
ステップＳ３２で、故障の場合は、ステップＳ３５に進み、第１ＣＰＵ１２０は故障であると判定する。
【００６０】
以上の故障判定において、第２マイコン２００は故障していないことを前提とする。統合制御部３００は、例えば、第１ＣＰＵ１２０もしくは第２ＣＰＵ１１０が故障と判定された場合は、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給しないで遮断する制御を行う。
【００６１】
第１の実施の形態では、第１ＣＰＵ１２０及び第２ＣＰＵ１１０の故障を検知できるが、第２の実施の形態では、第１ＣＰＵ１２０、第２ＣＰＵ１１０、および第１自己診断機能部１１５の故障を検知できる。
【００６２】
（第３の実施の形態）
図５は、第３の実施の形態に係わるモータ制御装置１の全体構成を示す回路図である。第１の実施の形態に、第１外部通信機能部１６０と第４ＣＰＵ２２０と第２内部通信機能部２３０とを付加した構成である。
モータ制御装置１は、第１マイコン１００と、第２マイコン２００と、統合制御部３００と、第１モータ４００と、第２モータ５００とを備えている。
【００６３】
第１マイコン１００は、第１ＣＰＵ１２０と、第２ＣＰＵ１１０と、第１内部通信機能部１３０と、第１故障判定通知部１４０と、第１ＰＷＭ信号生成部１５０とを備え、モータ制御用のＰＷＭ信号を生成したり、第１ＣＰＵ１２０や第２ＣＰＵ１１０の故障診断などを行う。第１マイコン１００は、第２ＣＰＵ１１０と、第１ＣＰＵ１２０とを有するマルチコアマイコンである。
【００６４】
第１内部通信機能部１３０は、第２ＣＰＵ１１０と第１ＣＰＵ１２０との間に設けられ、共有メモリ等を介した通信を行うことで、第１ＣＰＵ１２０の故障を検知する。
【００６５】
第１故障判定通知部１４０は、第１自己診断機能部１１５と、第１内部通信機能部１３０と、後述の第１外部通信機能部１６０から故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。具体的には、第１自己診断機能部１１５からの故障を受けて、真に故障と判定した場合は、第２ＣＰＵ１１０が故障であることを統合制御部３００へ通知する。また、第１内部通信機能部１３０からの故障を受けて、真に故障と判定した場合は、第１ＣＰＵ１２０が故障であることを統合制御部３００へ通知する。
【００６６】
第１ＰＷＭ信号生成部１５０は、モータ制御用のＰＷＭ信号を生成して、ＰＷＭ信号を統合制御部３００へ出力する。第１ＰＷＭ信号生成部１５０は、第２ＣＰＵ１１０により動作される。
【００６７】
第２ＣＰＵ１１０は、第１自己診断機能部１１５を備える。第２ＣＰＵ１１０は、第１の実施の形態で示した構成と同様の構成を備えているのでその詳細は省略する。
【００６８】
第１自己診断機能部１１５は、図示省略した第１コア１１１の演算処理結果と第２コア１１２の演算処理結果を比較して第２ＣＰＵ１１０の故障を診断し、第１故障判定通知部１４０へ故障を伝える。
【００６９】
第１内部通信機能部１３０は、第２ＣＰＵ１１０と第１ＣＰＵ１２０との間に設けられ、第２ＣＰＵ１１０が、第１ＣＰＵ１２０と共有メモリ等を介して通信を行い、共有メモリ等を介した通信を行うことで、第１ＣＰＵ１２０の故障を検知する。故障が検知された場合は、第１故障判定通知部１４０へ故障を伝える。
【００７０】
第１外部通信機能部１６０は、第２マイコン２００の第３ＣＰＵ２１０と第１マイコン１００と通信をすることで、第２マイコン２００の故障を検出する。具体的には、第１ＣＰＵ１２０からの例題演算を第２外部通信機能部２６０を介して第３ＣＰＵ２１０で処理して、その結果を受けてその一致を確認する。不一致であれば第３ＣＰＵ２１０が故障していると判断し、第１故障判定通知部１４０へ故障を通知する。
【００７１】
第２マイコン２００は、第３ＣＰＵ２１０と、第４ＣＰＵ２２０と、第２内部通信機能部２３０と、第２外部通信機能部２６０と、第２故障判定通知部２４０と、第２ＰＷＭ信号生成部２５０とを備え、モータ制御用のＰＷＭ信号を生成したり、第２マイコン２００の自己診断や第１マイコン１００の故障診断などを行う。第２マイコン２００は、第４ＣＰＵ２２０と、第３ＣＰＵ２１０とを有するマルチコアマイコンである。
【００７２】
第４ＣＰＵ２２０は、第２自己診断機能部２２５を備える。第２自己診断機能部２２５は、第２ＣＰＵ１１０の第１自己診断機能部１１５と同様の構成であり、第４ＣＰＵ２２０の故障を診断し、第２故障判定通知部２４０へ故障を伝える。
【００７３】
第２内部通信機能部２３０は、第４ＣＰＵ２２０と第３ＣＰＵ２１０との間に設けられ、第４ＣＰＵ２２０が、第３ＣＰＵ２１０と共有メモリ等を介して通信を行い、共有メモリ等を介した通信を行うことで、第３ＣＰＵ２１０の故障を検知する。故障が検知された場合は、第２故障判定通知部２４０へ故障を伝える。
【００７４】
第２外部通信機能部２６０は、第１マイコン１００の第１ＣＰＵ１２０と第２マイコン２００と通信をすることで、第１マイコン１００の故障を検出する。具体的には、第３ＣＰＵ２１０からの例題演算を第１外部通信機能部１６０を介して第１ＣＰＵ１２０で処理して、その結果を受けてその一致を確認する。不一致であれば第１ＣＰＵ１２０が故障していると判断し、第２故障判定通知部２４０へ故障を通知する。
【００７５】
第２故障判定通知部２４０は、第２自己診断機能部２２５、第２内部通信機能部２３０、第２外部通信機能部２６０から故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。具体的には、第２自己診断機能部２２５からの故障を受けて、真に故障と判定した場合は、第４ＣＰＵ２２０が故障であることを統合制御部３００へ通知する。また、第２内部通信機能部２３０からの故障を受けて、真に故障と判定した場合は、第３ＣＰＵ２１０が故障であることを統合制御部３００へ通知する。また、第２外部通信機能部２６０からの故障を受けて、真に故障と判定した場合は、第１ＣＰＵ１２０が故障であることを統合制御部３００へ通知する。
【００７６】
第２ＰＷＭ信号生成部２５０は、モータ制御用のＰＷＭ信号を生成して、ＰＷＭ信号を統合制御部３００へ出力する。
【００７７】
統合制御部３００は、第１故障判定通知部１４０及び第２故障判定通知部２４０からの通知に基づいて故障判定を行い、正常であれば、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給し、第２ＰＷＭ信号生成部２５０から送出されたＰＷＭ信号を第２モータ５００へ供給する。統合制御部３００は、第１故障判定通知部１４０及び第２故障判定通知部２４０からの通知に基づいて故障判定を行い、例えば、第２ＣＰＵ１１０が故障と判定された場合は、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給しない制御を行う。ここで、第１モータ４００は、車両の駆動に用いられる駆動モータであり、第２モータ５００は、回生モータである。
【００７８】
図６は、統合制御部３００の故障判定動作を説明するフローチャートを示す。
【００７９】
第１マイコン１００及び第２マイコン２００は常時故障診断を行っており、その診断結果は、第１マイコン１００の第１故障判定通知部１４０及び第２マイコン２００の第２故障判定通知部２４０より、統合制御部３００へ通知されている。
【００８０】
以下に説明する図６のフローチャートは、統合制御部３００の図示省略する制御部が実行する動作を示す。なお、このフローチャートで示す動作と同様に動作する論理回路を統合制御部３００内にハードウェアとして設けてもよい。
【００８１】
統合制御部３００は、第１マイコン１００及び第２マイコン２００の故障判定を開始する。なお、故障とは、想定以外の動作を定常的に実行し続けることを示し、ハードウェア故障及び、ソフトウェア故障を示す。
【００８２】
ステップＳ１は、第１マイコン１００の第２ＣＰＵ１１０の故障を監視するもので、第１マイコン１００の第１自己診断機能部１１５の結果をもとに判定する（判定モード１）。正常な場合は、ステップＳ１１に進み、第２ＣＰＵ１１０は正常と判定する。故障の場合は、ステップＳ１２に進み、第２ＣＰＵ１１０は故障と判定する。ステップＳ１１の判定後、ステップＳ２へ進み、ステップＳ１２の判定後、ステップＳ４へ進む。
【００８３】
ステップＳ２は、第１マイコン１００の第１ＣＰＵ１２０と第２ＣＰＵ１１０との間で故障を監視するものであり、第１内部通信機能部１３０の結果をもとに判定する（判定モード２）。正常な場合は、ステップＳ２１に進み、第１ＣＰＵ１２０は正常と判定する。故障の場合は、ステップＳ４へ進む。ステップＳ２１の判定後、ステップＳ４へ進む。
【００８４】
ステップＳ４は、第２マイコン２００の第４ＣＰＵ２２０の故障を監視するもので、第２マイコン２００の第２自己診断機能部２２５の結果を基に判定する（判定モード１）。正常な場合は、ステップＳ４１に進み、第４ＣＰＵ２２０は正常と判定する。故障の場合は、ステップＳ４２に進み、第４ＣＰＵ２２０は故障と判定する。ステップＳ４１の判定後、ステップＳ５へ進み、ステップＳ４２の判定後、ステップＳ６２へ進む。
【００８５】
ステップＳ５は、第２マイコン２００の第３ＣＰＵ２１０と第４ＣＰＵ２２０との間で故障を監視するものであり、第２内部通信機能部２３０の結果をもとに判定する（判定モード２）。正常な場合は、ステップＳ５１に進み、第３ＣＰＵ２１０は正常と判定する。故障の場合は、ステップＳ６２へ進む。ステップＳ５１の判定後、ステップＳ６１へ進む。
【００８６】
ステップＳ６１は、第１ＣＰＵ１２０が正常であるか否かを判別し、正常であればステップＳ７１へ進み、正常でなければステップＳ３２へ進む。このステップの判別は、ステップＳ１の判定結果を判別したものである。
【００８７】
ステップＳ３２は、第１マイコン１００の故障及び、第１マイコンの第１ＣＰＵ１２０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する（判定モード３）。正常の場合は、ステップＳ３４に進み、第１ＣＰＵ１２０は正常、第２ＣＰＵ１１０は故障と判定する。この判定は、ステップＳ２、Ｓ６１の判定と矛盾があるため、ステップＳ３２に従い、第２ＣＰＵ１１０が故障であると判定し、更に第１ＣＰＵ１２０が正常であると判定する。したがって、この場合は第１ＣＰＵ１２０の処理を継続することが可能である。
【００８８】
ステップＳ３２で、故障の場合は、ステップＳ３５に進み、第１ＣＰＵ１２０は故障であると判定する。
【００８９】
ステップＳ６１で、第１ＣＰＵ１２０が正常であればステップＳ７１へ進む。ステップＳ７１は、第２マイコン２００の故障及び第２マイコン２００の第３ＣＰＵ２１０の故障を監視するもので、第１外部通信機能部１６０の結果を基に判定する（判定モード３）。
正常の場合は、ステップＳ３１に進む。
【００９０】
ステップＳ３１は、第１マイコン１００の故障及び、第１マイコンの第１ＣＰＵ１２０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する（判定モード１）。正常の場合は、上記ステップＳ２１で既に判定されているように、第１ＣＰＵ１２０は正常と判定する。故障の場合は、ステップＳ３３に進み、第２ＣＰＵ１１０及び第１ＣＰＵ１２０は故障と判定する。この判定は、第１自己診断機能部１１５が故障したときを考慮した診断であり、ステップＳ１１及びステップＳ２１の判定と矛盾があるため、第２ＣＰＵ１１０及び第１ＣＰＵ１２０は故障であると判定する。
【００９１】
ステップＳ７１で、正常でなければステップＳ７３へ進む。ステップＳ７３は、第２自己診断機能部２２５が故障したときを考慮した診断であり、ステップＳ４１及びステップＳ５１の判定と矛盾があるため、第３ＣＰＵ２１０及び第４ＣＰＵ２２０は故障であると判定する。ステップＳ７３で判定した後は上記ステップＳ３１に進む。
【００９２】
ステップＳ６２は、ステップＳ６１と同様に、第１ＣＰＵ１２０が正常であるか否かを判別し、正常であればステップＳ７２へ進み、正常でなければステップＳ７６へ進む。
【００９３】
ステップＳ７２は、第２マイコン２００の故障及び第２マイコン２００の第３ＣＰＵ２１０の故障を監視するもので、第１外部通信機能部１６０の結果を基に判定する（判定モード３）。正常の場合は、ステップＳ７４に進む。
【００９４】
ステップＳ７４は、第３ＣＰＵ２１０は正常、第４ＣＰＵ２２０は故障と判定する。この判定は、ステップＳ５の判定と矛盾があるため、ステップＳ７２に従い、第４ＣＰＵ２２０が故障であると判定し、更に第３ＣＰＵ２１０が正常であると判定する。したがって、この場合は第３ＣＰＵ２１０の処理を継続することが可能である。
【００９５】
ステップＳ７２で、故障の場合は、ステップＳ７５に進み、第３ＣＰＵ２１０は故障であると判定する。
【００９６】
ステップＳ７６は、第１マイコン１００及び第２マイコン２００が同時に故障したと判定するが、別モジュールであるそれぞれのマイコンが同時に同一の原因で故障することは想定しておらず、判定を無視する。
【００９７】
統合制御部３００は、例えば、第１ＣＰＵ１２０もしくは第２ＣＰＵ１１０が故障と判定された場合は、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給しないで遮断する制御を行う。また、例えば、第３ＣＰＵ２１０もしくは第４ＣＰＵ２２０が故障と判定された場合は、第２ＰＷＭ信号生成部２５０から送出されたＰＷＭ信号を第２モータ５００へ供給しないで遮断する制御を行う。
【００９８】
第１、２の実施の形態では、第２マイコン２００の第３ＣＰＵ２１０が故障している場合には、第１ＣＰＵ１２０及び第２ＣＰＵ１１０が故障していると誤判定してしまうが、第３の実施の形態では、第２マイコン２００の第３ＣＰＵ２１０の故障判定もしているので誤判定することはない。
【００９９】
（第４の実施の形態）
図７は、第４の実施の形態に係わるモータ制御装置１の全体構成を示す回路図である。第３の実施の形態における、第１外部通信機能部１６０と第２外部通信機能部２６０の接続関係が異なる構成である。
モータ制御装置１は、第１マイコン１００と、第２マイコン２００と、統合制御部３００と、第１モータ４００と、第２モータ５００とを備えている。
【０１００】
第１マイコン１００は、第１ＣＰＵ１２０と、第２ＣＰＵ１１０と、第１内部通信機能部１３０と、第１故障判定通知部１４０と、第１ＰＷＭ信号生成部１５０とを備え、モータ制御用のＰＷＭ信号を生成したり、第１ＣＰＵ１２０や第２ＣＰＵ１１０の故障診断などを行う。第１マイコン１００は、第２ＣＰＵ１１０と、第１ＣＰＵ１２０とを有するマルチコアマイコンである。
【０１０１】
第１内部通信機能部１３０は、第２ＣＰＵ１１０と第１ＣＰＵ１２０との間に設けられ、共有メモリ等を介した通信を行うことで、第１ＣＰＵ１２０の故障を検知する。
【０１０２】
第１故障判定通知部１４０は、第１内部通信機能部１３０などから故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。具体的には、第１自己診断機能部１１５からの故障を受けて、真に故障と判定した場合は、第２ＣＰＵ１１０が故障であることを統合制御部３００へ通知する。また、第１内部通信機能部１３０からの故障を受けて、真に故障と判定した場合は、第１ＣＰＵ１２０が故障であることを統合制御部３００へ通知する。また、第１外部通信機能部１６０からの故障を受けて、真に故障と判定した場合は、第４ＣＰＵ２２０が故障であることを統合制御部３００へ通知する。
【０１０３】
第１ＰＷＭ信号生成部１５０は、モータ制御用のＰＷＭ信号を生成して、ＰＷＭ信号を統合制御部３００へ出力する。第１ＰＷＭ信号生成部１５０は、第２ＣＰＵ１１０により動作される。
【０１０４】
第２ＣＰＵ１１０は、第１自己診断機能部１１５を備える。第２ＣＰＵ１１０は、第１の実施の形態で示した構成と同様の構成を備えているのでその詳細は省略する。
【０１０５】
第１自己診断機能部１１５は、図示省略した第１コア１１１の演算処理結果と第２コア１１２の演算処理結果を比較して第２ＣＰＵ１１０の故障を診断し、第１故障判定通知部１４０へ故障を伝える。
【０１０６】
第１内部通信機能部１３０は、第２ＣＰＵ１１０と第１ＣＰＵ１２０との間に設けられ、第２ＣＰＵ１１０が、第１ＣＰＵ１２０と共有メモリ等を介して通信を行い、共有メモリ等を介した通信を行うことで、第１ＣＰＵ１２０の故障を検知する。故障が検知された場合は、第１故障判定通知部１４０へ故障を伝える。
【０１０７】
第１外部通信機能部１６０は、第２マイコン２００の第４ＣＰＵ２２０と第１マイコン１００と通信をすることで、第２マイコン２００の故障を検出する。具体的には、第１ＣＰＵ１２０からの例題演算を第４ＣＰＵ２２０で処理して、その結果の一致を確認する。不一致であれば第４ＣＰＵ２２０が故障していると判断し、第１故障判定通知部１４０へ故障を通知する。
【０１０８】
第２マイコン２００は、第３ＣＰＵ２１０と、第４ＣＰＵ２２０と、第２内部通信機能部２３０と、第２外部通信機能部２６０と、第２故障判定通知部２４０と、第２ＰＷＭ信号生成部２５０とを備え、モータ制御用のＰＷＭ信号を生成したり、第２マイコン２００の自己診断や第１マイコン１００の故障診断などを行う。第２マイコン２００は、第４ＣＰＵ２２０と、第３ＣＰＵ２１０とを有するマルチコアマイコンである。
【０１０９】
第４ＣＰＵ２２０は、第２自己診断機能部２２５を備える。第２自己診断機能部２２５は、第２ＣＰＵ１１０の第１自己診断機能部１１５と同様の構成であり、第４ＣＰＵ２２０の故障を診断し、第２故障判定通知部２４０へ故障を伝える。
【０１１０】
第２内部通信機能部２３０は、第４ＣＰＵ２２０と第３ＣＰＵ２１０との間に設けられ、第４ＣＰＵ２２０が、第３ＣＰＵ２１０と共有メモリ等を介して通信を行い、共有メモリ等を介した通信を行うことで、第３ＣＰＵ２１０の故障を検知する。故障が検知された場合は、第２故障判定通知部２４０へ故障を伝える。
【０１１１】
第２外部通信機能部２６０は、第１マイコン１００の第２ＣＰＵ１１０と第２マイコン２００と通信をすることで、第１マイコン１００の故障を検出する。具体的には、第３ＣＰＵ２１０からの例題演算を第２ＣＰＵ１１０で処理して、その結果の一致を確認する。不一致であれば第２ＣＰＵ１１０が故障していると判断し、第２故障判定通知部２４０へ故障を通知する。
【０１１２】
第２故障判定通知部２４０は、第２自己診断機能部２２５、第２内部通信機能部２３０、第２外部通信機能部２６０から故障の通知を受け、リトライの結果、真に故障と判定したものを統合制御部３００へ通知する。具体的には、第２自己診断機能部２２５からの故障を受けて、真に故障と判定した場合は、第４ＣＰＵ２２０が故障であることを統合制御部３００へ通知する。また、第２内部通信機能部２３０からの故障を受けて、真に故障と判定した場合は、第３ＣＰＵ２１０が故障であることを統合制御部３００へ通知する。また、第２外部通信機能部２６０からの故障を受けて、真に故障と判定した場合は、第２ＣＰＵ１１０が故障であることを統合制御部３００へ通知する。
【０１１３】
第２ＰＷＭ信号生成部２５０は、モータ制御用のＰＷＭ信号を生成して、ＰＷＭ信号を統合制御部３００へ出力する。
【０１１４】
統合制御部３００は、第１故障判定通知部１４０及び第２故障判定通知部２４０からの通知に基づいて故障判定を行い、正常であれば、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給し、第２ＰＷＭ信号生成部２５０から送出されたＰＷＭ信号を第２モータ５００へ供給する。統合制御部３００は、第１故障判定通知部１４０及び第２故障判定通知部２４０からの通知に基づいて故障判定を行い、例えば、第２ＣＰＵ１１０が故障と判定された場合は、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給しない制御を行う。ここで、第１モータ４００は、車両の駆動に用いられる駆動モータであり、第２モータ５００は、回生モータである。
【０１１５】
図８は、統合制御部３００の故障判定動作を説明するフローチャートを示す。
第１マイコン１００及び第２マイコン２００は常時故障診断を行っており、その診断結果は、第１マイコン１００の第１故障判定通知部１４０及び第２マイコン２００の第２故障判定通知部２４０より、統合制御部３００へ通知されている。
【０１１６】
以下に説明する図８のフローチャートは、統合制御部３００の図示省略する制御部が実行する動作を示す。なお、このフローチャートで示す動作と同様に動作する論理回路を統合制御部３００内にハードウェアとして設けてもよい。
【０１１７】
統合制御部３００は、第１マイコン１００及び第２マイコン２００の故障判定を開始する。なお、故障とは、想定以外の動作を定常的に実行し続けることを示し、ハードウェア故障及び、ソフトウェア故障を示す。
【０１１８】
ステップＳ１は、第１マイコン１００の第２ＣＰＵ１１０の故障を監視するもので、第１マイコン１００の第１自己診断機能部１１５の結果をもとに判定する（判定モード１）。正常な場合は、ステップＳ１１に進み、第２ＣＰＵ１１０は正常と判定する。故障の場合は、ステップＳ１２に進み、第２ＣＰＵ１１０は故障と判定する。ステップＳ１１の判定後、ステップＳ２へ進み、ステップＳ１２の判定後、ステップＳ４へ進む。
【０１１９】
ステップＳ２は、第１マイコン１００の第１ＣＰＵ１２０と第２ＣＰＵ１１０との間で故障を監視するものであり、第１内部通信機能部１３０の結果をもとに判定する（判定モード２）。正常な場合は、ステップＳ２１に進み、第１ＣＰＵ１２０は正常と判定する。故障の場合は、ステップＳ４へ進む。ステップＳ２１の判定後、ステップＳ４へ進む。
【０１２０】
ステップＳ４は、第２マイコン２００の第４ＣＰＵ２２０の故障を監視するもので、第２マイコン２００の第２自己診断機能部２２５の結果を基に判定する（判定モード１）。正常な場合は、ステップＳ４１に進み、第４ＣＰＵ２２０は正常と判定する。故障の場合は、ステップＳ４２に進み、第４ＣＰＵ２２０は故障と判定する。ステップＳ４１の判定後、ステップＳ５へ進み、ステップＳ４２の判定後、ステップＳ６２’へ進む。
【０１２１】
ステップＳ５は、第２マイコン２００の第３ＣＰＵ２１０と第４ＣＰＵ２２０との間で故障を監視するものであり、第２内部通信機能部２３０の結果をもとに判定する（判定モード２）。正常な場合は、ステップＳ５１に進み、第３ＣＰＵ２１０は正常と判定する。故障の場合は、ステップＳ６２’へ進む。ステップＳ５１の判定後、ステップＳ６１’へ進む。
【０１２２】
ステップＳ６１’は、第２ＣＰＵ１１０が正常であるか否かを判別し、正常であればステップＳ７１へ進み、正常でなければステップＳ３２へ進む。
【０１２３】
ステップＳ３２は、第１マイコン１００の故障及び第１マイコンの第２ＣＰＵ１１０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する（判定モード３）。正常の場合は、ステップＳ３４’に進み、第１ＣＰＵ１２０は故障、第２ＣＰＵ１１０は正常と判定する。この判定は、ステップＳ１、Ｓ６１’の判定と矛盾があるため、ステップＳ３２に従い、第２ＣＰＵ１１０が正常であると判定し、更に第１ＣＰＵ１２０が故障であると判定する。したがって、この場合は第２ＣＰＵ１１０の処理を継続することが可能である。
【０１２４】
ステップＳ３２で、故障の場合は、ステップＳ３５’に進み、第２ＣＰＵ１１０は故障であると判定する。
【０１２５】
ステップＳ６１’で、第２ＣＰＵ１１０が正常であればステップＳ７１へ進む。ステップＳ７１は、第２マイコン２００及び第２マイコン２００の第４ＣＰＵ２２０の故障を監視するもので、第１外部通信機能部１６０の結果を基に判定する（判定モード３）。正常の場合は、ステップＳ３１に進む。
【０１２６】
ステップＳ３１は、第１マイコン１００の故障及び、第１マイコンの第２ＣＰＵ１１０の故障を監視するものであり、第２外部通信機能部２６０の結果をもとに判定する。正常の場合は、上記ステップＳ２１、Ｓ６１’で既に判定されているように、第１ＣＰＵ１２０は正常と判定する。故障の場合は、ステップＳ３３に進み、第２ＣＰＵ１１０及び第１ＣＰＵ１２０は故障と判定する。この判定は、第１自己診断機能部１１５が故障したときを考慮した診断であり、ステップＳ１１及びステップＳ２１の判定と矛盾があるため、第２ＣＰＵ１１０及び第１ＣＰＵ１２０は故障であると判定する。
【０１２７】
ステップＳ７１で、正常でなければステップＳ７３へ進む。ステップＳ７３は、第２自己診断機能部２２５が故障したときを考慮した診断であり、ステップＳ４１及びステップＳ５１の判定と矛盾があるため、第３ＣＰＵ２１０及び第４ＣＰＵ２２０は故障であると判定する。ステップＳ７３で判定した後は上記ステップＳ３１に進む。
【０１２８】
ステップＳ６２’は、ステップＳ６１’と同様に、第２ＣＰＵ１１０が正常であるか否かを判別し、正常であればステップＳ７２へ進み、正常でなければステップＳ７６へ進む。
【０１２９】
ステップＳ７２は、第２マイコン２００及び第２マイコン２００の第４ＣＰＵ２２０の故障を監視するもので、第１外部通信機能部１６０の結果を基に判定する（判定モード３）。正常の場合は、ステップＳ７４’に進む。正常でない場合は、ステップＳ７５に進む。
【０１３０】
ステップＳ７４’は、第３ＣＰＵ２１０は故障、第４ＣＰＵ２２０は正常と判定する。この判定は、ステップＳ４の判定と矛盾があるため、ステップＳ７２に従い、第４ＣＰＵ２２０が正常であると判定し、更に第３ＣＰＵ２１０が故障であると判定する。したがって、この場合は第４ＣＰＵ２２０の処理を継続することが可能である。
【０１３１】
ステップＳ７２で、故障の場合は、ステップＳ７５に進み、第３ＣＰＵ２１０は故障であると判定する。
【０１３２】
ステップＳ７６は、第１マイコン１００及び第２マイコン２００が同時に故障したと判定するが、別モジュールであるそれぞれのマイコンが同時に同一の原因で故障することは想定しておらず、判定を無視する。
【０１３３】
統合制御部３００は、例えば、第１ＣＰＵ１２０もしくは第２ＣＰＵ１１０が故障と判定された場合は、第１ＰＷＭ信号生成部１５０から送出されたＰＷＭ信号を第１モータ４００へ供給しないで遮断する制御を行う。また、例えば、第３ＣＰＵ２１０もしくは第４ＣＰＵ２２０が故障と判定された場合は、第２ＰＷＭ信号生成部２５０から送出されたＰＷＭ信号を第２モータ５００へ供給しないで遮断する制御を行う。
【０１３４】
第１、２の実施の形態では、第２マイコン２００の第３ＣＰＵ２１０が故障している場合には、第１ＣＰＵ１２０及び第２ＣＰＵ１１０が故障していると誤判定してしまうが、第４の実施の形態では、第２マイコン２００の第３ＣＰＵ２１０の故障判定もしているので誤判定することはない。
【０１３５】
（変形例）
本発明は、以上説明した第１〜第４の実施の形態を次のように変形して実施することができる。
【０１３６】
（１）第１自己診断機能部１１５、第１内部通信機能部１３０、第１故障判定通知部１４０、第１ＰＷＭ信号生成部１５０は第１マイコン１００内の回路構成図として示したが、第１マイコン１００内においてソフトウェアの処理で同様の機能を実現するものであってもよい。また、第２自己診断機能部２２５、第２内部通信機能部２３０、第２故障判定通知部２４０、第２ＰＷＭ信号生成部２５０は第２マイコン２００内の回路構成図として示したが、第２マイコン２００内においてソフトウェアの処理で同様の機能を実現するものであってもよい。
【０１３７】
以上説明した実施の形態によれば、次の作用効果が得られる。
（１）モータ制御装置は、第１マイコン１００及び第２マイコン２００より故障に関する情報を受け取り、モータ４００、５００を制御する統合制御部３００を備える。第１マイコン１００は、第１ＣＰＵ１２０と、第１自己診断機能部１１５を有する第２ＣＰＵ１１０と、第２ＣＰＵ１１０から第１ＣＰＵ１２０へ通信をして第１ＣＰＵ１２０の故障を検出する第１内部通信機能部１３０と有する。第２マイコン２００は、第３ＣＰＵ２１０と、第３ＣＰＵ２１０から第１マイコン１００へ通信して第１マイコン１００の故障を検出する第２外部通信機能部２６０とを有する。統合制御部３００は、第１マイコン１００において、第２ＣＰＵ１１０が第１自己診断機能部１１５により故障と判定された場合でも、第１内部通信機能部１３０と第２外部通信機能部２６０の故障検出結果に基づき、第１ＣＰＵ１２０の故障を監視し、当該監視結果に基づき第１ＣＰＵ１２０の処理を継続する。したがって、第２ＣＰＵが故障と診断されても、第１ＣＰＵの制御を継続できることにより、車両に搭載されるモータの制御が安全に継続可能である。
【０１３８】
本発明は、上記の実施の形態に限定されるものではなく、本発明の特徴を損なわない限り、本発明の技術思想の範囲内で考えられるその他の形態についても、本発明の範囲内に含まれる。また、上述の実施の形態と複数の変形例を組み合わせた構成としてもよい。
【符号の説明】
【０１３９】
１００  第1マイコン
２００  第２マイコン
３００  統合制御部
４００  第１モータ
５００  第２モータ
１２０  第１ＣＰＵ
１１０  第２ＣＰＵ
１１５  第１自己診断機能部
１３０  第１内部通信機能部
１４０  第１故障判定通知部
１５０  第１ＰＷＭ信号生成部
１６０  第１外部通信機能部
２１０  第３ＣＰＵ
２２０  第４ＣＰＵ
２２５  第２自己診断機能部
２３０  第２内部通信機能部
２４０  第２故障判定通知部
２５０  第２ＰＷＭ信号生成部
２６０  第２外部通信機能部
【図１】
2015194282.tif 000003
【図２】
2015194282.tif 000004
【図３】
2015194282.tif 000005
【図４】
2015194282.tif 000006
【図５】
2015194282.tif 000007
【図６】
2015194282.tif 000008
【図７】
2015194282.tif 000009
【図８】
2015194282.tif 000010
【国際調査報告】
2015194282.tif 000011
2015194282.tif 000012