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