(57)【要約】【課題】モータの意図しない挙動を回避することができるモータ制御装置を提供する。【解決手段】第１のＭＰＵ２１により算出されたモータ指令値を第２のＭＰＵ２２へ送るメインの第１のパラレル通信ラインＬｃ１に加えて、同じくモータ指令値を第２のＭＰＵ２２へ送るサブの第２のパラレル通信ラインＬｃ２を備えた。そして、第２のＭＰＵ２２は、第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値と第２のパラレル通信ラインＬｃ２により送られてきたモータ指令値（上位４ビット）とをビット毎に比較し、モータ指令値の上位４ビットに誤り（ビット化け）があると判断したときには、電動モータ３の駆動制御を停止するようにした。このため、上位ビットのビット化けに起因する過剰指令や逆回転指令等が回避される。【選択図】        図２
2004173368.tif 000002
【特許請求の範囲】
【請求項１】
モータ指令値を演算する第１のＭＰＵと、第１のＭＰＵにより算出されたモータ指令値に基づいてモータを駆動制御する第２のＭＰＵと、第１のＭＰＵと第２のＭＰＵとの間に接続された主パラレル通信ラインとを備えたモータ制御装置において、
第１のＭＰＵと第２のＭＰＵとの間には前記主パラレル通信ラインとは別の副パラレル通信ラインを設け、
第２のＭＰＵは、主パラレル通信ラインにより送られてきたモータ指令値と副パラレル通信ラインにより送られてきたモータ指令値とをビット毎に比較し、モータ指令値に誤りがあると判断したときには、モータの駆動制御を停止するようにしたモータ制御装置。
【請求項２】
主パラレル通信ラインはモータ指令値の全ビット分のデータラインを備え、
副パラレル通信ラインはモータ指令値の少なくとも１ビット分のデータラインを備え、
第１のＭＰＵは算出したモータ指令値の全ビットを主パラレル通信ラインにより第２のＭＰＵへ送ると共に、同じくモータ指令値の少なくとも最上位ビットを副パラレル通信ラインにより第２のＭＰＵへ送るようにした請求項１に記載のモータ制御装置。
【請求項３】
第１のＭＰＵは算出したｍビットのモータ指令値をｎビットだけ桁下げしたデータを副パラレル通信ラインにより第２のＭＰＵへ送るようにし、
第２のＭＰＵは副パラレル通信ラインにより送られてきたデータをｎビットだけ桁上げし、
主パラレル通信ラインにより送られてきたモータ指令値と前記桁上げされたデータとの上位（ｍ−ｎ）ビットの排他的論理和をビット毎に演算し、この演算結果に基づいて主パラレル通信ラインにより送られてきたモータ指令値のうち上位（ｍ−ｎ）ビットに誤りがあるか否かの判断を行うようにした請求項１又は請求項２に記載のモータ制御装置。
【請求項４】
前記モータ指令値は、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つである請求項１〜請求項３のうちいずれか一項に記載のモータ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分散型のモータ制御装置に関するものである。
【０００２】
【従来の技術】
従来より、次のような分散型のモータ制御装置が知られている。即ち、図９に示すように、例えば電動パワーステアリング装置のモータ制御装置１００は、操舵トルクＴ及び車速Ｖ等に基づいてモータ指令値を演算する第１のＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、この第１のＭＰＵ１０１により算出されたモータ指令値に基づいてモータ１０２を駆動する第２のＭＰＵ１０３とを備えている。第１のＭＰＵ１０１のポート１０１ａと第２のＭＰＵ１０３のポート１０３ａとの間はパラレル通信ライン１０４により相互に接続されている。モータ指令値は８ビットのデータであるので、パラレル通信ライン１０４は８本のデータラインＤ０〜Ｄ７を備えている。
【０００３】
次に、前述のように構成された従来のモータ制御装置の動作を図１０（ａ），（ｂ）に示すフローチャートに従って説明する。
図１０（ａ）に示すように、第１のＭＰＵ１０１はまず各種のセンサにより検出されたセンサ信号を読み込む。即ち、トルクセンサ（図示略）により検出された操舵トルクＴ及び車速センサ（図示略）により検出された車速Ｖを読み込む（Ｓ３０１）。次に、第１のＭＰＵ１０１は、操舵トルクＴ及び車速Ｖに基づいて予め記憶された特性マップを参照してモータ指令値（アシスト指令電流値）を演算する（Ｓ３０２）。そして、第１のＭＰＵ１０１は算出したモータ指令値をポート１０１ａにセットして処理を終了する。第１のＭＰＵ１０１により算出されたモータ指令値は各データラインＤ０〜Ｄ７によりビット毎に第２のＭＰＵ１０３へ送られる。以後、第１のＭＰＵ１０１はＳ３０１〜Ｓ３０３の処理を所定の制御周期毎に繰り返す。
【０００４】
一方、第２のＭＰＵ１０３においては、次のような処理が行われる。即ち、図１０（ｂ）に示すように、第２のＭＰＵ１０３はまず第１のＭＰＵ１０１から送られてきたモータ指令値をポート１０３ａにラッチ（保持）、即ち受信する（Ｓ４０１）。そして、第２のＭＰＵ１０３は受信したモータ指令値に基づいてモータ１０２を駆動制御する（Ｓ４０２）。以後、第２のＭＰＵ１０３はＳ４０１及びＳ４０２の処理を所定の制御周期毎に繰り返す。
【０００５】
【発明が解決しようとする課題】
ところが、前記従来のモータ制御装置には次のような問題があった。即ち、電動パワーステアリング装置で使用されている分散型のモータ制御装置は小型化の傾向にあり、これに伴って、シグナル系とパワー系との干渉に起因して信号にスイッチングノイズ等の各種ノイズが重畳しやすくなる。そして、第１のＭＰＵ１０１により算出されたモータ指令値を８ビットのパラレル通信ライン１０４で第２のＭＰＵ１０３へ送る際、ノイズが発生したタイミングでデータが第２のＭＰＵ１０３のポート１０３ａにラッチされると、第２のＭＰＵ１０３は「０」を「１」又は「１」を「０」と誤認識する。このビットエラー（いわゆるビット化け）の結果、第２のＭＰＵ１０３は、正しいモータ指令値を受け取ることができない。
【０００６】
第１のＭＰＵ１０１により算出されたモータ指令値を例えば「＋１００」とした場合、これを符号付の２進数で表すと「０１１００１００（Ｂ）」となる。ここで、最上位ビットは正負（＋，−）を示す符号ビットであり、最上位から２桁目以降が数値を示す数値ビットとなる。ちなみに、正は「０」、負は「１」で示される。このモータ指令値の各ビットはパラレル通信ライン１０４の８本のデータラインＤ０〜Ｄ７によりそれぞれ第２のＭＰＵ１０３へ送られる。
【０００７】
そして、このモータ指令値の送信時において、上位ビット（例えば上位４ビット「０１１０」）のうち最上位から２桁目以降のいずれかの数値ビットにビット化けが発生すると、第２のＭＰＵ１０３は誤認識した過剰なモータ指令値に基づいてモータ１０２を駆動制御する。
【０００８】
例えば第１のＭＰＵ１０１により算出されたモータ指令値を「＋３６＝００１００１００（Ｂ）」とした場合に最上位から２桁目がビット化けすると、第２のＭＰＵ１０３はモータ指令値を「０１１００１００（Ｂ）」と誤認識する。これは１０進数で表すと＋１００であり、本来のモータ指令値「＋３６」に比べて過大な値となる。
【０００９】
また、図１１に示すように、例えばモータ指令値の最上位ビットの信号にノイズが重畳し、このタイミングで第２のＭＰＵ１０３でラッチされると、第２のＭＰＵ１０３はモータ指令値を１１１００１００（Ｂ）と誤認識する。これは１０進数で表すと「−１００」である。即ち、第２のＭＰＵ１０３は本来とは逆方向の電流指令をモータ１０２へ出力し、モータ１０２は本来正回転されるべきであるにもかかわらず、逆回転（逆アシストの方向へ回転）する。
【００１０】
このように、上位のビットほど桁数が大きいのでモータ１０２の挙動に与える影響が大きい。そして、このモータ指令値の上位ビットがビット化けすると、前述したような過大なモータ指令値又は逆方向のモータ指令値に基づいてモータ１０２が駆動されることとなり、当該モータ１０２が意図しない挙動を示すおそれがあった。
【００１１】
本発明は上記問題点を解決するためになされたものであって、その目的は、モータの意図しない挙動を回避することができるモータ制御装置を提供することにある。
【００１２】
【課題を解決するための手段】
請求項１に記載の発明は、モータ指令値を演算する第１のＭＰＵと、第１のＭＰＵにより算出されたモータ指令値に基づいてモータを駆動制御する第２のＭＰＵと、第１のＭＰＵと第２のＭＰＵとの間に接続された主パラレル通信ラインとを備えたモータ制御装置において、第１のＭＰＵと第２のＭＰＵとの間には前記主パラレル通信ラインとは別の副パラレル通信ラインを設け、第２のＭＰＵは、主パラレル通信ラインにより送られてきたモータ指令値と副パラレル通信ラインにより送られてきたモータ指令値とをビット毎に比較し、モータ指令値に誤りがあると判断したときには、モータの駆動制御を停止するようにしたことを要旨とする。
【００１３】
請求項２に記載の発明は、請求項１に記載のモータ制御装置において、主パラレル通信ラインはモータ指令値の全ビット分のデータラインを備え、副パラレル通信ラインはモータ指令値の少なくとも１ビット分のデータラインを備え、第１のＭＰＵは算出したモータ指令値の全ビットを主パラレル通信ラインにより第２のＭＰＵへ送ると共に、同じくモータ指令値の少なくとも最上位ビットを副パラレル通信ラインにより第２のＭＰＵへ送るようにしたことを要旨とする。
【００１４】
請求項３に記載の発明は、請求項１又は請求項２に記載のモータ制御装置において、第１のＭＰＵは算出したｍビットのモータ指令値をｎビットだけ桁下げしたデータを副パラレル通信ラインにより第２のＭＰＵへ送るようにし、第２のＭＰＵは副パラレル通信ラインにより送られてきたデータをｎビットだけ桁上げし、主パラレル通信ラインにより送られてきたモータ指令値と前記桁上げされたデータとの上位（ｍ−ｎ）ビットの排他的論理和をビット毎に演算し、この演算結果に基づいて主パラレル通信ラインにより送られてきたモータ指令値のうち上位（ｍ−ｎ）ビットに誤りがあるか否かの判断を行うようにしたことを要旨とする。
【００１５】
請求項４に記載の発明は、請求項１〜請求項３のうちいずれか一項に記載のモータ制御装置において、前記モータ指令値は、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つであることを要旨とする。
【００１６】
（作用）
請求項１に記載の発明によれば、第１のＭＰＵにより演算されたモータ指令値は主パラレル通信ライン及び副パラレル通信ラインによりそれぞれ第２のＭＰＵへ送られる。第２のＭＰＵは、主パラレル通信ラインにより送られてきたモータ指令値と副パラレル通信ラインにより送られてきたモータ指令値とをビット毎に比較する。そして、モータ指令値に誤りがあると判断したときには、第２のＭＰＵはモータの駆動制御を停止する。
【００１７】
請求項２に記載の発明によれば、請求項１に記載の発明の作用に加えて、主パラレル通信ラインによりモータ指令値の全ビットが第２のＭＰＵへ送られる。また、副パラレル通信ラインによりモータ指令値の少なくとも最上位ビットが第２のＭＰＵへ送られる。第２のＭＰＵは、主パラレル通信ラインにより送られてきたモータ指令値と副パラレル通信ラインにより送られてきたモータ指令値の少なくとも最上位ビットとを比較する。少なくとも最上位ビットに誤りがあると判断したときには、第２のＭＰＵはモータの駆動制御を停止する。
【００１８】
請求項３に記載の発明によれば、請求項１又は請求項２に記載の発明の作用に加えて、第１のＭＰＵは算出したｍビットのモータ指令値をｎビットだけ桁下げしたデータを副パラレル通信ラインにより第２のＭＰＵへ送る。第２のＭＰＵは副パラレル通信ラインにより送られてきたデータをｎビットだけ桁上げする。そして、第２ＭＰＵは主パラレル通信ラインにより送られてきたモータ指令値と前記桁上げされたデータとの上位（ｍ−ｎ）ビットの排他的論理和をビット毎に演算する。この演算結果に基づいて第２のＭＰＵは主パラレル通信ラインにより送られてきたモータ指令値のうち上位（ｍ−ｎ）ビットに誤りがあるか否かの判断を行う。モータ指令値のうち上位（ｍ−ｎ）ビットに誤りがあると判断したときには、第２のＭＰＵはモータの駆動制御を停止する。
【００１９】
請求項４に記載の発明によれば、請求項１〜請求項３のうちいずれか一項に記載の発明の作用に加えて、第２のＭＰＵは、モータ電流指令値、モータ角速度指令値及びモータ角度指令値のうち少なくとも一つに基づいてモータを駆動制御する。
【００２０】
【発明の実施の形態】
（第１実施形態；ＥＰＳ）
以下、本発明を電動パワーステアリング装置のモータ制御装置に具体化した第１実施形態を図１〜図４に従って説明する。
【００２１】
（全体構成）
図１に示すように、電動パワーステアリング装置（ＥＰＳ）１は、電動パワーステアリング制御装置（以下「制御装置２」という。）及び当該制御装置２により駆動制御される電動モータ３を備えており、この電動モータ３の出力軸にはギヤ４が固定されている。電動モータ３は三相同期式永久磁石モータで構成したブラシレスモータであり、モータ回転角センサ（例えばホール素子）５を備えている。モータ回転角センサ５は電動モータ３の回転角θｍ、即ち電動モータ３を構成するロータの磁極位置を示す電気角を検出し、この検出結果（モータ回転角信号）を制御装置２へ送る。
【００２２】
一方、ステアリングホイール（以下、「ハンドル７」という）にはステアリングシャフト８が連結されており、同ステアリングシャフト８には減速歯車９が固定されている。この減速歯車９には前記電動モータ３のギヤ４が噛合している。ステアリングシャフト８にはトーションバー（ねじりばね）１０が組み込まれており、当該トーションバー１０にはトルクセンサ１１が設けられている。トルクセンサ１１は、運転者によりハンドル７が操舵されてステアリングシャフト８が回転した際のトーションバー１０の捻れ量に基づいて、当該ハンドル７に作用する操舵トルクＴを検出する。この操舵トルク信号は制御装置２へ送られる。
【００２３】
前記減速歯車９にはピニオンシャフト１２を介してピニオンギヤ１３が固定されている。このピニオンギヤ１３はラック１４と噛合しており、当該ラック１４の両端にはそれぞれタイロッド１５が固定されている。タイロッド１５の先端部にはナックルアーム１６が回動可能に連結されており、両ナックルアーム１６，１６間にはクロスメンバ１７が回動可能に連結されている。両ナックルアーム１６，１６にはそれぞれ前輪１８が取り付けられている。
【００２４】
前後左右の各車輪にはそれぞれ車速センサ１９が設けられている（図１では、一方の前輪１８の車速センサ１９のみ図示する）。車速センサ１９は車輪速（車輪の単位時間当たりの回転数、即ち回転速度）を検出し、この検出結果（車輪速信号）を制御装置２へ送る。制御装置２は車速センサ１９から送られてきた車輪速信号に基づいて車速Ｖを演算する。
【００２５】
さて、運転者によりハンドル７が回動操作されると、ステアリングシャフト８が回転する。この回転はトーションバー１０、ピニオンシャフト１２及びピニオンギヤ１３を介してラック１４へ伝達され、同ラック１４の軸動に変換される。これにより、両前輪１８，１８が転舵される。
【００２６】
このとき、制御装置２は、トルクセンサ１１により検出された操舵トルクＴ及び車速センサ１９により検出された車速Ｖに基づいて、所定の操舵補助トルク（アシストトルク）を発生させるように電動モータ３を正逆駆動制御する。電動モータ３の回転はギヤ４を介して減速歯車９に伝達され、当該減速歯車９により回転数が減少されてピニオンシャフト１２及びピニオンギヤ１３に伝達される。ピニオンギヤ１３の回転はラック１４に伝達され、同ラック１４の軸動に変換される。このようにして、ハンドル７の回動操作による前輪１８の操舵に対してアシストトルクが付与される。
【００２７】
（制御装置）
次に、制御装置２の電気的構成について説明する。
図１に示すように、制御装置２は、第１のＭＰＵ（Ｍｉｃｒｏ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１、第２のＭＰＵ２２、第１のＲＯＭ（読み出し専用メモリ）２３、第１のＲＡＭ（読み出し書き込み専用メモリ）２４、第２のＲＯＭ２５、第２のＲＡＭ２６及びモータ駆動装置２７を備えている。また、制御装置２は電流センサ２８を備えている。
【００２８】
第１のＲＯＭ２３には、第１のＭＰＵ２１が実行する基本アシスト制御プログラム及びハンドル戻し制御プログラム等の各種の制御プログラム、各種のデータ及び各種の特性マップ等が格納されている。各種の特性マップはそれぞれ車両モデルによる実験データ及び周知の理論計算等によって予め求められたものであり、例えば車速Ｖと操舵トルクＴとに基づいて基本アシスト電流を求めるための基本アシストトルクマップや車速、操舵角速度及び操舵絶対角に基づいてハンドル戻し指令電流を求めるためのマップがある。
【００２９】
第１のＲＡＭ２４は、第１のＲＯＭ２３に書き込まれた各種の制御プログラムを展開して第１のＭＰＵ２１が各種の演算処理を実行するためのデータ作業領域である。また、第１のＲＡＭ２４は第１のＭＰＵ２１が各種の演算処理を行う際の各種の演算処理結果等を一時的に記憶する。
【００３０】
第１のＭＰＵ２１にはトルクセンサ１１及び車速センサ１９がそれぞれ入出力インターフェイス（図示略）を介して接続されている。第１のＭＰＵ２１はトルクセンサ１１及び車速センサ１９から得られる各種の情報に基づいて基本アシスト制御プログラム及びハンドル戻し制御プログラム等の各種の制御プログラムを実行する。
【００３１】
第２のＲＯＭ２５には、第２のＭＰＵ２２が実行する電流制御プログラムやＰＷＭ演算プログラム等の各種の制御プログラム及び各種のデータ等が格納されている。
【００３２】
第２のＲＡＭ２６は、第２のＭＰＵ２２に書き込まれた各種の制御プログラムを展開して第２のＭＰＵ２２が各種の演算処理を実行するためのデータ作業領域である。また、第２のＲＡＭ２６は第２のＭＰＵ２２が各種の演算処理を行う際の各種の演算処理結果等を一時的に記憶する。
【００３３】
第２のＭＰＵ２２にはモータ回転角センサ５及び電流センサ２８がそれぞれ入出力インターフェイス（図示略）を介して接続されている。第２のＭＰＵ２２は、第１のＭＰＵ２１における演算結果やモータ回転角センサ５及び電流センサ２８から得られる各種の情報等に基づいて電流制御プログラムやＰＷＭ演算プログラム等の各種の制御プログラムを実行する。
【００３４】
（モータ駆動装置）
図２に示すように、モータ駆動装置２７は、ＦＥＴ（電界効果トランジスタ）３１Ｕ，３２Ｕの直列回路と、ＦＥＴ３１Ｖ，３２Ｖの直列回路と、ＦＥＴ３１Ｗ，３２Ｗの直列回路とが並列に接続されることにより構成されている。ＦＥＴ３１Ｕ，３２Ｕ間の接続点３３Ｕは電動モータ３のＵ相巻線に接続され、ＦＥＴ３１Ｖ，３２Ｖ間の接続点３３Ｖは電動モータ３のＶ相巻線に接続され、ＦＥＴ３１Ｗ，３２Ｗ間の接続点３３Ｗは電動モータ３のＷ相巻線に接続されている。
【００３５】
モータ駆動装置２７と車両に搭載されたバッテリ３４との間の電源ラインＬｐ上には昇圧回路（図示略）が設けられており、当該昇圧回路は第２のＭＰＵ２２からの指令信号（昇圧回路制御信号）に基づいてバッテリ３４の電圧を昇圧し、これをモータ駆動装置２７の各直列回路にそれぞれ印加する。
【００３６】
図２に示すように、電流センサ２８はモータ駆動装置２７から電動モータ３へ出力される３相の励磁電流Ｉｕ，Ｉｖ，Ｉｗをそれぞれ検出するｕ相電流センサ２８ｕ、ｖ相電流センサ２８ｖ及びｗ相電流センサ２８ｗを備えている。ｕ相電流センサ２８ｕ、ｖ相電流センサ２８ｖ及びｗ相電流センサ２８ｗは検出したｕ相励磁電流Ｉｕ、ｖ相励磁電流Ｉｖ及びｗ相励磁電流Ｉｗをそれぞれ第２のＭＰＵ２２へ送る。
【００３７】
（第１及び第２のＭＰＵの接続間係）
図２に示すように、第１のＭＰＵ２１と第２のＭＰＵ２２との間は第１のパラレル通信ラインＬｃ１と第２のパラレル通信ラインＬｃ２とによりそれぞれ接続されている。第１のパラレル通信ラインＬｃ１はメイン（主）の通信ラインであり、第２のパラレル通信ラインＬｃ２はサブ（副）の通信ラインである。第１のパラレル通信ラインＬｃ１は第１のＭＰＵ２１から第２のＭＰＵ２２へ送るモータ指令値のビット長と同じ本数のデータラインを備えている。本実施形態では、モータ指令値のビット長は８ビットとされており、第１のパラレル通信ラインＬｃ１は８本のデータラインＤｍ０〜Ｄｍ７を備えている。また、第２のパラレル通信ラインＬｃ２は４本のデータラインＤｓ０〜Ｄｓ３を備えている。
【００３８】
第１のＭＰＵ２１は第１のポート４１及び第２のポート４２を備えている。第２のＭＰＵ２２は第１のポート４３及び第２のポート４４を備えている。両第１のポート４１，４３はそれぞれビット位置ｂ０〜ｂ７の８ビット長のパラレルポートであり、両第２のポート４２，４４はそれぞれビット位置ｂ０〜ｂ３の４ビット長のパラレルポートである。
【００３９】
第１のＭＰＵ２１の第１のポート４１と第２のＭＰＵ２２の第１のポート４３との間、具体的には両第１のポート４１，４３のビット位置ｂ０〜ｂ７間はそれぞれデータラインＤｍ０〜Ｄｍ７により接続されている。また、第１のＭＰＵ２１の第２のポート４２と第２のＭＰＵ２２の第２のポート４４との間、具体的には両第２のポート４２，４４のビット位置ｂ０〜ｂ３間はそれぞれデータラインＤｓ０〜Ｄｓ３により接続されている。
【００４０】
第１のＭＰＵ２１は、前記基本アシストトルクマップに基づいて、車速Ｖ及び操舵トルクＴに対応した基本アシスト電流値を演算し、この演算結果（即ち、モータ指令値）を第２のＭＰＵ２２へ第１のパラレル通信ラインＬｃ１及び第２のパラレル通信ラインＬｃ２を介して送る。
【００４１】
第２のＭＰＵ２２はモータ回転角センサ５により検出された電動モータ３の回転角θｍに基づいて、ｕ相電流センサ２８ｕ、ｖ相電流センサ２８ｖ及びｗ相電流センサ２８ｗにより検出されたｕ相励磁電流Ｉｕ、ｖ相励磁電流Ｉｖ及びｗ相励磁電流Ｉｗをｄ−ｑ変換してｄ軸及びｑ軸電流を求める。そして、第２のＭＰＵ２２は第１のＭＰＵ２１から送られてきた基本アシスト電流値と前記ｑ軸電流とに基づいてＰＩ制御値を演算する。
【００４２】
第２のＭＰＵ２２はＰＩ制御値に応じたＰＷＭ演算を行い、このＰＷＭ演算の結果（モータ制御信号）をモータ駆動装置２７に対して、具体的にはＦＥＴ３１Ｕ，３２Ｕ、ＦＥＴ３１Ｖ，３２Ｖ、ＦＥＴ３１Ｗ，３２Ｗに対してそれぞれ出力する。モータ駆動装置２７は、送られてきたＰＷＭ演算の結果に基づいて電動モータ３に対する基本アシスト電流（３相の励磁電流）の供給を３相の励磁電流路を介して行う。電動モータ３は基本アシスト電流の供給に基づいてハンドル７に対して基本アシスト力を付与する。
【００４３】
（実施形態の作用）
次に、前述のように構成した電動パワーステアリング制御装置の動作を図３（ａ），（ｂ）に示すフローチャートに従って説明する。図３（ａ）に示すフローチャートは第１のＲＯＭ２３に予め格納された各種の制御プログラムに従って実行される。図３（ｂ）に示すフローチャートは第２のＲＯＭ２５に予め格納された各種の制御プログラムに従って実行される。尚、本実施形態では「ステップ」を「Ｓ」と略記する。
【００４４】
（第１のＭＰＵの動作）
図３（ａ）に示すように、第１のＭＰＵ２１は、まずセンサ信号、即ちトルクセンサ１１により検出された操舵トルクＴ及び車速センサ１９により検出された車速Ｖを読込む（Ｓ１０１）。
【００４５】
次に、第１のＭＰＵ２１は、操舵トルクＴ及び車速Ｖに基づいてｍビットのモータ指令値（アシスト指令電流値）を演算する（Ｓ１０２）。本実施形態において、モータ指令値は８ビット（即ち、ｍ＝８）のデータである。モータ指令値を例えば「＋１００」としたとき、これを符号付の２進数で表すと、「０１１００１００（Ｂ）」となる。ちなみに、（Ｂ）は２進数であるということを示す記号である。また、最上位ビットは符号ビットであり、モータ指令値の正負、即ち「＋」，「−」を示す。符号ビットが「０」のときは「＋」、「１」のときは「−」を示す。最上位から２桁目以降が数値を示す数値ビットである。
【００４６】
次に、第１のＭＰＵ２１は算出したモータ指令値の全ビット（８ビット）を第１のポート４１にセットする（Ｓ１０３）。このとき、第１のポート４１の各ビット位置ｂ０〜ｂ７とモータ指令値の各ビット位置とが相互に対応するように、第１のポート４１の各ビット位置ｂ０〜ｂ７にはそれぞれ０，１，１，０，０，１，０，０がセットされる。
【００４７】
次に、第１のＭＰＵ２１はｎビットだけ右にシフト（桁下げ）したモータ指令値（いわゆる桁落ちしたモータ指令値）を第１のＭＰＵ２１の第２のポート４２にセットする（Ｓ１０４）。
【００４８】
ここで、ｎ，ｍはいずれも整数であり「シフト数ｎ＜モータ指令値のビット数ｍ」の関係が成立する。本実施形態ではｎ＝４とされている。即ち、８ビットのモータ指令値において、上位４ビットをそれぞれ４桁ずつ繰り下げる。具体的には、第１のＭＰＵ２１はモータ指令値「０１１００１００（Ｂ）」における上位４桁「０１１０」を第２のポート４２の各ビット位置ｂ０〜ｂ３にそれぞれセットする。
【００４９】
この第２のポート４２にセットされたモータ指令値のデータ構成は図４に示すデータＢのようになる。そして、第１のＭＰＵ２１は第１のポート４１及び第２のポート４２にそれぞれセットされたデータを第１のパラレル通信ラインＬｃ１及び第２のパラレル通信ラインＬｃ２により第２のＭＰＵ２２へ送る。
【００５０】
ちなみに、２進数においては１桁上がる毎に２ｎ（ｎは桁数）ずつデータの重みが増加する。即ち、上位のビットほど電動モータ３の挙動に影響を与える。本実施形態では重みの大きい上位４ビットが優先して第２のＭＰＵ２２へ送られる。以後、第１のＭＰＵ２１はＳ１０１〜Ｓ１０４の処理を所定の制御周期毎に繰り返す。
【００５１】
（第２のＭＰＵの動作）
一方、第２のＭＰＵ２２においては、次のような処理が行われる。即ち、図３（ｂ）に示すように、第２のＭＰＵ２２は、まず第１のＭＰＵ２１から第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値を第１のポート４３にラッチ、即ち受信する（Ｓ２０１）。通信中においてデータにノイズが重畳し、例えば最上位ビットにビット化けが発生したとすると（図１１参照）、第１のポート４３には図４に示すデータＡが保持される。即ち、第１のポート４３の各ビット位置ｂ０〜ｂ７にはそれぞれ１，１，１，０，０，１，０，０が保持される。ちなみに、ビット化けがない場合には、第１のポート４３の各ビット位置ｂ０〜ｂ７にはそれぞれ０，１，１，０，０，１，０，０が保持される。
【００５２】
次に、第２のＭＰＵ２２は、第１のＭＰＵ２１から第２のパラレル通信ラインＬｃ２を介して送られてきたモータ指令値（桁落ちしたモータ指令値；４ビット右シフトしたデータ）を第２のポート４４にラッチ、即ち受信する（Ｓ２０２）。ビット化けがない場合、第２のポート４４には図４に示すデータＢが保持される。具体的には、第２のポート４４の各ビット位置ｂ０〜ｂ３にはそれぞれ０，１，１，０が保持される。
【００５３】
次に、第２のＭＰＵ２２は、第２のポート４４に保持された桁落ちしたモータ指令値（図４に示すデータＢ）を第１のＭＰＵ２１におけるＳ１０４で右シフトされたビット数と同じビット数である４ビットだけ左へシフト（桁上げ）する（Ｓ２０３）。
【００５４】
即ち、図４に示すように、第２のＭＰＵ２２は第２のポート４４のビット位置ｂ３〜ｂ０に保持されたデータ「０１１０」の各ビットをそれぞれ４桁繰り上げてデータＢａとする。第２のＭＰＵ２２は数値のないビット位置（この場合、ｂ０〜ｂ３）のビットを０と認識し、第２のパラレル通信ラインＬｃ２により送られてきたモータ指令値を「０１１０００００」と認識する。
【００５５】
次に、第２のＭＰＵ２２は、第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値にビット化けがあるか否かを判断する（Ｓ２０４）。
本実施形態では、モータ指令値の上位（ｍ−ｎ）ビット（ｎ＜ｍ）、即ち上位４ビットにおけるビット化けの有無を判断する。具体的には、第１のポート４３にラッチされたモータ指令値と第２のポート４４にラッチされたモータ指令値とをビット毎に比較する。第２のＭＰＵ２２は２つのデータ（図４に示すデータＡと同じくデータＢａ）の排他的論理和（ｅｘｃｌｕｓｉｖｅ  ＯＲ）をビット毎に演算する。この演算は２入力１出力の処理であり、入力の一方だけが「１」のとき、出力は「１」となる。換言すれば、入力がともに「１」であるか、ともに「０」であるとき、出力は「０」となる。
【００５６】
従って、２つのデータにおけるビット毎の比較結果がすべて「０」であれば、ビット化けは発生しておらず、第２のＭＰＵ２２は正常にデータ通信が行われたと判断する。逆に、２つのデータにおけるビット毎の比較結果に「１」があれば、第２のＭＰＵ２２はビット化けがあると判断する。例えば、図４に示すデータＡの最上位ビット「１」とデータＢａの最上位ビット「０」との排他的論理和を求めると「１」となる。これにより、第２のＭＰＵ２２はモータ指令値の最上位ビットの謝り（ビット化け）を検出する。
【００５７】
モータ指令値の上位４ビットにビット化けはないと判断した場合（Ｓ２０４でＮＯ）、第２のＭＰＵ２２はＳ２０５へ処理を移行し、第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値（この場合、「０１１００１００（Ｂ）」）に基づいて電動モータ３を駆動制御する。
【００５８】
モータ指令値の上位４ビットにビット化けがあると判断した場合（Ｓ２０４でＹＥＳ）、第２のＭＰＵ２２は電動モータ３の駆動を停止（一時停止又は完全停止）する。このため、重みのある上位ビットのビット化けに起因する過剰なモータ指令や本来の指令とは逆方向の電流指令に基づいて電動モータ３が駆動制御されることが回避される。従って、間違ったモータ指令値に基づいて電動モータ３が駆動制御されることはなく、当該電動モータ３の意図しない挙動が回避される。
【００５９】
（実施形態の効果）
従って、本実施形態によれば、以下の効果を得ることができる。
（１）第１のＭＰＵ２１により算出されたモータ指令値を第２のＭＰＵ２２へ送る第１のパラレル通信ラインＬｃ１に加えて、同じくモータ指令値を第２のＭＰＵ２２へ送る第２のパラレル通信ラインＬｃ２を備えた。そして、第２のＭＰＵ２２は、第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値と第２のパラレル通信ラインＬｃ２により送られてきたモータ指令値とをビット毎に比較し、モータ指令値に誤り（ビット化け）があると判断したときには、電動モータ３の駆動制御を停止するようにした。即ち、モータ指令値において、重みのある上位ビットにビット化けがある場合には電動モータ３、ひいては電動パワーステアリング装置を安全側に制御するようにした。このため、モータ指令値のビット化けに起因する過剰指令や逆回転指令に基づいて電動モータ３が駆動制御されることはない。従って、電動モータ３の意図しない挙動を回避することができる。
【００６０】
（２）第１のパラレル通信ラインＬｃ１にはモータ指令値の全ビット数（８ビット）分のデータラインＤｍ０〜Ｄｍ７を備えるようにした。また、第２のパラレル通信ラインＬｃ２にはモータ指令値の４ビット分のデータラインを備えるようにした。そして、第２のパラレル通信ラインＬｃ２からはモータ指令値の上位４ビットを優先して第２のＭＰＵ２２へ送るようにした。このため、重みがあり電動モータ３の挙動に大きな影響を及ぼす上位４ビットのビット化けを検出することができる。下位４ビットのビットエラーは検出されないものの、電動モータ３への影響は上位４ビットに比べれば小さい。このため、電動モータ３が意図しない挙動を示すことはない。
【００６１】
（３）第２のパラレル通信ラインＬｃ２のデータライン数を第１のパラレル通信ラインＬｃ１のデータライン数よりも少なくなるようにした。このため、第２のパラレル通信ラインＬｃ２のデータライン数を第１のパラレル通信ラインＬｃ１のデータライン数と同じ数だけ設けるようにした場合に比べて、制御装置２の製品コストを低減させることができる。また、第１のポート４１，４３及び第２のポート４２，４４のポート（ビット位置）をそれぞれ節約することができる。
【００６２】
（４）第１のＭＰＵ２１は算出したｍビット（８ビット）のモータ指令値をｎビット（４ビット）だけ桁下げしたデータを第２のパラレル通信ラインＬｃ２により第２のＭＰＵ２２へ送るようにした。また、第２のＭＰＵ２２は第２のパラレル通信ラインＬｃ２により送られてきたデータをｎビットだけ桁上げするようにした。そして、第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値と前記桁上げされたデータとの上位（ｍ−ｎ）ビット、即ち４ビットの排他的論理和をビット毎に演算するようにした。そして、この演算結果に基づいて第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値のうち上位４ビットに誤りがあるか否かの判断を行うようにした。このため、第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値の少なくとも上位４ビットの誤りを検出することができる。
【００６３】
（５）モータ指令値としてモータ電流指令値（具体的には、基本アシスト電流値）が使用されている。このため、モータを同じく電流制御するシステムに制御装置２を応用することができる。
【００６４】
（第２実施形態；ＶＧＲＳ）
次に、本発明をギヤ比可変ステアリングシステム（ＶＧＲＳ）に具体化した第２実施形態を説明する。本実施形態は制御対象が電動パワーステアリング装置の電動モータではなくギヤ比可変ステアリングシステムの電動モータである点で前記第１実施形態と異なる。従って、前記第１実施形態と同様の部材構成は同一の符号を付し、その重複した説明を省略する。
【００６５】
図５に示すように、ギヤ比可変ステアリングシステム５１のステアリングホイール（以下、ハンドル５２」という。）には第１ステアリングシャフト５３の一端が接続されており、この第１ステアリングシャフト５３の他端にはギヤ比可変ユニット５４の入力側に接続されている。ギヤ比可変ユニット５４の出力側には第２ステアリングシャフト５５の一端が接続されており、この第２ステアリングシャフト５５の他端はステアリングギヤボックス５６の入力側に接続されている。ステアリングギヤボックス５６はピニオンギヤ（図示略）を備えており、このピニオンギヤはラック軸５７に噛み合っている。第２ステアリングシャフト５５に入力された回転運動はピニオンギヤを介してラック軸５７に伝達され、当該ラック軸５７の軸方向運動に変換される。
【００６６】
ギヤ比可変ユニット５４は第１ステアリングシャフト５３と第２ステアリングシャフト５５とを作動連結する減速機５８及びこの減速機５８を駆動する電動モータ５９等を備えている。この電動モータ５９の駆動により第１ステアリングシャフト５３と第２ステアリングシャフト５５との間の伝達比（ステアリングギヤ比）が減速機５８を介して変化する。ちなみに、ステアリングギヤ比とは、本実施形態におけるラック＆ピニオン方式の電動パワーステアリング装置１の場合、ハンドル７の全回転角度（ロックからロックまで）と車輪（転舵輪）の切れ角との比をいう。
【００６７】
図６に示すように、ギヤ比可変ステアリングシステム５１は、第１ステアリングシャフト５３の回転角（即ち、操舵角θｈ）を検出する操舵角センサ６１及び第２ステアリングシャフト５５の回転角（即ち、出力角θｐ）を検出する出力角センサ６２を備えている。また、ギヤ比可変ステアリングシステム５１は、車速Ｖを検出する車速センサ６３及び電動モータ５９の回転角（電気角）を検出する回転角センサ６４を備えている。
【００６８】
操舵角センサ６１により検出された操舵角θｈ、出力角センサ６２により検出された出力角θｐ、車速センサ６３により検出された車速Ｖ及び回転角センサ６４により検出された電動モータ５９の回転角θｍはそれぞれギヤ比可変ステアリングシステム５１の制御装置６５へ送られる。制御装置６５は操舵角θｈ、出力角θｐ、車速Ｖ及び回転角θｍに基づいて電動モータ５９を駆動制御する。
【００６９】
即ち、制御装置６５の第１のＭＰＵ２１は、操舵角θｈ及び車速Ｖに基づいて、第１のＲＯＭ２３（図１参照）に予め格納されたモータ回転角特性マップ（図示略）を参照してギヤ比可変ユニット５４における電動モータ５９のモータ回転角指令値（モータ角度指令値）を演算する。モータ回転角特性マップは、車速Ｖの増加に対するモータ回転角指令値の変化を示したものであり、モータ回転角指令値は車速Ｖに応じて一義的に決まる。
【００７０】
第１のＭＰＵ２１は算出したモータ回転角指令値の全ビット（８ビット）を第１のパラレル通信ラインＬｃ１により第２のＭＰＵ２２へ送る。また、第１のＭＰＵ２１は第２のパラレル通信ラインＬｃ２によりモータ回転角指令値の上位４ビットを第２のＭＰＵ２２へ送る（図３（ａ）のフローチャート参照）。
【００７１】
第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ回転角指令値と第２のパラレル通信ラインＬｃ２により送られてきたモータ回転角指令値とをビット毎に比較する。即ち、第２のＭＰＵ２２は排他的論理和を演算することにより上位４ビットのビット化けの有無を判断する。そして、ビット化けはないと判断したとき、第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ回転角指令値に基づいて電動モータ５９を駆動制御する（図３（ｂ）のフローチャート参照）。
【００７２】
このとき、回転角センサ６４により検出された電動モータ５９の回転角θｍは第２のＭＰＵ２２へ帰還される。そして、第２のＭＰＵ２２は、第１のＭＰＵ２１により算出されたモータ回転角指令値と実際の電動モータ５９の回転角θｍとが一致するようにモータ電流をフィードバック制御する。
【００７３】
車速Ｖに応じた伝達比（ステアリングギヤ比）が設定されることにより、ハンドル７の取り回し性能が向上する。例えば停車時や低速走行時にはハンドル７の操舵角θｈに対してギヤ比可変ユニット５４の出力角θｐが大きくなるようにステアリングギヤ比が設定される。この結果、より少ないハンドル操作で旋回することができる。また、高速走行時にはハンドル７の操舵角θｈに対してギヤ比可変ユニット５４の出力角θｐが小さくなるようにステアリングギヤ比が設定される。この結果、穏やかで安定感のある車両応答が実現される。
【００７４】
一方、モータ指令値の上位４ビットにビット化けがあると判断したとき、第２のＭＰＵ２２は電動モータ５９の駆動制御を停止する（図３（ｂ）のフローチャート参照）。
【００７５】
従って、本実施形態によれば、モータ指令値としてモータ角度指令値（具体的には、モータ回転角指令値）を使用するようにしたシステムにおいて、前記第１実施形態の（１）〜（４）番目と同様の効果を得ることができる。また、モータを角度制御（位置制御）する他のシステムに制御装置６５を応用することもできる。
【００７６】
（第３実施形態；ＮＣ工作機械）
次に、本発明をＮＣ工作機械に具体化した第３実施形態を説明する。本実施形態は制御対象が電動パワーステアリング装置の電動モータではなくＮＣ工作機械のテーブル送り用の電動モータである点で前記第１実施形態と異なる。従って、前記第１実施形態と同様の部材構成は同一の符号を付し、その重複した説明を省略する。
【００７７】
図７に示すように、ＮＣ工作機械７１の固定テーブル７２にはボールねじ７３が軸受け（図示略）を介して回転可能に支持されており、このボールねじ７３の外端部は送り用電動モータ７４の出力軸にカップリング（図示略）を介して連結されている。また、ボールねじ７３にはナット７５が螺合されている。このナット７５はボールねじ７３の正逆回転に伴って螺進及び螺退可能とされている。ナット７５の上面には移動テーブル７６を介して主軸台７７が一体移動可能に設けられている。主軸台７７には主軸用モータ７８が固定されており、主軸用モータ７８の出力軸には主軸７９が作動連結されている。主軸７９の先端にはタップ等の工具８０が取り付けられている。
【００７８】
従って、送り用電動モータ７４が駆動されると、ボールねじ７３の回転によりナット７５が当該ボールねじ７３に沿って往復移動し、これに伴って移動テーブル７６もボールねじ７３の軸線に沿う方向（図７に示す矢印方向）へ往復移動する。主軸用モータ７８が駆動されると、主軸７９と共に工具８０が正逆回転する。
【００７９】
ＮＣ工作機械７１は送り用電動モータ７４の回転角θｍｓを検出する送り用モータ回転角センサ８１、及び主軸用モータ７８の回転角θｍｐを検出する主軸用モータ回転角センサ８２を備えている。送り用モータ回転角センサ８１及び主軸用モータ回転角センサ８２により検出された回転角θｍｓ及び回転角θｍｐはそれぞれＮＣ工作機械７１の制御装置９１へ送られる。
【００８０】
図８に示すように、制御装置９１は第１のＭＰＵ２１、第２のＭＰＵ２２、送り用モータ駆動装置９２、主軸用モータ駆動装置９３及びＰＬＯ（プログラム可能論理制御装置）９４を備えている。このＰＬＯ９４は第１のＭＰＵ２１に接続されている。また、ＰＬＯ９４には入出力装置（操作盤）９５が接続されている。ＰＬＯ９４はシーケンサ機能を備えており、第１のＭＰＵ２１が実行すべきＮＣプログラムを判断及び選択して所定のプログラム指令により、第１のＭＰＵ２１にそのＮＣプログラムを実行させる。
【００８１】
即ち、第１のＭＰＵ２１は、所定の制御周期毎にＰＬＯ９４からの所定のプログラム指令に基づいて送り用電動モータ７４に対するモータ指令値（モータ角度指令値；移動テーブル７６の送り量）及び主軸用モータ７８に対するモータ指令値（モータ角速度指令値；主軸７９の回転角速度）をそれぞれ演算する。
【００８２】
第１のＭＰＵ２１は算出したモータ角度指令値の全ビット及びモータ角速度指令値の全ビットをそれぞれ第１のパラレル通信ラインＬｃ１を介して第２のＭＰＵ２２へ送る。また、第１のＭＰＵ２１は第２のパラレル通信ラインＬｃ２を介してモータ角度指令値の上位４ビット及びモータ角速度指令値の上位４ビットをそれぞれ第２のＭＰＵ２２へ送る（図３（ａ）のフローチャート参照）。
【００８３】
第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ角度指令値と第２のパラレル通信ラインＬｃ２により送られてきたモータ角度指令値との排他的論理輪をビット毎に演算することによりモータ指令値の上位４ビットのビット化けの有無を判断する。また、第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ角速度指令値と第２のパラレル通信ラインＬｃ２により送られてきたモータ角速度指令値との排他的論理輪をビット毎に演算することによりモータ指令値の上位４ビットのビット化けの有無を判断する。
【００８４】
そして、モータ角度指令値及びモータ角速度指令値の上位４ビットにおいてビット化けはないと判断したとき、第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ角度指令値に基づいて送り用電動モータ７４を駆動制御する。また、第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ角速度指令値に基づいて主軸用モータ７８を駆動制御する（図３（ｂ）のフローチャート参照）。
【００８５】
このとき、送り用モータ回転角センサ８１により検出された回転角θｍｓ及び主軸用モータ回転角センサ８２により検出された回転角θｍｐはそれぞれ第２のＭＰＵ２２へ帰還される。第２のＭＰＵ２２はこれら回転角θｍｓ，θｍｐに基づいて送り用電動モータ７４及び主軸用モータ７８のモータ電流をそれぞれフィードバック制御する。即ち、第２のＭＰＵ２２は、モータ指令値（モータ角度指令値及びモータ角速度指令値）と実際のモータの回転角（電気角）θｍｓ，θｍｐとをそれぞれ一致させるように送り用電動モータ７４及び主軸用モータ７８をそれぞれ駆動制御する。
【００８６】
一方、モータ角度指令値及びモータ角速度指令値の上位４ビットにおいてビット化けがあると判断したとき、第２のＭＰＵ２２は電動モータ５９の駆動制御を停止する（図３（ｂ）のフローチャート参照）。
【００８７】
従って、本実施形態によれば、モータ指令値としてモータ角度指令値及びモータ角速度指令値を使用するようにしたシステムにおいて、前記第１実施形態の（１）〜（４）番目と同様の効果を得ることができる。また、モータを速度（角速度）制御する他のシステムに制御装置９１を応用することもできる。
【００８８】
（別例）
尚、本実施形態は以下のような別例に変更して実施してもよい。
・第１〜第３実施形態では、第１のＭＰＵ２１及び第２のＭＰＵ２２をそれぞれ同一の制御装置２，６５，９１に備えるようにしたが、例えば第１のＭＰＵ２１を制御装置２，６５，９１の外部に設けるようにしてもよい。このようにすれば、制御装置２，６５，９１の小型化が図られる。
【００８９】
・第１及び第２実施形態において、第１のＭＰＵ２１の機能を電動パワーステアリング装置１及びギヤ比可変ステアリングシステム５１以外の他のシステムのＭＰＵに行わせるようにしてもよい。例えば、電動パワーステアリング装置１、ギヤ比可変ステアリングシステム５１及びＳＣ（スタビリティコントロール；安定性制御）等を組み合わせて統合制御するようにした車両システムにおいて、この車両システムを統合制御する統合制御ＥＣＵ（電子制御装置）によりモータ指令値を演算する。そして、この演算結果を例えばＣＡＮ（ＣｏｎｔｒｏｌｌｅｒＡｒｅａ  Ｎｅｔｗｏｒｋ）通信（即ち，自動車内ＬＡＮ）により第２のＭＰＵ２２へ送る。この演算結果（モータ指令値）に基づいてモータ電流制御を行い、電動パワーステアリング装置１の電動モータ３及びギヤ比可変ステアリングシステム５１の電動モータ５９等の駆動制御を行う。このようにすれば、制御装置２，６５の小型化が図られる。
【００９０】
・第１〜第３実施形態では、第１のＭＰＵ２１により演算したモータ指令値における上位４ビットだけを第２のパラレル通信ラインＬｃ２により第２のＭＰＵ２２へ送るようにしたが、最上位ビットだけを送るようにしてもよい。即ち、図３（ａ）に示すフローチャートにおけるＳ１０４において、モータ指令値のシフト数ｎを「７」とする。この場合、第２のポート４２，４４はそれぞれ１ビット分設けるだけでよい。また、第２のパラレル通信ラインＬｃ２は１本のデータラインＤ７を設けるだけでよい。このようにすれば、少なくとも符号ビットの誤りが検出されるので電流指令値の正逆が間違ったまま電動モータ３が駆動制御されることが回避できる。
【００９１】
・ちなみに、モータ指令値の全ビット数ｍとＳ１０４（図３（ａ）参照）におけるモータ指令値のシフト数ｎとの間に、「ｍ＞ｎ」の関係が成立する範囲で、「ｎ」の値を任意に変更するようにしてもよい。この場合、第２のポート４２，４４のビット位置をそれぞれ（ｍ−ｎ）ビット分確保すると共に、第２のパラレル通信ラインＬｃ２には（ｍ−ｎ）本のデータラインを備える。このようにすれば、少なくともモータ指令値の上位（ｍ−ｎ）ビットの誤りを検出することができる。
【００９２】
・第１〜第３実施形態では、第１のＭＰＵ２１により演算したモータ指令値における上位４ビットだけを第２のパラレル通信ラインＬｃ２により第２のＭＰＵ２２へ送るようにしたが、全ビット（即ち、８ビット）を送るようにしてもよい。即ち、第２のポート４２，４４のビット位置をそれぞれ８ビット分設けると共に、第２のパラレル通信ラインＬｃ２を８本のデータラインで構成する。そして、第２のＭＰＵ２２は第１のパラレル通信ラインＬｃ１により送られてきたモータ指令値（全ビット）と第２のパラレル通信ラインＬｃ２により送られてきたモータ指令値（全ビット）とをビット毎に比較する。この場合、第１のＭＰＵ２１及び第２のＭＰＵ２２において、データをシフト（桁移動）させる必要はない。このようにすれば、モータ指令値の全ビットの誤りを検出することができる。
【００９３】
・第１〜第３実施形態において、第１〜第３のパラレル通信ラインＬｃ１，Ｌｃ２，Ｌｃ３で送るデータ毎にパリティチェックを行うようにしてもよい。即ち、第１のＭＰＵ２１は、モータ指令値（８ビット）の中に含まれる１（  又は０）  の個数の偶奇（  パリティビット）  を添付してデータを転送する。第２のＭＰＵ２２は添付されたパリティビットと、データ中に含まれる１（  又は０）  の個数を比較して、偶奇が合わなければデータに誤りがあると判断する。このようにすれば、第１のパラレル通信ラインＬｃ１及び第２のパラレル通信ラインＬｃ２によりそれぞれ送られてきたデータ（図４におけるデータＡ及びデータＢ）の双方においてビット化けが発生した場合においても、データの誤りを検出することができる。
【００９４】
・第１〜第３実施形態において、第１〜第３のパラレル通信ラインＬｃ１，Ｌｃ２，Ｌｃ３で送るデータ毎にチェックサム（検査合計）を行うようにしてもよい。即ち、第１のＭＰＵ２１はモータ指令値（８ビット）の合計の値（チェックサム）を計算し、これを添付してデータを送る。第２のＭＰＵ２２は送られてきたデータ列から同様にチェックサムを計算して、第１のＭＰＵ２１から送られてきたチェックサムと一致するかどうかを検査する。両者が異なれば、第２のＭＰＵ２２は通信系路上でデータに誤りが生じていると判断する。このようにすれば、第１のパラレル通信ラインＬｃ１及び第２のパラレル通信ラインＬｃ２によりそれぞれ送られてきたデータ（図４におけるデータＡ及びデータＢ）の双方においてビット化けが発生した場合においてもデータの誤りを検出することができる。
【００９５】
・第１〜第３実施形態では、上位４ビットのビット化けを検出したとき電動モータ３の駆動制御を停止するようにしたが、ビット化けしたデータの桁位置によっては停止させることなく電動モータ３の駆動制御を継続するようにしてもよい。即ち、下位ビットに行くほど、故障度の点では電動モータ３の駆動制御に対する影響が少ないので、停止するのではなく電動モータ３の駆動制御に所定の制限をかける。具体的には、予め設定した所定桁（例えば上位２桁）以上の桁がビット化けしている場合には電動モータ３の駆動制御を停止する。所定桁以下の桁（最上位から３桁目以下の桁）がビット化けしている場合には電動モータ３の駆動制御を停止することなく、第２のＭＰＵ２２はモータ電流、モータ回転角及びモータ角速度に制限をかけて電動モータ３の駆動制御を行う。例えばモータ電流、モータ回転角及びモータ角速度をモータ指令値の５０％とする。この場合、ノイズの影響を１／２程度に抑制することができる。また、電動モータ３の停止も減少し、ひいては操舵感覚の悪化を抑制することができる。従って、電動モータ３の駆動制御の信頼性、ひいては電動パワーステアリング装置１の信頼性を向上させることができる。
【００９６】
・本実施形態では第１のＭＰＵ２１及び第２のＭＰＵ２２をそれぞれ８ビットシステムとしたが、例えば１６ビットシステムなど任意のビット数のシステムとしてもよい。
【００９７】
（付記）
次に前記実施形態及び別例から把握できる技術的思想を以下に追記する。
（イ）車両の操舵系にトルク伝達可能に設けられて操舵補助トルクを発生するモータと、前記モータを駆動するモータ駆動手段と、前記モータ駆動手段を通電制御することにより前記モータを駆動制御するモータ制御装置とを備えた電動パワーステアリング装置において、請求項１〜請求項４のうちいずれか一項に記載のモータ制御装置を備えた電動パワーステアリング装置。
【００９８】
（ロ）ステアリングホイールの操舵角と転舵輪の転舵角との間の伝達比を変化させるギヤ比可変ユニットを備えたギヤ比可変ステアリングシステムであって、前記ステアリングホイールの操舵角を検出する操舵角センサと、車速を検出する車速センサと、前記ギヤ比可変ユニットを駆動する電動モータと、車速センサにより検出された車速に基づいて前記伝達比を設定すると共に操舵角センサにより検出された操舵角に基づいて前記電動モータを駆動制御する制御手段とを備えたギヤ比可変ステアリングシステムにおいて、請求項１〜請求項４のうちいずれか一項に記載のモータ制御装置を備えたギヤ比可変ステアリングシステム。
【００９９】
（ハ）第１のＭＰＵにより演算されたデータを主パラレル通信ラインにより第２のＭＰＵへ送るデータ伝送方法において、第１のＭＰＵと第２のＭＰＵとの間には前記主パラレル通信ラインとは別の副パラレル通信ラインを設け、第２のＭＰＵは主パラレル通信ラインにより送られてきたデータと副パラレル通信ラインにより送られてきたデータとをビット毎に比較することによりデータの誤りを検出するようにしたデータ伝送方法。
【０１００】
（ニ）第１のＭＰＵは算出したデータの少なくとも最上位ビットを副パラレル通信ラインにより第２のＭＰＵへ送るようにし、第２のＭＰＵは、主パラレル通信ラインにより送られてきたデータと副パラレル通信ラインにより送られてきた少なくとも最上位ビットとの排他的論理和をビット毎に演算し、この演算結果に基づいて主パラレル通信ラインにより送られてきたデータのうち少なくとも最上位ビットに誤りがあるか否かの判断を行うようにした前記（ハ）項に記載のデータ伝送方法。
【０１０１】
【発明の効果】
本発明によれば、モータ指令値の誤りが検出されたときにはモータの駆動制御を停止するようにしたことにより、モータの意図しない挙動を回避することができる。
【図面の簡単な説明】
【図１】第１実施形態における電動パワーステアリング装置の概略構成図。
【図２】第１実施形態におけるモータ制御装置の回路図。
【図３】（ａ）は第１実施形態における第１のＭＰＵのデータ送信時の処理を示すフローチャート、
（ｂ）は第１実施形態における第２のＭＰＵのデータ受信時の処理を示すフローチャート。
【図４】第１実施形態における第２のＭＰＵの第１のポート及び第２のポートにそれぞれラッチされたデータの構成を示すデータ構成図。
【図５】第２実施形態におけるギヤ比可変ステアリングシステムの概略構成図。
【図６】第２実施形態におけるモータ制御装置の回路図。
【図７】第３実施形態におけるＮＣ工作機械の概略構成図。
【図８】第３実施形態におけるモータ制御装置の回路図。
【図９】従来のモータ制御装置の回路図。
【図１０】（ａ）は従来の第１のＭＰＵのデータ送信時における処理を示すフローチャート、
（ｂ）は従来の第２のＭＰＵのデータ受信時における処理を示すフローチャート。
【図１１】データのビット化けの発生状況を示すタイミングチャート。
【符号の説明】
３，５９，７４，７８…電動モータ、
２，６５，９１…モータ制御装置を構成する制御装置、
２１…第１のＭＰＵ、
２２…第２のＭＰＵ、
Ａ，Ｂ，Ｂａ…データ、
Ｄｍ０〜Ｄｍ７…第１のパラレル通信ラインのデータライン、
Ｄｓ０〜Ｄｓ３…第２のパラレル通信ラインのデータライン。
Ｌｃ１…主パラレル通信ラインを構成する第１のパラレル通信ライン、
Ｌｃ２…副パラレル通信ラインを構成する第２のパラレル通信ライン、
ｍ…モータ指令値のビット数、
ｎ…シフト数。
【図１】
2004173368.tif 000003
【図２】
2004173368.tif 000004
【図３】
2004173368.tif 000005
【図４】
2004173368.tif 000006
【図５】
2004173368.tif 000007
【図６】
2004173368.tif 000008
【図７】
2004173368.tif 000009
【図８】
2004173368.tif 000010
【図９】
2004173368.tif 000011
【図１０】
2004173368.tif 000012
【図１１】
2004173368.tif 000013