(57)【特許請求の範囲】
【請求項１】
レジスタ（１６）、複数のＡＤチャンネルから入力されるアナログ値をデジタル値に変換するＡＤ変換器（１０）、前記ＡＤ変換器によるＡＤ変換結果としての前記デジタル値と共に、どの前記ＡＤチャンネルからの前記アナログ値を変換したかを識別するための識別情報を前記レジスタの特定のアドレスに格納する機能、および、特定の前記ＡＤチャンネルの前記識別情報を周期的に切り替える機能を有するマイクロコントローラ（１）と、
該当の前記ＡＤチャンネルの前記識別情報が格納される前記レジスタから前記識別情報を取得し、前記識別情報が切り替わることを確認することで、前記マイクロコントローラの異常を検出可能な異常検出手段（１）と、
を備える情報処理装置（２）。
【請求項２】
レジスタ（１６）、ＲＡＭ（１２）、前記レジスタに格納されている情報を前記ＲＡＭに転送するＤＭＡＣ（１８）、複数のＡＤチャンネルから入力されるアナログ値をデジタル値に変換するＡＤ変換器（１０）、前記ＡＤ変換器によるＡＤ変換結果としての前記デジタル値と共に、どの前記ＡＤチャンネルからの前記アナログ値を変換したかを識別するための識別情報を前記レジスタの特定のアドレスに格納する機能、および、特定の前記ＡＤチャンネルの前記識別情報を周期的に切り替える機能を有するマイクロコントローラ（１）と、
前記ＤＭＡＣによって前記ＲＡＭに転送された前記識別情報を切り替え可能な前記ＡＤ変換結果から前記ＡＤチャンネルの前記識別情報を取得し、取得した前記識別情報を確認することで、前記マイクロコントローラの異常を検出可能な異常検出手段（１）と、
を備える情報処理装置（２）。
【請求項３】
前記異常検出手段は、前記ＤＭＡＣの転送の周期よりも遅い周期で異常検出処理を行い、異常検出処理を行う際には、前記識別情報が切り替わる前記ＡＤチャンネルに付与された複数回分の前記識別情報を確認することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記異常検出手段は、前記識別情報が周期的に切り替わる前記ＲＡＭのうち、特定の前記ＲＡＭの識別情報が適切な識別情報になっているか否かを確認することで、前記マイクロコントローラの異常を検出可能であることを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記異常検出手段により前記マイクロコントローラの異常を検出した回数を計測し、当該回数に応じて前記マイクロコントローラの一時的な異常と恒久的な異常とを判別する異常判別手段（１）をさらに備えることを特徴とする請求項１〜４のいずれか一項に記載の情報処理装置。
【請求項６】
前記ＡＤ変換結果に基づき制御対象（４）を制御するシステム（９０）に適用され、
前記異常判別手段により前記マイクロコントローラの一時的な異常が発生したと判別した場合、前回正常に取得された前記ＡＤ変換結果を用いて前記制御対象の制御を継続する制御継続手段（１）をさらに備えることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記ＡＤ変換結果に基づき制御対象（４）を制御するシステム（９０）に適用され、
前記異常判別手段により前記マイクロコントローラの一時的な異常が発生したと判別した場合、今回取得した前記ＡＤ変換結果を用いて前記制御対象の制御を継続する制御継続手段（１）をさらに備えることを特徴とする請求項５または６に記載の情報処理装置。
【請求項８】
前記ＡＤ変換結果に基づき制御対象（４）を制御するシステム（９０）に適用され、
前記異常判別手段により前記マイクロコントローラの恒久的な異常が発生したと判別した場合、前記制御対象の制御を停止する制御停止手段（１）をさらに備えることを特徴とする請求項５〜７のいずれか一項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置に関し、特に制御対象を制御可能な情報処理装置に関する。
【背景技術】
【０００２】
従来、制御対象を制御するマイクロコントローラを備えた情報処理装置が知られている。マイクロコントローラは、入力された複数のアナログ値をデジタル値に変換、すなわちＡＤ変換し、当該デジタル値に基づき制御対象を制御する。情報処理装置の使用時、マイクロコントローラには様々な異常が発生し得る。マイクロコントローラの異常の中でも、ＡＤ変換結果を正しく取得できなくなるような異常は、例えば電動パワーステアリングシステムのように特に安全に関わる製品においてはシステムに影響を与えかねず、リアルタイムに異常を検出し処置を行う必要がある。このような事情から、近年ではＡＤ変換器の異常検出機能を有するマイクロコントローラを備えた情報処理装置が提案されている（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２８４３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のマイクロコントローラでは、複数のアナログ入力端子ＡＮｓ〜ＡＮｔから唯一の入力信号を選択するＡＤ変換器において、例えばＡＮｓの変換結果として、ＡＮｔの変換結果を格納してしまう異常を想定し、選択された信号が間違いなく対応するチャンネルのデータレジスタに退避されているか、後にソフトウェアなどで確認できるよう当該チャンネルの番号も識別情報としてデータレジスタに退避する機能を有している。しかしながら、ＡＤ変換器の一時的な異常と恒久的な異常との判別がなされておらず、実際にはＡＤ変換結果が正しく退避されているにも関わらず、識別情報退避時に例えばα線などの影響により誤った識別情報が格納されたときにも異常と判断してしまう問題があった。
【０００５】
また、ＡＤ変換結果に関してＤＭＡＣなどＣＰＵを介さずに特定のＲＡＭ領域に転送するようなシステムにおいては、ＡＤ変換自体に異常はなくともＤＭＡＣの異常によりＡＤ変換結果が正しく取得できない場合がある。例えば、ＤＭＡＣの転送先アドレスが異常となり正しいアドレスに転送できない場合や、起動トリガに異常が生じ、ＡＤ変換結果のＲＡＭ転送が１回ないし複数回抜けた場合には本来のタイミングとは異なるタイミングで取得されたＡＤ変換結果を用いてしまう可能性がある。このとき、ＡＤ変換器自体は正常に動作していることから、各チャンネルに割り当てられた識別情報が付与されていることを確認するだけではＡＤ変換結果を正しく取得できず、場合によってはシステムに影響を与えるおそれがある。
【０００６】
本発明は、上述の問題に鑑みてなされたものであり、その目的は、マイクロコントローラの一時的な異常と恒久的な異常との判別が可能な情報処理装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様の情報処理装置は、マイクロコントローラと異常検出手段とを備えている。
マイクロコントローラは、レジスタ、および、複数のＡＤチャンネルから入力されるアナログ値をデジタル値に変換するＡＤ変換器等を有している。また、マイクロコントローラは、ＡＤ変換器によるＡＤ変換結果としてのデジタル値と共に、どのＡＤチャンネルからのアナログ値を変換したかを識別するための識別情報をレジスタの特定のアドレスに格納する機能、および、特定のＡＤチャンネルの識別情報を周期的に切り替える機能を有している。
異常検出手段は、該当のＡＤチャンネルの識別情報が格納されるレジスタから識別情報を取得し、識別情報が切り替わることを確認することで、マイクロコントローラの異常を検出可能である。
【０００８】
本発明の別の態様の情報処理装置は、マイクロコントローラと異常検出手段とを備えている。
マイクロコントローラは、レジスタ、および、複数のＡＤチャンネルから入力されるアナログ値をデジタル値に変換するＡＤ変換器等を有している。また、マイクロコントローラは、ＡＤ変換器によるＡＤ変換結果としてのデジタル値と共に、どのＡＤチャンネルからのアナログ値を変換したかを識別するための識別情報をレジスタの特定のアドレスに格納する機能、および、特定のＡＤチャンネルの識別情報を周期的に切り替える機能を有している。
異常検出手段は、ＤＭＡＣによってＲＡＭに転送された識別情報を切り替え可能なＡＤ変換結果からＡＤチャンネルの識別情報を取得し、取得した前記識別情報を確認することで、マイクロコントローラの異常を検出可能である。
【図面の簡単な説明】
【０００９】
【図１】（Ａ）は本発明の第１実施形態による情報処理装置を電動パワーステアリングシステムに適用した状態を示す模式図、（Ｂ）は情報処理装置のマイクロコントローラを示す模式図。
【図２】本発明の第１実施形態のＡＤ変換器の作動状態を示す図。
【図３】本発明の第１実施形態のＡＤ変換器の作動状態を示す図。
【図４】本発明の第１実施形態のＡＤ変換器の作動状態を示す図。
【図５】本発明の第１実施形態のＡＤ変換器の作動状態を示す図。
【図６】本発明の第１実施形態のＡＤ変換器の作動状態を示す図。
【図７】本発明の第１実施形態のＡＤ変換器の作動状態を示す図。
【図８】本発明の第１実施形態のＡＤ変換器の作動状態を示す図。
【図９】本発明の第１実施形態の情報処理装置の異常検出および異常判別処理を示すフロー図。
【図１０】本発明の第２実施形態による情報処理装置のマイクロコントローラを示す模式図。
【図１１】本発明の第２実施形態のマイクロコントローラの処理周期を示す図。
【図１２】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図１３】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図１４】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図１５】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図１６】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図１７】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図１８】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図１９】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図２０】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図２１】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図２２】本発明の第２実施形態の情報処理装置の異常検出処理を示すフロー図。
【図２３】本発明の第２実施形態の情報処理装置の異常検出および異常判別処理を示すフロー図。
【図２４】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図２５】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図２６】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図２７】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図２８】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図２９】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図３０】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図３１】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図３２】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図３３】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図３４】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図３５】本発明の第２実施形態の情報処理装置の異常検出処理を示すフロー図。
【図３６】本発明の第２実施形態の情報処理装置の異常検出および異常判別処理を示すフロー図。
【図３７】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図３８】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図３９】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４０】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４１】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４２】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４３】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４４】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４５】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４６】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４７】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４８】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図４９】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５０】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５１】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５２】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５３】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５４】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５５】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５６】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５７】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５８】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図５９】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図６０】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図６１】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図６２】本発明の第２実施形態のマイクロコントローラの作動状態を示す図。
【図６３】本発明の第２実施形態の情報処理装置の異常検出処理を示すフロー図。
【図６４】本発明の第２実施形態の情報処理装置の異常検出および異常判別処理を示すフロー図。
【図６５】本発明の第２実施形態のＲＡＭの状態を示す図。
【図６６】本発明の第２実施形態のＲＡＭの状態を示す図。
【図６７】本発明の第２実施形態におけるＤＭＡＣ転送回数と識別情報との関係を示す図。
【発明を実施するための形態】
【００１０】
以下、本発明の複数の実施形態による制御装置を図面に基づき説明する。なお、複数の実施形態において、実質的に同一の構成部位には同一の符号を付し、説明を省略する。
（第１実施形態）
本発明の第１実施形態による情報処理装置を図１（Ａ）に示す。情報処理装置としての電子制御ユニット（以下、「ＥＣＵ」という）２は、外部から入力された情報を処理し、処理した情報に基づき、制御対象としてのモータ４を駆動制御するものである。ＥＣＵ２は、モータ４とともに、例えば車両のステアリング操作をアシストするための電動パワーステアリングシステム９０に採用される。ここで、電動パワーステアリングシステム９０は、特許請求の範囲における「システム」に対応する。
【００１１】
図１（Ａ）は、電動パワーステアリングシステム９０の全体構成を示すものである。電動パワーステアリングシステム９０には、ハンドル９１に接続されたステアリングシャフト９２にトルクセンサ９４が設けられている。トルクセンサ９４は、運転者からハンドル９１を経由してステアリングシャフト９２に入力される操舵トルクを検出する。
ステアリングシャフト９２の先端にはピニオンギア９６が設けられており、ピニオンギア９６はラック軸９７に噛み合っている。ラック軸９７の両端には、タイロッド等を介して一対の車輪９８が回転可能に連結されている。
【００１２】
これにより、運転者がハンドル９１を回転させると、ハンドル９１に接続されたステアリングシャフト９２が回転し、ステアリングシャフト９２の回転運動は、ピニオンギア９６によってラック軸９７の直線運動に変換され、ラック軸９７の直線運動変位に応じた角度について一対の車輪９８が操舵される。
電動パワーステアリングシステム９０は、操舵アシストトルクを発生するモータ４、当該モータ４を駆動制御するＥＣＵ２、モータ４の回転を減速してステアリングシャフト９２に伝える減速ギア９３等を備える。モータ４は、例えば三相駆動式のブラシレスＤＣモータである。モータ４は、電源としてのバッテリ５から電力を供給されることにより駆動する。モータ４は、減速ギア９３を正逆回転させる。電動パワーステアリングシステム９０は、上述のトルクセンサ９４を含む。
この構成により、電動パワーステアリングシステム９０は、トルクセンサ９４等からの信号に基づき、ハンドル９１の操舵を補助するための操舵アシストトルクをモータ４から発生し、ステアリングシャフト９２に伝達する。
【００１３】
次に、ＥＣＵ２について図１に基づき説明する。ＥＣＵ２は、マイクロコントローラ１およびインバータ３等を備えている。
図１（Ｂ）は、マイクロコントローラ１の構成図である。マイクロコントローラ１は、デジタル信号を生成したりアナログ入力信号をサンプリングしたりするマイクロコントローラ（マイコン）であり、電動パワーステアリングシステム９０におけるモータ制御など様々な用途で用いられる。本実施形態では、マイクロコントローラ１は、モータ４を駆動制御する用途で用いられる。
【００１４】
マイクロコントローラ１へは、上述の操舵トルク信号、モータ４の回転角であるモータ回転角、インバータ３の電圧であるインバータ電圧、および、バッテリ５の電圧であるバッテリ電圧等、ＡＮｒ〜ＡＮｔまで複数のアナログ入力（ＡＤチャンネル）があり、これをＡＤ変換器１０によって、アナログ値からデジタル値へ変換、すなわち、デジタル変換（ＡＤ変換）する。マイクロコントローラ１は、変換したデジタル値（ＡＤ変換結果）に基づき、インバータ３への指令値を生成する。インバータ３は、当該指令値に基づき、バッテリ５からの電力を変換し、モータ４に供給する。これにより、モータ４が回転駆動する。
【００１５】
ＣＰＵ１１は、マイクロコントローラ１において、演算を行う中央演算処理装置（ＣＰＵ）である。ＲＡＭ１２は、ＣＰＵ１１による演算結果などを格納するランダムアクセスメモリ（ＲＡＭ）である。これらは、バス１３によって繋がっている。
また、ＡＤ変換器１０は、複数のＡＤチャンネルへのアナログ入力を選択するアナログマルチプレクサ１４、入力値をデジタル変換するためのＡＤ変換回路１５、および、ＡＤ変換した結果を格納するＡＤ変換結果格納レジスタ１６等を有している。ここで、ＡＤ変換結果格納レジスタ１６は、特許請求の範囲における「レジスタ」に対応する。ＡＤ変換回路１５は、入力として選択された信号が間違いなく対応するチャンネルのＡＤ変換結果格納レジスタ１６に退避されているか、後にソフトウェアなどで確認できるよう当該チャンネルの識別情報を生成する、識別情報生成部１７を具備する。
【００１６】
図２〜５は、ＡＤ変換器１０の動作を示している。
図２は、ＡＮ０変換時の動作である。アナログマルチプレクサ１４によって選択されたＡＮ０のアナログ値は、ＡＤ変換回路１５によってデジタル値に変換される。このＡＤ変換結果と、識別情報生成部１７によって生成されたＡＮ０の識別情報が合成され、ＡＮ０のＡＤ変換結果格納レジスタ１６（ＡＤ変換結果格納レジスタ１６のアドレスＡＮＲ０）に格納される。
【００１７】
図３は、同様にＡＮ１変換時の動作である。ＡＮ１に接続されたアナログ値のＡＤ変換結果とＡＮ１の識別情報が合成され、ＡＮ１のＡＤ変換結果格納レジスタ１６（ＡＤ変換結果格納レジスタ１６のアドレスＡＮＲ１）に格納される。
図４は、ＡＮ０変換結果を誤ってＡＮ１のＡＤ変換結果格納レジスタ１６に格納する異常が発生した場合の動作である。本来は、ＡＮ１をＡＤ変換した結果が格納されるべきＡＮ１のＡＤ変換結果格納レジスタ１６（ＡＤ変換結果格納レジスタ１６のアドレスＡＮＲ１）にＡＮ０のＡＤ変換結果が格納される。このとき、識別情報もＡＮ０の識別情報が格納される。
図５は、さらにＡＮ０のＡＤ変換結果格納レジスタ１６にＡＮ１のＡＤ変換結果が格納された場合の図である。
【００１８】
このような異常を検出するには、例えばＡＮ０のＡＤ変換結果格納レジスタ１６に格納された識別情報がＡＮ０の識別情報か否かを確認することで行える。しかし、電動パワーステアリングシステム９０のように周期的にＡＤ変換を実施するシステムにおいては、一度異常が起きたとしても次の周期で正しいデータに上書きされればシステムに重大な影響を与えない場合も多い。
【００１９】
図６〜８に示すのがその具体的な例である。
図６は、異常が発生せずに正常に動作している場合の動作を表しており、図７はＡＮ１のＡＤ変換結果をＡＮ０のＡＤ変換結果格納レジスタ１６に誤って格納した例である。本異常が一時的な異常であれば、次のＡＤ変換時には図８に示すように正常な状態に修復される。
そこで、本実施形態では、図７に示す異常が発生した場合にも即座に恒久的な異常と判断せず、異常状態が継続した場合にはじめて恒久的な異常時の処置を行うことで、一時的な異常（以下、適宜、「一時異常」という）と恒久的な異常（以下、適宜、「恒久異常」という）との判別を可能とした。
【００２０】
本実施形態の異常検出に関する動作フローＳ１００を図９に示す。
本実施形態では、まず最初にＡＤ変換結果が正しく然るべきＡＤ変換結果格納レジスタ１６に格納されていることを確認するために、Ｓ１０１で、マイクロコントローラ１は、ＡＤ変換結果格納レジスタ１６からＡＤ変換チャンネルの識別情報αを取得する。その後、Ｓ１０２で、マイクロコントローラ１は、特許請求の範囲における「異常検出手段」として機能することで、取得した識別情報αが各ＡＤ変換結果格納レジスタ１６に対応する識別情報であるか否かを判断する。
【００２１】
ＡＤ変換結果格納レジスタ１６に格納された識別情報が正しい場合（Ｓ１０２：ＹＥＳ）には、Ｓ１０３で正常時の処置を行う。一方、正しくない場合（Ｓ１０２：ＮＯ）には、Ｓ１０４でＲＡＭ１２上に設けた異常カウンタを加算する。この異常カウンタが一定の閾値よりも小さいとき（Ｓ１０５：ＹＥＳ）には、ＡＤ変換器１０の一時異常であると判断し、Ｓ１０６で一時異常時の処置を行う。また、閾値を上回ったとき（Ｓ１０５：ＮＯ）に、はじめて恒久異常であると判断し、Ｓ１０７で恒久異常時の処置を行う。
【００２２】
このように、マイクロコントローラ１は、特許請求の範囲における「異常判別手段」として機能することでマイクロコントローラ１（ＡＤ変換器１０、ＣＰＵ１１、バス１３等）の一時異常と恒久異常とを判別できるため、特に処置が限定されるものではないが、例えば一時異常の場合には、今回取得したＡＤ変換値（ＡＤ変換結果）の代わりに前回使用したＡＤ変換値を使用することで、システムへの著しい影響を回避しながらモータ４の駆動制御を継続することができる。あるいは、一時異常と判別されたＡＤ変換値をそのまま制御に使用してもよい。ここで、マイクロコントローラ１は、特許請求の範囲における「制御継続手段」として機能する。一方、恒久異常と判断されたときにはモータ４の駆動制御を停止するという処置を行うこと等も可能である。ここで、マイクロコントローラ１は、特許請求の範囲における「制御停止手段」として機能する。
【００２３】
以上説明したように、本実施形態では、マイクロコントローラ１は、ＡＤ変換結果格納レジスタ１６、および、複数のＡＤチャンネルから入力されるアナログ値をデジタル値に変換するＡＤ変換器１０等を有している。また、マイクロコントローラ１は、ＡＤ変換器１０によるＡＤ変換結果としてのデジタル値と共に、どのＡＤチャンネルからのアナログ値を変換したかを識別するための識別情報をＡＤ変換結果格納レジスタ１６の特定のアドレスに格納する機能を有している。また、マイクロコントローラ１は、異常検出手段として機能し、ＡＤ変換結果格納レジスタ１６から読み出した識別情報に対応するＡＤ変換結果格納レジスタ１６のアドレスに、対応するＡＤ変換結果が格納されたか否か判断することで、マイクロコントローラ１の異常を検出可能である。さらに、マイクロコントローラ１は、異常判別手段として機能し、マイクロコントローラ１の異常を検出した回数を計測し、当該回数に応じてマイクロコントローラ１の一時的な異常と恒久的な異常とを判別する。このように、本実施形態では、異常判別手段として機能するマイクロコントローラ１により、マイクロコントローラ１の一時的な異常と恒久的な異常とを判別することができる。
【００２４】
また、本実施形態では、ＥＣＵ２は、ＡＤ変換結果に基づきモータ４を制御する電動パワーステアリングシステム９０に適用される。マイクロコントローラ１は、制御継続手段として機能し、マイクロコントローラ１の一時的な異常が発生したと判別した場合、前回正常に取得されたＡＤ変換結果を用いてモータ４の駆動制御を継続する。あるいは、異常と判別されたＡＤ変換結果を用いてモータ４の駆動制御を継続する。これにより、電動パワーステアリングシステム９０に与える影響が小さい一時的な異常がマイクロコントローラ１に発生した場合には、電動パワーステアリングシステム９０を停止させることなく、運転者による操舵のアシストを継続することができる。
【００２５】
また、本実施形態では、マイクロコントローラ１は、制御停止手段として機能し、マイクロコントローラ１の恒久的な異常が発生したと判別した場合、モータ４の駆動制御を停止する。これにより、電動パワーステアリングシステム９０に与える影響が大きい恒久的な異常がマイクロコントローラ１に発生した場合には、電動パワーステアリングシステム９０を停止させることで、電動パワーステアリングシステム９０の異常作動が、運転者による操舵に対し影響を与えるのを防ぐことができる。
【００２６】
なお、本実施形態では、マイクロコントローラ１は、異常検出手段として機能し、ＡＤ変換結果格納レジスタ１６に格納された識別情報を、ＡＤ変換結果格納レジスタ１６のアドレスに対応する識別情報とは異なる値に書き換えることで、ＡＤ変換結果または識別情報がＡＤ変換結果格納レジスタ１６の特定のアドレスに格納されない異常を検出可能である。例えば、マイクロコントローラ１は、１回目のＡＤ変換がすべて終わり、識別情報のチェックが終わった後、識別情報を本来とは異なる値に書き換えておくことで、未格納となる異常を検出することができる。
【００２７】
また、本実施形態では、マイクロコントローラ１は、特定のＡＤチャンネルの識別情報を周期的に切り替える機能を有し、異常検出手段として機能し、該当のＡＤチャンネルの識別情報が格納されるＡＤ変換結果格納レジスタ１６から識別情報を取得し、識別情報が切り替わることを確認することで、マイクロコントローラ１の異常を検出可能である。
【００２８】
（第２実施形態）
以下、本発明の第２実施形態によるＥＣＵについて説明する。第２実施形態では、マイクロコントローラ１が、ＤＭＡＣ（Direct Memory Access Controller）を備える点で第１実施形態と異なる。
【００２９】
図１０に示すように、マイクロコントローラ１は、ＤＭＡＣ１８を備えている。ＤＭＡＣ１８は、ＣＰＵ１１とは独立に動作し、ＡＤ変換器１０で得られたＡＤ値（ＡＤ変換結果および識別情報）をＲＡＭ１２へ転送する。
一般に、ＡＤ変換の周期がシステムの制御周期よりも早いシステムにおいて、ＣＰＵ１１の使用率を抑えながらＡＤ変換を高速に周期実行するために、このような構成が用いられる。例えば、ＡＤ変換３回（＝ＤＭＡＣ転送３回）に１回ＣＰＵ演算を行う例を、図１１に示す。また、このときの動作例を図１２〜１７に示す。
図１２〜１４の動作が、図１１中のタイミング１で実行され、図１５〜１７の動作が図１１中のタイミング２で実行される。
【００３０】
図１２は、ＡＮ０変換時の動作である。便宜上、ＡＤ変換タイミングｎにおけるＡＤ変換結果をＡＤ変換結果ｎと表記し、そのときのＡＮａのＡＤ変換結果をＡＮａ変換結果ｎと表記するものとする。ＡＤ変換タイミング１においてＡＮ０をＡＤ変換した場合、ＡＮ０の識別情報と共にＡＮ０変換結果１がＡＮ０のＡＤ変換結果格納レジスタ１６に格納される。
図１３は、ＡＤ変換タイミング１において、ＡＮ０〜ＡＮ（ｓ−１）までＡＤ変換した後のＡＮｓ変換時の動作である。ＡＮｓ変換時には、ＡＮｓの識別情報と共にＡＮｓ変換結果１がＡＮｓのＡＤ変換結果格納レジスタ１６に格納される。
図１４は、ＤＭＡＣ１８がＡＤ変換結果格納レジスタ１６の情報をＲＡＭ１２へ転送する様子である。ＡＮ０〜ＡＮｓまでの変換結果が格納されたタイミングでＤＭＡＣ１８が起動し、ＡＮ０〜ＡＮｓまでのＡＤ変換結果をＲＡＭ１２へ転送する。
【００３１】
図１５〜１７は、引き続き次のＡＤ変換タイミング２において、ＡＤ変換が発生した場合の動作を表している。図１５〜１６は、ＡＮ０〜ＡＮｓのＡＤ変換結果２がＡＤ変換結果格納レジスタ１６に格納される様子である。図１７は、ＡＤ変換結果レジスタに格納されたＡＤ変換結果情報がＤＭＡＣ１８にてＲＡＭ１２へ転送される様子である。このとき、転送先のＲＡＭ１２は図１４で転送したＲＡＭ１２とは異なるＲＡＭ１２（の領域）へ転送する。これにより、複数回（本実施形態では３回）のＡＤ変換結果を特定のＲＡＭ領域に順に格納しておくことが可能である。
【００３２】
以上、ＡＤ変換がＡＮ０〜ＡＮｓまで終了した後、次にＡＮ０の変換が始まるまでの間にＡＤ変換結果をＤＭＡＣ１８によりＲＡＭ１２へ転送する構成を説明したが、例えばＡＤ変換が１チャンネル終了する毎にＤＭＡＣ１８によってＲＡＭ１２へ転送する構成としたり、あるいはＡＤ変換チャンネルを全てＡＤ変換してからではなく、任意の数チャンネル分を変換した時点で転送する構成としてもよい。
いずれの場合にも、ＣＰＵ１１をＡＤ変換とは異なる周期で動作させ、Ｎ周期分のＡＤ変換結果を用いてモータ４の駆動制御を行うことが可能である。
【００３３】
また、ＡＤ変換と同じ周期でＣＰＵ１１を動作させることも可能である。周辺ＩＯよりもＲＡＭ１２の方がアクセス速度が早いことから、ＣＰＵ１１のウェイト時間を短くするためにＡＤ変換とＣＰＵ１１の演算周期とが同じ場合にも、ＤＭＡＣ１８を用いてＲＡＭ１２へ転送する構成としてもよい。その場合、ＡＤ変換結果の転送先であるＲＡＭ１２の領域はＡＤ変換１周期分でよい。
【００３４】
このように、ＡＤ変換器１０とＤＭＡＣ１８を併用する構成を取ると電動パワーステアリングシステム９０にとって、ＣＰＵ１１の処理負荷を下げたり、複数回分のＡＤ変換結果の平均をとることでノイズ除去を行ったりといった様々な効果が得られるが、その代わり、ＡＤ変換器１０だけでなくＤＭＡＣ１８が異常となった場合にも、ＡＤ変換結果を正しく取得できずシステムに影響を与える可能性がある。
【００３５】
ここで、ＤＭＡＣ１８に異常が発生した場合の動作例を図１８〜２０に示す。
図１８は、図１７に示すＡＤ変換結果の転送に引き続き、次の周期（図１１中のタイミング３）のＡＮ０のＡＤ変換が発生したときの動作である。また、図１９は、ＡＮｓまでのＡＤ変換が終了したときの動作である。ここまでは、異常は発生していない。
【００３６】
この上で、ＤＭＡＣに異常が発生した場合の動作が図２０である。図２０は、ＤＭＡＣ１８の転送先アドレスに異常を起こし、異なるアドレスにＡＤ変換結果３を転送したときの動作を表している。ＡＤ変換結果が正しく転送されていないため、この値を元にＣＰＵ１１がモータ４の駆動制御を行った場合、本来のＡＤ変換結果とは異なる値で制御を行ってしまう可能性がある。例えば、ＡＮ１のＡＤ変換結果３を使用すべき制御において、ＡＮ０のＡＤ変換結果３を使用してしまう場合が考えられる。
【００３７】
そこで、本実施形態では、ＤＭＡＣ１８に異常が発生した場合を検出し、不正なＡＤ変換結果の使用を回避ないし異常時処置を取る方法を実施する。
図２１に、異常の検出方法を示す。本実施形態によるＡＤ変換器１０では、ＡＤ変換結果格納レジスタ１６自体に、ＡＤ変換結果と共にＡＤ変換チャンネルの識別情報（ＩＤ）が格納されている。そのため、ＡＤ変換結果格納レジスタ１６の値（情報）を転送したＲＡＭ１２にも、ＡＤ変換結果と共にＡＤ変換チャンネルの識別情報が格納されている。ここで、ＡＤ変換結果の転送先であるＲＡＭ１２のアドレスは予めＤＭＡＣ１８に設定したアドレスを元に計算できるため、ＲＡＭ１２のどのアドレスに、どのＡＤチャンネルのＡＤ変換結果が転送されるかは当然既知である。
【００３８】
便宜的に、ＲＡＭ１２のある特定のアドレスに転送されるＡＤ変換結果に付与されることが期待される識別情報を、ＡＤ変換結果格納ＲＡＭ番号と呼ぶこととすると、正常に動作しているときは、ＤＭＡＣ１８により転送される識別情報は、ＡＤ変換結果格納ＲＡＭ番号と常に一致する。
一方、ＤＭＡＣ１８に異常が発生した場合、ＲＡＭ１２の正しいアドレスに正しいＡＤ変換結果及び識別情報を転送できないため、ＲＡＭ１２に格納される識別情報は、ＡＤ変換結果格納ＲＡＭ番号と一致しない。このことから、ＡＤ変換結果が転送されたＲＡＭ１２から、ＡＤ変換チャンネルの識別情報を取得すれば、それをＡＤ変換結果格納ＲＡＭ番号と比較する事で、異常検出が可能である。
【００３９】
図２２に、異常検出のフローＳ２００を示す。
はじめに、Ｓ２０１で、該当のＲＡＭ１２から識別情報αを取得する。次に、Ｓ２０２で、識別情報αを、該当ＲＡＭ１２のＡＤ変換結果格納ＲＡＭ番号と比較する。このとき、両者の値の一致が見られれば（Ｓ２０２：ＹＥＳ）異常は発生していないと判断し、Ｓ２０３で正常時処置を行う。一方、識別情報αとＡＤ変換結果格納ＲＡＭ番号の一致が見られなかった場合（Ｓ２０２：ＮＯ）には、異常と判断し、Ｓ２０４で異常時処置を行う。もちろん、システムに重大な影響を与えないＡＤチャンネルの異常であれば、特に異常時処置を行わずそのまま制御を継続することも可能である。
【００４０】
また、一時異常と恒久異常とを判別する場合のフローＳ３００を図２３に示す。ＡＤ変換結果格納ＲＡＭ番号と識別情報αとの比較まで（Ｓ３０１〜Ｓ３０２）は、図２２と同様である。比較の結果、一致が見られれば（Ｓ３０２：ＹＥＳ）正常と判断し、Ｓ３０３で正常時処置を行う。一致が見られなければ（Ｓ３０２：ＮＯ）異常と判断し、Ｓ３０４で異常回数を加算する。異常回数が一定回数に達しない場合（Ｓ３０５：ＹＥＳ）には一時異常と判断し、Ｓ３０６で一時異常時の処置を行う。異常回数が一定回数を超えた場合（Ｓ３０５：ＮＯ）には、恒久異常と判断し、Ｓ３０７で恒久異常時処置を行う。
【００４１】
一時異常時の処置としては、前回正常に取得できたＡＤ値（ＡＤ変換結果）を用いたモータ４の駆動制御などが考えられる。あるいは、システムが許すならば、今回取得したＡＤ値を用いてモータ４の駆動制御を行っても良い。また、恒久異常時の処置としては、システム（マイクロコントローラ１、ＥＣＵ２）のリセットにより復帰を促すといったことなどが考えられる。なお、正常時処置としては異常回数のクリアなどが考え得るが、システムが許すならば特に何も行わなくてもよい。
以上により、ＡＤ変換器１０の異常によりＡＤ変換結果が正しく格納されない場合や、ＤＭＡＣ１８の異常により正しくＲＡＭ１２へ転送されない場合の異常検出方法を示した。しかし、ここまで述べた方法のみでは、ＤＭＡＣ１８の転送トリガに異常が発生しＤＭＡＣ１８による転送自体が行われない異常については、検出することができない。
【００４２】
具体的な例を、図２４〜３２に示す。
図２４〜２６は、異常が発生していない場合の動作のため図１２〜１４と同じである。
同様に、図２７、図２８も、図１５、図１６と同じである。ここまでは、ＡＤ変換器１０もＤＭＡＣ１８も正常に動作しており、ＡＤ変換結果格納レジスタ１６には、ＡＮ０をはじめＡＤ変換結果と各識別情報が格納されている。この上で、ＤＭＡＣ１８の転送動作自体が動作しなかった場合の図が図２９である。
【００４３】
ＤＭＡＣ１８の開始トリガおよび開始トリガ発生元に一時的な異常が発生したり、あるいはＤＭＡＣ１８自体に一時的な異常が発生し、転送が行われなかった場合である。この場合、ＡＤ変換結果をＲＡＭ１２へ転送する動作が１回分行われないが、ＲＡＭ１２を書き換えることはしないから、識別情報の不整合は発生しない。この状態で、次のＡＤ変換が開始した図が図３０および図３１である。ＡＤ変換器１０には異常が発生していないため、正常に動作が行われる。その後、正常にＤＭＡＣ１８が動作すれば、図３２に示すとおり本来ＡＤ変換結果２を格納すべきアドレスにＡＤ変換結果３が転送される。
【００４４】
なお、異常の発生の仕方によっては、図２９の異常発生時にＤＭＡＣ１８の転送先アドレスのみが正常に更新される可能性もある。その場合は、図３３に示す動作結果となると予想される。このとき、ＡＤ変換結果２の格納先であるＲＡＭ１２には何も書き込まれないが、仮に以前格納されたＲＡＭ１２の値（情報）が残っていれば、図３４の状態になるはずである。ＤＭＡＣ１８によってＲＡＭ１２へ転送する構成とする場合、一定の回数ＤＭＡＣ１８による転送を実施したら、転送先を巻き戻してＲＡＭ１２の領域を再利用する構成をとることが多い。その場合には、このように転送先を巻き戻す前に書き込まれた値（情報）が残っている。図中、ＡＮａ変換結果ｎ’が、転送先を巻き戻す前に書き込まれたＡＮａ変換結果を示しており、例えばＤＭＡＣ転送３回で転送先を巻き戻すのであれば、ＡＮａ変換結果ｎ’＝ＡＮａ変換結果（ｎ−３）である。
【００４５】
図２９に示すように、ＤＭＡＣ１８の動作自体が行われず（＝転送先アドレスの更新もされず）ＡＤ変換結果がＲＡＭ１２へ転送されなかった場合においても、あるいは図３４に示すように転送先アドレスは更新されたが、以前の値が残っている場合においても、識別情報がＡＤ変換結果格納ＲＡＭ番号と一致することを見るだけでは、ＤＭＡＣ１８の異常を検出することはできない。
このような異常を検出するには、ＡＤ変換結果を格納するＲＡＭ１２について定期的に識別情報を書き換えることで可能である。例えば、ＤＭＡＣ１８の異常判定後に識別情報をクリアする構成とすれば、識別情報が残っている場合にも異常の検出が可能である。
【００４６】
その例を、図３５及び図３６に示す。図３５は、図２２で示したＤＭＡＣ１８の異常検出フローに対してＤＭＡＣ１８の動作自体が行われない場合の異常検出を加えたフローである。Ｓ４０４までは図２２（Ｓ２０４まで）と同様であり、Ｓ４０５において、ＡＤ変換結果格納ＲＡＭのＡＤ変換チャンネル識別情報を、本来のＡＤ変換チャンネル識別情報であるαとは異なる値βに書き換える。また、図３６は、図２３で示したＤＭＡＣ１８の異常検出フローに対してＤＭＡＣ１８の動作自体が行われない場合の異常検出を加えたフローである。Ｓ５０７までは図２３（Ｓ３０７まで）と同様であり、Ｓ５０８において、ＡＤ変換結果格納ＲＡＭのＡＤ変換チャンネル識別情報を、本来のＡＤ変換チャンネル識別情報であるαとは異なる値βに書き換える。ただし、これらの方法は本実施形態の構成を変えること無く異常検出が可能になるものの、定期的に識別情報を書き換える必要が生じるため、ＣＰＵ１１に負担をかける可能性がある。また、タイミングによってはＣＰＵ１１による書き換えとＤＭＡＣ１８による書き換えとが競合し、誤って異常を検出してしまう可能性がある。
【００４７】
そこで、本実施形態では、同じＡＤ変換結果格納レジスタ１６（ＡＤ変換結果格納レジスタ１６の同じアドレス）に対し、識別情報を切り替えながらＡＤ変換結果を格納する機能を具備することで、ＣＰＵ１１によってＲＡＭ１２の書き換えを行うこと無くＤＭＡＣ１８自体が一時的に動作しない異常を検出することを可能とする。
図３７〜４８に、本実施形態での構成を示す。当該図では、ＡＮ０の識別情報（ＩＤ）について、奇数回目の変換ではＸ、偶数回目の変換ではＹを出力する構成としているが、切り替えの周期は任意であり、例えばＸ→Ｙ→Ｚ→Ｘ→Ｙ→Ｚと３回周期で切り替わる構成としてもよい。また、識別情報もＸ→Ｙ→Ｚではなく０→１→２でも５→４→３でもよく、値や順番は任意である。ただし、他のＡＤチャンネル（ＡＮ１〜ＡＮｓ）とは異なる識別情報を付与することが望ましい。
【００４８】
このような構成において、ＤＭＡＣ１８の一時異常により転送が１回抜けた場合の例を図４９〜６０に示す。
図４９〜５２は異常未発生状態の動作であり、図３７〜４０と同じである。図５６において、ＤＭＡＣ１８の転送異常が発生し、その後はＤＭＡＣ１８が正常に動作し、図５７〜６０の通りとなる。
【００４９】
この場合に、異常を検出する方法を図６１〜６２に示す。
図６１は、異常が発生しなかった場合のＲＡＭ１２の状態である。
図６２は異常が発生した場合のＲＡＭ１２の状態である。なお、図６２では、転送異常が発生して１回転送が抜けたため、本来ＡＮ０転送結果３〜ＡＮｓ転送結果３が入るべきＲＡＭ１２に、転送先アドレスを巻き戻す前にＲＡＭ１２に格納されていたＡＤ変換結果３’の結果が残っている。
【００５０】
図６１と図６２とを比較すれば明らかなように、ＡＮ０の識別情報を切り替える構成とした場合には、ＤＭＡＣ１８の転送異常の有無によってＡＮ０変換結果の格納先であるＲＡＭ１２に格納された識別情報が異なる。異常が発生していない場合（図６１参照）、識別情報は左から順にＸ→Ｙ→Ｘと格納されるのに対し、異常が発生した場合（図６２参照）にはＸ→Ｘ→Ｘと格納される。この違いを確認する事で、ＤＭＡＣ１８の転送異常の検出が可能である。このときの異常検出フローを図６３、および図６４に示す。
図６３に示すように、当該異常検出フローＳ６００では、はじめに、Ｓ６０１で、該当のＲＡＭ１２から識別情報をＮ周期分取得する。ここで、Ｎは、異常検出処理を行う間に入るＤＭＡＣ１８の転送の回数と等しい。
【００５１】
次にＳ６０２で、識別情報の順番を、本来の順番と比較する。このとき、両者の値（順番）が一致すれば（Ｓ６０２：ＹＥＳ）異常は発生していないと判断し、Ｓ６０３で正常時処置を行う。一方、不一致の場合（Ｓ６０２：ＮＯ）には異常と判断し、Ｓ６０４で異常時処置を行う。もちろん、システムに重大な影響を与えないＡＤチャンネルの異常であれば、特に異常時処置を行わずそのままモータ４の駆動制御を継続することも可能である。
【００５２】
また、一時異常と恒久異常とを判別する場合のフローを図６４に示す。当該フローＳ７００では、識別情報の順番が本来の順番と一致する場合（Ｓ７０２：ＹＥＳ）は正常と判断し、Ｓ７０３で正常時処置を行う。一致しなければ（Ｓ７０２：ＮＯ）異常と判断し、Ｓ７０４で異常回数を加算する。
異常回数が一定回数に達しない場合（Ｓ７０５：ＹＥＳ）には一時異常と判断し、Ｓ７０６で一時異常時の処置を行う。一方、異常回数が一定回数を超えた場合（Ｓ７０５：ＮＯ）には恒久異常と判断し、Ｓ７０７で恒久異常時処置を行う。一時異常時の処置としては、前回正常に取得できたＡＤ値（ＡＤ変換結果）を用いたモータ４の駆動制御などが考えられる。あるいはシステムが許すならば、今回取得したＡＤ値を用いてモータ４の駆動制御を行っても良い。また、恒久異常時の処置としては、システム（マイクロコントローラ１、ＥＣＵ２）のリセットにより復帰を促すなどが考えられる。正常時処置としては異常回数のクリアなどが考え得るが、システムが許すならば特に何も行わなくてもよい。
【００５３】
なお、上述の例ではＡＮ０の識別情報を、動的に切り替える対象としているが、チャンネル自体も任意であり、アナログマルチプレクサ１４によって選択されるＡＤチャンネルにも縛られない。本発明で使用するのは識別情報のみであるから、例えばＡＤ変換結果を持たず識別情報のみを格納するレジスタをＡＤ変換結果格納レジスタ１６とは別に用意し、本レジスタにＡＤ変換と同期して切り替わる識別情報を格納した後、ＡＤ変換結果格納レジスタ１６の情報をＤＭＡＣ１８によって転送する構成としてもよい。
さらに、ＤＭＡＣ１８による転送がＭ回発生した場合にＤＭＡＣ転送先アドレスを転送先ＲＡＭ１２の先頭アドレスに巻き戻す構成としており、識別情報の切り替え周期がＮ回の場合には、異なるアプローチでも異常検出が可能である。
【００５４】
例として、ＤＭＡＣ１８による転送が３回発生した場合にＤＭＡＣ転送先アドレスを転送先ＲＡＭ１２の先頭アドレスに巻き戻す構成であり、識別情報の切り替え周期が２回（ＡＮ０のＡＤ変換奇数回目でＸ、偶数回目でＹ）の場合の例を図６５〜６６に示す。
図６５は、ＤＭＡＣ１８の転送が３、９、１５・・・と、（２ｋ＋１）×３回（ｋ≧０）行われた場合のＲＡＭ１２の状態である。この場合、ＡＮ０の識別情報は、必ずＸ、Ｙ、Ｘの順で並ぶ。
また、図６６は、ＤＭＡＣ１８の転送が６、１２、１８と、２ｋ×３回（ｋ＞０）行われた場合のＲＡＭ１２の状態である。この場合、ＡＮ０の識別情報は、必ずＹ、Ｘ、Ｙの順で並ぶ。
【００５５】
図６７は、ＡＤ０の識別情報のみに着目し、ＤＭＡＣ１８の転送回数に応じた識別情報の並びを示す図であるが、ＤＭＡＣ１８にて３回転送する周期と同じ周期で、ＡＮ０の３ｋ＋１（ｋ≧０）回目の転送結果（図中太枠で囲んだ識別情報）を確認すれば、そこに格納される識別情報は必ずＸ→Ｙ→Ｘ→Ｙ・・・の順に切り替わる。
以上の性質に基づき、周期的に切り替わる識別情報の並びが正しい順番で切り替わることを監視することによっても、ＤＭＡＣ１８の転送異常を検出することが可能である。
【００５６】
この監視は、例えばＤＭＡＣ１８が決められた回数の転送を終了したときに発生する割り込みを用いて、特定のＲＡＭアドレスの識別情報を確認することで可能である。これを一般化すると、下記の通りとなる。
識別情報は、０、１、２の順にＮ−１まで切り替わるものとし、ＤＭＡＣ１８の転送Ｍ回で割り込みがかかるとする。このとき、１回目の割り込み内で確認できる識別情報は、１〜Ｍ回目のＤＭＡＣ転送結果である。このとき、１回目のＤＭＡＣ転送にて格納される識別情報を確認すると、その識別情報は必ず０である。
【００５７】
２回目の割り込み内で確認できる識別情報は、（Ｍ＋１）〜（２Ｍ）回目のＤＭＡＣ転送結果であるが、このとき、Ｍ＋１回目のＤＭＡＣ転送にて格納される識別情報を確認すると、識別情報は（Ｍ％Ｎ）となる（％は剰余を求める記号とする）。同様に、３回目の割り込み内で確認できる識別情報は、（２Ｍ＋１）〜（３Ｍ）回目のＤＭＡＣ転送結果であるが、このとき、２Ｍ＋１回目のＤＭＡＣ転送にて格納される識別情報を確認すると、識別情報は（２Ｍ％Ｎ）となる。すなわち、Ｓ回目の割り込みの中で確認できる、（Ｓ−１）×Ｍ＋Ｔ回目のＤＭＡＣ転送結果に格納される識別情報は、（（（Ｓ−１）×Ｍ＋Ｔ）％Ｎ）となる。本関係に基づいて異常判定することにより、ＤＭＡＣ転送異常の検出が可能である。
なお、割り込みを用いずＤＭＡＣ転送Ｍ回分の周期で定期的に異常検出する方法でも上記と同様の関係に基づいて異常判定することが可能である。もちろん、ＤＭＡＣ転送Ｍ回分の周期よりも早い周期で異常判定を行いたい場合には、Ｓの値を適切に計算した上で、上記異常判定手段を用いて異常判定すればよい。具体的には、異常検出１回あたりのＤＭＡＣ転送回数をＷ回とするなら、Ｓ＝Ｍ／Ｗとなる。
【００５８】
以上説明したように、本実施形態では、マイクロコントローラ１は、ＡＤ変換結果格納レジスタ１６、ＲＡＭ１２、ＡＤ変換結果格納レジスタ１６に格納されている情報をＲＡＭ１２に転送するＤＭＡＣ１８、および、複数のＡＤチャンネルから入力されるアナログ値をデジタル値に変換するＡＤ変換器１０等を有している。また、マイクロコントローラ１は、ＡＤ変換器１０によるＡＤ変換結果としてのデジタル値と共に、どのＡＤチャンネルからのアナログ値を変換したかを識別するための識別情報をＡＤ変換結果格納レジスタ１６の特定のアドレスに格納する機能を有している。さらに、マイクロコントローラ１は、異常検出手段として機能し、ＤＭＡＣ１８によってＲＡＭ１２に転送された情報からＡＤチャンネルの識別情報を取得し、取得した識別情報に対応するＲＡＭ１２のアドレスに、対応するＡＤ変換結果が格納されたか否か判断することで、マイクロコントローラ１の異常を検出可能である。
【００５９】
また、本実施形態では、マイクロコントローラ１は、異常判別手段として機能し、マイクロコントローラ１の異常を検出した回数を計測し、当該回数に応じてマイクロコントローラ１の一時的な異常と恒久的な異常とを判別する。このように、本実施形態では、異常判別手段として機能するマイクロコントローラ１により、マイクロコントローラ１の一時的な異常と恒久的な異常とを判別することができる。
【００６０】
また、本実施形態では、マイクロコントローラ１は、異常検出手段として機能し、ＲＡＭ１２に格納されたＡＤチャンネルの識別情報を、対応する識別情報とは異なる値に書き換えることで、ＡＤ変換結果格納レジスタ１６からＲＡＭ１２への転送が行われなかったマイクロコントローラ１の異常を検出可能である。
また、本実施形態では、マイクロコントローラ１は、特定のＡＤチャンネルの識別情報を周期的に切り替える機能を有している。また、マイクロコントローラ１は、異常検出手段として機能し、ＤＭＡＣ１８によってＲＡＭ１２に転送された識別情報を切り替え可能なＡＤ変換結果からＡＤチャンネルの識別情報を取得し、取得した識別情報を確認することで、マイクロコントローラ１の異常を検出可能である。
【００６１】
また、本実施形態では、マイクロコントローラ１は、異常検出手段として機能し、ＤＭＡＣ１８の転送の周期よりも遅い周期で異常検出処理を行い、異常検出処理を行う際には、識別情報が切り替わるＡＤチャンネルに付与された複数回分の識別情報を確認する。これにより、異常検出処理にかかるマイクロコントローラ１（ＣＰＵ１１）の処理負荷を下げたり、複数回分のＡＤ変換結果の平均をとることでノイズ除去を行ったりすることができる。
また、本実施形態では、マイクロコントローラ１は、異常検出手段として機能し、識別情報が周期的に切り替わるＲＡＭ１２のうち、特定のＲＡＭ１２の識別情報が適切な識別情報になっているか否かを確認することで、マイクロコントローラ１の異常を検出可能である。
【００６２】
（他の実施形態）
本発明による情報処理装置は、電動パワーステアリングシステムに用いられるモータ以外のモータを制御対象としてもよい。例えば、ギア比可変装置またはステアバイワイヤシステムの操舵装置に用いられるモータを制御対象としてもよい。また、車載システムに用いられるモータに限らず、エアコンプレッサに用いられるモータ等、電力により駆動するあらゆる機器を制御対象としてもよい。
このように、本発明は、上述の実施形態に限定されるものではなく、その要旨を逸脱しない範囲で種々の形態に適用可能である。
【符号の説明】
【００６３】
１  ・・・・マイクロコントローラ（異常検出手段、異常判別手段）
２  ・・・・ＥＣＵ（情報処理装置）
１０  ・・・ＡＤ変換器
１６  ・・・ＡＤ変換結果格納レジスタ（レジスタ）
【図１】
0005796548.tif 000002
【図２】
0005796548.tif 000003
【図３】
0005796548.tif 000004
【図４】
0005796548.tif 000005
【図５】
0005796548.tif 000006
【図６】
0005796548.tif 000007
【図７】
0005796548.tif 000008
【図８】
0005796548.tif 000009
【図９】
0005796548.tif 000010
【図１０】
0005796548.tif 000011
【図１１】
0005796548.tif 000012
【図１２】
0005796548.tif 000013
【図１３】
0005796548.tif 000014
【図１４】
0005796548.tif 000015
【図１５】
0005796548.tif 000016
【図１６】
0005796548.tif 000017
【図１７】
0005796548.tif 000018
【図１８】
0005796548.tif 000019
【図１９】
0005796548.tif 000020
【図２０】
0005796548.tif 000021
【図２１】
0005796548.tif 000022
【図２２】
0005796548.tif 000023
【図２３】
0005796548.tif 000024
【図２４】
0005796548.tif 000025
【図２５】
0005796548.tif 000026
【図２６】
0005796548.tif 000027
【図２７】
0005796548.tif 000028
【図２８】
0005796548.tif 000029
【図２９】
0005796548.tif 000030
【図３０】
0005796548.tif 000031
【図３１】
0005796548.tif 000032
【図３２】
0005796548.tif 000033
【図３３】
0005796548.tif 000034
【図３４】
0005796548.tif 000035
【図３５】
0005796548.tif 000036
【図３６】
0005796548.tif 000037
【図３７】
0005796548.tif 000038
【図３８】
0005796548.tif 000039
【図３９】
0005796548.tif 000040
【図４０】
0005796548.tif 000041
【図４１】
0005796548.tif 000042
【図４２】
0005796548.tif 000043
【図４３】
0005796548.tif 000044
【図４４】
0005796548.tif 000045
【図４５】
0005796548.tif 000046
【図４６】
0005796548.tif 000047
【図４７】
0005796548.tif 000048
【図４８】
0005796548.tif 000049
【図４９】
0005796548.tif 000050
【図５０】
0005796548.tif 000051
【図５１】
0005796548.tif 000052
【図５２】
0005796548.tif 000053
【図５３】
0005796548.tif 000054
【図５４】
0005796548.tif 000055
【図５５】
0005796548.tif 000056
【図５６】
0005796548.tif 000057
【図５７】
0005796548.tif 000058
【図５８】
0005796548.tif 000059
【図５９】
0005796548.tif 000060
【図６０】
0005796548.tif 000061
【図６１】
0005796548.tif 000062
【図６２】
0005796548.tif 000063
【図６３】
0005796548.tif 000064
【図６４】
0005796548.tif 000065
【図６５】
0005796548.tif 000066
【図６６】
0005796548.tif 000067
【図６７】
0005796548.tif 000068