(57)【要約】【課題】大規模なメモリを用いることなく、かつ、ＭＰＵの処理の負荷を低減できるパルス生成回路を提供する。【解決手段】本発明に係るパルス生成回路は、ＭＰＵ１０１からの指示に応じて、モータの回転速度をＳ字曲線制御するためのパルス信号１１２を生成するパルス生成回路１００であって、ＭＰＵ１０１から供給される、Ｓ字曲線の特性を示すパラメータ１１０を用いて、モータの回転速度をＳ字曲線制御するための、パルス信号１１２を変化させるタイミングを示すパルス特性１１１を所定の区間ごとに算出するＳ字曲線演算回路１０６と、パルス特性１１１を保持する特性レジスタ１０３と、特性レジスタ１０３に保持されるパルス特性１１１で示されるタイミングで変化するパルス信号１１２を生成するパルス出力回路１０７とを備える。【選択図】図１
2012191684.tif 000002
【特許請求の範囲】
【請求項１】
ＭＰＵからの指示に応じて、モータの回転速度をＳ字曲線制御するためのパルス信号を生成するパルス生成回路であって、
前記ＭＰＵから供給される、Ｓ字曲線の特性を示すパラメータを用いて、前記モータの回転速度をＳ字曲線制御するための、前記パルス信号を変化させるタイミングを示すパルス特性を所定の区間ごとに算出するＳ字曲線演算回路と、
前記パルス特性を保持する特性レジスタと、
前記特性レジスタに保持される前記パルス特性で示されるタイミングで変化する前記パルス信号を生成するパルス出力回路とを備える
パルス生成回路。
【請求項２】
前記Ｓ字曲線演算回路は、
現在の区間における前記モータの回転速度を保持する速度レジスタと、
前記パラメータを用いて、前記区間ごとに前記回転速度の変化の傾きを算出する傾き演算部と、
前記速度レジスタに保持されている前記現在の区間における前記回転速度と、前記傾きとを用いて、次の区間における前記モータの回転速度を演算し、演算した結果を前記速度レジスタに格納する速度演算部と、
前記速度レジスタに保持されている回転速度から前記パルス特性を算出する特性演算部を備える
請求項１記載のパルス生成回路。
【請求項３】
前記パラメータは、前記Ｓ字曲線の特性として、前記回転速度が増加するとともに、前記傾きが一定の変化量で増加する第１状態と、前記回転速度が一定の加速度で増加する第２状態と、前記回転速度が増加するとともに、前記傾きが一定の変化量で減少する第３状態と、前記回転速度が一定の第４状態と、前記回転速度が減少するとともに、前記傾きが一定の変化量で減少する第５状態と、前記回転速度が一定の減速度で減少する第６状態と、前記回転速度が減速するとともに、前記傾きが一定の変化量で増加する第７状態と、の各々の特性を示し、
前記傾き演算部は、
前記第１状態、前記第２状態、前記第３状態、前記第４状態、前記第５状態、前記第６状態、前記第７状態の順に状態を移行するステートマシンと、
前記状態の各々における前記傾きを、前記パラメータで示される、当該各状態に対応する特性を用いて算出する傾き算出部とを備える
請求項２記載のパルス生成回路。
【請求項４】
前記パラメータは、
前記第１状態における前記傾きの変化量を示す第１状態変化量と、
前記第２状態における前記傾きである第２状態傾きと、
前記第３状態における前記傾きの変化量を示す第３状態変化量と、
前記第５状態における前記傾きの変化量を示す第５状態変化量と、
前記第６状態における前記傾きである第６状態傾きと、
前記第７状態における前記傾きの変化量を示す第７状態変化量とを含み、
前記傾き演算部は、さらに、
前記各状態における経過時間を計測するカウンタを備え、
前記傾き算出部は、
前記第１状態変化量と、前記経過時間とを乗算することで、前記第１状態における前記傾きを算出し、
前記第２状態傾きを前記第２状態における前記傾きとして出力し、
前記第３状態変化量と、前記経過時間とを乗算することで、第１の値を算出し、当該第１の値と前記第２状態傾きとを加算することにより、前記第３状態における前記傾きを算出し、
ゼロを前記第４状態における前記傾きとして出力し、
前記第５状態変化量と、前記経過時間とを乗算することで、前記第５状態における前記傾きを算出し、
前記第６状態傾きを前記第６状態における前記傾きとして出力し、
前記第７状態変化量と、前記経過時間とを乗算することで、第２の値を算出し、当該第２の値と前記第６状態傾きとを加算することにより、前記第７状態における前記傾きを算出する
請求項３記載のパルス生成回路。
【請求項５】
前記傾き演算部は、
前記経過時間と第１係数とを乗算することにより乗算値を算出する乗算器と、
前記乗算値と第２係数とを加算することにより前記傾きを算出する加算器とを備え、
前記ステートマシンは、
前記第１状態において、前記第１係数として前記第１状態変化量を前記乗算器に供給し、前記第２係数としてゼロを前記加算器に供給し、
前記第２状態において、前記第１係数としてゼロを前記乗算器に供給し、前記第２係数として前記第２状態傾きを前記加算器に供給し、
前記第３状態において、前記第１係数として前記第３状態変化量を前記乗算器に供給し、前記第２係数として前記第２状態傾きを前記加算器に供給し、
前記第４状態において、前記第１係数としてゼロを前記乗算器に供給し、前記第２係数としてゼロを前記加算器に供給し、
前記第５状態において、前記第１係数として前記第５状態変化量を前記乗算器に供給し、前記第２係数としてゼロを前記加算器に供給し、
前記第６状態において、前記第１係数としてゼロを前記乗算器に供給し、前記第２係数として前記第６状態傾きを前記加算器に供給し、
前記第７状態において、前記第１係数として前記第７状態変化量を前記乗算器に供給し、前記第２係数として前記第６状態傾きを前記加算器に供給する
請求項４記載のパルス生成回路。
【請求項６】
前記ステートマシンは、
前記第１状態において、前記傾き算出部により算出された傾きが前記第２状態傾きに達した場合に、前記第２状態に状態を移行し、
前記第３状態において、前記傾き算出部により算出された傾きがゼロに達した場合に、前記第４状態に状態を移行し、
前記第５状態において、前記傾き算出部により算出された傾きが前記第６状態傾きに達した場合に、前記第６状態に状態を移行する
請求項４又は５記載のパルス生成回路。
【請求項７】
前記パラメータは、さらに、
前記第２状態の継続時間を示す第２状態時間と、
前記第４状態の継続時間を示す第４状態時間と、
前記第６状態の継続時間を示す第６状態時間とを含み、
前記ステートマシンは、
前記第２状態において、前記経過時間が、前記第２状態時間に達した場合に、前記第３状態に状態を移行し、
前記第４状態において、前記経過時間が、前記第４状態時間に達した場合に、前記第５状態に状態を移行し、
前記第６状態において、前記経過時間が、前記第４状態時間に達した場合に、前記第７状態に状態を移行する
請求項６記載のパルス生成回路。
【請求項８】
前記パルス特性は、前記パルス信号の周期を示す
請求項１〜７のいずれか１項に記載のパルス生成回路。
【請求項９】
前記パルス特性は、前記パルス信号のデューティ比を示す
請求項１〜７のいずれか１項に記載のパルス生成回路。
【請求項１０】
前記パルス出力回路は、
基準となるクロックを用いてカウント値をカウントするカウンタと、
前記特性レジスタに保持されている前記パルス特性の値と、前記カウント値とが一致したタイミングを示す一致信号を生成する比較器と、
前記一致信号で示されるタイミングに基づくタイミングで変化する前記パルス信号を生成するパルス生成器とを備える
請求項１〜９のいずれか１項に記載のパルス生成回路。
【請求項１１】
パルスによりモータを制御するモータ装置であって、
請求項１〜１０のいずれか１項に記載のパルス生成回路と、
前記パルス生成回路へ前記パラメータを供給するＭＰＵと、
前記パルス生成回路により生成されたパルス信号で動作するモータとを備える
モータ装置。
【請求項１２】
ＭＰＵからの指示に応じて、モータの回転速度をＳ字曲線制御するためのパルス信号を生成する半導体集積回路であって、
前記ＭＰＵから供給される、Ｓ字曲線の特性を示すパラメータを用いて、前記モータの回転速度をＳ字曲線制御するための、前記パルス信号を変化させるタイミングを示すパルス特性を所定の区間ごとに算出するＳ字曲線演算回路と、
前記パルス特性を保持する特性レジスタと、
前記特性レジスタに保持される前記パルス特性に基づき前記パルス信号を生成するパルス出力回路とを備える
半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モータ制御を行うパルス生成回路とそれを用いるモータ装置に関する。
【背景技術】
【０００２】
モータの回転速度制御の方法としてＳ字曲線制御がある。Ｓ字曲線制御とは、モータ動作開始時は、緩やかに速度を上げ、緩やかに一定の速度に収束させる。また、減速時も緩やかに速度を減速し、緩やかに一定の速度に収束させる。
【０００３】
速度の制御方法は、モータによって異なるが、パルスデューティ比又はパルス周期幅で速度を制御する。
【０００４】
従来のＳ字曲線制御を実現する方法として、以下の２つの方法がある。第１の方法は、パルスデューティ比又はパルス周期のデータをメモリに保有しておき、ＭＰＵが該当データを当該メモリから順次読み出し、読み出したデータをパルス生成回路に設定する方法である。第２の方法は、パラメータをメモリに保有しておき、パラメータを基にＭＰＵが順次演算処理することでパルスデューティ比又はパルス周期を算出し、ＭＰＵが、算出したパルスデューティ比をパルス生成回路に設定する方法である（例えば、特許文献１参照）。
【０００５】
図１１は、特許文献１記載のパルス生成回路（パルス出力回路１）の構成を示す図である。
【０００６】
このパルス出力回路１は、一定の時間間隔でタイミング信号を生成する時間計数手段であるリロード／コンペアタイマ２と、リロード／コンペアタイマ２からのタイミング信号及び予め設定された出力波形データに基づいて所定数の出力端からパルス波形を出力するパルス出力手段である出力波形データ設定部３と、リロード／コンペアタイマ２及び出力波形データ設定部３を制御する制御手段４とを備える。制御手段４は、外部からの所定信号に基づいてパルス出力開始タイミングを制御する波形出力動作制御部５と、該波形出力動作制御部５からの制御信号及びリロード／コンペアタイマ２からのタイミング信号に基づいて出力波形データを生成し、前記出力波形データ設定部３における任意の出力端からのパルス波形出力を制御する任意波形出力制御部である波形制御ステートマシン６とを有する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平６−９０５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、パルスデューティ比又はパルス周期のデータをそのままメモリに保有する従来構成では、十分な分解能を得られるためには大量にメモリにデータを保存しておく必要があるため、大きなメモリ容量が必要となる。
【０００９】
また、パラメータをメモリに保有して、パラメータを基にＭＰＵが順次演算処理する従来構成では、ＭＰＵが外部状態のモニタと平行してパルスデューティ比又はパルス周期の演算及び管理を行わないといけないため、ＭＰＵの処理の負荷を高めている。
【００１０】
そこで、本発明は、大規模なメモリを用いることなく、かつ、ＭＰＵの処理の負荷を低減できるパルス生成回路及びモータ装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明の一形態に係るパルス生成回路は、ＭＰＵからの指示に応じて、モータの回転速度をＳ字曲線制御するためのパルス信号を生成するパルス生成回路であって、前記ＭＰＵから供給される、Ｓ字曲線の特性を示すパラメータを用いて、前記モータの回転速度をＳ字曲線制御するための、前記パルス信号を変化させるタイミングを示すパルス特性を所定の区間ごとに算出するＳ字曲線演算回路と、前記パルス特性を保持する特性レジスタと、前記特性レジスタに保持される前記パルス特性で示されるタイミングで変化する前記パルス信号を生成するパルス出力回路とを備える。
【００１２】
かかる構成により、本発明の一形態に係るパルス生成回路は、ハードウェアでＳ字曲線制御のためのパルス特性を計算できるため、大規模なメモリを用いることなく、かつ、ＭＰＵの処理の負荷を低減できる。
【００１３】
また、前記Ｓ字曲線演算回路は、現在の区間における前記モータの回転速度を保持する速度レジスタと、前記パラメータを用いて、前記区間ごとに前記回転速度の変化の傾きを算出する傾き演算部と、前記速度レジスタに保持されている前記現在の区間における前記回転速度と、前記傾きとを用いて、次の区間における前記モータの回転速度を演算し、演算した結果を前記速度レジスタに格納する速度演算部と、前記速度レジスタに保持されている回転速度から前記パルス特性を算出する特性演算部を備えてもよい。
【００１４】
かかる構成により、本発明の一形態に係るパルス生成回路は、現在の区間のモータの回転速度から次の区間のモータの回転速度を求めることでＳ字曲線制御のためのパルス特性を計算できる。
【００１５】
また、前記パラメータは、前記Ｓ字曲線の特性として、前記回転速度が増加するとともに、前記傾きが一定の変化量で増加する第１状態と、前記回転速度が一定の加速度で増加する第２状態と、前記回転速度が増加するとともに、前記傾きが一定の変化量で減少する第３状態と、前記回転速度が一定の第４状態と、前記回転速度が減少するとともに、前記傾きが一定の変化量で減少する第５状態と、前記回転速度が一定の減速度で減少する第６状態と、前記回転速度が減速するとともに、前記傾きが一定の変化量で増加する第７状態と、の各々の特性を示し、前記傾き演算部は、前記第１状態、前記第２状態、前記第３状態、前記第４状態、前記第５状態、前記第６状態、前記第７状態の順に状態を移行するステートマシンと、前記状態の各々における前記傾きを、前記パラメータで示される、当該各状態に対応する特性を用いて算出する傾き算出部とを備えてもよい。
【００１６】
かかる構成により、本発明の一形態に係るパルス生成回路では、傾き演算部はステートマシンを用いる。これにより、演算中にＭＰＵがパラメータ設定を変更する必要がないので、システムの負荷を軽減できる。さらに、本発明の一形態に係るパルス生成回路は、緩やかに回転速度が増加する第１状態と、緩やかに回転速度が上がりながら、一定の回転速度に収束する第３状態との間に、回転速度が一定の加速度（傾き）で増加する第２状態を設ける。これにより、当該パルス生成回路は、Ｓ字曲線制御の精度を向上できる。
【００１７】
また、前記パラメータは、前記第１状態における前記傾きの変化量を示す第１状態変化量と、前記第２状態における前記傾きである第２状態傾きと、前記第３状態における前記傾きの変化量を示す第３状態変化量と、前記第５状態における前記傾きの変化量を示す第５状態変化量と、前記第６状態における前記傾きである第６状態傾きと、前記第７状態における前記傾きの変化量を示す第７状態変化量とを含み、前記傾き演算部は、さらに、前記各状態における経過時間を計測するカウンタを備え、前記傾き算出部は、前記第１状態変化量と、前記経過時間とを乗算することで、前記第１状態における前記傾きを算出し、前記第２状態傾きを前記第２状態における前記傾きとして出力し、前記第３状態変化量と、前記経過時間とを乗算することで、第１の値を算出し、当該第１の値と前記第２状態傾きとを加算することにより、前記第３状態における前記傾きを算出し、ゼロを前記第４状態における前記傾きとして出力し、前記第５状態変化量と、前記経過時間とを乗算することで、前記第５状態における前記傾きを算出し、前記第６状態傾きを前記第６状態における前記傾きとして出力し、前記第７状態変化量と、前記経過時間とを乗算することで、第２の値を算出し、当該第２の値と前記第６状態傾きとを加算することにより、前記第７状態における前記傾きを算出してもよい。
【００１８】
また、前記傾き演算部は、前記経過時間と第１係数とを乗算することにより乗算値を算出する乗算器と、前記乗算値と第２係数とを加算することにより前記傾きを算出する加算器とを備え、前記ステートマシンは、前記第１状態において、前記第１係数として前記第１状態変化量を前記乗算器に供給し、前記第２係数としてゼロを前記加算器に供給し、前記第２状態において、前記第１係数としてゼロを前記乗算器に供給し、前記第２係数として前記第２状態傾きを前記加算器に供給し、前記第３状態において、前記第１係数として前記第３状態変化量を前記乗算器に供給し、前記第２係数として前記第２状態傾きを前記加算器に供給し、前記第４状態において、前記第１係数としてゼロを前記乗算器に供給し、前記第２係数としてゼロを前記加算器に供給し、前記第５状態において、前記第１係数として前記第５状態変化量を前記乗算器に供給し、前記第２係数としてゼロを前記加算器に供給し、前記第６状態において、前記第１係数としてゼロを前記乗算器に供給し、前記第２係数として前記第６状態傾きを前記加算器に供給し、前記第７状態において、前記第１係数として前記第７状態変化量を前記乗算器に供給し、前記第２係数として前記第６状態傾きを前記加算器に供給してもよい。
【００１９】
かかる構成により、本発明の一形態に係るパルス生成回路は、各状態の回転速度の傾きの演算を、少ない演算素子及び演算量で実現できる。
【００２０】
また、前記ステートマシンは、前記第１状態において、前記傾き算出部により算出された傾きが前記第２状態傾きに達した場合に、前記第２状態に状態を移行し、前記第３状態において、前記傾き算出部により算出された傾きがゼロに達した場合に、前記第４状態に状態を移行し、前記第５状態において、前記傾き算出部により算出された傾きが前記第６状態傾きに達した場合に、前記第６状態に状態を移行してもよい。
【００２１】
また、前記パラメータは、さらに、前記第２状態の継続時間を示す第２状態時間と、前記第４状態の継続時間を示す第４状態時間と、前記第６状態の継続時間を示す第６状態時間とを含み、前記ステートマシンは、前記第２状態において、前記経過時間が、前記第２状態時間に達した場合に、前記第３状態に状態を移行し、前記第４状態において、前記経過時間が、前記第４状態時間に達した場合に、前記第５状態に状態を移行し、前記第６状態において、前記経過時間が、前記第４状態時間に達した場合に、前記第７状態に状態を移行してもよい。
【００２２】
また、前記パルス特性は、前記パルス信号の周期を示してもよい。
【００２３】
かかる構成により、本発明の一形態に係るパルス生成回路は、ステッピングモータ等のパルス周期によって速度を変化させるモータに対し、Ｓ字曲線制御を行うことができる。
【００２４】
また、前記パルス特性は、前記パルス信号のデューティ比を示してもよい。
【００２５】
かかる構成により、本発明の一形態に係るパルス生成回路は、ＤＣモータ等のパルスデューティ比によって速度を変化させるモータに対し、Ｓ字曲線制御を行うことができる。
【００２６】
また、前記パルス出力回路は、基準となるクロックを用いてカウント値をカウントするカウンタと、前記特性レジスタに保持されている前記パルス特性の値と、前記カウント値とが一致したタイミングを示す一致信号を生成する比較器と、前記一致信号で示されるタイミングに基づくタイミングで変化する前記パルス信号を生成するパルス生成器とを備えてもよい。
【００２７】
また、本発明の一形態に係るモータ装置は、パルスによりモータを制御するモータ装置であって、前記パルス生成回路と、前記パルス生成回路へ前記パラメータを供給するＭＰＵと、前記パルス生成回路により生成されたパルス信号で動作するモータとを備える。
【００２８】
かかる構成により、本発明の一形態に係るモータ装置は、Ｓ字曲線制御用の大規模なメモリが不要となるとともに、ＭＰＵの処理を軽減できる。また、当該モータ装置は、システムの制御の高精度化を実現できるとともに、異常系処理への応答性を向上できる。
【００２９】
なお、本発明は、このようなパルス生成回路又はモータ装置の機能の一部又は全てを実現する半導体集積回路（ＬＳＩ）として実現できる。
【発明の効果】
【００３０】
以上より、本発明は、大規模なメモリを用いることなく、かつ、ＭＰＵの処理の負荷を低減できるパルス生成回路及びモータ装置を提供できる。
【図面の簡単な説明】
【００３１】
【図１】本発明の実施の形態１に係るパルス生成回路のブロック図である。
【図２】本発明の実施の形態１に係る、Ｓ字制御曲線の速度と時間との関係を示すグラフである。
【図３】本発明の実施の形態１に係る、Ｓ字曲線演算回路の構成を詳細に示すパルス生成回路ブロック図である。
【図４】本発明の実施の形態１に係るパルス生成回路の動作例を示す図である。
【図５】本発明の実施の形態１に係るパルス生成回路の動作を示すフローチャートである。
【図６】本発明の実施の形態１に係るパルス生成回路の動作例を示す図である。
【図７】本発明の実施の形態２に係るパルス生成回路のブロック図である。
【図８】本発明の実施の形態２に係るパルス生成回路の動作例を示す図である。
【図９】本発明の実施の形態２に係るステートマシンの状態を表す表である。
【図１０】本発明の実施の形態３に係るモータ装置のブロック図である。
【図１１】従来のパルス生成回路の構成を示すブロック図である。
【発明を実施するための形態】
【００３２】
以下本発明の実施するための最良の形態について図面を参照しながら説明する。
【００３３】
（実施の形態１）
図１は、本発明の実施の形態１に係るパルス生成回路１００のブロック図である。
【００３４】
このパルス生成回路１００は、ＭＰＵ１０１からの動作指示に応答して、パルス波形を生成する。具体的には、パルス生成回路１００は、ＭＰＵ１０１からの指示に応じて、モータの回転速度をＳ字曲線制御するためのパルス信号１１２を生成する。例えば、パルス生成回路１００は、図２に示すようなＳ字曲線制御を行なう。
【００３５】
このパルス生成回路１００は、Ｓ字曲線演算回路１０６と、特性レジスタ１０３と、パルス出力回路１０７とを備える。
【００３６】
Ｓ字曲線演算回路１０６は、ＭＰＵ１０１から供給されるパラメータ１１０を用いて、モータの回転速度（以下、単に「速度」とも記す）をＳ字曲線制御するための、パルス特性１１１を所定の区間ごとに算出する。ここで、パラメータ１１０は、Ｓ字曲線制御に用いるＳ字曲線の特性を示す。具体的には、パラメータ１１０は、図２に示すようなＳ字曲線の概形を特定できる情報である。また、パルス特性１１１は、パルス信号１１２を変化させるタイミングを示す。言い換えると、パルス特性１１１は、パルス信号１１２の周期的な変化を規定するための情報である。具体的には、パルス特性１１１は、パルス信号１１２の周期又はデューティ比を示す情報である。
【００３７】
また、Ｓ字曲線演算回路１０６は、ハードウェアで構成されている。つまり、Ｓ字曲線演算回路１０６の機能は、プロセッサがプログラムを実行することにより実現されるのではなく、専用の回路により実現される。
【００３８】
特性レジスタ１０３は、Ｓ字曲線演算回路１０６により算出されたパルス特性１１１を保持する。
【００３９】
パルス出力回路１０７は、特性レジスタ１０３に保持されるパルス特性１１１で示されるタイミングで変化するパルス信号１１２を生成する。具体的には、パルス出力回路１０７は、特性レジスタ１０３に保持されるパルス特性１１１で示される周期を有するパルス信号１１２、又は当該パルス特性１１１で示されるデューティ比を有するパルス信号１１２を生成する。
【００４０】
このパルス出力回路１０７は、カウンタ１０４と、比較器１０５と、パルス生成器１０２とを備える。
【００４１】
カウンタ１０４は、基準となるクロックを用いてカウント値をカウントアップする。比較器１０５は、特性レジスタ１０３に保持されているパルス特性１１１の値と、カウンタ１０４によるカウント値とが一致したタイミングを示す一致信号を生成する。パルス生成器１０２は、比較器１０５からの一致信号で示されるタイミングで変化するパルス信号１１２を生成する。
【００４２】
また、パルス特性１１１の値とカウンタ１０４によるカウント値とが一致すると、Ｓ字曲線演算回路１０６で算出された次の区間のパルス特性１１１が、特性レジスタ１０３にロードされる。そして、Ｓ字曲線演算回路１０６は、その次の区間のパルス特性１１１を算出する。
【００４３】
なお、パルス出力回路１０７の構成は一例であり、図１に示す構成以外であってもよい。例えば、カウンタ１０４は、パルス特性１１１の値からダウンカウントを行い、比較器１０５は、当該カウンタ１０４のカウント値が０になったタイミングを示す一致信号を生成してもよい。
【００４４】
次に、Ｓ字曲線演算回路１０６の詳細な構成を説明する。
【００４５】
図３は、Ｓ字曲線演算回路１０６のブロック図である。なお、図１と同様の要素には同一の符号を付している。
【００４６】
Ｓ字曲線演算回路１０６は、特性演算部３１０と、速度レジスタ３０７と、速度演算部３０８と、傾き演算部３０９とを備える。
【００４７】
速度レジスタ３０７は、現在の区間における速度ｆを保持する。
【００４８】
傾き演算部３０９は、パラメータ１１０を用いて、区間ごとに速度の傾きαを算出する。
【００４９】
速度演算部３０８は、速度レジスタ３０７に保持されている現在の区間における速度ｆｎと、傾き演算部３０９により算出された傾きαとを用いて、次の区間における速度ｆ（ｎ＋１）を演算する。そして、速度演算部３０８は、演算した結果を速度レジスタ３０７に格納する。
【００５０】
特性演算部３１０は、速度レジスタ３０７に保持されている速度ｆからパルス特性１１１を算出する。
【００５１】
図４は、Ｓ字曲線演算回路１０６において算出される速度ｆ及び速度の傾きαと、時間との関係を示すグラフである。また、図５は、パルス生成回路１００の動作を示すフローチャートである。以下、図４及び図５を用いてＳ字曲線演算回路１０６の動作を説明する。また、以下では、パルス信号１１２の周期を制御する例を説明する。
【００５２】
まず、ＭＰＵ１０１により、初速度ｆｘ、及びパラメータ１１０が設定される（Ｓ１０１）。
【００５３】
次に、傾き演算部３０９は、パラメータ１１０を用いて、現在の区間Ｘの傾きαｘを算出する（Ｓ１０２）。なお、傾き演算部３０９の処理について、実施の形態２で詳しく説明する。
【００５４】
次に、速度演算部３０８は、現在の区間Ｘの速度ｆｘ（初速度）と傾きαｘとを用いて、次の区間Ｙにおける速度ｆｙを算出する（Ｓ１０３）。ここで、１パルス目の出力にかかる時間（１パルス目周期）は１／ｆｘである。また、傾きαｘは、速度ｆｘ（１パルス目が出力されてた時点）から速度ｆｙまでの速度の傾きである。よって、速度演算部３０８は、ｆｙ＝αｘ／ｆｘ＋ｆｘの関係を用いて、速度ｆｙを算出する。そして、この速度ｆｙが速度レジスタ３０７に格納される。
【００５５】
次に、特性演算部３１０は、速度ｆｙから、次の区間Ｙの周期１／ｆｙ（パルス特性１１１）を算出する（Ｓ１０４）。そして、パルス出力回路１０７は、区間Ｙにおいて、周期１／ｆｙのパルス信号１１２を生成する（Ｓ１０５）。
【００５６】
このように、区間Ｙの周期が決定され、決定された周期に応じたパルス信号１１２が生成される。
【００５７】
次に、傾き演算部３０９は、パラメータ１１０を用いて、現在の区間Ｙの傾きαｙを算出する（Ｓ１０２）。
【００５８】
次に、速度演算部３０８は、現在の区間Ｙの速度ｆｙと傾きαｙとを用いて、次の区間Ｚにおける速度ｆｚを算出する（Ｓ１０３）。具体的には、速度演算部３０８は、ｆｚ＝αｙ／ｆｙ＋ｆｙの関係を用いて、速度ｆｚを算出する。そして、この速度ｆｚが速度レジスタ３０７に格納される。
【００５９】
次に、特性演算部３１０は、速度ｆｚから、次の区間Ｚの周期１／ｆｚを算出する（Ｓ１０４）。そして、パルス出力回路１０７は、区間Ｚにおいて、周期１／ｆｚのパルス信号１１２を生成する（Ｓ１０５）。
【００６０】
このように、区間Ｚの周期が決定され、決定された周期に応じたパルス信号１１２が生成される。
【００６１】
また、以降の区間においても同様の処理（Ｓ１０２〜Ｓ１０５）により、パルス信号１１２が生成される。
【００６２】
また、図４に示すように、傾きαが大きいほど、周期は短くなる。
【００６３】
なお、図４では、Ｓ字曲線演算回路１０６は、１パルス毎に、傾きα、速度ｆ及び周期１／ｆを算出しているが、複数パルス毎に、傾きα、速度ｆ及び周期１／ｆを算出してもよい。言い換えると、各区間は、１つのパルスのみを含んでもよいし、複数のパルスを含んでもよい。
【００６４】
また、パルス生成回路１００は、パルス信号１１２の周期を制御するのではなく、パルス信号１１２のデューティ比を制御してもよい。図６は、この場合の、Ｓ字曲線演算回路１０６において算出される速度ｆ及び速度の傾きαと、時間との関係を示すグラフである。
【００６５】
図６に示すように、この場合、周期Ｔ（各区間の長さ）は一定となり、各区間におけるパルス信号１１２のデューティ比（オン区間ｔｘ〜ｔｚ）が変更される。また、Ｓ字曲線演算回路１０６は、傾きαが小さいほどオン区間ｔｘ〜ｔｚを短くなるようにパルス特性１１１を算出する。例えば、パルス出力回路１０７は、パルス特性１１１として算出された周期１／ｆに応じてパルス信号１１２のオフ区間を変更することで、パルス信号１１２のデューティ比を変更できる。なお、特性演算部３１０が、速度レジスタ３０７に保持される速度ｆをそのまま、又は所定の係数を乗算した結果をパルス特性１１１として出力し、パルス出力回路１０７は、当該パルス特性１１１に応じて、パルス信号１１２のオン区間を変更することで、パルス信号１１２のデューティ比を変更してもよい。
【００６６】
例えば、周期を変更する場合とは、モータがステッピングモータ等の場合である。また、デューティ比を変更する場合とは、モータがＤＣモータ等の場合である。
【００６７】
このように、本発明の実施の形態１に係るパルス生成回路１００では、ＭＰＵ１０１からのパラメータ１１０を用いてパルス特性１１１を算出する手段がハードウェアで構成されている。具体的には、速度の傾きαを求める手段と、現在の速度から次の速度を求める手段とがハードウェアで構成されている。これにより、本発明の実施の形態１に係るパルス生成回路１００は、従来必要であった大容量のメモリを不用とするとともに、ＭＰＵ１０１の処理も軽減できるという効果を有する。
【００６８】
さらに、本発明の実施の形態１に係るパルス生成回路は、ＭＰＵ１０１を介さず専用演算器で演算することで、システムの制御の高精度化、及び異常系処理への応答性が高まるという効果を有する。
【００６９】
（実施の形態２）
本発明の実施の形態２では、上述した傾き演算部３０９の具体例を説明する。
【００７０】
図７は、本発明の実施の形態２に係る傾き演算部３０９のブロック図である。なお、図３と同様の要素には同一の符号を付している。
【００７１】
図７に示す傾き演算部３０９は、ステートマシン５１１と、ステート時間計測カウンタ５１２と、傾き算出部５１５と、パラメータレジスタ５１６と、傾きレジスタ５１７とを備える。また、傾き算出部５１５は、乗算器５１３と、加算器５１４とを備える。
【００７２】
図８は、Ｓ字曲線演算回路１０６における速度ｆ及び傾きαと時間との関係を示すグラフである。
【００７３】
図８に示すように、本発明の実施の形態２では、Ｓ字曲線は、ステートＳ１〜Ｓ７（第１〜第７状態）を含む。
【００７４】
ステートＳ１は、動作開始時（初速度ｆｘ）から緩やかに速度が上がる状態である。具体的には、ステートＳ１では、速度ｆが増加するとともに、傾きαが一定の変化量で増加する。
【００７５】
ステートＳ２は、速度ｆが一定の加速度（傾きα）で増加する状態である。
【００７６】
ステートＳ３は、緩やかに速度が上がりながら、一定の速度に収束する状態である。具体的には、ステートＳ３では、速度ｆが増加するとともに、傾きαが一定の変化量で減少する。
【００７７】
ステートＳ４は、速度ｆが一定の状態である。つまり、傾きαはゼロである。
【００７８】
ステートＳ５は、緩やかに速度ｆが減速し始める状態である。具体的には、ステートＳ５では、速度ｆが減少するとともに、傾きαが一定の変化量で減少する。
【００７９】
ステートＳ６は、速度ｆが一定の減速度（傾きα）で減少する状態である。
【００８０】
ステートＳ７は、緩やかに速度ｆが下がりながら、一定の速度に収束する状態である。具体的には、ステートＳ７では、速度ｆが減速するとともに、傾きαが一定の変化量で増加する。
【００８１】
パラメータレジスタ５１６は、ＭＰＵ１０１により設定されたパラメータ１１０を保持する。このパラメータ１１０は、ステートＳ１〜Ｓ７の各々の特性を示す。具体的には、パラメータ１１０は、パラメータＴ２、Ｔ４、Ｔ６、Ａ、Ｂ、Ｃ、Ｄ、α２及びα６を含む。
【００８２】
パラメータＡ、Ｂ、Ｃ、Ｄ（第１状態変化量、第３状態変化量、第５状態変化量及び第７状態変化量）は、ステートＳ１、Ｓ３、Ｓ５及びＳ７における、傾きαの変化量（傾き）を示す。パラメータＴ２、Ｔ４及びＴ６は、ステートＳ２、Ｓ４及びＳ６の継続時間（状態の長さ）を示す。パラメータα２及びα６は、ステートＳ２及びＳ６の傾きαを示す。
【００８３】
ステート時間計測カウンタ５１２は、各ステートＳ１〜Ｓ７における経過時間ｔを計測する。
【００８４】
ステートマシン５１１は、ステートを、ステートＳ１、Ｓ２、Ｓ３、Ｓ４、Ｓ５、Ｓ６、Ｓ７の順に移行する。また、ステートマシン５１１は、移行の際に、ステート時間計測カウンタ５１２で計測されている経過時間ｔをリセットする。
【００８５】
傾き算出部５１５は、Ｓ字曲線のステートの各々における傾きαを、パラメータ１１０で示される、各ステートに対応する特性を用いて算出する。
【００８６】
傾きレジスタ５１７は、傾き算出部５１５により算出された傾きαを保持する。
【００８７】
以下、傾き算出部５１５の各ステートの動作を説明する。
【００８８】
ステートＳ１では、傾き算出部５１５は、ステート時間計測カウンタ５１２で計測されている経過時間ｔとパラメータＡとから、下記（式１）を用いて傾きαを算出する。
【００８９】
α＝Ａ×ｔ  ・・・  （式１）
【００９０】
ステートＳ２では、傾き算出部５１５は、パラメータα２を傾きαとして出力する。
【００９１】
ステートＳ３では、傾き算出部５１５は、経過時間ｔとパラメータＢ及びα２とから、下記（式２）を用いて傾きαを算出する。
【００９２】
α＝Ｂ×ｔ＋α２  ・・・  （式２）
【００９３】
ステートＳ４では、傾き算出部５１５は、α＝０を出力する。
【００９４】
ステートＳ５では、傾き算出部５１５は、経過時間ｔとパラメータＣとから、下記（式３）を用いて傾きαを算出する。
【００９５】
α＝Ｃ×ｔ  ・・・  （式３）
【００９６】
ステートＳ６では、傾き算出部５１５は、パラメータα６を傾きαとして出力する。
【００９７】
ステートＳ７では、傾き算出部５１５は、経過時間ｔとパラメータＤ及びα６とから、下記（式４）を用いて傾きαを算出する。
【００９８】
α＝Ｄ×ｔ＋α６  ・・・  （式４）
【００９９】
以上より、傾き算出部５１５は、図９に示すように、各ステートの傾きαの演算できる。また、各ステートの演算は、パラメータＡ、Ｂ、Ｃ、Ｄ、α２、α６、０を使用した、経過時間ｔの一次関数として表される。よって、傾き算出部５１５を、一つの乗算器５１３と一つの加算器５１４とで構成できる。このように、本発明の実施の形態２に係るパルス生成回路１００は、回路面積及び演算量を低減できる。
【０１００】
また、ステートマシン５１１は、ステートＳ１→ステートＳ２→ステートＳ３→ステートＳ４→ステートＳ５→ステートＳ６→ステートＳ７の順でステートを移行する。また、図９に示すように、各ステートから次のステートへの移行条件はそれぞれ異なる。
【０１０１】
具体的には、ステートＳ１では、ステートマシン５１１は、α≧α２が満たされた場合に、ステートをステートＳ２に移行する。ステートＳ２では、ステートマシン５１１は、ｔ≧Ｔ２が満たされた場合に、ステートをステートＳ３に移行する。ステートＳ３では、ステートマシン５１１は、α≦０が満たされた場合に、ステートをステートＳ４に移行する。ステートＳ４では、ステートマシン５１１は、ｔ≧Ｔ４が満たされた場合に、ステートをステートＳ５に移行する。ステートＳ５では、ステートマシン５１１は、α≦α６が満たされた場合に、ステートをステートＳ６に移行する。ステートＳ６では、ステートマシン５１１は、ｔ≧Ｔ６が満たされた場合に、ステートをステートＳ７に移行する。ステートＳ７では、ステートマシン５１１は、α≧０が満たされた場合に、ステートをステートＳ０に移行する。
【０１０２】
ここで、ステートＳ０とは、速度ｆが一定の初速度ｆｘに戻った状態である。つまり、ステートＳ０では、傾きαはゼロである。また、ステートＳ１に移行する前のステートも、このステートＳ０である。
【０１０３】
また、各ステートにおいて、ステートマシン５１１は、現在のステートで傾きαを算出するために必要なパラメータとして、パラメータＡ、Ｂ、Ｃ、Ｄ及び０から一つを選択し、選択したパラメータを第１係数Ｌ１として乗算器５１３に設定する。ここで、第１係数Ｌ１は、傾きαの傾き（変化量）を示す。また、ステートマシン５１１は、パラメータα２、α６又は０から一つを選択し、選択したパラメータを第２係数Ｌ２として、加算器５１４に設定する。ここで、第２係数Ｌ２は、ステート開始時の傾きαである。そして、傾き算出部５１５は、経過時間ｔと第１係数Ｌ１と第２係数Ｌ２とから、傾きα＝Ｌ１×ｔ＋Ｌ２を算出する。
【０１０４】
具体的には、乗算器５１３は経過時間ｔと第１係数Ｌ１とを乗算することにより乗算値Ｌ１×ｔを算出する。加算器５１４は、乗算値Ｌ１×ｔと第２係数Ｌ２とを加算することにより傾きαを算出する。
【０１０５】
また、ステートマシン５１１は、ステートＳ１において、第１係数Ｌ１としてパラメータＡを乗算器５１３に供給し、第２係数Ｌ２としてゼロを加算器５１４に供給する。ステートＳ２において、ステートマシン５１１は、第１係数Ｌ１としてゼロを乗算器５１３に供給し、第２係数Ｌ２としてパラメータα２を加算器５１４に供給する。ステートＳ３において、ステートマシン５１１は、第１係数Ｌ１としてパラメータＢを乗算器５１３に供給し、第２係数Ｌ２としてパラメータα２を加算器５１４に供給する。ステートＳ４において、ステートマシン５１１は、第１係数Ｌ１としてゼロを乗算器５１３に供給し、第２係数Ｌ２としてゼロを加算器５１４に供給する。ステートＳ５において、ステートマシン５１１は、第１係数Ｌ１としてパラメータＣを乗算器５１３に供給し、第２係数Ｌ２としてゼロを加算器５１４に供給する。ステートＳ６において、ステートマシン５１１は、第１係数Ｌ１としてゼロを乗算器５１３に供給し、第２係数Ｌ２としてパラメータα６を加算器５１４に供給する。ステートＳ７において、ステートマシン５１１は、第１係数Ｌ１としてパラメータＤを乗算器５１３に供給し、第２係数Ｌ２としてパラメータα６を加算器５１４に供給する。
【０１０６】
このようにステートマシン５１１を用いて傾き演算部３０９を構成することで、演算中にＭＰＵ１０１パラメータ設定を変更する必要がない。よって、システムの負荷の軽減できる。
【０１０７】
（実施の形態３）
本発明の実施の形態３では、上述したパルス生成回路１００を含むモータ装置８００について説明する。
【０１０８】
図１０は、本発明の実施の形態３に係るモータ装置８００のブロック図である。
【０１０９】
このモータ装置８００は、実施の形態１及び２のいずれかに記載のパルス生成回路１００と、パルス生成回路１００へパラメータ１１０を供給するＭＰＵ１０１と、パルス生成回路１００により生成されたパルス信号１１２により動作するモータ８１６とを備える。
【０１１０】
以上の構成により、本発明の実施の形態３に係るモータ装置８００では、パルス生成回路１００が、Ｓ字曲線制御を行うための専用演算回路を保有している。これにより、当該モータ装置８００は、従来必要であった大容量のメモリを不用とするとともに、高精度なモータ制御を実現できる。さらに、ＭＰＵ１０１のモータ制御処理の負担を軽減できるため、ＭＰＵ１０１の異常系処理への応答性を向上できる。
【０１１１】
以上、本発明の実施の形態に係るパルス生成回路及びモータ装置について説明したが、本発明は、この実施の形態に限定されるものではない。
【０１１２】
また、上記実施の形態１〜３に係るパルス生成回路及びモータ装置に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１１３】
例えば、図１０に示すＭＰＵ１０１及びパルス生成回路１００は、１チップの半導体集積回路として実現される。なお、パルス生成器１０２の一部の機能が、別チップとして実現されてもよい。
【０１１４】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１１５】
また、上記実施の形態１〜３に係る、パルス生成回路、モータ装置、及びそれら変形例の機能のうち少なくとも一部を組み合わせてもよい。
【０１１６】
また、上記で用いた数字は、全て本発明を具体的に説明するために例示するものであり、本発明は例示された数字に制限されない。さらに、ハイ／ローにより表される論理レベル又はオン／オフにより表されるスイッチング状態は、本発明を具体的に説明するために例示するものであり、例示された論理レベル又はスイッチング状態の異なる組み合わせにより、同等な結果を得ることも可能である。さらに、上で示した論理回路の構成は本発明を具体的に説明するために例示するものであり、異なる構成の論理回路により同等の入出力関係を実現することも可能である。また、構成要素間の接続関係は、本発明を具体的に説明するために例示するものであり、本発明の機能を実現する接続関係はこれに限定されない。
【産業上の利用可能性】
【０１１７】
本発明は、パルス生成回路及びモータ装置に有用である。
【符号の説明】
【０１１８】
１  パルス出力回路
２  リロード／コンペアタイマ
３  出力波形データ設定部
４  制御手段
５  波形出力動作制御部
６  波形制御ステートマシン
１００  パルス生成回路
１０１  ＭＰＵ
１０２  パルス生成器
１０３  特性レジスタ
１０４  カウンタ
１０５  比較器
１０６  Ｓ字曲線演算回路
１０７  パルス出力回路
１１０  パラメータ
１１１  パルス特性
１１２  パルス
３０７  速度レジスタ
３０８  速度演算部
３０９  傾き演算部
３１０  特性演算部
５１１  ステートマシン
５１２  ステート時間計測カウンタ
５１３  乗算器
５１４  加算器
５１５  傾き算出部
５１６  パラメータレジスタ
５１７  傾きレジスタ
８００  モータ装置
８１６  モータ
Ｌ１  第１係数
Ｌ２  第２係数
【図１】
2012191684.tif 000003
【図２】
2012191684.tif 000004
【図３】
2012191684.tif 000005
【図４】
2012191684.tif 000006
【図５】
2012191684.tif 000007
【図６】
2012191684.tif 000008
【図７】
2012191684.tif 000009
【図８】
2012191684.tif 000010
【図９】
2012191684.tif 000011
【図１０】
2012191684.tif 000012
【図１１】
2012191684.tif 000013