(57)【特許請求の範囲】
【請求項１】
外部ホストＣＰＵの指示データと各種センサーからの信号とに基づいて誘導性負荷要素に流す電流を制御する誘導性負荷制御装置であって、
前記外部ホストＣＰＵの指示データと前記センサー信号とに基づいて前記誘導性負荷要素に流す電流についての電流設定値を電流設定信号によって指示する主制御回路と、
該主制御回路からの前記電流設定信号を伝える通信経路と、
該通信路と前記誘導性負荷要素に接続され、前記主制御回路からの前記電流設定信号に基づいて、誘導性負荷要素に流す電流値を制御する副制御回路と
を備えてなり、前記電流設定信号に、前記電流設定値の増減を表わすデータのビット列をＬＳＢに向かってＭＳＢから走査し、該走査において最初に有効ビットが現れるビットの直前のビットまでのビットを前記ビット列から削除した残りのビットのデータである変化量データと、該変化量データの演算処理を指示するためのコマンドデータとを含む、誘導性負荷制御装置。
【請求項２】
前記変化量データは、電流設定値の増減の絶対値を表わすデータのビット列を走査し、該走査に基づいて前記ビット列から削除した残りのビットのデータであり、
前記コマンドデータは、前記電流設定値が直前の電流設定値より増加したか減少したかを表す増減コードを含み、
前記副制御回路が、前記電流設定信号を受信し、該電流設定信号の中の前記コマンドデータにあるデータに応じて、直前の電流設定値に前記変化量データを加算するか減算するかを選択的に実行して新たな電流設定値を得て、該新たな電流設定値を前記電流設定値のデータとする、請求項１に記載の誘導性負荷制御装置。
【請求項３】
前記変化量データは、電流設定値の増減を表わす２の補数の形式のデータのビット列を走査し、該走査に基づいて前記ビット列から削除した残りのビットのデータであり、
前記コマンドデータは、前記変化量データが２の補数の形式のデータであることを示すコードを含み、
前記副制御回路は、前記電流設定信号を受信し、該電流設定信号の中の前記コマンドデータにあるデータが、前記変化量データが２の補数の形式のデータであることを示すときに、直前の電流設定値のデータと前記変化量データとを加算器によって演算して新たな電流設定値を得て、該新たな電流設定値を前記電流設定値のデータとし、前記変化量データのビット数が前記加算器の入力ビット数より小さいときは、前記変化量データの最上位ビットと同じ値のビットを前記変化量データに対し前記最上位ビットのさらに上位ビットとして必要ビット数付加することにより前記変化量データのビット数を前記加算器の入力ビット数に等しくさせる、請求項１に記載の誘導性負荷制御装置。
【請求項４】
前記主制御回路は、前記電流設定信号において時間的に区分される複数のチャネルによって前記電流設定信号を送信し、
前記副制御回路には複数の誘導性負荷要素が接続されて、各チャネルによってそれぞれの誘導性負荷要素のための前記電流設定信号を受信して各誘導性負荷要素を独立に制御する、請求項１に記載の誘導性負荷制御装置。
【請求項５】
前記主制御回路は、第１および第２の変化量データに対する演算を、前記第１の変化量データと共に前記コマンドデータによって指示し、
前記電流設定信号には、前記コマンドデータに関連付けて送信される第１の変化量データと、該第１の変化量データより後に送信される第２の変化量データとを含み、
前記副制御回路は、受信した前記コマンドデータによる演算処理を、前記第１および第２の変化量データによる演算に施す、請求項１に記載の誘導性負荷制御装置。
【請求項６】
主制御回路と、誘導性負荷要素が接続された副制御回路と、主制御回路および副制御回路に接続された通信経路とを用いて、外部ホストＣＰＵの指示データと各種センサーからの信号とに基づいて誘導性負荷要素に流す電流を制御する誘導性負荷要素の制御方法であって、
前記主制御回路によって、誘導性負荷要素に流す電流の設定値である電流設定値についての増減を表わすデータのビット列をＬＳＢに向かってＭＳＢから走査し、該走査において最初に有効ビットが現れるビットの直前のビットまでのビットを前記ビット列から削除した残りのビットのデータである変化量データと、該変化量データの演算処理を指示するためのコマンドデータとを生成するデータ生成ステップと、
前記主制御回路によって、変化量データとコマンドデータとを含む電流設定信号を前記通信経路を通じて送信することにより、前記外部ホストＣＰＵの指示データと前記センサー信号とに基づいて前記誘導性負荷要素に流すべき設定値電流を前記電流設定信号によって指示するステップと、
前記通信経路から前記電流設定信号を受信した副制御回路によって、前記主制御回路からの前記電流設定信号の電流設定値に基づいて、前記誘導性負荷要素に流す電流を制御する制御ステップと
を含む誘導性負荷制御方法。
【請求項７】
前記データ生成ステップは、
前記主制御回路が、電流設定値の増減の絶対値を表わすデータのビット列を走査するステップと、
前記主制御回路が、該走査に基づいて前記ビット列から削除した残りのビットのデータを前記変化量データとするステップと
を含み、
前記コマンドデータは、前記電流設定値が直前の電流設定値より増加したか減少したかを表す増減コードを含み、
前記制御ステップは、前記電流設定信号を受信した前記副制御回路が、該電流設定信号の中の前記コマンドデータにあるデータに応じて、直前の電流設定値に前記変化量データを加算するか減算するかを選択的に実行して新たな電流設定値を得て、該新たな電流設定値を前記電流設定値のデータとする、請求項６に記載の誘導性負荷制御方法。
【請求項８】
前記データ生成ステップは、
前記主制御回路が、電流設定値の増減を表わす２の補数の形式のデータのビット列を走査するステップと、
前記主制御回路が、該走査に基づいて前記ビット列から削除した残りのビットのデータを前記変化量データとするステップと
を含み、
前記コマンドデータは、前記変化量データが２の補数の形式のデータであることを示すコードを含み、
前記制御ステップは、該電流設定信号の中の前記コマンドデータにあるデータが、前記変化量データが２の補数の形式のデータであることを示すときに、前記電流設定信号を受信した前記副制御回路が、直前の電流設定値のデータと前記変化量データとを加算器によって演算して新たな電流設定値を得て、該新たな電流設定値を前記電流設定値のデータとし、前記変化量データのビット数が前記加算器の入力ビット数より小さいときは、前記変化量データの最上位ビットと同じ値のビットを前記変化量データに対し前記最上位ビットのさらに上位ビットとして必要ビット数付加することにより前記変化量データのビット数を前記加算器の入力ビット数に等しくさせるステップである、請求項６に記載の誘導性負荷制御方法。
【請求項９】
前記データ生成ステップは、前記主制御回路によって、時間的に区分される複数のチャネルによって送信する変化量データと前記コマンドデータとを生成するステップであり、
前記制御ステップは、複数の誘導性負荷要素が接続された前記副制御回路によって、各チャネルによってそれぞれの誘導性負荷要素のための前記電流設定信号を受信して各誘導性負荷要素を独立に制御する、請求項６に記載の誘導性負荷制御方法。
【請求項１０】
前記コマンドデータは、第１および第２の変化量データの演算処理を指示するためのものであり、
前記データ生成ステップは、前記第１の変化量データと前記コマンドデータとを含む第１群のデータと、前記第２の変化量データを含む第２群のデータとを生成するステップであり、
前記制御ステップは、前記第１のデータ群と前記第２のデータ群とを受信した前記副制御回路によって、前記第１の変化量データと前記コマンドデータによる第１の電流設定値と、前記第２の変化量データと前記コマンドデータによる第２の電流設定値とに基づいて前記誘導性負荷要素に流す電流を制御するものである、請求項６に記載の誘導性負荷制御方法。
【請求項１１】
前記副制御回路には複数の誘導性負荷要素が接続され、
前記通信経路は時間的に区分される複数のチャネルの通信を行い、
前記副制御回路は、各チャネルによってそれぞれの誘導性負荷要素のための電流設定信号を受信して各誘導性負荷要素を独立に制御する、請求項６に記載の誘導性負荷制御方法。
【請求項１２】
主制御回路と、誘導性負荷要素が接続された副制御回路と、主制御回路および副制御回路に接続された通信経路とを用いて、外部ホストＣＰＵの指示データと各種センサーからの信号に基づいて誘導性負荷要素に流す電流を制御する誘導性負荷制御プログラムであって、
主制御回路に、誘導性負荷要素に流す電流の設定値である電流設定値についての増減を表わすデータのビット列をＬＳＢに向かってＭＳＢから走査し、該走査において最初に有効ビットが現れるビットの直前のビットまでのビットを前記ビット列から削除した残りのビットのデータである変化量データと、該変化量データの演算処理を指示するためのコマンドデータとを生成するデータ生成ステップと、
主制御回路に、変化量データとコマンドデータとを含む電流設定信号を前記通信経路を通じて送信することにより、前記外部ホストＣＰＵの指示データと前記センサー信号とに基づいて前記誘導性負荷要素に流すべき設定値電流を前記電流設定信号によって指示するステップと、
前記通信経路から前記電流設定信号を受信した副制御回路に、前記主制御回路からの前記電流設定信号の電流設定値に基づいて、前記誘導性負荷要素に流す電流を制御する制御ステップと
を実行させるための誘導性負荷制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、誘導性負荷要素に流す電流を制御する制御装置、制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
従来、誘導性負荷要素を制御する制御装置として制御用の演算装置（ＣＰＵ）と誘導性負荷要素の駆動回路系とを一体化した集積回路（ＩＣ）等を用いて、誘導性負荷要素に流す電流の制御処理を行なっている。これらのＩＣは、誘導性負荷要素を駆動する駆動電流の制御にＰＷＭ（パルス幅変調）制御を利用するためのものである。この技術が、例えば特開平１１−３０８１０７号公報（特許文献１）に開示されている。ここで、制御対象である誘導性負荷要素は、例えば自動車などの電磁式のアクチュエータのソレノイドなどであり、自動車の各種制御のために用いられ、当該自動車の燃費を向上させたり、当該自動車の動きをよりスムーズなものにしたりする目的のために複数使われている。この従来の制御装置においては、それら複数の誘導性負荷要素が連携して制御されている。
【０００３】
また、特開２０００−３５８０２号公報（特許文献２）には、各種データを受信する度に、データの値と前回の受信時の値との差を求め、差を検出間隔時間にて除算することにより、データの単位時間当たりの変化量を算出することが開示されている。
【特許文献１】特開平１１−３０８１０７号公報（リニアソレノイド制御ＩＣ１４、５４（それぞれ、図１、図１１））
【特許文献２】特開２０００−３５８０２号公報（請求項１等）
【発明の開示】
【発明が解決しようとする課題】
【０００４】
自動車等に利用される誘導性負荷要素の動作をより精密に制御するために、精密な駆動制御が必要とされている。このため、駆動制御の制御方式が複雑度を増し、制御用のＣＰＵの処理能力に対する負荷が増加している。
【０００５】
この課題に対し、制御用のＣＰＵと誘導性負荷要素の駆動回路部を分離させ、制御用のＣＰＵの処理と誘導性負荷要素の駆動制御とを分散するようにすると、制御用のＣＰＵの処理負荷の低減を図ることができる。このように、従来１つのＩＣとして動作していた機能を分離すると、各々の間に通信経路を用いた制御データの送受信が必要となる。制御データを送信または受信するための従来の通信方式（例えば、Ｉ２Ｃ、ＳＰＩ等のインターフェース）においては、通信経路上に流れるデータのビット数は、そのデータが取りうるデータ値の最大値の桁数（２進数で表されるビット数）を規定する通信プロトコルによって決められている。その結果、データを表現するためには必ずしも必要でないデータ量の通信が行われている。例えば、４ビットからなるデータを送信あるいは受信しようとした場合において、送受信するデータ値が０の場合（００００Ｂ、Ｂは２進表現であることを示す）であっても、あるいは１５（１１１１Ｂ）であっても、通信時に送出されるデータに含まれるビット長は４ビットとされる。ところが、誘導性負荷要素の応答精度を向上させるため、各種のデータの電流設定値（あるいは指令値）として送信するデータ値のビット数が増加してきており、通信経路の通信速度が従来と同じであると仮定すると、ビット数が増加することにより制御用ＣＰＵから駆動回路部にデータが伝わる時間が遅くなり、その結果、副制御回路に接続している誘導性負荷要素の応答が遅れてしまう。
【０００６】
本発明は上記課題の少なくともいくつかを解決することを課題とする。
【課題を解決するための手段】
【０００７】
本発明においては、電流設定値が制御に伴って変化する前後の差分、すなわち増減が、増加か減少かいずれであるかを示すコードと、増減の幅とによって表わして通信を行うような制御装置を用いる。すなわち、本発明においては、外部ホストＣＰＵの指示データと各種センサーからの信号とに基づいて誘導性負荷要素に流す電流を制御する誘導性負荷制御装置であって、前記外部ホストＣＰＵの指示データと前記センサー信号とに基づいて前記誘導性負荷要素に流す電流についての電流設定値を電流設定信号によって指示する主制御回路と、該主制御回路からの前記電流設定信号を伝える通信経路と、該通信路と前記誘導性負荷要素に接続され、前記主制御回路からの前記電流設定信号に基づいて、誘導性負荷要素に流す電流値を制御する副制御回路とを備えてなり、前記電流設定信号に、前記電流設定値の増減を表わすデータのビット列をＬＳＢに向かってＭＳＢから走査し、該走査において最初に有効ビットが現れるビットの直前のビットまでのビットを前記ビット列から削除した残りのビットのデータである変化量データと、該変化量データの演算処理を指示するためのコマンドデータとを含む、誘導性負荷制御装置が提供される。
【０００８】
ここで、副制御回路は、誘導性負荷要素に流す電流値を決定するための演算装置と電流を実際に制御する電流増幅部とを有し、１つ以上の誘導性負荷要素が接続されていることができる。副制御回路は、複数の制御回路の集合とすることもできる。この場合、各制御回路に誘導性負荷に流す電流を制御するための演算装置と電流増幅部を備えていてもよい。複数の誘導性負荷要素を独立して制御するために、通信経路は時間的に区分される複数のチャネルの通信を行うことができる。
【０００９】
変化量データは、電流設定信号に含まれるデータであり、誘導性負荷に流れる電流設定値の増減の値を表わしている。なお、変化量データは、絶対値を表わす任意の態様のビット表現を用いることができる。また、正と負の値を２の補数によって表わすことができる。
【００１０】
また、コマンドデータは、本明細書においては、後の演算処理をどのように行うべきかを表わす任意のコードである。一例として、増減が増加であるか減少であるかを示すコード（増減コード）である。また、別の例として、２の補数であることを表わすコードとすることができる。コマンドコードは、例えば１ビット、２ビット、３ビットなどの少なくとも１ビットのビット長のデータにより表現されることができる。実施例によって後述するように、増減コードと２の補数であることを示すコードとを組み合わせて２ビットのコードとすることもできる。
【００１１】
そして、有効ビットとなりうるビットの範囲は、電流設定値の増減量に依存する。増減量があるビット列で示されたときに、有効ビットとは、そのビット列のうち、増減量の絶対値が小さくなるようにデータを変化させた場合に、反転する可能性のあるビットの範囲である。データを二値によって表現する態様は各種の態様があるが、各値に対する有効ビットの範囲は表現によって変わるものではない。
【００１２】
また、本発明においては、好適には、前記変化量データは、電流設定値の増減の絶対値を表わすデータのビット列を走査し、該走査に基づいて前記ビット列から削除した残りのビットのデータであり、前記コマンドデータは、前記電流設定値が直前の電流設定値より増加したか減少したかを表す増減コードを含み、前記副制御回路が、前記電流設定信号を受信し、該電流設定信号の中の前記コマンドデータにあるデータに応じて、直前の電流設定値に前記変化量データを加算するか減算するかを選択的に実行して新たな電流設定値を得て、該新たな電流設定値を前記電流設定値のデータとすることができる。
【００１３】
本発明では、別の好適な実施態様として、前記変化量データは、電流設定値の増減を表わす２の補数の形式のデータのビット列を走査し、該走査に基づいて前記ビット列から削除した残りのビットのデータであり、前記コマンドデータは、前記変化量データが２の補数の形式のデータであることを示すコードを含み、前記副制御回路は、前記電流設定信号を受信し、該電流設定信号の中の前記コマンドデータにあるデータが、前記変化量データが２の補数の形式のデータであることを示すときに、直前の電流設定値のデータと前記変化量データとを加算器によって演算して新たな電流設定値を得て、該新たな電流設定値を前記電流設定値のデータとすることができる。
【００１４】
本発明のある実施態様においては、前記主制御回路は、前記電流設定信号において時間的に区分される複数のチャネルによって前記電流設定信号を送信し、前記副制御回路には複数の誘導性負荷要素が接続されて、各チャネルによってそれぞれの誘導性負荷要素のための前記電流設定信号を受信して各誘導性負荷要素を独立に制御することができる。
【００１５】
また、別の実施態様においては、前記主制御回路は、第１および第２の変化量データに対する演算を、前記第１の変化量データと共に前記コマンドデータによって指示し、前記電流設定信号には、前記コマンドデータに関連付けて送信される第１の変化量データと、該第１の変化量データより後に送信される第２の変化量データとを含み、前記副制御回路は、受信した前記コマンドデータによる演算処理を、前記第１および第２の変化量データによる演算に施すことができる。
【００１６】
誘導性負荷制御の方法を実施することができる。すなわち、本発明においては、主制御回路と、誘導性負荷要素が接続された副制御回路と、主制御回路および副制御回路に接続された通信経路とを用いて、外部ホストＣＰＵの指示データと各種センサーからの信号とに基づいて誘導性負荷要素に流す電流を制御する誘導性負荷要素の制御方法であって、前記主制御回路によって、誘導性負荷要素に流す電流の設定値である電流設定値についての増減を表わすデータのビット列をＬＳＢに向かってＭＳＢから走査し、該走査において最初に有効ビットが現れるビットの直前のビットまでのビットを前記ビット列から削除した残りのビットのデータである変化量データと、該変化量データの演算処理を指示するためのコマンドデータとを生成するデータ生成ステップと、前記主制御回路によって、変化量データとコマンドデータとを含む電流設定信号を前記通信経路を通じて送信することにより、前記外部ホストＣＰＵの指示データと前記センサー信号とに基づいて前記誘導性負荷要素に流すべき設定値電流を前記電流設定信号によって指示するステップと、前記通信経路から前記電流設定信号を受信した副制御回路によって、前記主制御回路からの前記電流設定信号の電流設定値に基づいて、前記誘導性負荷要素に流す電流を制御する制御ステップとを含む誘導性負荷制御方法が提供される。
【００１７】
また、上記方法をコンピュータプログラムとして実施することもできる。
【発明の効果】
【００１８】
本発明のいずれかの実施形態においては、以下のいずれかの効果が得られる。通信データ量が少なくなるため、主制御回路から副制御回路に至る伝送時間が短縮され、命令に対する応答時間が短縮され、応答が高速化されたシステム動作が可能となる。また、通信時間が減少するため、通信にかかるシステムの消費電力を低減できる。そして、上記少なくともいずれかの効果は、複雑な回路構成を必要とするものでもない。
【発明を実施するための最良の形態】
【００１９】
以下、本願の発明の実施形態について図面を参照して詳細に説明する。
【実施例１】
【００２０】
図１に本発明の誘導性制御装置のある実施の形態を用いる具体的な実施例の制御システムの構成を示す。本実施例のシステム１００は、ホストＣＰＵ５と、誘導性負荷制御装置１０と、ホストＣＰＵ５および誘導性負荷制御装置１０に接続されるセンサー７とを含む。誘導性負荷制御装置１０の内部には、主制御回路１２と通信経路１４と副制御回路１６とがあり、主制御回路１２と副制御回路１６は通信経路１４によって接続されている。副制御回路１６は、誘導性負荷９の駆動回路となっていて、例えばＰＷＭ制御によって誘導性負荷９に流される駆動電流を制御する。
【００２１】
図１に示したように、副制御回路１６は１つのみならず複数個設けることもできる。ここでは、副制御回路（＃１−＃Ｎ）１６１〜１６ＮのＮ個の副制御回路が設けられていて、それぞれが通信経路１４によって主制御回路１２に接続されている。副制御回路（＃１−＃Ｎ）１６１〜１６Ｎには、それぞれ、誘導性負荷９１〜９Ｎが接続されている。
【００２２】
主制御回路１２はホストＣＰＵ５の制御命令信号及び各種のセンサー７からのセンサー信号をもとに、複数接続している誘導性負荷９１〜９Ｎの制御を行うための電流設定値を決定し、通信路を通して副制御回路（＃１−＃Ｎ）１６１〜１６Ｎに指示する。以下、特に個別の副制御回路や誘導性負荷を特定する必要がない場合には、集合的に副制御回路１６および誘導性負荷９として説明する。
【００２３】
図２に、通信経路１４における主制御回路１２と副制御回路（＃１−＃Ｎ）１６１〜１６Ｎとの間のデータ通信のタイミングチャートを示す。本実施例では２ビットのコマンドデータと８ビットの電流設定信号データとからなる構成のデータを送信する例によって説明し、また、通信経路１４は、複数の信号線を含む例によって説明するが、本願の発明の内容がこの例に限定されるものではない。
【００２４】
通信経路１４の送信に使用する信号には、ＥＮｎ信号、ＣＬＫ信号、及びＤＡＴＡ信号が含まれる。ＥＮｎ信号のｎはチャネル番号であり、各チャネルにより図１の主制御回路１２と副制御回路１６１〜１６Ｎが通信するタイミングが、対応するＥＮｎ信号（ｎ＝１〜Ｎ）をイネーブルにすることによって指定される。また、ＣＬＫ信号およびＤＡＴＡ信号は複数のチャネルに共通して使用される。例えば、主制御回路１２から副制御回路１６あるいはその逆の通信において、第ｎ番目の誘導性負荷９ｎは、それを制御する副制御回路１６ｎが受け取ったＤＡＴＡ信号のうち、ＥＮｎ信号がイネーブルになっている（Ｌｏｗレベルになっている）タイミングの信号を利用する。この信号には、図２のタイミングチャートに示すように２ビットのコマンドに続き、８ビットの電流設定値を含む。
【００２５】
図３は、データ転送を行なう際にコマンドデータに入れる値の種別を示す。図３に示すように、コマンドデータが００Ｂのときをノーマルモードとする。ノーマルモードであることは、コマンドデータに続くデータが８ビットのデータであることを意味する。また、コマンドデータが０１Ｂのとき、コマンドデータに続くデータは変化量データの示す分だけ増加することを示す。コマンドデータが１０Ｂのとき、コマンドデータに続くデータは変化量データの示す分だけ減少することを示す。コマンドデータがコード１１Ｂのときは、本発明のある実施態様においては、未定義としておくことができる。その場合、未定義であるため、受信側ではこのコマンドに対しては無視する。本実施例においては、コード１１Ｂには２の補数を用いる場合を割り当てる。
【００２６】
図４に１つの誘導性負荷を制御する電流設定値の時間変化の例を示す。また、図５に図４の電流設定値を表にしたものを示す。以下、駆動電流は時刻ｔ０からｔ７の間に図４のように、すなわち、時刻ｔ０からｔ７まで、（１０進数で）０、１、２、１１、１０、１、０、１と変化するように設定した場合の具体的な実施形態を示す。図５の第１列は設定時刻を時刻ｔ０からｔ７として表している。第２列は各時刻における電流設定値を示しており、上記１０進数の表記をそれぞれに８ビットの２進数にしたものである。そして、同列の最下段には、図４に示した範囲において電流設定値によって送信されるデータの量をビット数で示している。
【００２７】
図５には、第３列に、電流設定値を１６進数によって表現したものも示している。具体的には、時刻ｔ０のとき電流設定値は０Ｈ（Ｈは１６進表現であることを示す。以下同様。）、時刻ｔ１のとき電流設定値は１Ｈ、時刻ｔ２のとき電流設定値は２Ｈ、時刻ｔ３のとき電流設定値はＢＨ、時刻ｔ４のとき電流設定値はＡＨ、時刻ｔ５のとき電流設定値は１Ｈ、時刻ｔ６のとき電流設定値は０Ｈ、時刻ｔ７のとき電流設定値は１Ｈである。図５において、第４列は、１つ前の時刻の電流設定値ｔ（ｎ−１）に対する現在の電流設定値ｔ（ｎ）の差分である差分データを正負の符号を用いて１０進数により示すものである（正であれば差分は増分、負であれば減分となる。）。そして、第５列は４列目の差分データの正負の符号から生成したコマンドデータを示している。第６列目は３列目によって示した差分の絶対値データ（変化量データ）を２進によって表現したものを示している。
【００２８】
図５において、第２列に示したように、時刻ｔ０からｔ７まで全てのデータを８ビットで送受信した場合には６４ビットのデータを送信する必要があり、６４ビット分の送信時間が必要になる。これに対して、第５列および第６列に示したように、コマンドデータと変化量データを組み合わせて送信した場合、それぞれ１６ビットおよび１４ビットのデータ量となるため、データの送信に必要な時間は、３０ビット分の時間となる。このようにして、本実施例においては送信されるデータを削減することができる。
【００２９】
次に、本実施例において送信されるデータの構成について図６に具体的に示す。なお、図６は、図５の場合とは異なり、電流設定値のビット長が１６ビットであるとした場合の説明である。図６の左列には１６ビットの電流設定値データを、右列には実際に送信される送信データ（電流設定信号）を示す。右列各欄の上段は電流設定値データそのままのノーマルデータを送信する場合のビット構成を示し、下段は、１つ前の時刻の電流設定値に対する現在の電流設定値の差を示す差分データを送信する場合のビット構成を示している。送信データ（電流設定信号）のＭＳＢ２ビットはコマンドデータとなっている。なお、図６の３種類のデータに対する１つ前の時刻の電流設定値は、全て０であるとしている。１つ前の時刻の電流設定値が０であるので、ノーマルデータの電流設定値データは、そのまま差分データと見なすことができる。右列各欄の下段に示される差分データとして送信されるデータは、２ビット長のコマンドデータと、それに続けて、電流設定値から求めた変化量のデータをビット順に並べたもの（図６の例では、上記のようにノーマルデータに等しい）を、ＬＳＢに向かってＭＳＢから順に全てのビットを走査して、はじめに１となっているビットからＬＳＢまでのデータを並べたものとからなる。単純に２ビット長のコマンドデータと図６左列の電流設定値データを合わせただけのノーマルデータの送信データに比べ、このように、変化量データが短縮されるため、通信データ量が削減され、電流設定値を伝達するために必要な通信時間を削減することができる。
【００３０】
図７に送信データ作成フローを示す。先ず、図１の主制御回路のプログラムにおいて副制御回路ヘ送信するデータを、ノーマルデータを送信するかどうかの判断を行う（Ｓ７０２）。ノーマルデータを送信する場合、図２のコマンドデータに入れるコードを００Ｂとする（Ｓ７０４）。このとき、電流設定信号には電流設定値データをそのまま入れる（Ｓ７０６）。これを図４，５のｔ０の値によって例示すれば、８ビットデータをそのまま用いるため、００００００００Ｂが用いられる。ノーマル送信データでない場合（Ｓ７０２）、保存されている前回の電流設定値（データ保存未実施のときには、０とする）との差を検出する（Ｓ７０８）。そして、増減量の表現を２の補数によって行うかどうかの判断を行う（Ｓ７１０）。
【００３１】
２の補数を用いる場合には、コマンドデータに入れるコードを１１Ｂとし（Ｓ７１２）、２の補数を用いる場合のデータ設定処理（データ設定処理２）を実行する（Ｓ７１４）。この処理については、後述する。また、絶対値を用いる（２の補数を用いない）場合には、検出した差が正か負かによって処理を分岐させる（Ｓ７１６）。なお、Ｓ７０８またはＳ７１６において、差の絶対値も求める。差がプラスであればコマンドデータに入れるコードを０１Ｂとし（Ｓ７１８）、差がマイナスであればコマンドデータに入れるコードを１０Ｂとする（Ｓ７２０）。その後、差の絶対値に対し、後述する図８の処理によりデータ設定処理１を行い（Ｓ７２２）、得られたデータが送信されるデータとなる。最後に電流設定値を記憶素子に一旦保存する（Ｓ７２４）。保存したデータは差の検出に使用される。
【００３２】
次に、変化量データから通信データを設定するための処理および受信の処理に関し、絶対値を用いる場合のデータ処理設定１（Ｓ７２２）と２の補数を用いる場合のデータ処理設定２（Ｓ７１４）の詳細について説明する。図８Ａにデータ処理設定１の処理についての処理フローを示し、図８Ｂにデータ処理設定２の処理についての処理フローを示す。なお、図８Ａ、Ｂにおいては電流設定値のデータをＤＡＴＡ［７：０］によって表されるビット列を８ビットデータとしている。ここで、ビットｍからｎの特定のＮビット（Ｎ＝ｍ−ｎ＋１）の表現にはＤＡＴＡ［ｍ：ｎ］（ｍ＞ｎ≧０）と表す。また、特定の１ビットは、ＤＡＴＡ［ｍ］と表す。一般性のある電流設定値の表現は、ＤＡＴＡ［Ｎ−１：０］のビット列である。
【００３３】
絶対値を用いる場合のデータ処理設定１（図８Ａ）においては、先ず走査ビット位置を表すパラメータｍの値を初期化する（Ｓ８０２）。なお、一般性を持たせた表現をするなら、データのビット数をＭとした場合、ｍ＝Ｍ−１に初期化する。次に、ＤＡＴＡ［ｍ］が１かどうかを判定し（Ｓ８０４）、１であればデータビット幅（ビット数―１）をｍとして電流設定値のデータからＤＡＴＡ［ｍ：０］のみを抽出する（Ｓ８０６）。こうして通信データが決まるので終了する。これに対し、ＤＡＴＡ［ｍ］が１ではないとき、すなわち、ＤＡＴＡ［ｍ］が０のときには（Ｓ８０４）、さらにｍ＝０かどうか判定し（Ｓ８０８）、ｍ＝０の場合は、ビットデータ幅（ビット数−１）＝０、データ値＝０とする。ｍ＝０でない場合には（Ｓ８１０）、ｍをデクリメント（ｍ＝ｍ−１）し（Ｓ８１２）、再度ＤＡＴＡ［ｍ］が１となるまでこれを繰り返す。本処理は、ｍをデクリメントしながら各ビットを走査し、ＤＡＴＡ［ｍ］が１であるか、ｍ＝０になるまで処理を繰り返し、変化量データのうち最初に１となっているビットからＬＳＢまでのデータビット幅とデータ値とを抽出する。言い換えるなら、各ビットを走査して最初に有効ビットが現れるビットの直前のビットまでのビットをビット列から削除した残りのビットのデータを変化量データとしている。また、各ビットが全て０であるときは、１ビットの０というデータを変化量データとする。
【００３４】
次に２の補数を用いる場合のデータ処理設定２について説明する。この場合、図７のＳ７０８で２の補数データ自身は得られているものとし、データ処理設定２は２の補数データに関する通信データ量を削減する処理を行う。この処理においては、２の補数データが正の値を示すときは０のビットがＭＳＢから１ないし数ビット続き、負の値を示すときは１のビットがＭＳＢから１ないし数ビット続くことを前提としている。２の補数を用いる場合のデータ処理設定２（図８Ｂ）においても、先ず走査ビット位置を表すパラメータｍの値を初期化する（Ｓ８３２）。なお、次に、ＤＡＴＡ［ｍ］とＤＡＴＡ［ｍ−１］と、つまり隣り合ったビット値と等しいかを判定し（Ｓ８３４）、等しくない場合には、データビット幅（ビット数−１）をｍとして電流設定値のデータからＤＡＴＡ［ｍ：０］のみを抽出する（Ｓ８３６）。こうして通信データが決まるので終了する。これに対し、ＤＡＴＡ［ｍ］とＤＡＴＡ［ｍ−１］とが等しいとき（Ｓ８３４）には、さらにｍ＝１かどうか判定し（Ｓ８３８）、ｍ＝１の場合は、ＤＡＴＡ［ｍ−１］（もしくはＤＡＴＡ［ｍ］）が０かどうかによって（Ｓ８４２）、データビット幅＝０、データ値＝０とする（Ｓ８４４）か、データビット幅＝０、データ値＝１とする（Ｓ８４６）。これは、元のデータが、全てのビットがゼロのデータであるか、全てのビットが１のデータであるかを示している。なお、全てのビットが１となるのは、元の２の補数表現データが１０進数の「−１」を表している場合である。
【００３５】
ｍ＝１でない場合には（Ｓ８３８）、ｍをデクリメント（ｍ＝ｍ−１）し（Ｓ８４０）、再度ＤＡＴＡ［ｍ］が１となるまでこれを繰り返す。本処理も、２の補数によって表現された増減量に対して、各ビットを走査して最初に有効ビットが現れるビットの直前のビットまでのビットをビット列から削除した残りのビットのデータを変化量データとしている。
【００３６】
そして、図９にデータ受信フローを示す。ＥＮｎ信号がハイレベルからローレベルになることでデータ受信を開始すると、まず、走査が完了したビット数を表すｍ値をｍ＝０に初期化する（Ｓ９０２）。なお、データ受信は、図２に示すＣＬＫ信号で規定されるタイミングで行われる。１ビット受信すると、コマンドコードは２ビットのデータであるため、まず、ｍ＝２かどうかを判定し（Ｓ９０４）、ｍ＝２ではない場合には、コマンドコードのデータ記憶用変数ＣＭＤ［１：０］のうちＣＭＤ［ｍ］に、受信した１ビットのデータを保存し（Ｓ９０６）、ｍ値をインクリメント（ｍ＝ｍ＋１）する（Ｓ９０８）。これをｍ＝２となるまで繰り返す（Ｓ９０４）。ｍ＝２となると、コマンドコードのデータとして、ＣＭＤ［１：０］を保存する（S９１０）。
【００３７】
コマンドデータの次は電流値を示すデータなので、再度走査ビット数を表すｍ値をｍ＝０に初期化する（Ｓ９１２）。以降、ＥＮｎ信号がローレベルからハイレベルになるまで、連続してデータ受信を繰り返す（Ｓ９１４〜Ｓ９１８）。データ受信を終了したら（Ｓ９１４）、ＤＡＴＡ［ｍ：０］が取得される（Ｓ９２０）。そして、先に確定済みのコマンドデータの値に基づいて（Ｓ９２２）、ノーマルデータを受信している場合（コード００Ｂ）、絶対値を利用していて増減が正（増加）である場合（コード０１Ｂ）、２の補数を利用している場合（コード１１Ｂ）、絶対値を利用していて増減が負（減少）である場合（コード１０Ｂ）に合わせた処理を行う。すなわち、ノーマルデータを受信している場合は、電流設定値に受信データＤＡＴＡ［ｍ：０］をそのまま設定する（Ｓ９２４）。また、絶対値を利用していて増減が正（増加）である場合（コード０１Ｂ）、および、２の補数を利用している場合（コード１１Ｂ）には、現在の電流設定値に対して変化量データとなっているＤＡＴＡ［ｍ：０］を加算する（Ｓ９２６）。そして、絶対値を利用していて増減が負（減少）である場合には（Ｓ１０Ｂ）、コマンドコードの内容に応じて、増加のコマンドコードを受信しているときには、現在の電流設定値から変化量データとなっているＤＡＴＡ［ｍ：０］を減算する（Ｓ９２８）。以上の処理により、少ない通信量によって増減が適切に反映された電流設定値が得られる。
【００３８】
なお、上述の実施例１は、絶対値による表現と２の補数による表現とが組み合わされた例を示したが、当業者には、２の補数を用いない実施形態においては、Ｓ７１０のような判断および２の補数を用いる場合の分岐は実行されないこと、また、なお、２の補数のみを用いる実施形態においては、Ｓ７１０の判断および２の補数を用いない場合の分岐は実行されないことは明らかである。いずれの場合であっても、通信量を削減するとの本願の発明のいずれかの効果が達成される。
【００３９】
また、２の補数を用いる実施形態では、Ｓ９１６の加算演算を実行する加算器の入力ビット数をＮとすると、（Ｎ−１）＞ｍの場合は、Ｓ９２６に示す加算演算において、ＤＡＴＡ［ｍ：０］を、ＤＡＴＡ［ｍ：０］のＭＳＢのさらに上位ビットとして、ＤＡＴＡ［ｍ］と等しい値のビットを（Ｎ−１−ｍ）ビットを付加したＤＡＴＡ［Ｎ−１：０］に置き換える操作を行う。
【実施例２】
【００４０】
図１０に複数のデータを連続して送受信する場合のタイミングチャートを示す。図１０では、コマンド１とデータ１から成るデータ群１と、コマンド２とデータ２から成るデータ群２を連続して送信する場合を示す。なお、データ１とデータ２に示されている１〜７の数字はビットの並び順を示すもので、データの値そのものではない（以下、同様。）。また、コマンドデータ１とコマンドデータ２に示されている１，１に特に意味はなく、実施例１のように２の補数表現であることを示すものではない（以下、同様。）。通信の決め事として、データ群１の後に必ずデータ群２が来るというように決めておいて、それに応じた送受信回路のシーケンスを組むことで、これら連続したデータ群の通信が可能となる。図１０では、データ群１とデータ群２の間の識別は、ＥＮｎ信号を１クロックの間だけローレベルからハイレベルにし、再びローレベルにすることで行なっている。図１１も同様に２つのデータ群を送受信する場合のタイミングチャートを示しているが、データ群２はノーマルデータしか送受信しないとした場合を示し、コマンド２を省いた例である。図１２は図１１とは逆にデータ群１のコマンド１を省いた例である。この場合、データ群１のビット数を固定としたため、ＥＮｎ信号によるデータ群１とデータ群２の識別を行なう必要が無い。なお、図１０のデータ群１および２と、図１１のデータ群１と、図１２のデータ群２とについては、図示したものは８ビットのノーマルデータと同じビット長としているが、本発明の実施例１に従ってビット長が削減されたデータとすることができる。図１０のように、複数のデータ群を組み合わせることによって、複数の誘導性負荷を制御する信号を通信経路を通じて通信することができる。また、図１１や図１２のようにノーマルデータと組み合わせることによって柔軟な通信態様を実現することができる。
【実施例３】
【００４１】
次に、実施例３として、ＥＮｎ信号を使わない複数のデータを送受信する例を示す。図１３はこのＥＮｎ信号を使わない例のタイミングチャートを示す。データの開始と終了の識別は、Ｉ２Ｃ等のインターフェースで使用される状態識別と同様であるが、データ群２のデータは固定長ではなく、有効ビットのみを利用するところがＩ２Ｃ等の従来技術と異なる。図１３の例は、データ群１を固定ビット長とした例であるが、図１０のように、データ群１とデータ群２の両方を有効ビット長のみの送受信としても良く、同様に図１１のようにデータ群１を有効ビット長のみ送受信し、データ群２を固定ビット長としても良い。この場合、例えばＩ２Ｃ等で使われているリスタート条件をまねることでデータ群１の終了を検出することができる（データ信号でデータを送信する場合はデータ信号の変化するタイミングをＣＬＫ信号がローレベルの期間に限定し、ＣＬＫ信号がハイレベルの期間にデータ信号が変化したらデータ群１が終了したと判断する。）。また、送信するデータ群は２つに限定するものではなく、２つ以上のデータ群に対しても同様に送受信を連続的に行なうことが可能となる。
【００４２】
以上、本発明の実施の形態につき述べたが、本発明は既述の実施の形態に限定されるものではなく、本発明の技術的思想に基づいて各種の変形、変更および組み合わせが可能である。例えば、上記実施例では増減コードを用いて電流設定値の増減の絶対値を表わす変化量データが有効ビットのみに削減されるような処理のみを示したが、例えば変化量が一定の範囲に収まるような変化が緩やかな制御をきめ細かく行う場合には変化量データのビット数を小さな一定の値とすることができるので、増減コードと変化量データを用いるだけで通信データを削減することができ、通信データ量の増大に伴う応答の悪化を防止する効果がもたらされる。
【図面の簡単な説明】
【００４３】
【図１】本発明の実施例の誘導性負荷制御装置が用いられるシステムの構成を示すブロック図。
【図２】本発明の実施例の誘導性負荷制御装置において用いられるデータのタイミングを表わすタイミングチャート。
【図３】本発明の実施例の誘導性負荷制御装置においてコマンドデータに含められるコードを表わすコード表。
【図４】本発明の実施例の誘導性負荷制御装置における駆動電流の設定値の時間変化の例を示す説明図。
【図５】本発明の実施例の誘導性負荷制御装置における駆動電流の設定例において各時刻のデータ削減の態様を例示する表。
【図６】本発明の実施例の誘導性負荷制御装置における送信データの構成を示す説明図。
【図７】本発明の実施例の誘導性負荷制御装置において送信データを作成する処理を示すフローチャート。
【図８Ａ】本発明の実施例の誘導性負荷制御装置において絶対値を用いる場合の送信データを設定する処理を示すフローチャート。
【図８Ｂ】本発明の実施例の誘導性負荷制御装置において２の補数を用いる場合の送信データを設定する処理を示すフローチャート。
【図９】本発明の実施例の誘導性負荷制御装置においてデータを受信して電流設定値を決定する処理を示すフローチャート。
【図１０】本発明の実施例の誘導性負荷制御装置において複数のデータが連続して用いられる通信データのタイミングチャート。
【図１１】本発明の実施例の誘導性負荷制御装置において複数のデータが連続して用いられる通信データの別のタイミングチャート。
【図１２】本発明の実施例の誘導性負荷制御装置において複数のデータが連続して用いられる通信データのさらに別のタイミングチャート。
【図１３】本発明の実施例の誘導性負荷制御装置においてＥＮｎ信号を使わない場合の通信データのタイミングチャート。
【符号の説明】
【００４４】
１００  システム
９，９１〜９Ｎ  誘導性負荷
１０  誘導性負荷制御装置
１２  主制御回路
１４  通信経路
１６，１６１〜１６Ｎ  副制御回路
【図１】
0005212799.tif 000002
【図２】
0005212799.tif 000003
【図３】
0005212799.tif 000004
【図４】
0005212799.tif 000005
【図５】
0005212799.tif 000006
【図６】
0005212799.tif 000007
【図７】
0005212799.tif 000008
【図８Ａ】
0005212799.tif 000009
【図８Ｂ】
0005212799.tif 000010
【図９】
0005212799.tif 000011
【図１０】
0005212799.tif 000012
【図１１】
0005212799.tif 000013
【図１２】
0005212799.tif 000014
【図１３】
0005212799.tif 000015