(57)【要約】【課題】アクチュエータに対する故障検出において、さまざまな故障検出要件に対して、ハードウエアを変更せずに、ソフトウエアで対応することが可能な、駆動装置を得る。【解決手段】駆動装置５は、アクチュエータ６の故障判定を行う故障検出装置１１と、ＭＣＵ２との間で通信を行うシリアルインタフェース７と、ＭＣＵ２から受信したプログラムと故障検出装置１１による故障判定結果とを記憶するメモリ装置１０と、ＭＣＵ２からの故障判定要求に従って故障検出装置１１に故障判定を実行させるＣＰＵ９と、故障判定を行う制限時間と故障判定の判定周期とを計測するタイマ装置１６と、故障判定の繰り返し回数とアクチュエータ６の故障発生回数とをカウントするカウンタ装置１７とを備えている。【選択図】図４
2017024516.tif 000002
【特許請求の範囲】
【請求項１】
コントロールユニットとアクチュエータとの間に接続され、前記コントロールユニットの制御により前記アクチュエータを駆動する駆動装置であって、
前記アクチュエータの故障判定を行う故障検出装置と、
前記コントロールユニットとの間で通信を行うシリアルインタフェースと、
前記シリアルインタフェースを介して前記コントロールユニットから受信したプログラムと、前記故障検出装置による故障判定結果とを記憶するメモリ装置と、
前記コントロールユニットからの故障判定要求に従って、前記プログラムを実行して、前記故障検出装置に前記故障判定を実行させるプロセッサと、
前記故障検出装置の故障判定に対する制限時間、および、前記故障検出装置の故障判定の判定周期を計測するタイマと、
前記故障検出装置によって実行される前記故障判定の繰り返し回数、および、前記故障検出装置によって検出された前記アクチュエータの故障発生回数をカウントするカウンタと
を備え、
前記プロセッサは、前記コントロールユニットから前記故障判定要求を受信したときに、前記プログラムを実行することにより、前記制限時間内に、前記判定周期ごとに、前記繰り返し回数の回数だけ、前記故障検出装置に前記故障判定を実行させ、前記制限時間の経過後に、前記コントロールユニットに対して、前記故障検出装置による故障判定結果を送信する、
駆動装置。
【請求項２】
前記メモリ装置は、前記アクチュエータに対応する前記故障検出装置ごとに、前記故障判定の故障判定要件を記憶する、
請求項１に記載の駆動装置。
【請求項３】
前記メモリ装置は、前記アクチュエータに対応する前記故障検出装置ごとに、前記制限時間、前記判定周期、前記繰り返し回数、および、前記故障判定要件を、プログラム化して記憶する、
請求項２に記載の駆動装置。
【請求項４】
前記プロセッサ、前記タイマ、および、前記カウンタを、プログラムロジックアレイで構成した、
請求項１に記載の駆動装置。
【請求項５】
前記メモリ装置に記憶された前記故障判定結果に基づいて、前記アクチュエータの故障の有無を検知し、前記アクチュエータに故障が発生している場合に、前記コントロールユニットに割込信号を送信して前記アクチュエータの故障を通知する割り込み発生装置をさらに備えた、
請求項１から４までのいずれか１項に記載の駆動装置。
【請求項６】
前記メモリ装置は、前記割り込み発生装置による前記割込信号の送信の許可及び禁止の別を前記アクチュエータごとに指定するための故障マスクレジスタを有する、
請求項５に記載の駆動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動装置に関し、特に、自動車等の車両に搭載されたアクチュエータを駆動する駆動装置に関する。
【背景技術】
【０００２】
近年、自動車に搭載される電気機器及び電子機器の機能安全規格への取り組みが重要になっている。パワートレインを制御するＥＣＵ（Electronic Contorl Unit）においても、搭載電子部品の故障の定義、故障判定基準の明確化、故障時の対応が厳格に問われている。また、それらの故障に対する応答性も厳しく求められている。
さらに、システムが複雑化するにつれ、故障判定対象が増加し、故障判定要件も複雑になっている。そのため、ＥＣＵの処理負荷並びにその関連デバイスとの通信トラフィックが増加している。
【０００３】
なお、ここで、パワートレインとは、エンジンで作られた回転エネルギーを効率よくタイヤに伝えるための装置のことである。パワートレインには、クラッチ、トランスミッション、プロペラシャフト、デファレンシャルギア、及び、ドライブシャフトが含まれる。
【０００４】
特許文献１に記載のシステム制御装置は、ホスト側ユニットとサブ側ユニットとの２つのチップにより構成されている。ホスト側ユニットは、主たるシステム制御を行うホスト処理装置を有する。サブ側ユニットは、従たるシステム制御を行うサブ処理装置と、異常発生時に臨時のシステム制御を行う待機系処理装置とを有する。ホスト処理装置とサブ処理装置とは、第１のクロックで動作する。一方、待機系処理装置は、第２のクロックで動作する。ホスト処理装置、サブ処理装置、および、待機系処理装置は、それぞれ、故障自己判定実行回路を有している。ホスト処理装置及びサブ処理装置の故障自己判定実行回路は、第２のクロックを用いて、故障判定を行う。一方、待機系処理装置は、第１のクロックを用いて、故障判定を行う。特許文献１では、待機系処理装置にだけに、異なるクロック系を用いることにより、信頼できるフェイルセーフ機能の確保を図っている。
【０００５】
特許文献２に記載の車載用電子制御装置は、ドライバＩＣとマイクロコントローラとを備えている。マイクロコントローラは、シリアル通信を介して、ドライバＩＣに、診断開始信号を入力する。ドライバＩＣは、診断開始信号を受信すると、ＲＯＭから、各ドライバ回路のＯＮ／ＯＦＦ状態を、レジスタ群に読み出す。各ドライバ診断回路は、レジスタの値に従い、ＯＮ時／ＯＦＦ時の診断を実施する。診断の結果、不良検出された駆動回路を非活性状態にし、マイクロコントローラに通知する。
【０００６】
特許文献３に記載の負荷駆動装置は、電子制御装置内に組み込まれている。負荷駆動装置は、ソレノイド等の負荷を駆動する。負荷駆動装置には、駆動回路と診断回路とが設けられている。診断回路は、負荷の状態を診断する。診断回路は、システム初期化または駆動回路が停止している間に動作する。電子制御装置に、駆動回路を制御する制御回路から、駆動停止信号が入力されると、駆動回路が停止する。こうして、電子制御装置に負荷駆動装置を組み込んだままの状態で、診断回路の正常動作を確認する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平７−４３２５７号公報
【特許文献２】特開２０１４−０４６７３０号公報
【特許文献３】特開２００９−０７７５４２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献１に記載のシステム制御装置においては、各ユニットが故障自己判定実行回路を搭載し、ハードロジックにて検出結果をホスト側ユニットへ通知している。従って、さまざまな故障検出条件に対して、ハードウエアを変えずに、ソフトウエアで対応することができないという問題点があった。
【０００９】
特許文献２に記載の車載用電子制御装置においては、ＲＯＭに記憶された各ドライバ回路のＯＮ／ＯＦＦのみしか想定していない。また、特許文献２においては、各ドライバ回路に対する同タイミング（同時）での診断パターン（ＯＮ／ＯＦＦの組み合わせ）しかＲＯＭに保持することができない。従って、各ドライバ回路毎の個別の故障判定シナリオをプログラム化することができないという問題点があった。
【００１０】
特許文献３に記載の負荷駆動回路においては、診断回路は、システム初期化または駆動回路が停止している間に動作する。従って、特許文献３においては、さまざまな故障検出条件に対して、ハードウエアを変えずに、ソフトウエアで対応することができないという問題点があった。
【００１１】
本発明は、かかる問題点を解決するためになされたものであり、アクチュエータに対する故障検出において、アクチュエータごとの様々な故障検出要件に対して、ハードウエアを変えずに、ソフトウエアで対応することが可能な、駆動装置を得ることを目的としている。
【課題を解決するための手段】
【００１２】
本発明は、コントロールユニットとアクチュエータとの間に接続され、前記コントロールユニットの制御により前記アクチュエータを駆動する駆動装置であって、前記アクチュエータの故障判定を行う故障検出装置と、前記コントロールユニットとの間で通信を行うシリアルインタフェースと、前記シリアルインタフェースを介して前記コントロールユニットから受信したプログラムと、前記故障検出装置による故障判定結果とを記憶するメモリ装置と、前記コントロールユニットからの故障判定要求に従って、前記プログラムを実行して、前記故障検出装置に前記故障判定を実行させるプロセッサと、前記故障検出装置の故障判定に対する制限時間、および、前記故障検出装置の故障判定の判定周期を計測するタイマと、前記故障検出装置によって実行される前記故障判定の繰り返し回数、および、前記故障検出装置によって検出された前記アクチュエータの故障発生回数をカウントするカウンタとを備え、前記プロセッサは、前記コントロールユニットから前記故障判定要求を受信したときに、前記プログラムを実行することにより、前記制限時間内に、前記判定周期ごとに、前記繰り返し回数の回数だけ、前記故障検出装置に前記故障判定を実行させ、前記制限時間の経過後に、前記コントロールユニットに対して、前記故障検出装置による故障判定結果を送信する、駆動装置である。
【発明の効果】
【００１３】
本発明によれば、駆動装置が、メモリ装置とプロセッサとを備え、故障判定をソフトウエア処理するようにしたので、メモリ装置内の故障判定要件を書き換えるだけで、所望の故障判定要件に従う故障判定を行うことができるため、アクチュエータに対する故障検出において、さまざまな故障検出要件に対して、ハードウエアを変えずに、ソフトウエアで対応することができる。
【図面の簡単な説明】
【００１４】
【図１】一般的なパワートレインＥＣＵの構成を示したブロック図である。
【図２】一般的なパワートレインＥＣＵにおけるＭＣＵと駆動装置との間の正常動作時の通信を示したタイムチャートである。
【図３】一般的なパワートレインＥＣＵにおけるＭＣＵと駆動装置との間の故障発生時の通信を示したタイムチャートである。
【図４】本発明の実施の形態１にかかわる駆動装置の構成を示したブロック図である。
【図５】本発明の実施の形態１にかかわる駆動装置における動作例１の場合のＭＣＵと駆動装置との間の正常動作時のタイムチャートである。
【図６】本発明の実施の形態１にかかわる駆動装置の動作例１及び動作例２における処理の流れを示したフローチャートである。
【図７】本発明の実施の形態１にかかわる駆動装置における動作例２の場合のＭＣＵと駆動装置との間の故障発生時のタイムチャートである。
【図８】本発明の実施の形態１にかかわる駆動装置における故障判定にかかわるメモリマップを示した説明図である。
【図９】本発明の実施の形態１にかかわる駆動装置における動作例３の場合のＭＣＵと駆動装置との間の故障発生時のタイムチャートである。
【図１０】本発明の実施の形態１にかかわる駆動装置における故障判定にかかわる追加のメモリマップを示した説明図である。
【図１１】本発明の実施の形態１にかかわる駆動装置の動作例３における処理の流れを示したフローチャートである。
【図１２】本発明の実施の形態１にかかわる駆動装置の変形例の構成を示したブロック図である。
【図１３】本発明の実施の形態１にかかわる駆動装置の変形例におけるプログラムロジックアレイを構成するロジックエレメント例を示したブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための実施の形態について、図面を参照して説明する。
【００１６】
まず、本発明の実施の形態の理解を深めるために、一般的なパワートレインＥＣＵについて説明する。図１に、一般的なパワートレインＥＣＵの構成を示す。ＥＣＵ１は、コントロールユニットとしてのＭＣＵ（Micro Control Unit）２と、センサインタフェース４と、駆動装置５とから構成されている。ＥＣＵ１には、センサ（群）３と、アクチュエータ（群）６とに接続されている。センサ（群）３は、車両の状態を検知するための１以上のセンサである。センサ（群）３には、例えば、アクセルセンサ、エアフローセンサ、吸気温センサ、スロットル開度センサ、水温センサ、回転センサ、Ｏ２センサ、車速センサのうちの少なくとも１つが含まれる。また、アクチュエータ（群）６は、１以上のアクチュエータである。アクチュエータ６としては、例えば、ソレノイドバルブ、インジェクタ、スロットルバルブ、イグナイタ等が、例として挙げられる。
【００１７】
ＭＣＵ２は、内部に、制御ソフトウエア２ａを有している。ＭＣＵ２は、センサ（群）３からの情報を、センサインタフェース４を介して受け取る。また、ＭＣＵ２は、駆動装置５を介して、１以上のアクチュエータ６を制御する。
【００１８】
駆動装置５は、ＭＣＵ２の制御により、アクチュエータ６を駆動する。駆動装置５は、内部に、故障検出装置１１を搭載している。駆動装置５は、故障検出装置１１を用いて、アクチュエータ６の故障（天絡、地絡、断線、過電流）をタイムリーに検出する。
【００１９】
ＭＣＵ２は、アクチュエータ６の故障の有無を確認するために、定期的に駆動装置５へ指示を出す。駆動装置５は当該指示を受けて、アクチュエータ６の故障の有無を示した故障レポートをＭＣＵ２に送信する。ＭＣＵ２は、駆動装置５からの故障レポートを確認することで、アクチュエータ６の状態を監視する。
【００２０】
図２に、ＭＣＵ２と駆動装置５との間の通信の様子を示す。まず、ＭＣＵ２が、駆動装置５に対して、故障判定要求（指示）を出す。駆動装置５は、故障検出装置１１を用いて、アクチュエータ６の各種故障（天絡、地絡、断線、過電流）の判定を行い、判定結果を故障レポートとしてＭＣＵ２に送信する。アクチュエータ６に故障が発生していなければ、ＭＣＵ２は、予め設定された判定周期Ｐ１で、駆動装置５へ故障判定要求を出し続ける。また、アクチュエータ６の種類によっては、ＭＣＵ２が、異なる故障判定条件で、制限時間以内に、規程回数、故障判定要求を送信する場合もある。なお、故障判定条件には、アクチュエータの電圧または温度等が含まれる。
【００２１】
一方、図３に示すように、アクチュエータ６のうちの少なくとも１つに故障が発生していると、すなわち、判定結果がＮＧの場合には、ＭＣＵ２は、解析した故障内容に基づく処置Ａｃｔを、駆動装置５に指示する。例えば、故障が発生したアクチュエータ６を制御している駆動装置５に対して、ＭＣＵ２は、処置Ａｃｔとして、当該アクチュエータ６の動作を停止させるための指示を出す。
【００２２】
通常、ＥＣＵ１には、複数の駆動装置５が搭載されている。ＭＣＵ２は、常に、制御対象の各アクチュエータ６の故障状態を監視する。また、ＭＣＵ２は、センサ（群）３からの情報をトリガし、センサインタフェース４で加工された情報をリアルタイムに処理する。ＭＣＵ２は、これら以外の処理に対しても、さまざまなタスク、並びに、通信インタフェースとのやり取りを、リアルタイムに行う必要がある。そのため、ＥＣＵ１において、当該故障判定に関連する通信負荷を極力軽減させる仕組みが必要となる。
【００２３】
また、故障判定要求仕様は、各アクチュエータ６に依存する。そのため、駆動装置５が、汎用性の高い、再構成可能な、故障判定機能を持つことが望まれる。さもなければ、駆動装置５をアクチュエータ６ごとに再設計する必要が生じる。その場合には、コスト高及び開発遅延を引き起こす可能性がある。
【００２４】
しかしながら、ＭＣＵと駆動装置との通信の中で、ＭＣＵの判断や制御を必要とするのは、故障発生時（判定結果がＮＧ）の場合のみである。一般家庭で使用される民生品と比較すると、車載装置は信頼性が高いので、故障発生確率は極めて低い。したがって、各駆動装置に要求される故障判定要件を満足していれば、故障発生時にのみ、各駆動装置からＭＣＵへ必要情報をレポートすればよい。従って、本発明の実施の形態では、各駆動装置に、故障判定装置を設けるとともに、故障判定条件を認知させておく。また、駆動装置に、定期的あるいは故障発生時に、ＭＣＵに故障レポートを送付する機能を持たせる。これにより、通信トラフィックを軽減させ、リアルタイム性の遵守に寄与させる。また、本発明の実施の形態では、駆動装置に、簡易プロセッサとメモリとを持たせる。駆動装置は、簡易プロセッサとメモリとを用いて、故障判定をソフトウエア処理で行う。そのため、固有の故障判定要件を持つアクチュエータに対して、駆動装置を再設計する必要がない。
【００２５】
以下、本発明の実施の形態について説明する。なお、本発明の実施の形態１に係る駆動装置５は、車両に搭載された１以上のアクチュエータ６の駆動を行うとともに、ＭＣＵ２からの指示を受けて、アクチュエータ６の故障の有無を判定する。
【００２６】
実施の形態１．
本発明の実施の形態１に係る駆動装置の構成を図４に示す。
図４に示すように、本実施の形態１に係る駆動装置５は、ＭＣＵ２とアクチュエータ６との間に接続されている。アクチュエータ６の個数は１以上である。これらのアクチュエータ６は、アクチュエータ群を構成している。
【００２７】
なお、本実施の形態１においても、図１に示すように、駆動装置５とＭＣＵ２とは、センサインタフェース４とともに、ＥＣＵ１に搭載される。ＥＣＵ１の構成およびセンサ(群）３の構成は、図１と基本的に同じであるため、ここでは説明を省略する。本実施の形態１と図１との差異は、駆動装置５の構成および動作である。
【００２８】
駆動装置５は、内部に、シリアルインタフェース７と、論理装置８と、故障検出装置１１と、割り込み発生装置１５とを備えている。
【００２９】
シリアルインタフェース７は、ＭＣＵ２との間で信号のやりとりを行う。シリアルインタフェース７は、ＭＣＵ２からの指示を受信し、ＭＣＵ２へ故障レポートを送信する。
【００３０】
故障検出装置１１は、各アクチュエータ６ごとに１つずつ設けられている。故障検出装置１１は、各アクチュエータ６の故障（天絡、地絡、断線、過電流）を監視し、正常／異常のステータスを、メモリ装置１０のデータ部１０ｂに設けられた故障フラグレジスタに故障フラグとして格納する。具体的には、アクチュエータ６が正常の場合には故障フラグを「０」にし、異常の場合には故障フラグを「１」にする。
【００３１】
論理装置８は、シリアルインタフェース７からの指示をデコードして必要な処理を実行する。また、論理装置８は、ＭＣＵ２にレポートするために必要な情報を、シリアルインタフェース７へ送信する。論理装置８は、内部に、プロセッサとしてのＣＰＵ（Central Processor Unit）９と、メモリ装置１０と、タイマ装置１６と、カウンタ装置１７とを備えている。
【００３２】
メモリ装置１０は、プログラムを書き込むコード部１０ａと、データを書き込むデータ部１０ｂとを有する。コード部１０ａには、各故障検出装置１１ごとに、故障判定要件が記載されるベクタが割り振られている。ＭＣＵ２からの指示を受けて、駆動装置５は、ＣＰＵ９を用いて、当該故障判定要件に基づく故障判定を故障検出装置１１により実行する。また、メモリ装置１０は、アクチュエータ６に対応する故障検出装置１１ごとに、故障判定を行う制限時間Ｔ１、判定周期Ｐ１、繰り返し回数Ｎ、および、故障判定要件を、プログラム化して記憶している。
【００３３】
ＣＰＵ９は、演算装置１２と、制御装置１３と、レジスタ装置１４とで構成されている。ＣＰＵ９は、メモリ装置１０のコード部１０ａに登録されている各ベクタに記述されたプログラムシーケンスを、演算装置１２及び制御装置１３により定義・実行する。
【００３４】
割り込み発生装置１５は、メモリ装置１０のデータ部１０ｂに格納される故障フラグを監視する。割り込み発生装置１５は、故障フラグが「１」であった場合には、アクチュエータ(群）６に故障が発生していると検知する。割り込み発生装置１５は、故障発生時に、ＭＣＵ２に対して、割込信号を送信する。
【００３５】
タイマ装置１６は、後述する制限時間Ｔ１および判定周期Ｐ１を計測する。
【００３６】
カウンタ装置１７は、故障検出装置１１が故障判定を繰り返し実施する繰り返し回数Ｎ、および、故障判定により検出されたアクチュエータ６の故障発生回数をカウントする。
【００３７】
なお、駆動装置５のシリアルインタフェース７、論理装置８、故障検出装置１１、割り込み発生装置１５における上記のロジックを動作させるための電源およびクロックは、駆動装置５の外部から供給される。
【００３８】
本発明の実施の形態１に係る駆動装置の別形態（変形例）の構成を図１２に示す。
図１２の構成は、図４の構成におけるＣＰＵ９とタイマ装置１６とカウンタ装置１７とを、プログラムロジックアレイ１８に置き換えた構成である。図１２においては、外部あるいはＭＣＵ２から、シリアルインタフェース７を経由して、故障判定要求に基づいたハードウエアコンフィギュレーション情報が、メモリ装置１０のコード部１０ａにダウンロードされる。プログラムロジックアレイ１８は、コード部１０ａにダウンロードされた当該情報に基づいて、ロジックを再構築する。
【００３９】
以下、本実施の形態１の動作について動作例１〜４を例として挙げて説明する。動作例１〜３では、図４の構成の場合の動作について説明し、動作例４では、図１２の構成の場合の動作について説明する。
【００４０】
(動作例１）
駆動装置５は、“ＭＣＵ２から故障判定要求を受けて、それに対して、ＭＣＵ２へ判定結果を返信する”という、アクチュエータ６の故障の有無を判定するためのルーチンワークを実施する。駆動装置５は、当該ルーチンワークを、ＣＰＵ９を用いて、メモリ装置１０のコード部１０ａに格納されたプログラムシーケンスに従ってソフトウエア処理する。また、駆動装置５は、アクチュエータ６の故障発生時にのみ、割り込み発生装置１５を用いて、ＭＣＵ２に対して割込信号を発生する。すなわち、駆動装置５は、アクチュエータ６に故障が発生していなければ、予め設定された制限時間Ｔ１の経過後に、一定の判定周期Ｐ１ごとに実施したＮ回分の判定結果をまとめて、故障レポートＲ１として、ＭＣＵ２に送信する。このようにすることで、ＭＣＵ２と駆動装置５との間のデータ通信を大幅に削減し、リアルタイム性を遵守する。
【００４１】
図５に、ＭＣＵ２と駆動装置５との正常動作時のタイムチャートを示す。図５において、制限時間Ｔ１は、駆動装置５が故障判定を実施する期間である。制限時間Ｔ１は、予め設定される。また、繰り返し回数Ｎは、駆動装置５が故障判定を繰り返し実施する回数である。繰り返し回数Ｎは、予め設定される。また、判定周期Ｐ１は、駆動装置５が故障判定を行う周期である。また、指示Ｃ１とは、ＭＣＵ２から駆動装置５に対して送信される故障判定要求のことである。故障判定要求とは、アクチュエータ６に故障が発生しているか否かを判定する故障判定を行うように、駆動装置５に要求する指示のことである。また、判定Ｄ１とは、駆動装置５が行う故障判定のことである。また、レポートＲ１は、駆動装置５がＭＣＵ２に送信する判定結果である。なお、制限時間Ｔ１、繰り返し回数Ｎ、および、判定周期Ｐ１は、ＭＣＵ２または外部からの指示により設定されてもよく、あるいは、駆動装置５に予め設定されていてもよい。
【００４２】
図５に示すように、制限時間Ｔ１において、まず、ＭＣＵ２が駆動装置５に対して故障判定要求（指示Ｃ１）を送信する。駆動装置５は、受信した指示Ｃ１に応じて、制限時間Ｔ１が経過するまでに、繰り返し回数Ｎの回数だけ、故障判定を繰り返し行う。このときの繰り返しの周期は、判定周期Ｐ１である。こうして、制限時間Ｔ１が経過したときに、駆動装置５は、ＭＣＵ２に対して、判定結果（故障レポートＲ１）を送信する。当該判定結果（故障レポートＲ１）には、繰り返し回数Ｎの回数分の故障判定結果が含まれる。
【００４３】
このように、図５に示されるように、ＭＣＵ２から駆動装置５に故障判定要求（指示Ｃ１）を出した後は、制限時間Ｔ１が経過するまで、ＭＣＵ２と駆動装置５との間での通信は行われない。すなわち、アクチュエータ(群）６に故障が発生しなければ、ＭＣＵ２と駆動装置５との間に通信負荷は発生しない。これに対し、一般的な場合を示した図２を見ると、判定周期Ｐ１ごとに、ＭＣＵ２と駆動装置５との間で通信が行われている。図５と図２を比較すると、本実施の形態１では通信負荷が大幅に削減されていることがわかる。
【００４４】
また、本実施の形態１においては、繰り返し回数Ｎを予め設定することで、定期的に各アクチュエータ６の故障状態をモニタすることができる。図５と図２を比較すると、本実施の形態１においては、ＭＣＵ２からの指示がないにもかかわらず、図２と同様に、駆動装置５が、繰り返し、故障判定Ｄ１を行っていることがわかる。アクチュエータ６のいずれにも故障が発生していなければ、ＭＣＵ２に対して、判定周期Ｐ１ごとに判定結果を送信する必要はない。従って、本実施の形態１においては、駆動装置５は、ＭＣＵ２に対して、制限時間Ｔ１が経過したときに、Ｎ回分の判定結果をまとめて、故障レポートＲ１として送信する。このことで、本実施の形態１では通信負荷が大幅に削減される。
【００４５】
また、本実施の形態１においては、アクチュエータ６のうちの少なくとも１つに故障が発生した場合には、直ちに、駆動装置５は、割り込み発生装置１５用いて、ＭＣＵ２に対して割込信号を送信して、当該故障発生を通知する。これにより、駆動装置５は、故障発生を即座にＭＣＵ２に通知することができる。図３の場合と比較すると、図３においては、ＭＣＵ２からの故障判定要求（指示Ｃ１）を受けるまでは、アクチュエータ６の故障判定および故障検出が行われないので、その分だけ、故障発生の通知が遅い。最大遅延時間は、判定周期Ｐ１の時間長となる。従って、本実施の形態１の方が、故障発生が迅速に通知されるので、リアルタイム性が遵守される。
【００４６】
また、本実施の形態１においては、ＣＰＵ９とメモリ装置１０とを備え、故障判定をソフトウエア処理させるようにした。そのため、多様な故障判定要求やシナリオに基づいた各アクチュエータ６固有の故障判定要件を、メモリ装置１０のコード部１０ａの内容を単に書き換えることで変更することができる。その結果、本実施の形態１においては、駆動装置５のハードウエアを変更することなく、アクチュエータ６のさまざまな故障判定要件に対してソフトウエアで対応可能である。
【００４７】
図６に、本実施の形態１の動作例１に係る駆動装置５の故障診断フローチャートを示す。
【００４８】
図６に示すように、まず、ステップＳ００１で、駆動装置５は、ＭＣＵ２から、シリアルインタフェース７を介して、プログラムやパラメータを論理装置８内のメモリ装置１０に取り込む。
【００４９】
次に、ステップＳ００２で、駆動装置５は、メモリ装置１０に取り込んだプログラム内に制限時間Ｔ１を設定するパラメータがあれば、当該パラメータに基づき、タイマ装置１６に制限時間Ｔ１をセットする。
【００５０】
次に、ステップＳ００３で、駆動装置５は、メモリ装置１０に取り込んだプログラム内に繰り返し回数Ｎを設定するパラメータがあれば、当該パラメータに基づき、カウンタ装置１７に繰り返し回数Ｎをセットする。カウンタ装置１７は、故障判定が１回完了するごとに、繰り返し回数のカウンタ値をデクリメントする。また、カウンタ装置１７は、故障発生回数のカウンタ値をリセットする。カウンタ装置１７は、故障判定により故障が検出されるごとに、故障発生回数のカウンタ値をインクリメントする。
【００５１】
次に、ステップＳ００４で、駆動装置５は、メモリ装置１０に取り込んだプログラム内に判定周期Ｐ１を設定するパラメータがあれば、当該パラメータに基づき、タイマ装置１６に判定周期Ｐ１をセットする。
【００５２】
次に、ステップＳ００５で、駆動装置５は、各アクチュエータ６ごとに、固有の故障判定条件があれば、メモリ装置１０に設定する。なければ、予めメモリ装置１０に格納された故障判定条件（デフォルト値）のままとする。なお、故障判定条件には、例えば、アクチュエータ６の電圧、温度、および、動作モード、あるいは、アクチュエータの周囲温度のうちの少なくとも１つが含まれる。
【００５３】
次に、ステップＳ００６で、駆動装置５は、故障判定要求（指示Ｃ１）をＭＣＵ２から受信し、それに応じて、ＣＰＵ９の制御により、故障検出装置１１を用いて各アクチュエータ６の故障判定を実施する。故障検出装置１１は、各アクチュエータ６の故障の発生の有無を判定し、正常／異常のステータスを、故障フラグ「０」／「１」として、メモリ装置１０のデータ部１０ｂの故障フラグレジスタに格納する。また、故障検出装置１１は、故障検出時に、その故障の種別（天絡、地絡、断線、過電流）も検出し、メモリ装置１０のデータ部１０ｂの詳細情報レジスタに、当該故障の種別が格納される。
【００５４】
次に、ステップＳ００７で、駆動装置５は、割り込み発生装置１５を用いて、メモリ装置１０のデータ部１０ｂの故障フラグレジスタの内容をチェックする。その結果、故障がなければ、ステップＳ００８へ進む。なお、故障があった場合の動作については、後述する動作例２で説明する。
【００５５】
ステップＳ００８では、駆動装置５は、タイマ装置１６が計測する時間に基づいて、判定周期Ｐ１によって定められた判定時間が経過するまで待機し、判定時間が経過したら、ステップＳ００９へ進む。なお、ここで、判定時間の計測は、ＭＣＵ２からの故障判定要求（指示Ｃ１）を受信した時点を始点として計測を開始して行う。
【００５６】
ステップＳ００９では、駆動装置５は、タイマ装置１６が計測する時間に基づいて、制限時間Ｔ１が経過したかどうかをチェックする。制限時間Ｔ１が経過したら、ステップＳ０１２に進み、メモリ装置１０のデータ部１０ｂにエラーフラグを設定し、ＭＣＵ２に対して故障レポートＲ１を出力する。一方、制限時間Ｔ１が経過していなければ、ステップＳ０１０に進む。
【００５７】
ステップＳ０１０では、駆動装置５は、カウンタ装置１７の繰り返しカウンタ値をチェックし、繰り返し回数Ｎが満了していれば、ステップＳ０１１へ進み、繰り返し回数Ｎが満了してなければ、ステップＳ００５に戻り、ステップＳ００５からＳ００９までの処理を繰り返す。
【００５８】
ステップＳ０１１では、駆動装置５は、シリアルインタフェース７を介して、故障判定結果をＭＣＵ２へ送信する。当該送信後、駆動装置５は、プログラムの処理を終了させる。ステップＳ０１２でも、駆動装置５は、シリアルインタフェース７を介して、故障判定結果をＭＣＵ２へ送信する。当該送信後、駆動装置５は、プログラムの処理を終了させる。
【００５９】
なお、駆動装置５において、メモリ装置１０内の故障判定条件を変更する必要があれば、その都度、ステップＳ００５で変更する。
【００６０】
ステップＳ００７における故障発生時の対応については、図７を用いて、以下の動作例２で説明する。
【００６１】
（動作例２）
図７に、アクチュエータ６のうちの少なくとも１つに故障が発生した場合のタイムチャートを示す。図７において、Ｉｎｔは、割り込み発生装置１５から送信される割込信号である。図７の例では、割込信号Ｉｎｔは、正常時にはＨレベルで、異常時にはＬレベルになっている。しかしながら、その場合に限らず、割込信号Ｉｎｔが、異常時にＨレベルで、正常時にＬレベルになるようにしてもよい。また、図７において、Ｃ３は、ＭＣＵ２から駆動装置５に送信される詳細情報要求である。詳細情報要求とは、故障が発生した場合に、その故障に関する詳細情報を含む故障レポートＲ１を送信するように、駆動装置５に要求する指示のことである。また、Ａｃｔは、発生した故障に対する処置である。
【００６２】
図７に示すように、上記の図６のフローに示した駆動装置５によるルーチンワークにおいて、ステップＳ００７で、アクチュエータ６のうちの１つに故障が発生していると判定した場合、割り込み発生装置１５は、割込信号ＩｎｔをＭＣＵ２に送信することで、当該故障の発生をＭＣＵ２に通知する。ＭＣＵ２は、故障に対する詳細情報を得るために、駆動装置５に対して、詳細情報要求（指示Ｃ３）を出力する。これに対して、駆動装置５は、故障の詳細情報を含む故障レポートＲ１をＭＣＵ２に送信する。ＭＣＵ２は、受信した故障レポートＲ１の内容に基づいて、駆動装置５に指示する処置の内容を決定する。処理の例としては、例えば、ＭＣＵ２は、駆動装置５に対し、周期的な故障判定ルーチンを停止し、故障が発生したアクチュエータを直ちに停止させるように指示する。なお、ＭＣＵ２により処置の内容の決定方法としては、例えば、ＭＣＵ２が、故障レポートＲ１の内容とそれに対する処置の内容との対応関係が予め定められたルックアップテーブルを有していて、ＭＣＵ２が、当該ルックアップテーブルを参照して、駆動装置５に指示する処置の内容を決定するようにすればよい。
【００６３】
図８に、メモリ装置１０のデータ部１０ｂ内のメモリマップを示す。図８の上図に示されるように、特定アドレス（ここでは、６’ｂ００００００）の故障フラグレジスタには、駆動装置５が駆動する各アクチュエータ６に対する故障の有無が各ビットごとに割り当てられている。これらの各ビットの値が、故障フラグである。故障フラグの「０」は正常、「１」は異常を表す。また、図８の下図に示されるように、故障詳細情報として、どのアクチュエータ（ドライバ０、１、２、または、３）に故障が発生したかを示す情報、および、どのような種別の故障が発生したかを示す故障種別情報（過電流、オープン、天絡、地絡）も格納されている。
【００６４】
上述したように、アクチュエータ６のうちの少なくともいずれか１つに故障が発生すると、故障検出装置１１による判定結果が、故障フラグとして、図８に示すメモリマップに従って、メモリ装置１０のデータ部１０ｂの故障フラグレジスタに書き込まれる。
割り込み発生装置１５は、メモリ装置１０のデータ部１０ｂの故障フラグレジスタの各故障フラグの値をチェックし、故障フラグの値が「１」だった場合に、ＭＣＵ２へ送信する割込信号Ｉｎｔを発生させる。
【００６５】
ＭＣＵ２は、割込信号Ｉｎｔを受信すると、駆動装置５に対して、故障詳細要求（Ｃ３）を送信する。駆動装置５は、当該故障詳細要求（Ｃ３）を受信すると、まず、故障フラグレジスタ（６’ｂ００００００）の故障フラグを参照して、どのアクチュエータ６（ドライバ０、１、２、または、３）に故障が発生したかを示す故障情報を得る。さらに、駆動装置５は、故障フラグレジスタ（６’ｂ００００００）の故障詳細情報を参照して、故障が発生したアクチュエータ６に対する故障種別情報（過電流、オープン、天絡、地絡）などの故障詳細情報を得る。こうして、駆動装置５は、当該故障情報および故障詳細情報を含む故障レポートＲ１を生成し、ＭＣＵ２に送信する。
【００６６】
ＭＣＵ２は、当該故障レポートＲ１により、どのアクチュエータ６（ドライバ０、１、２、または、３）で故障が発生し、さらに、その故障がどのような種別（過電流、オープン、天絡、地絡）であるか等を認知することができる。ＭＣＵ２は、認知した故障内容を解析し、解析した故障内容に基づく処置Ａｃｔを、駆動装置５に指示する。例えば、故障が発生したアクチュエータ６を制御している駆動装置５に対して、ＭＣＵ２は、処置Ａｃｔとして、当該アクチュエータ６の動作を停止させるための指示を出す。
【００６７】
なお、図７では、ＭＣＵ２が、割込信号を受信した場合に、故障詳細要求（Ｃ３）を送信する例について示しているが、本実施の形態１は、その場合に限定されるものではない。例えば、以下のようにしてもよい。
まず、ＭＣＵ２が、割込信号Ｉｎｔを受信することにより、故障発生を認知する。ＭＣＵ２は、当該故障に関する情報を得るために、まずはじめに、故障判定要求（指示Ｃ１）を駆動装置５に送信する。これに対し、駆動装置５は、故障フラグレジスタ（６’ｂ００００００）の故障フラグを参照して、当該故障情報を含む故障レポートＲ１を、ＭＣＵ２に送信する。ＭＣＵ２は、故障レポートＲ１により、どのアクチュエータ６（ドライバ０、１、２、または、３）に故障が発生したかを認知できる。
次に、ＭＣＵ２は、故障が発生したアクチュエータ６に対する詳細故障種別情報（過電流、オープン、天絡、地絡）を得るために、故障詳細要求（Ｃ３）を駆動装置５に送信する。これに対し、駆動装置５は、故障フラグレジスタ（６’ｂ００００００）の故障詳細情報を参照して、当該故障詳細情報を含む故障レポートＲ１を、ＭＣＵ２に送信する。
このように、故障判定要求（指示Ｃ１）を送信し、それに対する故障レポートＲ１を受信した後に、さらに、故障詳細要求（Ｃ３）を送信するようにして、２段階にわたって、故障情報および故障詳細情報を得るようにしてもよい。
【００６８】
なお、図６は、本動作例２の故障検出フローチャートも兼ねている。本動作例２において、ステップＳ００１からＳ００６までは、動作例１と同じである。そのため、ここでは説明を省略し、ステップＳ００７以降について説明する。本動作例２においては、アクチュエータ６に故障が発生しているため、ステップＳ００７で、ステップＳ０１２に進む。ステップＳ０１２においては、駆動装置５が、メモリ装置１０のデータ部１０ｂに、エラーフラグを設定する。それと同時に、割り込み発生装置１５を用いて、割込信号ＩｎｔをＭＣＵ２に送信し、当該故障発生を即座にＭＣＵ２へ通知する。当該通知後、駆動装置５は、プログラムの処理を終了させる。
【００６９】
なお、このように、図６のフローチャートでは、ステップＳ００７で、故障が発生していた場合には、ステップＳ０１２に進み、ループを抜ける例になっている。しかしながら、そのままループ内に留まり、動作例１と同様、繰り返し回数満了後に駆動装置５からＭＣＵ２へ故障判定結果をレポートさせてもよい。このような処理内容の変更および切替は、メモリ装置１０のコード部１０ａにロードされるプログラムシーケンスによって制御可能である。
【００７０】
（動作例３）
ここでは、動作例２のように、故障が検出された直後に、割込信号Ｉｎｔを送信せずに、図９に示すように、繰り返し回数Ｎで設定された回数分の故障判定が実施された後に、故障発生回数が、予め設定されたエラー規定回数（閾値）に応じて、割込信号Ｉｎｔを送信する例について説明する。すなわち、本動作例３では、制限時間Ｔ１内に、判定周期Ｐ１で、繰り返し回数Ｎで設定された回数分だけ故障検出を繰り返し実施し、その結果、故障発生回数が予め設定されたエラー規定回数（閾値）以上だった場合に、割込信号ＩｎｔをＭＣＵ２に送信する。
【００７１】
動作例３における故障判定では、上記の動作例１及び動作例２とは異なり、１度のエラー発生で直ちに故障とは判定しない。動作例３では、例えば、動作例２のように、直ちに、ＭＣＵ２への割込信号Ｉｎｔを発生させずに、繰り返し回数Ｎの回数分の故障判定を実施した後の故障判定結果（エラー規定回数（閾値）以上のエラー発生回数）に基づいて故障判定を行い、ＭＣＵ２への割込信号Ｉｎｔを発生させる。これを実現するために、図８の故障フラグ同様、図１０に示すような故障マスクレジスタを、各アクチュエータ６ごとに設ける。当該故障マスクレジスタにおいては、故障が発生したときに直ちにＭＣＵ２への割り込みを発生させるアクチュエータ６の故障マスクは「１」にし、故障が発生しても直ちにＭＣＵ２への割り込みを発生させないアクチュエータ６の故障マスクは「０」にする。このように、メモリ装置１０は、割り込み発生装置１５による割込信号Ｉｎｔの送信の許可及び禁止の別をアクチュエータ６ごとに指定するための故障マスクレジスタを有している。これにより、故障マスクが「０」になっているアクチュエータ６に関しては、故障フラグが「１」になっていても、割り込み発生装置１５は、割込信号ＩｎｔをＭＣＵ２に送信しない。一方、故障マスクが「１」になっているアクチュエータ６に関しては、故障フラグが「１」になっている場合に、割り込み発生装置１５は、直ちに、割込信号ＩｎｔをＭＣＵ２に送信する。こうして、故障マスクが「０」になっているアクチュエータ６に関しては、割り込みをマスクし、繰り返し回数Ｎの回数分の故障判定を実施した後の故障判定時に、マスクをクリアして、故障判定結果をエラーフラグに反映させるようなソフトウエア処理を行う。
【００７２】
図１１に、本実施の形態１の動作例３に係る駆動装置５の故障診断フローチャートを示す。なお、図１１のステップＳ１０１〜Ｓ１０４，Ｓ１０７〜Ｓ１０８，Ｓ１１１〜Ｓ１１３，Ｓ１１６の処理は、基本的に、図６のステップＳ００１〜Ｓ００６，Ｓ００８〜Ｓ０１１に相当する。従って、これらの処理については、以下では簡単に説明する。
【００７３】
図１１に示すように、まず、ステップＳ１０１で、駆動装置５は、ＭＣＵ２から、シリアルインタフェース７を介して、プログラムやパラメータを論理装置８内のメモリ装置１０に取り込む。
【００７４】
次に、ステップＳ１０２で、駆動装置５は、取り込んだプログラム内に制限時間Ｔ１を設定するパラメータがあれば、当該パラメータに基づき、タイマ装置１６に制限時間Ｔ１をセットする。
【００７５】
次に、ステップＳ１０３で、駆動装置５は、取り込んだプログラム内に繰り返し回数Ｎを設定するパラメータがあれば、当該パラメータに基づき、カウンタ装置１７に繰り返し回数Ｎをセットする。カウンタ装置１７は、故障判定が１回完了するごとに、当該カウンタ値をデクリメントする。
【００７６】
次に、ステップＳ１０４で、駆動装置５は、取り込んだプログラム内に判定周期Ｐ１を設定するパラメータがあれば、当該パラメータに基づき、タイマ装置１６に判定周期Ｐ１をセットする。
【００７７】
次に、ステップＳ１０５で、エラー規定回数（閾値）を、メモリ装置１０に取り込むとともに、カウンタ装置１７の故障発生回数のカウンタ値をリセットする。
【００７８】
次に、ステップＳ１０６で、ＭＣＵ２または外部からの指示に従って、割り込みマスク情報を、図１０のメモリマップにしたがって、メモリ装置１０のデータ部１０ｂに割り当てる。なお、ここでは、説明を簡略化するために、すべてのアクチュエータ６に対して、故障マスクを「０」に設定する。
【００７９】
次に、ステップＳ１０７で、故障判定条件（電圧、温度、動作モード等）があれば設定する。
【００８０】
次に、ステップＳ１０８で、故障検出装置１１で故障判定を実施する。故障検出装置１１は、各アクチュエータ６の故障（天絡、地絡、断線、過電流）の発生の有無を判定し、正常／異常のステータスを、故障フラグ「０」／「１」として、メモリ装置１０のデータ部１０ｂの故障フラグレジスタに格納する。また、故障検出装置１１は、故障検出時に、その故障の種別（天絡、地絡、断線、過電流）も検出し、メモリ装置１０のデータ部１０ｂの詳細情報レジスタに、当該故障の種別が格納される。
【００８１】
次に、ステップＳ１０９で、駆動装置５は、割り込み発生装置１５を用いて、故障判定結果が格納されているメモリ装置１０のデータ部１０ｂ内の故障フラグレジスタの故障フラグの値をチェックし、故障が発生していれば、ステップＳ１１０へ進み、そうでなければＳ１１０をスキップする。
【００８２】
ステップＳ１１０では、カウンタ装置１７の故障発生回数のカウンタ値をインクリメントする。この時、故障マスクレジスタに、故障マスクとして「０」が設定されているため、割り込み発生装置１５によるＭＣＵ２への割込信号は発生しない。
【００８３】
ステップＳ１１１では、判定周期Ｐ１が経過するまで待つ。
【００８４】
次に、ステップＳ１１２で、制限時間Ｔ１を超えていないかどうかをチェックする。もし、制限時間Ｔ１を超えていれば、その旨をＭＣＵ２へレポートし、本処理を終える。制限時間Ｔ１を超えていなければ、ステップＳ１１３へ進む。
【００８５】
ステップＳ１１３で、カウンタ装置１７の繰り返し回数Ｎのカウンタ値をチェックし、繰り返し回数Ｎが満了してなければ、ステップＳ１０７からＳ１１２までの処理を繰り返す。故障判定条件を変更する必要があれば、ステップＳ１０７で変更する。一方、繰り返し回数Ｎが満了していればステップＳ１１４へ進む。
【００８６】
ステップＳ１１４では、故障マスクレジスタの故障マスクの値を「１」にする。
【００８７】
ステップＳ１１５では、エラー規定回数（閾値）とカウンタ装置１７の故障発生回数のカウンタ値とを比較し、故障発生回数のカウンタ値がエラー規定回数（閾値）を超えていたら、駆動装置５は、エラーフラグを立てる。この時、故障マスクレジスタはクリアされて「１」になっているので、割り込み発生装置１５によってＭＣＵ２への割込信号Ｉｎｔが発生する。
【００８８】
ステップＳ１１６では、駆動装置５は、シリアルインタフェース７を介して、故障判定結果をＭＣＵ２へ送信する。当該送信後、駆動装置５は、プログラムの処理を終了させる。
【００８９】
このように、動作例３では、割り込みをマスクする機能を有することで疑似エラーを削減することができる。
【００９０】
（動作例４）
上記の動作例１，２，３では、図４に記載したハードウエア構成に対する動作例について記載してきた。これらの動作例では、メモリ装置１０のコード部１０ａに搭載されたプログラムをＣＰＵ９が読み出して逐次処理するが、より高速処理が要求される場合、これらの処理をハードウエア化する必要がある。本動作例４では、動作例１，２，３と同機能を、異なるハードウエア構成で実現する例について述べる。本動作例４では、図１２に記載したハードウエア構成に対する動作例について説明する。
【００９１】
図１２においては、図４における、演算装置１２、制御装置１３、及び、レジスタ装置１４を保有するＣＰＵ９と、タイマ装置１６と、カウンタ装置１７とを、プログラムロジックアレイ１８に置き換えている。プログラムロジックアレイとは、例えば、図１３に示すような３入力１出力のルックアップテーブル２２とレジスタ２３とで構成されるロジックエレメント（群）２１で構成された回路で、敷き詰められたロジックエレメント２１の結線を後述するコンフィギュレーションによって再構築することで、任意のロジックを構成する回路である。
【００９２】
図６または図１１で記述されたプログラムシーケンスは、論理合成ツールを用いてコンフィギュレーション情報という形式にマッピングし、そのコンフィギュレーション情報は、外部あるいはＭＣＵ２からシリアルインタフェース７を経由してメモリ装置１０に格納されることで、当該機能のハードウエア処理を可能とする。
【００９３】
なお、動作例４における処理の流れ及び処理の内容は、動作例１〜３と基本的に同じであるため、ここでは、その説明を省略し、動作例１〜３を参照することとする。但し、当該参照においては、図４における、演算装置１２、制御装置１３、及び、レジスタ装置１４を保有するＣＰＵ９と、タイマ装置１６と、カウンタ装置１７の動作を、すべて、プログラムロジックアレイ１８の動作と読み替えることとする。
【００９４】
このように、動作例４においては、動作例１〜３におけるＣＰＵ９とタイマ装置１６とカウンタ装置１７とをプログラムロジックアレイ１８で構成するようにしたので、動作例１〜３と同様に動作することができる。従って、動作例４においても、動作例１〜３と同様に、アクチュエータ６ごとに故障判定要件を変更することができる。これにより、動作例４においても、動作例１〜３と同様の効果を得ることができる。
【００９５】
以上、動作例１〜４を用いて説明したように、本発明の実施の形態１によれば、駆動装置５が故障判定をソフトウエア処理するようにしたので、メモリ装置１０内の故障判定要件を書き換えるだけで、所望の故障判定要件に従う故障判定を行うことができる。これにより、多様な故障判定要求やシナリオに基づいた各アクチュエータ６固有の故障判定要件を、駆動装置５を変更することなく、多岐に渡る故障判定仕様に適用できるため、製品開発リードタイムの短縮やコスト低減も見込め、かつ、駆動装置５を含めたＡＳＳＰ（Application Specific Standard Produce）化も可能となる。
【００９６】
また、故障判定を実施するごとに判定結果を送信せずに、Ｎ回分の故障判定結果をまとめて送信するようにしたので、ＭＣＵ２と駆動装置５とのデータ通信量を大幅に削減し、リアルタイム性遵守に大きく寄与できる。また、データトラフィック量が削減されることにより、消費電力やノイズの削減効果も見込める。
【００９７】
さらに、割り込みをマスクするか否かを指定する故障マスクレジスタを設けるようにして、故障検出直後に割込信号を送信せずに、規定回数以上故障発生と検出された場合にのみ、割込信号Ｉｎｔを送信するようにしたので、駆動装置５からＭＣＵ２への疑似故障判定をなくし、ＭＣＵ２の処理を軽減することができる。
【００９８】
また、図１２に示すように、コンフィギュレーションによるプログラムロジックアレイ１８を採用してもよく、その場合には、上記効果を維持しつつ、処理性能をより高速化することができる。
【符号の説明】
【００９９】
１  ＥＣＵ（Ｅｌｅｃｔｒｏｎｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）、２  ＭＣＵ（Ｍｉｃｒｏ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）、３  センサ（群）、４  センサインタフェース、５  駆動装置、６  アクチュエータ、７  シリアルインタフェース、８  論理装置、９  ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）、１０  メモリ装置、１１  故障検出装置、１２  演算装置、１３  制御装置、１４  レジスタ装置、１５  割り込み発生装置、１６  タイマ装置、１７  カウンタ装置、１８  プログラムロジックアレイ、２１  ロジックエレメント、２２  ルックアップテーブル、２３  レジスタ。
【図１】
2017024516.tif 000003
【図２】
2017024516.tif 000004
【図３】
2017024516.tif 000005
【図４】
2017024516.tif 000006
【図５】
2017024516.tif 000007
【図６】
2017024516.tif 000008
【図７】
2017024516.tif 000009
【図８】
2017024516.tif 000010
【図９】
2017024516.tif 000011
【図１０】
2017024516.tif 000012
【図１１】
2017024516.tif 000013
【図１２】
2017024516.tif 000014
【図１３】
2017024516.tif 000015
【手続補正書】
【提出日】平成28年8月15日(2016.8.15)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００１２
【補正方法】変更
【補正の内容】
【００１２】
本発明は、コントロールユニットとアクチュエータとの間に接続され、前記コントロールユニットの制御により前記アクチュエータを駆動する駆動装置であって、前記アクチュエータの故障判定を行う故障検出装置と、前記コントロールユニットとの間で通信を行うシリアルインタフェースと、前記シリアルインタフェースを介して前記コントロールユニットから受信したプログラムと、前記故障検出装置による故障判定結果とを記憶するメモリ装置と、前記コントロールユニットからの故障判定要求に従って、前記プログラムを実行して、前記故障検出装置に前記故障判定を実行させるプロセッサと、前記故障検出装置の故障判定に対する制限時間、および、前記故障検出装置の故障判定の判定周期を計測するタイマと、前記故障検出装置によって実行された前記故障判定の繰り返し実行回数、および、前記故障検出装置によって検出された前記アクチュエータの故障発生回数をカウントするカウンタとを備え、前記プロセッサは、前記コントロールユニットから前記故障判定要求を受信したときに、前記プログラムを実行することにより、前記制限時間内に、前記判定周期ごとに、前記メモリ装置に予め記憶されている繰り返し回数の回数だけ、前記故障検出装置に前記故障判定を実行させ、前記制限時間の経過後に、前記コントロールユニットに対して、前記故障検出装置による故障判定結果を送信し、前記プロセッサ、前記タイマ、および、前記カウンタは、プログラムロジックアレイで構成されている、駆動装置である。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
コントロールユニットとアクチュエータとの間に接続され、前記コントロールユニットの制御により前記アクチュエータを駆動する駆動装置であって、
前記アクチュエータの故障判定を行う故障検出装置と、
前記コントロールユニットとの間で通信を行うシリアルインタフェースと、
前記シリアルインタフェースを介して前記コントロールユニットから受信したプログラムと、前記故障検出装置による故障判定結果とを記憶するメモリ装置と、
前記コントロールユニットからの故障判定要求に従って、前記プログラムを実行して、前記故障検出装置に前記故障判定を実行させるプロセッサと、
前記故障検出装置の故障判定に対する制限時間、および、前記故障検出装置の故障判定の判定周期を計測するタイマと、
前記故障検出装置によって実行された前記故障判定の繰り返し実行回数、および、前記故障検出装置によって検出された前記アクチュエータの故障発生回数をカウントするカウンタと
を備え、
前記プロセッサは、前記コントロールユニットから前記故障判定要求を受信したときに、前記プログラムを実行することにより、前記制限時間内に、前記判定周期ごとに、前記メモリ装置に予め記憶されている繰り返し回数の回数だけ、前記故障検出装置に前記故障判定を実行させ、前記制限時間の経過後に、前記コントロールユニットに対して、前記故障検出装置による故障判定結果を送信し、
前記プロセッサ、前記タイマ、および、前記カウンタは、プログラムロジックアレイで構成されている、
駆動装置。
【請求項２】
コントロールユニットとアクチュエータとの間に接続され、前記コントロールユニットの制御により前記アクチュエータを駆動する駆動装置であって、
前記アクチュエータの故障判定を行う故障検出装置と、
前記コントロールユニットとの間で通信を行うシリアルインタフェースと、
前記シリアルインタフェースを介して前記コントロールユニットから受信したプログラムと、前記故障検出装置による故障判定結果とを記憶するメモリ装置と、
前記コントロールユニットからの故障判定要求に従って、前記プログラムを実行して、前記故障検出装置に前記故障判定を実行させるプロセッサと、
前記故障検出装置の故障判定に対する制限時間、および、前記故障検出装置の故障判定の判定周期を計測するタイマと、
前記故障検出装置によって実行された前記故障判定の繰り返し実行回数、および、前記故障検出装置によって検出された前記アクチュエータの故障発生回数をカウントするカウンタと
を備え、
前記プロセッサは、前記コントロールユニットから前記故障判定要求を受信したときに、前記プログラムを実行することにより、前記制限時間内に、前記判定周期ごとに、前記メモリ装置に予め記憶されている繰り返し回数の回数だけ、前記故障検出装置に前記故障判定を実行させ、前記制限時間の経過後に、前記コントロールユニットに対して、前記故障検出装置による故障判定結果を送信し、
前記メモリ装置に記憶された前記故障判定結果に基づいて、前記アクチュエータの故障の有無を検知し、前記アクチュエータに故障が発生している場合に、前記コントロールユニットに割込信号を送信して前記アクチュエータの故障を通知する割り込み発生装置をさらに備え、
前記メモリ装置は、前記割り込み発生装置による前記割込信号の送信の許可及び禁止の別を前記アクチュエータごとに指定するための故障マスクレジスタを有する、
駆動装置。
【請求項３】
前記メモリ装置は、前記アクチュエータに対応する前記故障検出装置ごとに、前記故障判定の故障判定要件を記憶する、
請求項１または２に記載の駆動装置。
【請求項４】
前記メモリ装置は、前記アクチュエータに対応する前記故障検出装置ごとに、前記制限時間、前記判定周期、前記繰り返し回数、および、前記故障判定要件を、プログラム化して記憶する、
請求項３に記載の駆動装置。