(57)【特許請求の範囲】
【請求項１】
半導体集積回路は、中央処理ユニットと、内蔵メモリと、パルス生成回路とを具備して、
前記パルス生成回路は、立ち上げ設定レジスタと、立ち下げ設定レジスタと、位相調整データレジスタと、周期データレジスタと、位相演算回路と、カウンタと、第１比較器と、第２比較器と、パルス生成器とを有して、
前記カウンタのカウント値は、カウント初期値からカウントアップ動作をスタートするものであり、
前記周期データレジスタは、前記カウンタの前記カウントアップ動作のカウント最大値を周期データとして格納して、
前記カウンタの前記カウント値は前記カウント初期値から前記カウントアップ動作をスタートした後に前記カウント最大値に到達すると、前記カウンタの前記カウント値は再び前記カウント初期値に復帰して前記カウントアップ動作を再びスタートするものであり、
前記立ち上げ設定レジスタは、前記パルス生成器から生成されるパルス出力信号をローレベルからハイレベルに立ち上げるための前記カウンタのカウント立ち上げ設定値を格納して、
前記立ち下げ設定レジスタは、前記パルス生成器から生成されるパルス出力信号をハイレベルからローレベルに立ち下げるための前記カウンタのカウント立ち下げ設定値を格納して、
前記カウンタの前記カウント値が前記カウント立ち上げ設定値に一致することが前記第１比較器によって検出されることに応答して、前記パルス生成器は前記パルス出力信号を前記ローレベルから前記ハイレベルに変化させ、
前記カウンタの前記カウント値が前記カウント立ち下げ設定値に一致することが前記第２比較器によって検出されることに応答して、前記パルス生成器は前記パルス出力信号を前記ハイレベルから前記ローレベルに変化させ、
前記位相調整データレジスタは、前記パルス生成器から生成される前記パルス出力信号のタイミング調整のための位相角変更値を格納して、
前記パルス生成回路の前記位相演算回路は、デジタル乗算回路と、デジタル除算回路と、デジタル加算回路と、デジタル減算回路とを有して、
前記デジタル乗算回路は、前記位相調整データレジスタに格納された前記位相角変更値と前記周期データレジスタに格納された前記カウント最大値との乗算を実行することによって乗算出力信号を生成して、
前記デジタル除算回路は、前記デジタル乗算回路の前記乗算出力信号を１周期分の位相角によって除算することによって除算出力信号を生成して、
前記デジタル加算回路は、前記デジタル除算回路の前記除算出力信号と前記立ち上げ設定レジスタおよび前記立ち下げ設定レジスタにそれぞれ格納された前記カウント立ち上げ設定値および前記カウント立ち下げ設定値との加算を実行可能なものであり、
前記デジタル加算回路の前記加算によって、前記位相角変更値分の遅相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成して、
前記デジタル減算回路は、前記デジタル除算回路の前記除算出力信号と前記立ち上げ設定レジスタおよび前記立ち下げ設定レジスタにそれぞれ格納された前記カウント立ち上げ設定値および前記カウント立ち下げ設定値との減算を実行可能なものであり、
前記デジタル減算回路の前記減算によって、前記位相角変更値分の進相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成される
半導体集積回路。
【請求項２】
請求項１において、
前記パルス生成器から生成される前記パルス出力信号は、モータを駆動することが可能とされた
半導体集積回路。
【請求項３】
請求項２において、
前記パルス生成器から生成される前記パルス出力信号により駆動することが可能とされた前記モータは、超音波モータである
半導体集積回路。
【請求項４】
請求項３において、
前記デジタル加算回路の前記加算の実行による加算出力信号が前記カウント最大値よりも大きくなる場合には、前記デジタル加算回路は前記加算出力信号から前記カウント最大値を減算した補正加算出力信号を生成する
半導体集積回路。
【請求項５】
請求項４において、
前記デジタル減算回路の前記減算の実行による減算出力信号が前記カウント初期値より小さくなる場合には、前記デジタル減算回路は前記減算出力信号の絶対値である補正減算出力信号を生成する
半導体集積回路。
【請求項６】
請求項５において、
前記パルス生成回路の前記位相演算回路は、マルチプレクサと周期超え補正回路とを更に有して、
前記マルチプレクサの第１入力端子と第２入力端子には、前記デジタル加算回路の前記加算出力信号と前記デジタル減算回路の前記減算算出力信号とがそれぞれ供給され、
前記マルチプレクサの出力信号は、前記周期超え補正回路の入力端子に供給され、
前記周期超え補正回路は、前記位相演算回路の出力端子の演算出力信号に応答して前記パルス生成器から生成される前記パルス出力信号のローレベルまたはハイレベルのパルス期間が前記位相角の前記１周期を超過することを回避するデータ補正処理の機能を有する
半導体集積回路。
【請求項７】
請求項５において、
前記パルス生成回路は、第１セレクタと、第２セレクタと、第１フリップフロップと、第２フリップフロップと、第３フリップフロップと、第４フリップフロップとを更に有して、
前記第３フリップフロップの入力端子には前記位相演算回路の出力端子の前記新しいカウント立ち上げ設定値が供給されて、前記第４フリップフロップの入力端子には前記位相演算回路の前記出力端子の前記新しいカウント立ち下げ設定値が供給され、
前記第１セレクタの第１入力端子と前記第２セレクタの第１入力端子には、前記立ち上げ設定レジスタに格納された前記カウント立ち上げ設定値と前記立ち下げ設定レジスタに格納された前記カウント立ち下げ設定値とがそれぞれ供給可能とされ、
前記第１セレクタの第２入力端子と前記第２セレクタの第２入力端子には、前記第３フリップフロップの出力端子の前記新しいカウント立ち上げ設定値と前記第４フリップフロップの出力端子の前記新しいカウント立ち下げ設定値とがそれぞれ供給可能とされ、
前記第１セレクタの出力端子に出力される前記立ち上げ設定レジスタに格納された前記カウント立ち上げ設定値および前記第３フリップフロップの前記出力端子の前記新しいカウント立ち上げ設定値は、前記第１フリップフロップの入力端子に供給可能とされ、
前記第２セレクタの出力端子に出力される前記立ち下げ設定レジスタに格納された前記カウント立ち下げ設定値および前記第４フリップフロップの前記出力端子の前記新しいカウント立ち下げ設定値は、前記第２フリップフロップの入力端子に供給可能とされ、
前記第１フリップフロップの出力端子と前記第２フリップフロップの出力端子とは、前記第１比較器の第１入力端子と前記第２比較器の第１入力端子とにそれぞれ接続され、
前記第１比較器の第２入力端子と前記第２比較器の第２入力端子とに、前記カウンタの前記カウント値が供給される
半導体集積回路。
【請求項８】
請求項５において、
前記位相調整データレジスには、最上位ビットに符号ビットを有する１６進数の前記位相角変更値が格納される
半導体集積回路。
【請求項９】
請求項８において、
前記中央処理ユニットは前記内蔵メモリに格納された前記モータの制御ソフトウェアを実行することにより、前記中央処理ユニットが前記位相調整データレジスタに前記１６進数の前記位相角変更値を格納する
半導体集積回路。
【請求項１０】
請求項７において、
前記パルス生成回路は、第５フリップフロップを更に有して、
前記周期データレジスタに格納された前記カウント最大値は前記第５フリップフロップの入力端子に供給され、前記第５フリップフロップの出力端子は前記カウンタに接続され、
前記第１と前記第２と前記第５のフリップフロップの各制御端子に更新許可信号が供給されることに応答して、前記第１と前記第２と前記第５のフリップフロップは前記第１セレクタの前記出力端子の設定値と前記第２セレクタの前記出力端子の設定値と前記周期データレジスタの設定値とそれぞれ格納する
半導体集積回路。
【請求項１１】
請求項１０において、
前記パルス生成回路は、アンド回路とアップデートタイミング制御回路とを更に有して、
前記更新許可信号が前記アンド回路の第１入力端子と出力端子とを介して、前記第１と前記第２と前記第５のフリップフロップの前記各制御端子に伝達され、
前記第１比較器の出力信号と前記第２比較器の出力信号とは、前記アップデートタイミング制御回路の第１入力端子と第２入力端子とにそれぞれ供給され、
前記第１フリップフロップの出力信号と前記第２フリップフロップの出力信号と前記第５フリップフロップの出力信号とは、前記アップデートタイミング制御回路の第３入力端子と第４入力端子と第５入力端子とにそれぞれ供給され、
前記アップデートタイミング制御回路は前記アンド回路の第２入力端子に供給されるマスク信号を生成するものであり、前記マスク信号は前記パルス生成器から生成される前記パルス出力信号が異常に長いハイレベル期間および異常に短いローレベル期間となることを阻止する
半導体集積回路。
【請求項１２】
請求項５において、
前記パルス生成回路は、第２の立ち上げ設定レジスタと、第２の立ち下げ設定レジスタと、第３比較器と、第４比較器と、第２パルス生成器とを有して、
前記第２立ち上げ設定レジスタは、前記第２パルス生成器から生成される第２パルス出力信号をローレベルからハイレベルに立ち上げるための前記カウンタの第２カウント立ち上げ設定値を格納して、
前記第２立ち下げ設定レジスタは、前記第２パルス生成器から生成される第２パルス出力信号をハイレベルからローレベルに立ち下げるための前記カウンタの第２カウント立ち下げ設定値を格納して、
前記第３比較器により前記カウンタの前記カウント値が前記第２カウント立ち上げ設定値に一致することが検出されることに応答して、前記第２パルス生成器は前記第２パルス出力信号を前記ローレベルから前記ハイレベルに変化させ、
前記第４比較器により前記カウンタの前記カウント値が前記第２カウント立ち下げ設定値に一致することが検出されることに応答して、前記第２パルス生成器は前記第２パルス出力信号を前記ハイレベルから前記ローレベルに変化させる
半導体集積回路。
【請求項１３】
中央処理ユニットと、内蔵メモリと、パルス生成回路とを具備する半導体集積回路の動作方法であり、
前記パルス生成回路は、立ち上げ設定レジスタと、立ち下げ設定レジスタと、位相調整データレジスタと、周期データレジスタと、位相演算回路と、カウンタと、第１比較器と、第２比較器と、パルス生成器とを有して、
前記カウンタのカウント値は、カウント初期値からカウントアップ動作をスタートするものであり、
前記周期データレジスタは、前記カウンタの前記カウントアップ動作のカウント最大値を周期データとして格納して、
前記カウンタの前記カウント値は前記カウント初期値から前記カウントアップ動作をスタートした後に前記カウント最大値に到達すると、前記カウンタの前記カウント値は再び前記カウント初期値に復帰して前記カウントアップ動作を再びスタートするものであり、
前記立ち上げ設定レジスタは、前記パルス生成器から生成されるパルス出力信号をローレベルからハイレベルに立ち上げるための前記カウンタのカウント立ち上げ設定値を格納して、
前記立ち下げ設定レジスタは、前記パルス生成器から生成されるパルス出力信号をハイレベルからローレベルに立ち下げるための前記カウンタのカウント立ち下げ設定値を格納して、
前記カウンタの前記カウント値が前記カウント立ち上げ設定値に一致することが前記第１比較器によって検出されることに応答して、前記パルス生成器は前記パルス出力信号を前記ローレベルから前記ハイレベルに変化させ、
前記カウンタの前記カウント値が前記カウント立ち下げ設定値に一致することが前記第２比較器によって検出されることに応答して、前記パルス生成器は前記パルス出力信号を前記ハイレベルから前記ローレベルに変化させ、
前記位相調整データレジスタは、前記パルス生成器から生成される前記パルス出力信号のタイミング調整のための位相角変更値を格納して、
前記パルス生成回路の前記位相演算回路は、デジタル乗算回路と、デジタル除算回路と、デジタル加算回路と、デジタル減算回路とを有して、
前記デジタル乗算回路は、前記位相調整データレジスタに格納された前記位相角変更値と前記周期データレジスタに格納された前記カウント最大値との乗算を実行することによって乗算出力信号を生成して、
前記デジタル除算回路は、前記デジタル乗算回路の前記乗算出力信号を１周期分の位相角によって除算することによって除算出力信号を生成して、
前記デジタル加算回路は、前記デジタル除算回路の前記除算出力信号と前記立ち上げ設定レジスタおよび前記立ち下げ設定レジスタにそれぞれ格納された前記カウント立ち上げ設定値および前記カウント立ち下げ設定値との加算を実行可能なものであり、
前記デジタル加算回路の前記加算によって、前記位相角変更値分の遅相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成して、
前記デジタル減算回路は、前記デジタル除算回路の前記除算出力信号と前記立ち上げ設定レジスタおよび前記立ち下げ設定レジスタにそれぞれ格納された前記カウント立ち上げ設定値および前記カウント立ち下げ設定値との減算を実行可能なものであり、
前記デジタル減算回路の前記減算によって、前記位相角変更値分の進相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成される
半導体集積回路の動作方法。
【請求項１４】
請求項１３において、
前記パルス生成器から生成される前記パルス出力信号は、モータを駆動することが可能とされた
半導体集積回路の動作方法。
【請求項１５】
請求項１４において、
前記パルス生成器から生成される前記パルス出力信号により駆動することが可能とされた前記モータは、超音波モータである
半導体集積回路の動作方法。
【請求項１６】
請求項１５において、
前記デジタル加算回路の前記加算の実行による加算出力信号が前記カウント最大値よりも大きくなる場合には、前記デジタル加算回路は前記加算出力信号から前記カウント最大値を減算した補正加算出力信号を生成する
半導体集積回路の動作方法。
【請求項１７】
請求項１６において、
前記デジタル減算回路の前記減算の実行による減算出力信号が前記カウント初期値より小さくなる場合には、前記デジタル減算回路は前記減算出力信号の絶対値である補正減算出力信号を生成する
半導体集積回路の動作方法。
【請求項１８】
請求項１７において、
前記パルス生成回路の前記位相演算回路は、マルチプレクサと周期超え補正回路とを更に有して、
前記マルチプレクサの第１入力端子と第２入力端子には、前記デジタル加算回路の前記加算出力信号と前記デジタル減算回路の前記減算算出力信号とがそれぞれ供給され、
前記マルチプレクサの出力信号は、前記周期超え補正回路の入力端子に供給され、
前記周期超え補正回路は、前記位相演算回路の出力端子の演算出力信号に応答して前記パルス生成器から生成される前記パルス出力信号のローレベルまたはハイレベルのパルス期間が前記位相角の前記１周期を超過することを回避するデータ補正処理の機能を有する
半導体集積回路の動作方法。
【請求項１９】
請求項１７において、
前記パルス生成回路は、第１セレクタと、第２セレクタと、第１フリップフロップと、第２フリップフロップと、第３フリップフロップと、第４フリップフロップとを更に有して、
前記第３フリップフロップの入力端子には前記位相演算回路の出力端子の前記新しいカウント立ち上げ設定値が供給されて、前記第４フリップフロップの入力端子には前記位相演算回路の前記出力端子の前記新しいカウント立ち下げ設定値が供給され、
前記第１セレクタの第１入力端子と前記第２セレクタの第１入力端子には、前記立ち上げ設定レジスタに格納された前記カウント立ち上げ設定値と前記立ち下げ設定レジスタに格納された前記カウント立ち下げ設定値とがそれぞれ供給可能とされ、
前記第１セレクタの第２入力端子と前記第２セレクタの第２入力端子には、前記第３フリップフロップの出力端子の前記新しいカウント立ち上げ設定値と前記第４フリップフロップの出力端子の前記新しいカウント立ち下げ設定値とがそれぞれ供給可能とされ、
前記第１セレクタの出力端子に出力される前記立ち上げ設定レジスタに格納された前記カウント立ち上げ設定値および前記第３フリップフロップの前記出力端子の前記新しいカウント立ち上げ設定値は、前記第１フリップフロップの入力端子に供給可能とされ、
前記第２セレクタの出力端子に出力される前記立ち下げ設定レジスタに格納された前記カウント立ち下げ設定値および前記第４フリップフロップの前記出力端子の前記新しいカウント立ち下げ設定値は、前記第２フリップフロップの入力端子に供給可能とされ、
前記第１フリップフロップの出力端子と前記第２フリップフロップの出力端子とは、前記第１比較器の第１入力端子と前記第２比較器の第１入力端子とにそれぞれ接続され、
前記第１比較器の第２入力端子と前記第２比較器の第２入力端子とに、前記カウンタの前記カウント値が供給される
半導体集積回路の動作方法。
【請求項２０】
請求項１７において、
前記位相調整データレジスには、最上位ビットに符号ビットを有する１６進数の前記位相角変更値が格納される
半導体集積回路の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路およびその動作方法に関し、特にパルス出力信号のタイミング調整のための中央処理ユニット(ＣＰＵ)の演算処理量もしくは内蔵メモリの記憶容量を低減するのに有効な技術に関する。
【背景技術】
【０００２】
近年、低速時の高トルク、高速応答、高い位置決め精度等の特徴を有する超音波モータ(ＵＳＭ：Ultra Sonic Motor，ＨＳＭ：Hypersonic Motor)が、カメラ用レンズのオートフォーカス制御やズームの制御、ロボットのアクチュエータ、位置決め装置のアクチュエータの分野で使用されている。超音波モータは、圧電素子により発生させた超音波振動を利用して振動体(ステータ)にたわみ波動を発生させて、その進行波を利用して移動体(ロータまたはスライダー)を駆動するものである。ステータの進行波をロータに伝達するには、ある加圧接触が必要である。
【０００３】
下記特許文献１には、超音波振動子により振動する振動体の一端と動体の一端面を相互に対向する位置に配置して、両者間に板状または棒状の振動片を介在させ、この振動片を適当な角度で傾けて超音波振動子の往復運動を動体の一方向運動に変換する「くさび型」と呼ばれる超音波モータが記載されている。
【０００４】
更に下記特許文献２には、ステータにたわみ波動を発生させて、その進行波を利用してロータを駆動する「進行波型」と呼ばれる超音波モータが記載されている。弾性体に複数の電歪素子を固定した超音波振動子の弾性体表面に動体を加圧接触させ、並列する電歪素子に時間的に位相の異なる高周波電圧を印加して超音波振動子の弾性体表面に楕円振動を形成する進行波を生じさせ、動体を摩擦駆動するとしている。その結果、下記特許文献１に記載された「くさび型」と呼ばれる超音波モータの欠点である耐久性と回転方向が一方向に限定されると言う問題が解消されるとしている。
【０００５】
また更に下記特許文献３の図８とそれに関連する開示とには、１個のディレイ回路と６個のインバータと３個のラッチ回路と６個のアンド回路と１個のオア回路と１個のセレクタとによって構成されたパルスジェネレータが記載されている。パルス入力信号に応答するディレイ回路は、パルス入力信号の１周期の１／６期間(６０°分の位相)遅延させた第１遅延パルス出力信号とパルス入力信号の１周期の２／６期間(１２０°分の位相)遅延させた第２遅延パルス出力信号とを生成する。パルス入力信号は第１インバータの入力端子と第４インバータの入力端子とに供給され、第１遅延パルス出力信号は第２インバータの入力端子と第５インバータの入力端子とに供給され、第２遅延パルス出力信号は第３インバータの入力端子と第６インバータの入力端子とに供給される。
【０００６】
第４インバータの出力信号と第５インバータの出力信号と第６インバータの出力信号とは第１ラッチ回路の第１Ｓ入力端子と第２Ｓ入力端子と第３Ｓ入力端子とにそれぞれ供給されて、パルス入力信号と第１遅延パルス出力信号と第２遅延パルス出力信号とは第２ラッチ回路の第１Ｓ入力端子と第２Ｓ入力端子と第３Ｓ入力端子とにそれぞれ供給される。第１インバータの入力端子と出力端子とはそれぞれ第１アンド回路の第１入力端子と第２アンド回路の第１入力端子に接続されて、第２インバータの入力端子と出力端子とはそれぞれ第３アンド回路の第１入力端子と第４アンド回路の第１入力端子に接続されて、第３インバータの入力端子と出力端子とはそれぞれ第５アンド回路の第１入力端子と第６アンド回路の第１入力端子に接続される。
【０００７】
第１ラッチ回路の第１Ｑ出力端子と第２ラッチ回路の第１Ｑ出力端子とは、それぞれ第１アンド回路の第２入力端子と第２アンド回路の第２入力端子とに接続され、第１ラッチ回路の第２Ｑ出力端子と第２ラッチ回路の第２Ｑ出力端子とは、それぞれ第３アンド回路の第２入力端子と第４アンド回路の第２入力端子とに接続される。更に第１ラッチ回路の第３Ｑ出力端子と第２ラッチ回路の第３Ｑ出力端子とは、それぞれ第５アンド回路の第２入力端子と第６アンド回路の第２入力端子に接続される。
【０００８】
第１インバータの入力端子と出力端子と第２インバータの入力端子と出力端子と第３インバータの入力端子と出力端子とは、それぞれセレクタの第１入力端子と第２入力端子と第３入力端子と第４入力端子と第５入力端子と第６入力端子とに接続される。第１アンド回路の出力端子と第２アンド回路の出力端子と第３アンド回路の出力端子は、それぞれオア回路の第１入力端子と第２入力端子と第３入力端子に接続される。第４アンド回路の出力端子と第５アンド回路の出力端子と第６アンド回路の出力端子は、それぞれオア回路の第４入力端子と第５入力端子と第６入力端子に接続される。
【０００９】
第１ラッチ回路の第１Ｑ出力端子と第２ラッチ回路の第１Ｑ出力端子と第１ラッチ回路の第２Ｑ出力端子と第２ラッチ回路の第２Ｑ出力端子と第１ラッチ回路の第３Ｑ出力端子と第２ラッチ回路の第３Ｑ出力端子はそれぞれ、第３ラッチ回路の第１入力端子と第２入力端子と第３入力端子と第４入力端子と第５入力端子と第６入力端子と接続される。第３ラッチ回路の同期入力端子にはオア回路の出力端子が接続されて、第３ラッチ回路の出力端子からセレクタに供給されるパルス選択信号が生成される。
【００１０】
セレクタの第１入力端子と第２入力端子と第３入力端子と第４入力端子と第５入力端子と第６入力端子とには位相が相互に６０°分シフトされた６個のパルス入力信号が供給されることによって、セレクタの出力端子からは６個のパルス入力信号から選択された１個のパルス入力信号を出力信号として出力することが可能となる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特公昭５９−３０９１２号  公報
【特許文献２】特公平１−１７３５３号  公報
【特許文献３】特開平１１−１４９６７１号  公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
本発明者は本発明に先立ち、冒頭で説明した進行波型の超音波モータを駆動可能な半導体集積回路の開発に従事した。この超音波モータを駆動する半導体集積回路には、超音波モータに供給される駆動パルスの位相を調整する機能が必要とされた。超音波モータの駆動を高精度とする必要があるので、駆動パルスの位相調整を高精度とする必要がある。
【００１３】
上記特許文献３の図８とそれに関連する開示とに記載されたパルスジェネレータは、相互に６０°分位相シフトした６個のパルス入力信号から１個のパルス入力信号を出力信号として選択するものである。しかし、本発明に先立って本発明者によって、上記特許文献３の図８とそれに関連する開示とに基つき、その相互の位相シフト量を小さくして、膨大な個数のパルス入力信号から１個のパルス入力信号を出力信号として選択する方式を検討したものである。しかしながら、この方式を採用した場合には、パルスジェネレータの回路規模と消費電力とが増加すると言う問題が本発明に先立った本発明者による検討によって明らかとされた。
【００１４】
図１４は、本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇの構成を示す図である。
【００１５】
図１４に示した本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇは、出力端子Ｔｏｕｔに接続される進行波型の超音波モータを駆動するための駆動パルス出力信号を生成する。
【００１６】
図１４に示すように、本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇは、立ち上げ設定のための第１レジスタ１０と、立ち下げ設定のための第２レジスタ１１と、周期データの設定のための第３レジスタ１２と、第３フリップフロップ(ＦＦ)１３と、カウンタ１４によって構成される。更に駆動パルス出力生成回路１ｇは、第１フリップフロップ(ＦＦ)１５と、第２フリップフロップ(ＦＦ)１６と、第１比較器１７と、第２比較器１８と、パルス生成器１９とによって構成される。
【００１７】
カウンタ１４は、図示されていないクロック信号に応答して１６ビットのカウンタ値をカウントアップするように構成されている。すなわち、カウンタ１４によるカウントアップ動作のカウント初期値Ｎｍｉｎｉは例えば、ゼロに設定されるものであり、カウンタ１４によるカウントアップ動作のカウント最大値Ｎｍａｘは第３レジスタ１２に設定される周期データによって設定可能とされる。
【００１８】
従って、カウンタ１４がゼロに設定されたカウント初期値Ｎｍｉｎｉからカウントアップ動作をスタートしてカウントアップ動作を実行してカウンタ値が第３レジスタ１２の周期データにより設定されたカウント最大値Ｎｍａｘに到達すると、カウンタ値は再びゼロのカウント初期値Ｎｍｉｎｉに復帰してクロック信号に応答したカウントアップ動作を実行する。
【００１９】
第３レジスタ１２に設定される周期データは１６ビットであり、第３フリップフロップ(ＦＦ)１３には１６ビットデータを格納可能であり、カウンタ１４のカウンタ値も１６ビットである。従って、第１フリップフロップ(ＦＦ)１５と第２フリップフロップ(ＦＦ)１６とには１６ビットデータがそれぞれ格納可能であり、第１比較器１７と第２比較器１８とは２個の１６ビットデータの入力信号の一致・不一致を検出する。
【００２０】
第１フリップフロップ(ＦＦ)１５には第１レジスタ１０に設定された立ち上げ設定のためのカウンタ１４のカウンタ値が更新許可信号に応答して格納され、第２フリップフロップ(ＦＦ)１６には第２レジスタ１１に設定された立ち下げ設定のためのカウンタ１４のカウンタ値が更新許可信号に応答して格納される。更に第３フリップフロップ(ＦＦ)１３には、第３レジスタ１２に設定された周期データによって設定されるカウント最大値Ｎｍａｘが更新許可信号に応答して格納される。
【００２１】
カウンタ１４がゼロのカウント初期値Ｎｍｉｎｉからスタートしてカウントアップ動作を実行することによって、カウンタ１４の出力のカウンタ値が第１フリップフロップ(ＦＦ)１５に格納された立ち上げ設定値に一致することが第１比較器１７によって検出される。第１比較器１７の出力端子から立ち上げ指示情報が生成され、立ち上げ指示情報に応答してパルス生成器１９は出力端子Ｔｏｕｔの駆動パルス出力信号をローレベルからハイレベルに変化させる。
【００２２】
カウンタ１４がカウントアップ動作を更に継続することによって、カウンタ１４の出力のカウンタ値が第２フリップフロップ(ＦＦ)１６に格納された立ち下げ設定値に一致することが第２比較器１８によって検出される。第２比較器１８の出力端子から立ち下げ指示情報が生成され、立ち下げ指示情報に応答してパルス生成器１９は出力端子Ｔｏｕｔの駆動パルス出力信号をハイレベルからローレベルに変化させる。
【００２３】
カウンタ１４がカウントアップ動作をまた更に継続することによって、カウンタ１４の出力のカウンタ値が第３フリップフロップ(ＦＦ)１３の周期データにより設定されたカウント最大値Ｎｍａｘに到達すると、カウンタ値は再びゼロのカウント初期値Ｎｍｉｎｉに復帰してクロック信号に応答したカウントアップ動作を実行する。
【００２４】
図１５は、図１４に示した本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇの動作を説明するための図である。
【００２５】
図１５には、カウンタ１４がカウント初期値Ｎｍｉｎｉからスタートしてカウント最大値Ｎｍａｘまでカウントアップする様子が示されている。
【００２６】
更に図１５には、カウンタ１４の出力のカウンタ値が第１フリップフロップ(ＦＦ)１５に格納された立ち上げ設定値に一致することによって、パルス生成器１９の出力端子Ｔｏｕｔの駆動パルス出力信号がローレベルからハイレベルに変化する様子が示されている。
【００２７】
また更に図１５には、カウンタ１４の出力のカウンタ値が第２フリップフロップ(ＦＦ)１６に格納された立ち下げ設定値に一致することによって、パルス生成器１９の出力端子Ｔｏｕｔの駆動パルス出力信号がハイレベルからローレベルに変化する様子が示されている。
【００２８】
一方、上述したように超音波モータの駆動を高精度とするためには、駆動パルスの位相調整を高精度とする必要がある。従って、図１５に示したパルス生成器１９の出力端子Ｔｏｕｔの駆動パルス出力信号のローレベルからハイレベルへの変化タイミングと駆動パルス出力信号のハイレベルからローレベルへの変化タイミングとを調整する必要がある。
【００２９】
一方、カウンタ１４のカウンタ値がゼロのカウント初期値Ｎｍｉｎｉからスタートしてカウント最大値Ｎｍａｘに到達する間に、パルス生成器１９の出力端子Ｔｏｕｔの駆動パルス出力信号がローレベルからハイレベルに変化して更にハイレベルからローレベルに変化することで、３６０°の１周期が経過する。従って、駆動パルス出力信号の変化タイミングを調整するためには、３６０°の１周期での変化タイミングの位相角の変更が必要である。
【００３０】
図１６は、図１４に示した本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇにおいて、超音波モータの駆動パルス出力信号の変化タイミングを調整するためのカウンタ１４のカウンタ値における立ち上げ設定値と立ち下げ設定値とを算出する手順を説明する図である。
【００３１】
図１６に示す最初のステップＳ１００では、第３レジスタ１２に設定された周期データであるカウンタ１４のカウンタ値のカウント最大値Ｎｍａｘを、１周期分の位相角３６０°によって除算するものである。この時に、カウンタ１４のカウンタ値は１６ビットの２進数(Binary Number)で示されている。ステップＳ１００による除算によって、変更位相角１°当りのカウンタ１４の変更カウンタ変更値が算出される。
【００３２】
図１６に示した次のステップＳ２００では、最初のステップＳ１００で算出された変更位相角１°当りのカウンタ１４の変更カウンタ変更値と駆動パルス出力信号の変化タイミング調整のための位相角変更値とを乗算するものである。この時に、位相角変更値は１０進数(Decimal Number)で示されている。ステップＳ２００による乗算によって、希望する位相角の変更に必要なカウンタ１４のカウンタ変更値が算出される。このカウンタ１４のカウンタ値も、１６ビットの２進数(Binary Number)で示される。
【００３３】
図１６に示した更に次のステップＳ３００では、ステップＳ２００で算出された希望する位相角の変更に必要なカウンタ１４のカウンタ変更値と位相角の変更以前に第１レジスタ１０に現時点で設定されている立ち上げ設定のためのカウンタ１４のカウンタ設定値との加算を実行する。また更にこのステップＳ３００では、ステップＳ２００で算出された希望する位相角の変更に必要なカウンタ１４のカウンタ変更値と位相角の変更以前に第２レジスタ１１に現時点で設定されている立ち下げ設定のためのカウンタ１４のカウンタ設定値との加算を実行する。従って、ステップＳ３００による加算によって、希望する駆動パルス出力信号の変化タイミングの調整に必要なカウンタ１４の新しい立ち上げカウンタ設定値と新しい立ち下げカウンタ設定値とが算出される。
【００３４】
しかしながら、本発明に先立ち本発明者等により検討された図１４から図１６に説明した方式では、半導体集積回路に搭載される中央処理ユニット(ＣＰＵ)の演算処理量が増大するか、または半導体集積回路に搭載される内蔵メモリの記憶容量が増大すると言う問題も、本発明に先立った本発明者等による検討によって明らかとされた。すなわち、図１６に示した算出手順は、除算と乗算とを含むので、半導体集積回路の中央処理ユニット(ＣＰＵ)の演算処理量が増大することとなる。更に、除算と乗算とを含む図１６に示した算出手順を半導体集積回１の中央処理ユニット(ＣＰＵ)の演算処理で実行するためのソフトフェアを半導体集積回路１に搭載される内蔵メモリに格納する必要が有るので、内蔵メモリの記憶容量が増大することとなる。
【００３５】
このような課題を解決するための手段等を以下に説明するが、その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【００３６】
本願において開示される代表的な実施の形態の概要を簡単に説明すれば、下記のとおりである。
【００３７】
すなわち、代表的な実施の形態による半導体集積回路(１)のパルス生成回路(１ｇ)は、位相調整データレジスタ(１Ｂ)と、周期データレジスタ(１２)と、位相演算回路(１Ａ)と、カウンタ(１４)と、パルス生成器(１９)とを有する。
【００３８】
前記パルス生成回路(１ｇ)の前記位相演算回路(１Ａ)は、デジタル乗算回路(１００)と、デジタル除算回路(１０１)と、デジタル加算・減算回路(１０２、１０３)とを有する。
【００３９】
前記デジタル乗算回路(１００)は、前記位相調整データレジスタ(１Ｂ)の位相角変更値と前記周期データレジスタ(１２)のカウント最大値(Ｎｍａｘ)との乗算を実行して乗算出力信号を生成する。
【００４０】
前記デジタル除算回路(１０１)は、前記デジタル乗算回路(１００)の前記乗算出力信号を１周期分の位相角(３６０°)によって除算して除算出力信号を生成する。
【００４１】
前記デジタル加算・減算回路(１０２、１０３)は、前記デジタル除算回路(１０１)の前記除算出力信号と立ち上げ設定レジスタ(１０)および立ち下げ設定レジスタ(１１)にそれぞれ格納されたカウント立ち上げ設定値およびカウント立ち下げ設定値との加算・減算を実行する。
【００４２】
前記デジタル加算・減算回路の前記加算・減算によって、前記位相角変更値分の遅相・進相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成されることを特徴とする(図２参照)。
【発明の効果】
【００４３】
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば、下記の通りである。
【００４４】
すなわち、本半導体集積回路(１)によれば、パルス出力信号のタイミング調整のための中央処理ユニット(ＣＰＵ)の演算処理量もしくは内蔵メモリの記憶容量を低減することができる。
【図面の簡単な説明】
【００４５】
【図１】図１は、進行波型超音波モータ２を駆動する実施の形態１による半導体集積回路１の構成を示す図である。
【図２】図２は、図１に示した実施の形態１による半導体集積回路１の第２機能モジュール１ｇである駆動パルス出力生成回路の構成を示す図である。
【図３】図３は、図２に示した実施の形態１による半導体集積回路１において超音波モータの駆動パルス出力信号の変化タイミングを調整するためのカウンタ１４のカウンタ値における立ち上げ設定値と立ち下げ設定値とを算出する手順を説明する図である。
【図４】図４は、図２に示した実施の形態１の半導体集積回路１の位相演算回路１Ａの位相調整データレジスタ(第４レジスタ)１Ｂのビット構成を示す図である。
【図５】図５は、図２に示した実施の形態１の半導体集積回路１の位相演算回路１Ａの位相調整データレジスタ(第４レジスタ)１Ｂへの位相角変更値に対応するレジスタ設定を説明する図である。
【図６】図６は、図２に示した実施の形態１による位相演算回路１Ａのデジタル加算回路１０２とデジタル減算回路１０３のデータ補正処理の機能を説明する図である。
【図７】図７は、実施の形態２による半導体集積回路１の第２機能モジュール１ｇである駆動パルス出力生成回路の他の構成を示す図である。
【図８】図８は、図７に示す実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備しない場合の動作を説明する図である。
【図９】図９は、図７に示す実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備しない場合の動作を説明する図である。
【図１０】図１０は、図７に示した実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備することによって正常な動作を実行する様子を説明する図である。
【図１１】図１１は、図７に示した実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備しない場合の動作を説明する図である。
【図１２】図１２は、図７に示した実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備することによって正常な動作を実行する様子を説明する図である。
【図１３】図１３は、実施の形態３による半導体集積回路１の第２機能モジュール１ｇである駆動パルス出力生成回路の更に他の構成を示す図である。
【図１４】図１４は、本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇの構成を示す図である。
【図１５】図１５は、図１４に示した本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇの動作を説明するための図である。
【図１６】図１６は、図１４に示した本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇにおいて、超音波モータの駆動パルス出力信号の変化タイミングを調整するためのカウンタ１４のカウンタ値における立ち上げ設定値と立ち下げ設定値とを算出する手順を説明する図である。
【発明を実施するための形態】
【００４６】
１．実施の形態の概要
まず、本願において開示される代表的な実施の形態についてその概要を説明する。代表的な実施の形態の概要説明で括弧を付して参照する図面の参照符号は、それが付された構成要素の概念に含まれるものを例示するに過ぎない。
【００４７】
〔１〕代表的な実施の形態による半導体集積回路(１)は、中央処理ユニット(１ａ)と、内蔵メモリ(１ｂ、１ｃ)と、パルス生成回路(１ｇ)とを具備するものである(図１参照)。
【００４８】
前記パルス生成回路(１ｇ)は、立ち上げ設定レジスタ(１０)と、立ち下げ設定レジスタ(１１)と、位相調整データレジスタ(１Ｂ)と、周期データレジスタ(１２)と、位相演算回路(１Ａ)と、カウンタ(１４)と、第１比較器(１７)と、第２比較器(１８)と、パルス生成器(１９)とを有する。
【００４９】
前記カウンタ(１４)のカウント値は、カウント初期値(Ｎｍｉｎｉ)からカウントアップ動作をスタートするものである。
【００５０】
前記周期データレジスタ(１２)は、前記カウンタの前記カウントアップ動作のカウント最大値(Ｎｍａｘ)を周期データとして格納する。
【００５１】
前記カウンタ(１４)の前記カウント値は前記カウント初期値から前記カウントアップ動作をスタートした後に前記カウント最大値に到達すると、前記カウンタ(１４)の前記カウント値は再び前記カウント初期値に復帰して前記カウントアップ動作を再びスタートするものである。
【００５２】
前記立ち上げ設定レジスタ(１０)は、前記パルス生成器(１９)から生成されるパルス出力信号をローレベルからハイレベルに立ち上げるための前記カウンタ(１４)のカウント立ち上げ設定値を格納する。
【００５３】
前記立ち下げ設定レジスタ(１１)は、前記パルス生成器(１９)から生成されるパルス出力信号をハイレベルからローレベルに立ち下げるための前記カウンタ(１４)のカウント立ち下げ設定値を格納する。
【００５４】
前記カウンタの前記カウント値が前記カウント立ち上げ設定値に一致することが前記第１比較器によって検出されることに応答して、前記パルス生成器は前記パルス出力信号を前記ローレベルから前記ハイレベルに変化させる。
【００５５】
前記カウンタの前記カウント値が前記カウント立ち下げ設定値に一致することが前記第２比較器によって検出されることに応答して、前記パルス生成器は前記パルス出力信号を前記ハイレベルから前記ローレベルに変化させる。
【００５６】
前記位相調整データレジスタ(１Ｂ)は、前記パルス生成器(１９)から生成される前記パルス出力信号のタイミング調整のための位相角変更値を格納する。
【００５７】
前記パルス生成回路(１ｇ)の前記位相演算回路(１Ａ)は、デジタル乗算回路(１００)と、デジタル除算回路(１０１)と、デジタル加算回路(１０２)と、デジタル減算回路(１０３)とを有する。
【００５８】
前記デジタル乗算回路(１００)は、前記位相調整データレジスタ(１Ｂ)に格納された前記位相角変更値と前記周期データレジスタ(１２)に格納された前記カウント最大値(Ｎｍａｘ)との乗算を実行することによって乗算出力信号を生成する(図３：Ｓ４００)。
【００５９】
前記デジタル除算回路(１０１)は、前記デジタル乗算回路(１００)の前記乗算出力信号を１周期分の位相角(３６０°)によって除算することによって除算出力信号を生成する(図３：Ｓ５００)。
【００６０】
前記デジタル加算回路(１０２)は、前記デジタル除算回路(１０１)の前記除算出力信号と前記立ち上げ設定レジスタ(１０)および前記立ち下げ設定レジスタ(１１)にそれぞれ格納された前記カウント立ち上げ設定値および前記カウント立ち下げ設定値との加算を実行可能なものである(図３：Ｓ６００)。
【００６１】
前記デジタル加算回路の前記加算によって、前記位相角変更値分の遅相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成される。
【００６２】
前記デジタル減算回路(１０３)は、前記デジタル除算回路(１０１)の前記除算出力信号と前記立ち上げ設定レジスタ(１０)および前記立ち下げ設定レジスタ(１１)にそれぞれ格納された前記カウント立ち上げ設定値および前記カウント立ち下げ設定値との減算を実行可能なものである(図３：Ｓ６００)。
【００６３】
前記デジタル減算回路の前記減算によって、前記位相角変更値分の進相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成されることを特徴とするものである(図２参照)。
【００６４】
前記実施の形態によれば、パルス出力信号のタイミング調整のための中央処理ユニット(ＣＰＵ)の演算処理量もしくは内蔵メモリの記憶容量を低減することができる。
【００６５】
好適な実施の形態では、前記パルス生成器(１９)から生成される前記パルス出力信号は、モータ(２)を駆動することが可能とされたことを特徴とするものである(図１参照)。
【００６６】
他の好適な実施の形態では、前記パルス生成器(１９)から生成される前記パルス出力信号により駆動することが可能とされた前記モータ(２)は、超音波モータであることを特徴とするものである(図１参照)。
【００６７】
更に他の好適な実施の形態では、前記デジタル加算回路(１０２)の前記加算の実行による加算出力信号が前記カウント最大値(Ｎｍａｘ)よりも大きくなる場合には、前記デジタル加算回路は前記加算出力信号から前記カウント最大値を減算した補正加算出力信号を生成することを特徴とするものである(図２参照)。
【００６８】
より好適な実施の形態では、前記デジタル減算回路(１０３)の前記減算の実行による減算出力信号が前記カウント初期値(Ｎｍｉｎｉ)より小さくなる場合には、前記デジタル減算回路は前記減算出力信号の絶対値である補正減算出力信号を生成することを特徴とするものである(図２参照)。
【００６９】
他のより好適な実施の形態では、前記パルス生成回路(１ｇ)の前記位相演算回路(１Ａ)は、マルチプレクサ(１０４)と周期超え補正回路(１０５)とを更に有する。
【００７０】
前記マルチプレクサ(１０４)の第１入力端子と第２入力端子には、前記デジタル加算回路の前記加算出力信号と前記デジタル減算回路の前記減算算出力信号とがそれぞれ供給される。
【００７１】
前記マルチプレクサ(１０４)の出力信号は、前記周期超え補正回路(１０５)の入力端子に供給される。
【００７２】
前記周期超え補正回路(１０５)は、前記位相演算回路(１Ａ)の出力端子(ＯＵＴ)の演算出力信号に応答して前記パルス生成器(１９)から生成される前記パルス出力信号のローレベルまたはハイレベルのパルス期間が前記位相角(３６０°)の前記１周期を超過することを回避するデータ補正処理の機能を有することを特徴とする(図２参照)。
【００７３】
更に他のより好適な実施の形態では、前記パルス生成回路(１ｇ)は、第１セレクタ(１Ｅ)と、第２セレクタ(１Ｆ)と、第１フリップフロップ(１５)と、第２フリップフロップ(１６)と、第３フリップフロップ(１Ｃ)と、第４フリップフロップ(１Ｄ)とを更に有する。
【００７４】
前記第３フリップフロップ(１Ｃ)の入力端子には前記位相演算回路(１Ａ)の出力端子(ＯＵＴ)の前記新しいカウント立ち上げ設定値が供給されて、前記第４フリップフロップ(１Ｄ)の入力端子には前記位相演算回路(１Ａ)の前記出力端子(ＯＵＴ)の前記新しいカウント立ち下げ設定値が供給される。
【００７５】
前記第１セレクタ(１Ｅ)の第１入力端子と前記第２セレクタ(１Ｆ)の第１入力端子には、前記立ち上げ設定レジスタ(１０)に格納された前記カウント立ち上げ設定値と前記立ち下げ設定レジスタ(１１)に格納された前記カウント立ち下げ設定値とがそれぞれ供給可能とされる。
【００７６】
前記第１セレクタ(１Ｅ)の第２入力端子と前記第２セレクタ(１Ｆ)の第２入力端子には、前記第３フリップフロップ(１Ｃ)の出力端子の前記新しいカウント立ち上げ設定値と前記第４フリップフロップ(１Ｄ)の出力端子の前記新しいカウント立ち下げ設定値とがそれぞれ供給可能とされる。
【００７７】
前記第１セレクタ(１Ｅ)の出力端子に出力される前記立ち上げ設定レジスタ(１０)に格納された前記カウント立ち上げ設定値および前記第３フリップフロップ(１Ｃ)の前記出力端子の前記新しいカウント立ち上げ設定値は、前記第１フリップフロップ(１５)の入力端子に供給可能とされる。
【００７８】
前記第２セレクタ(１Ｆ)の出力端子に出力される前記立ち下げ設定レジスタ(１１)に格納された前記カウント立ち下げ設定値および前記第４フリップフロップ(１Ｄ)の前記出力端子の前記新しいカウント立ち下げ設定値は、前記第２フリップフロップ(１６)の入力端子に供給可能とされる。
【００７９】
前記第１フリップフロップ(１５)の出力端子と前記第２フリップフロップ(１６)の出力端子とは、前記第１比較器(１７)の第１入力端子と前記第２比較器(１８)の第１入力端子とにそれぞれ接続される。
【００８０】
前記第１比較器(１７)の第２入力端子と前記第２比較器(１８)の第２入力端子とに、前記カウンタ(１４)の前記カウント値が供給されることを特徴とするものである(図２参照)。
【００８１】
別のより好適な実施の形態では、前記位相調整データレジスタ(１Ｂ)には、最上位ビットに符号ビットを有する１６進数の前記位相角変更値が格納されることを特徴とするものである(図５参照)。
【００８２】
更に別のより好適な実施の形態では、前記中央処理ユニット(１ａ)は前記内蔵メモリ(１ｂ、１ｃ)に格納された前記モータ(２)の制御ソフトウェアを実行することにより、前記中央処理ユニット(１ａ)が前記位相調整データレジスタ(１Ｂ)に前記１６進数の前記位相角変更値を格納することを特徴とする(図２参照)。
【００８３】
具体的な実施の形態では、前記パルス生成回路(１ｇ)は、第５フリップフロップ(１３)を更に有する。
【００８４】
前記周期データレジスタ(１２)に格納された前記カウント最大値(Ｎｍａｘ)は前記第５フリップフロップ(１３)の入力端子に供給され、前記第５フリップフロップの出力端子は前記カウンタ(１４)に接続される。
【００８５】
前記第１と前記第２と前記第５のフリップフロップ(１５、１６、１３)の各制御端子に更新許可信号が供給されることに応答して、前記第１と前記第２と前記第５のフリップフロップは前記第１セレクタ(１Ｅ)の前記出力端子の設定値と前記第２セレクタ(１Ｆ)の前記出力端子の設定値と前記周期データレジスタ(１２)の設定値とそれぞれ格納することを特徴とする(図２参照)。
【００８６】
他の具体的な実施の形態では、前記パルス生成回路(１ｇ)は、アンド回路(１Ｉ)とアップデートタイミング制御回路(１Ｊ)とを更に有する。
【００８７】
前記更新許可信号が前記アンド回路(１Ｉ)の第１入力端子と出力端子とを介して、前記第１と前記第２と前記第５のフリップフロップ(１５、１６、１３)の前記各制御端子に伝達される。
【００８８】
前記第１比較器(１７)の出力信号と前記第２比較器(１８)の出力信号とは、前記アップデートタイミング制御回路(１Ｊ)の第１入力端子と第２入力端子とにそれぞれ供給される。
【００８９】
前記第１フリップフロップ(１５)の出力信号と前記第２フリップフロップ(１６)の出力信号と前記第３フリップフロップ(１３)の出力信号とは、前記アップデートタイミング制御回路(１Ｊ)の第３入力端子と第４入力端子と第５入力端子とにそれぞれ供給される。
【００９０】
前記アップデートタイミング制御回路(１Ｊ)は前記アンド回路(１Ｉ)の第２入力端子に供給されるマスク信号を生成するものであり、前記マスク信号は前記パルス生成器(１９)から生成される前記パルス出力信号が異常に長いハイレベル期間および異常に短いローレベル期間となることを阻止することを特徴とするものである(図７参照)。
【００９１】
最も具体的な実施の形態では、前記パルス生成回路(１ｇ)は、第２の立ち上げ設定レジスタ(１０＿２)と、第２の立ち下げ設定レジスタ(１１＿２)と、第３比較器(１７＿２)と、第４比較器(１８＿２)と、第２パルス生成器(１９＿２)とを有する。
【００９２】
前記第２立ち上げ設定レジスタ(１０＿２)は、前記第２パルス生成器(１９＿２)から生成される第２パルス出力信号をローレベルからハイレベルに立ち上げるための前記カウンタ(１４)の第２カウント立ち上げ設定値を格納する。
【００９３】
前記第２立ち下げ設定レジスタ(１１＿２)は、前記第２パルス生成器(１９＿２)から生成される第２パルス出力信号をハイレベルからローレベルに立ち下げるための前記カウンタ(１４)の第２カウント立ち下げ設定値を格納する。
【００９４】
前記第３比較器により前記カウンタの前記カウント値が前記第２カウント立ち上げ設定値に一致することが検出されることに応答して、前記第２パルス生成器は前記第２パルス出力信号を前記ローレベルから前記ハイレベルに変化させる。
【００９５】
前記第４比較器により前記カウンタの前記カウント値が前記第２カウント立ち下げ設定値に一致することが検出されることに応答して、前記第２パルス生成器は前記第２パルス出力信号を前記ハイレベルから前記ローレベルに変化させることを特徴とするものである(図１３)。
【００９６】
〔２〕別の観点の代表的な実施の形態は、中央処理ユニット(１ａ)と、内蔵メモリ(１ｂ、１ｃ)と、パルス生成回路(１ｇ)とを具備する半導体集積回路(１)の動作方法である(図１参照)。
【００９７】
前記パルス生成回路(１ｇ)は、立ち上げ設定レジスタ(１０)と、立ち下げ設定レジスタ(１１)と、位相調整データレジスタ(１Ｂ)と、周期データレジスタ(１２)と、位相演算回路(１Ａ)と、カウンタ(１４)と、第１比較器(１７)と、第２比較器(１８)と、パルス生成器(１９)とを有する。
【００９８】
前記カウンタ(１４)のカウント値は、カウント初期値(Ｎｍｉｎｉ)からカウントアップ動作をスタートするものである。
【００９９】
前記周期データレジスタ(１２)は、前記カウンタの前記カウントアップ動作のカウント最大値(Ｎｍａｘ)を周期データとして格納する。
【０１００】
前記カウンタ(１４)の前記カウント値は前記カウント初期値から前記カウントアップ動作をスタートした後に前記カウント最大値に到達すると、前記カウンタ(１４)の前記カウント値は再び前記カウント初期値に復帰して前記カウントアップ動作を再びスタートするものである。
【０１０１】
前記立ち上げ設定レジスタ(１０)は、前記パルス生成器(１９)から生成されるパルス出力信号をローレベルからハイレベルに立ち上げるための前記カウンタ(１４)のカウント立ち上げ設定値を格納する。
【０１０２】
前記立ち下げ設定レジスタ(１１)は、前記パルス生成器(１９)から生成されるパルス出力信号をハイレベルからローレベルに立ち下げるための前記カウンタ(１４)のカウント立ち下げ設定値を格納する。
【０１０３】
前記カウンタの前記カウント値が前記カウント立ち上げ設定値に一致することが前記第１比較器によって検出されることに応答して、前記パルス生成器は前記パルス出力信号を前記ローレベルから前記ハイレベルに変化させる。
【０１０４】
前記カウンタの前記カウント値が前記カウント立ち下げ設定値に一致することが前記第２比較器によって検出されることに応答して、前記パルス生成器は前記パルス出力信号を前記ハイレベルから前記ローレベルに変化させる。
【０１０５】
前記位相調整データレジスタ(１Ｂ)は、前記パルス生成器(１９)から生成される前記パルス出力信号のタイミング調整のための位相角変更値を格納する。
【０１０６】
前記パルス生成回路(１ｇ)の前記位相演算回路(１Ａ)は、デジタル乗算回路(１００)と、デジタル除算回路(１０１)と、デジタル加算回路(１０２)と、デジタル減算回路(１０３)とを有する。
【０１０７】
前記デジタル乗算回路(１００)は、前記位相調整データレジスタ(１Ｂ)に格納された前記位相角変更値と前記周期データレジスタ(１２)に格納された前記カウント最大値(Ｎｍａｘ)との乗算を実行することによって乗算出力信号を生成する(図３：Ｓ４００)。
【０１０８】
前記デジタル除算回路(１０１)は、前記デジタル乗算回路(１００)の前記乗算出力信号を１周期分の位相角(３６０°)によって除算することによって除算出力信号を生成する(図３：Ｓ５００)。
【０１０９】
前記デジタル加算回路(１０２)は、前記デジタル除算回路(１０１)の前記除算出力信号と前記立ち上げ設定レジスタ(１０)および前記立ち下げ設定レジスタ(１１)にそれぞれ格納された前記カウント立ち上げ設定値および前記カウント立ち下げ設定値との加算を実行可能なものである(図３：Ｓ６００)。
【０１１０】
前記デジタル加算回路の前記加算によって、前記位相角変更値分の遅相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成される。
【０１１１】
前記デジタル減算回路(１０３)は、前記デジタル除算回路(１０１)の前記除算出力信号と前記立ち上げ設定レジスタ(１０)および前記立ち下げ設定レジスタ(１１)にそれぞれ格納された前記カウント立ち上げ設定値および前記カウント立ち下げ設定値との減算を実行可能なものである(図３：Ｓ６００)。
【０１１２】
前記デジタル減算回路の前記減算によって、前記位相角変更値分の進相に必要な新しいカウント立ち上げ設定値および新しいカウント立ち下げ設定値が生成されることを特徴とするものである(図２参照)。
【０１１３】
前記実施の形態によれば、パルス出力信号のタイミング調整のための中央処理ユニット(ＣＰＵ)の演算処理量もしくは内蔵メモリの記憶容量を低減することができる。
【０１１４】
２．実施の形態の詳細
次に、実施の形態について更に詳述する。尚、発明を実施するための最良の形態を説明するための全図において、前記の図と同一の機能を有する部品には同一の符号を付して、その繰り返しの説明は省略する。
【０１１５】
［実施の形態１］
《半導体集積回路の構成》
図１は、進行波型超音波モータ２を駆動する実施の形態１による半導体集積回路１の構成を示す図である。
【０１１６】
図１に示すように、マイクロコントローラユニット(ＭＣＵ)として構成された半導体集積回路１は、中央処理ユニット(ＣＰＵ)１ａと、リードオンリーメモリ(ＲＯＭ)１ｂと、ランダムアクセスメモリ(ＲＡＭ)１ｃと、内部高速バス１ｄ、バスコントローラ１ｅ、第１機能モジュール１ｆ、第２機能モジュール１ｇを含んでいる。
【０１１７】
中央処理ユニット(ＣＰＵ)１ａはリードオンリーメモリ(ＲＯＭ)１ｂに格納された種々のソフトウェアを実行することで、半導体集積回路１の種々の機能を実現する。このリードオンリーメモリ(ＲＯＭ)１ｂは、オンチップのフラッシュ不揮発性メモリを含むものである。
【０１１８】
ランダムアクセスメモリ(ＲＡＭ)１ｃは内部高速バス１ｄを介して中央処理ユニット(ＣＰＵ)１ａによりアクセスされ、中央処理ユニット(ＣＰＵ)１ａのためのワーク記憶領域として機能する。
【０１１９】
バスコントローラ１ｅは、中央処理ユニット(ＣＰＵ)１ａが図示されていない外部バスに接続される外部デバイスをアクセスする際のアクセスレィテンシーを隠蔽するデバイスとして機能する。従って、バスコントローラ１ｅは、内部高速バス１ｄを介して供給される中央処理ユニット(ＣＰＵ)１ａのアクセスアドレスを図示されていない外部バスに出力する一方、外部バスのデータを格納するバッファメモリを内蔵する。
【０１２０】
第１機能モジュール１ｆは、割り込みコントローラ(ＩＣＵ)やデータトランスファコントローラ(ＤＴＣ)やダイレクトメモリアクセスコントローラ(ＤＭＡＣ)等のハードウェアマクロによって構成されたＩＰコアである。また更に第１機能モジュール１ｆは、内部高速バス１ｄにデータトランスファコントローラ(ＤＴＣ)やダイレクトメモリアクセスコントローラ(ＤＭＡＣ)を介して接続された低速の内部周辺バスに接続されたデータフラッシュやウォッチドックタイマ(ＷＤＴ)や巡回冗長検査・モジュール(ＣＲＣ)やタイマ(ＴＭＲ)やＡ／Ｄ変換器を含んでいる。尚、割り込みコントローラ(ＩＣＵ)は、半導体集積回路１の内部および外部の種々の周辺モジュールから中央処理ユニット(ＣＰＵ)１ａへの割り込みを処理する。
【０１２１】
第２機能モジュール１ｇは、実施の形態１による半導体集積回路１の特徴的なハードウェアマクロであり、進行波型超音波モータ２のロータを駆動するためにステータの複数の電歪素子に印加される駆動パルス出力信号φ１、φ２、φ３、φ４を生成する駆動パルス出力生成回路である。図１に示した実施の形態１による半導体集積回路１の例では、駆動パルス出力信号φ１、φ２、φ３、φ４は位相が相互に相違する４相信号である。
【０１２２】
《駆動パルス出力生成回路の構成》
図２は、図１に示した実施の形態１による半導体集積回路１の第２機能モジュール１ｇである駆動パルス出力生成回路の構成を示す図である。
【０１２３】
図２に示すように駆動パルス出力生成回路１ｇは、図１４に示した本発明に先立って本発明者等によって検討された駆動パルス出力生成回路１ｇと同様に立ち上げ設定のための第１レジスタ１０と立ち下げ設定のための第２レジスタ１１と周期データの設定のための第３レジスタ１２と第３フリップフロップ(ＦＦ)１３とカウンタ１４によって構成される。更に駆動パルス出力生成回路１ｇは、図１４に示した本発明に先立って本発明者等により検討された駆動パルス出力生成回路１ｇと同様に第１フリップフロップ(ＦＦ)１５と第２フリップフロップ(ＦＦ)１６と第１比較器１７と第２比較器１８とパルス生成器１９によって構成される。
【０１２４】
また更に駆動パルス出力生成回路１ｇは、図１４に示した本発明に先立って本発明者等により検討された駆動パルス出力生成回路１ｇに含まれていなかった位相演算回路１Ａと第４レジスタ１Ｂと第４フリップフロップ(ＦＦ)１Ｃと第５フリップフロップ(ＦＦ)１Ｄと第１セレクタ１Ｅと第２セレクタ１Ｆを含んでいる。
【０１２５】
カウンタ１４は、図示しないクロック信号に応答して１６ビットのカウンタ値をカウントアップするように構成されている。すなわち、カウンタ１４によるカウントアップ動作のカウント初期値Ｎｍｉｎｉは例えば、ゼロに設定されるものであり、カウンタ１４によるカウントアップ動作のカウント最大値Ｎｍａｘは第３レジスタ１２に設定される周期データによって設定可能とされる。
【０１２６】
従って、カウンタ１４がゼロに設定されたカウント初期値Ｎｍｉｎｉからカウントアップ動作をスタートしてカウントアップ動作を実行してカウンタ値が第３レジスタ１２の周期データにより設定されたカウント最大値Ｎｍａｘに到達すると、カウンタ値は再びゼロのカウント初期値Ｎｍｉｎｉに復帰してクロック信号に応答したカウントアップ動作を実行する。
【０１２７】
第３レジスタ１２に設定される周期データは１６ビットであり、第３フリップフロップ(ＦＦ)１３には１６ビットデータを格納可能であり、カウンタ１４のカウンタ値も１６ビットである。従って、第１フリップフロップ(ＦＦ)１５と第２フリップフロップ(ＦＦ)１６とには１６ビットデータがそれぞれ格納可能であり、第１比較器１７と第２比較器１８とは２個の１６ビットデータの入力信号の一致・不一致を検出する。
【０１２８】
第１レジスタ１０に格納されたパルス出力タイミング調整変更以前の立ち上げ設定カウンタ値と第４フリップフロップ(ＦＦ)１Ｃに格納されたパルス出力タイミング調整変更以後の立ち上げ設定カウンタ値とのいずれかが第２セレクタ１Ｆによって選択され、第１フリップフロップ(ＦＦ)１５に更新許可信号に応答して格納される。
【０１２９】
第２レジスタ１１に格納されたパルス出力タイミング調整変更以前の立ち下げ設定カウンタ値と第５フリップフロップ(ＦＦ)１Ｄに格納されたパルス出力タイミング調整変更以後の立ち下げ設定カウンタ値とのいずれかが第１セレクタ１Ｅによって選択され、第２フリップフロップ(ＦＦ)１６に更新許可信号に応答して格納される。
【０１３０】
更に第３フリップフロップ(ＦＦ)１３に、第３レジスタ１２に設定された周期データによって設定されるカウント最大値Ｎｍａｘが更新許可信号に応答して格納される。
【０１３１】
カウンタ１４がゼロのカウント初期値Ｎｍｉｎｉからスタートしてカウントアップ動作を実行することによって、カウンタ１４の出力のカウンタ値が第１フリップフロップ(ＦＦ)１５に格納された立ち上げ設定値に一致することが第１比較器１７によって検出される。第１比較器１７の出力端子から立ち上げ指示情報が生成され、立ち上げ指示情報に応答してパルス生成器１９は出力端子Ｔｏｕｔの駆動パルス出力信号をローレベルからハイレベルに変化させる。
【０１３２】
カウンタ１４がカウントアップ動作を更に継続することによって、カウンタ１４の出力のカウンタ値が第２フリップフロップ(ＦＦ)１６に格納された立ち下げ設定値に一致することが第２比較器１８によって検出される。第２比較器１８の出力端子から立ち下げ指示情報が生成され、立ち下げ指示情報に応答してパルス生成器１９は出力端子Ｔｏｕｔの駆動パルス出力信号をハイレベルからローレベルに変化させる。
【０１３３】
カウンタ１４がカウントアップ動作をまた更に継続することによって、カウンタ１４の出力のカウンタ値が第３フリップフロップ(ＦＦ)１３の周期データにより設定されたカウント最大値Ｎｍａｘに到達すると、カウンタ値は再びゼロのカウント初期値Ｎｍｉｎｉに復帰してクロック信号に応答したカウントアップ動作を実行する。
【０１３４】
位相調整データレジスタである第４レジスタ１Ｂには、パルス出力信号のタイミング調整のための位相角変更値が格納される。
【０１３５】
位相演算回路１Ａの第１入力端子Ｉｎ１には位相調整データレジスタである第４レジスタ１Ｂに格納されたパルス出力信号のタイミング調整のための位相角変更値が供給され、位相演算回路１Ａの第２入力端子Ｉｎ２には周期データレジスタである第３レジスタ１２に格納された周期データ、すなわちカウント最大値Ｎｍａｘが供給される。位相演算回路１Ａの第３入力端子Ｉｎ３には、立ち上げ設定レジスタとしての第１レジスタ１０に格納された立ち上げカウント設定値と、立ち下げ設定レジスタとしての第２レジスタ１１に格納された立ち下げカウント設定値とが供給される。
【０１３６】
従って、位相演算回路１Ａは第１入力端子Ｉｎ１の位相角変更値と第２入力端子Ｉｎ２の周期データすなわちカウント最大値Ｎｍａｘと第３入力端子Ｉｎ３の立ち上げ／立ち下げカウント設定値の演算を実行することによって、パルス出力信号のタイミング調整にカウンタ１４の必要な新しい立ち上げカウンタ設定値と新しい立ち下げカウンタ設定値とを算出する。すなわち、位相演算回路１Ａは、図１６にて説明した手順によって算出される算出結果と同一の算出結果を出力端子ＯＵＴから出力するものである。位相演算回路１Ａの出力端子ＯＵＴから生成される新しい立ち上げカウンタ設定値は第４フリップフロップ(ＦＦ)１Ｃに格納されて、位相演算回路１Ａの出力端子ＯＵＴから生成される新しい立ち下げカウンタ設定値は第５フリップフロップ(ＦＦ)１Ｄに格納される。
【０１３７】
《位相演算回路のハードウェア構成》
図２の下部には、図２の上部の第２機能モジュール１ｇである駆動パルス出力生成回路中に含まれた位相演算回路１Ａのハードウェア構成が示されている。
【０１３８】
図２の下部に示すように位相演算回路１Ａは、ハードウェアによって構成されたデジタル乗算回路１００とデジタル除算回路１０１とデジタル加算回路１０２とデジタル減算回路１０３とマルチプレクサ(ＭＵＸ)１０４と周期超え補正回路１０５とを含んでいる。
【０１３９】
デジタル乗算回路１００は第１入力端子Ｉｎ１の位相角変更値と第２入力端子Ｉｎ２の周期データ、すなわちカウント最大値Ｎｍａｘの乗算を実行する。すなわち、デジタル乗算回路１００の第１入力端子Ｉｎ１には位相調整データレジスタである第４レジスタ１Ｂに格納されたパルス出力信号のタイミング調整のための位相角変更値が供給され、デジタル乗算回路１００の第２入力端子Ｉｎ２には周期データレジスタである第３レジスタ１２に格納された周期データ、すなわちカウント最大値Ｎｍａｘが供給される。このデジタル乗算回路１００としては、最も単純な乗算回路が使用されるがそれ以外にも例えば、キャリア・セーブ・アダーやワランス(Wallance)ツリーやブース(Booth)・アルゴリズム等の手法を利用した高速化された乗算回路のハードウェアが使用される。
【０１４０】
デジタル除算回路１０１の第１入力端子にはデジタル乗算回路１００の乗算出力信号が供給される一方、デジタル乗算回路１００の第２入力端子には１周期分の位相角３６０°が供給される。また、このデジタル除算回路１０１としては、最も単純な除算回路が使用されるがそれ以外にも例えば、キャリア・セーブ・アダー等の手法を利用した高速化された除算回路のハードウェアが使用される。
【０１４１】
デジタル加算回路１０２の第１入力端子とデジタル減算回路１０３の第１入力端子にはデジタル除算回路１０１の除算出力信号が供給される一方、デジタル加算回路１０２の第２入力端子とデジタル減算回路１０３の第２入力端子には第１レジスタ１０と第２レジスタ１１とにそれぞれ格納された立ち上げ設定カウンタ値と立ち下げ設定カウンタ値とが供給される。従って、デジタル加算回路１０２の加算出力端子からはデジタル除算回路１０１の除算出力信号と立ち上げ設定カウンタ値／立ち下げ設定カウンタ値の加算出力信号が生成される一方、デジタル減算回路１０３の減算算出力端子からは立ち上げ設定カウンタ値／立ち下げ設定カウンタ値からデジタル除算回路１０１の除算出力信号を減算した減算出力信号が生成される。また、デジタル加算回路１０２から生成される加算出力信号がカウンタ１４のカウント最大値Ｎｍａｘより大きくなると言うオーバーフローが発生するような場合には、後に詳述するようにデジタル加算回路１０２はオーバーフローを回避するためのデータ補正処理の機能を有する。また、デジタル減算回路１０３から生成される減算出力信号が例えば、ゼロに設定されたカウンタ１４のカウント初期値Ｎｍｉｎｉより小さくなると言うアンダーフローが発生するような場合には、後に詳述するようにデジタル減算回路１０３はアンダーフローを回避するためのデータ補正処理の機能を有する。
【０１４２】
マルチプレクサ(ＭＵＸ)１０４の選択制御入力端子には調整方向指示信号が供給され、マルチプレクサ(ＭＵＸ)１０４の第１入力端子と第２入力端子とにはデジタル加算回路１０２の加算出力信号とデジタル減算回路１０３の減算算出力信号とがそれぞれ供給される。すなわち、超音波モータを駆動する駆動パルス出力信号の位相を位相調整データレジスタ(第４レジスタ)１Ｂに格納された位相角変更値の分遅相する場合には、調整方向指示信号によってマルチプレクサ(ＭＵＸ)１０４が第１入力端子のデジタル加算回路１０２の加算出力信号をその出力端子に出力するものである。その反対に、超音波モータの駆動パルス出力信号の位相を位相調整データレジスタ(第４レジスタ)１Ｂに格納された位相角変更値の分進相する場合には、調整方向指示信号によってマルチプレクサ(ＭＵＸ)１０４が第２入力端子のデジタル減算回路１０３の減算算出力信号をその出力端子に出力するものである。
【０１４３】
マルチプレクサ(ＭＵＸ)１０４の出力信号は、周期超え補正回路１０５の入力端子に供給される。この周期超え補正回路１０５は、位相演算回路１Ａの出力端子ＯＵＴの演算出力信号に応答してパルス生成器１９の出力端子Ｔｏｕｔの駆動パルス出力信号のローレベルまたはハイレベルのパルス期間が３６０°の１周期を超過することを回避するためのデータ補正処理の機能を有する。
【０１４４】
《立ち上げ設定値および立ち下げ設定値の算出手順》
図３は、図２に示した実施の形態１による半導体集積回路１において超音波モータの駆動パルス出力信号の変化タイミングを調整するためのカウンタ１４のカウンタ値における立ち上げ設定値と立ち下げ設定値とを算出する手順を説明する図である。
【０１４５】
図３の最初のステップＳ４００では、周期データレジスタ(第３レジスタ)１２に設定された周期データであるカウンタ１４のカウンタ値のカウント最大値Ｎｍａｘと位相調整データレジスタ(第４レジスタ)１Ｂに格納されたタイミング調整の位相角変更値とがデジタル乗算回路１００によって乗算される。この時には、カウンタ１４カウント最大値Ｎｍａｘは１６ビットの２進数(Binary Number)で示され、位相角変更値は１０進数(Decimal Number)で示されている。この最初のステップＳ４００の乗算演算によって、第１算出値が算出される。
【０１４６】
図３に示した次のステップＳ５００では、デジタル除算回路１０１は、最初のステップＳ４００で算出された第１算出値を、１周期分の位相角３６０°によって除算するものである。ステップＳ５００による除算演算によって、希望する位相角の変更に必要なカウンタ１４のカウンタ変更値が算出される。このカウンタ１４のカウンタ値も、１６ビットの２進数(Binary Number)で示される。
【０１４７】
図３に示した更に次のステップＳ６００では、位相角変更値の分遅相する場合には、デジタル加算回路１０２はステップＳ５００で算出された希望する位相角の変更に必要なカウンタ１４のカウンタ変更値と位相角の変更以前に第１レジスタ１０に現時点で設定されている立ち上げ設定のためのカウンタ１４のカウンタ設定値との加算を実行する。また更にこのステップＳ６００では、ステップＳ５００で算出された希望する位相角の変更に必要なカウンタ１４のカウンタ変更値と位相角の変更以前に第２レジスタ１１に現時点で設定されている立ち下げ設定のためのカウンタ１４のカウンタ設定値との加算を実行する。従って、ステップＳ６００による加算によって、希望する駆動パルス出力信号の変化タイミングの調整に必要なカウンタ１４の新しい立ち上げカウンタ設定値と新しい立ち下げカウンタ設定値とが算出される。
【０１４８】
図３に示した更に次のステップＳ６００では、位相角変更値の分進相する場合には、デジタル減算回路１０２は位相角の変更以前に第１レジスタ１０に現時点で設定されている立ち上げ設定のためのカウンタ１４のカウンタ設定値からステップＳ５００で算出された希望する位相角の変更に必要なカウンタ１４のカウンタ変更値を減算する減算演算を実行する。また更にこのステップＳ６００では、位相角の変更以前に第２レジスタ１１に現時点で設定されている立ち下げ設定のためのカウンタ１４のカウンタ設定値からステップＳ５００で算出された希望する位相角の変更に必要なカウンタ１４のカウンタ変更値を減算する減算演算を実行する。従って、ステップＳ６００による減算によって、希望する駆動パルス出力信号の変化タイミングの調整に必要なカウンタ１４の新しい立ち上げカウンタ設定値と新しい立ち下げカウンタ設定値とが算出される。
【０１４９】
図３に示した実施の形態１の半導体集積回路１による立ち上げ設定値および立ち下げ設定値の算出手順は、図１６に示した本発明に先立って本発明者等によって検討された半導体集積回路１による立ち上げ設定値および立ち下げ設定値の算出手順と比較すると、最初のステップＳ４００で乗算演算が実行され、次のステップＳ５００で除算演算が実行される。
【０１５０】
図１６に示した本発明に先立って本発明者等によって検討された立ち上げ設定値および立ち下げ設定値の算出手順では、最初のステップＳ１００で除算演算が実行されて、次のステップＳ２００で乗算演算が実行される。その結果、整数除算演算では小数点以下は無視されて、演算精度が低下する問題がある。この問題を解消するためには、演算処理量の大きな浮動小数点除算演算を実行する必要がある。一方、図３に示した実施の形態１の半導体集積回路１による立ち上げ設定値および立ち下げ設定値の算出手順は、単純に除算演算と乗算演算の実行順序を逆転するだけで、上述の問題を解消することが可能となる。
【０１５１】
《位相調整データレジスタのビット構成》
図４は、図２に示した実施の形態１の半導体集積回路１の位相演算回路１Ａの位相調整データレジスタ(第４レジスタ)１Ｂのビット構成を示す図である。
【０１５２】
図４に示すように、第１ビットｂ０から第１４ビットｂ１３はタイミング調整の位相角変更値を示す位相調整データビットＰＡであり、第１５ビットｂ１４は将来のなんらかの目的で使用するための予約ビットであり、第１６ビットｂ１５は調整値符号ビットである。特に、第１６ビットｂ１５の調整値符号ビットは、位相角変更値の分進相する場合には“１”に設定されて、位相角変更値の分遅相する場合には“０”に設定される。
【０１５３】
《位相調整データレジスタのレジスタ設定》
図５は、図２に示した実施の形態１の半導体集積回路１の位相演算回路１Ａの位相調整データレジスタ(第４レジスタ)１Ｂへの位相角変更値に対応するレジスタ設定を説明する図である。
【０１５４】
一番左の欄は位相角変更値を示し、左から２番目の欄は位相角変更値の１００倍の数値を示し、左から３番目の欄は第１６ビットｂ１５の調整値符号ビットを示し、一番右の欄は位相角変更値に対応する位相調整データレジスタ１Ｂへのレジスタ設定値を示す。左から２番目の欄で位相角変更値を１００倍する理由は、位相角変更値の指定を小数点以下第２位の精度とする一方、位相演算回路１Ａのデジタル乗算回路１００を浮動少数乗算回路ではなく整数乗算回路で構成するためである。
【０１５５】
最初の例の位相角変更値が＋９０．００°であるので、１００倍の数値は＋９０００となり、調整値符号ビットは“０”となり、１６進数で示される位相調整データレジスタ１Ｂへのレジスタ設定値は２３２８ｈとなる。１０進数から１６進数に変換するには、１０進数を１６で除算してその商を更に１６で除算して、余りを出しながら商がゼロになるまで演算を反復して、最後の余りを先頭に下から順番に整列することで、算出される。従って、＋９０００の１０進数から１６進数への変換は、以下のようになる。
【０１５６】
＋９０００÷１６＝５６２  余り  ８
５６２÷１６＝  ３５  余り  ２
３５÷１６＝    ２  余り  ３
２÷１６＝    ０  余り  ２
すなわち、算出された４個の余りを下から上に整列すると、１６進数の２３２８ｈが得られる。尚、最後のｈは、１６進数(Hexadecimal Number)であることを示す。尚、１０進数から１６進数への変換は、パーソナルコンピュータ(ＰＣ)のオペレーティングシステム(ＯＳ)のアクセサリに含まれる電卓のソフトを起動して、メニューの電卓の種類から関数電卓を選択することで実行することも可能である。
【０１５７】
図５において、最後の−９０．００°のように、負の位相角変更値(すなわち、進相の位相角変更値)は、正の位相角変更値(すなわち、遅相の位相角変更値)から算出される。すなわち、正の位相角変更値＋９０．００°の１６進数の２３２８ｈを２進数表記すると、次のようになる。
【０１５８】
００１０  ００１１  ００１０  １０００
−９０．００°の負の位相角変更値を算出するために、この２進数表記の値の最上位ビットを“０”から“１”に変更する。この最上位ビットの変更は、図４に示した位相調整データレジスタ１Ｂの第１６ビットｂ１５の調整値符号ビットの“１”(進相する場合)および“０”(遅相する場合)に対応するものである。
【０１５９】
この最上位ビットの変更によって、次の２進数表記の値が得られる。
【０１６０】
１０１０  ００１１  ００１０  １０００
上記の２進数表記の値を１６進数で表記すると、Ａ３２８ｈとなり、−９０．００°の負の位相角変更値対応する位相調整データレジスタ１Ｂへのレジスタ設定値が得られる。
【０１６１】
図５に示されたその他の正の位相角変更値と負の位相角変更値とに対応する位相調整データレジスタ１Ｂへのレジスタ設定値も、上述した演算処理と全く同様に算出されるものである。
【０１６２】
従って、図２に示した実施の形態１の半導体集積回路１では、進行波型超音波モータ２を駆動するパルス出力信号のタイミング調整のために、位相演算回路１Ａの位相調整データレジスタ(第４レジスタ)１Ｂには、図５の一番右の欄に示したような１６進数のレジスタ設定値が格納される。すなわち、図１に示した実施の形態１の半導体集積回路１では、中央処理ユニット(ＣＰＵ)１ａはリードオンリーメモリ(ＲＯＭ)１ｂに格納された進行波型超音波モータ２の制御ソフトウェアを実行することにより、中央処理ユニット(ＣＰＵ)１ａが位相調整データレジスタ１Ｂに１６進数のレジスタ設定値を格納するものである。
【０１６３】
《デジタル加算回路とデジタル減算回路のデータ補正処理機能》
図６は、図２に示した実施の形態１による位相演算回路１Ａのデジタル加算回路１０２とデジタル減算回路１０３のデータ補正処理の機能を説明する図である。
【０１６４】
上述した図３の実施の形態１の半導体集積回路１による立ち上げ設定値および立ち下げ設定値の算出手順によってデジタル加算回路１０２から生成される加算出力信号が、カウンタ１４のカウント最大値Ｎｍａｘよりも大きくなると言うオーバーフローが発生するような場合がある。図６のカウント値Ｎ１は、カウンタ１４のカウント最大値Ｎｍａｘよりも大きくなり、オーバーフローが発生するものである。このような場合には、図２に示した実施の形態１による位相演算回路１Ａのデジタル加算回路１０２はこのオーバーフローを回避するためのデータ補正処理の機能を発揮する。すなわち、デジタル加算回路１０２はオーバーフローカウント値Ｎ１からカウント最大値Ｎｍａｘを減算した補正カウント値Ｎ２を生成するので、位相演算回路１Ａはこの補正カウント値Ｎ２を第４フリップフロップ(ＦＦ)１Ｃに格納する。
【０１６５】
また更に図３の実施の形態１の半導体集積回路１による立ち上げ設定値および立ち下げ設定値の算出手順によりデジタル減算回路１０３から生成される減算出力信号が、カウンタ１４のカウント初期値Ｎｍｉｎｉよりも小さくなると言うアンダーフローが発生するような場合がある。図６のカウント値Ｎ３は、カウンタ１４のカウント初期値Ｎｍｉｎｉより小さくなり、アンダーフローが発生するものである。このような場合には、図２に示した実施の形態１による位相演算回路１Ａのデジタル減算回路１０３はこのアンダーフローカウント値Ｎ３の負の値の絶対値としての補正カウント値Ｎ４を生成するので、位相演算回路１Ａはこの補正カウント値Ｎ４を第５フリップフロップ(ＦＦ)１Ｄに格納する。
【０１６６】
《実施の形態１の半導体集積回路の効果》
以上、図１乃至図６を参照して説明した実施の形態１による半導体集積回路１によれば、パルス出力信号のタイミング調整のための演算処理はハードウェアマクロにより構成された位相演算回路１Ａが実行されるので、中央処理ユニット(ＣＰＵ)の演算処理量もしくは内蔵メモリの記憶容量を低減することが可能となる。
【０１６７】
更に、図１乃至図６で説明した実施の形態１による半導体集積回路１によれば、位相演算回路１Ａはデジタル乗算回路１００とデジタル除算回路１０１の順序で接続されているので、乗算演算と除算演算の順序で実行される。その結果、整数除算演算で小数点以下は無視され、演算精度が低下する問題を解消することが可能とされるか、もしくは演算処理量の大きな浮動小数点除算演算を実行する必要があると言う問題を解消することが可能となる。
【０１６８】
また更に図１乃至図６で説明した実施の形態１による半導体集積回路１によれば、図５の位相調整データレジスタ１Ｂへの位相角変更値に対応するレジスタ設定を説明する図の左から２番目の欄に示したように、位相角変更値が１００倍されるものである。従って、位相角変更値の指定を小数点以下第２位の精度とする一方、位相演算回路１Ａのデジタル乗算回路１００を浮動少数乗算回路ではなく整数乗算回路で構成することが可能となる。
【０１６９】
［実施の形態２］
《駆動パルス出力生成回路の他の構成》
図７は、実施の形態２による半導体集積回路１の第２機能モジュール１ｇである駆動パルス出力生成回路の他の構成を示す図である。
【０１７０】
図７に示す実施の形態２による駆動パルス出力生成回路１ｇが図２に示す実施の形態１による駆動パルス出力生成回路１ｇと相違するのは、以下の点である。
【０１７１】
すなわち、図７に示す実施の形態２による駆動パルス出力生成回路１ｇには、図２に示す実施の形態１による駆動パルス出力生成回路１ｇが含んでいなかったアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊとが追加されている。
【０１７２】
従って、図７に示した実施の形態２による駆動パルス出力生成回路１ｇでは、アンド回路１Ｉの第１入力端子と第２入力端子とにはアップデートイネーブルレジスタ１Ｇの出力端子の更新許可信号とアップデートタイミング制御回路１Ｊの出力端子のタイミング信号とがそれぞれ供給される。また、アップデートタイミングコントロールレジスタ１Ｈからハイレベルのイネーブル信号がアップデートタイミング制御回路１Ｊの制御入力端子に供給される場合には、アップデートタイミング制御回路１Ｊは活性化される。それと反対に、アップデートタイミングコントロールレジスタ１Ｈからローレベルのディスイネーブル信号がアップデートタイミング制御回路１Ｊの制御入力端子に供給される場合には、アップデートタイミング制御回路１Ｊは非活性化される。
【０１７３】
第１比較器１７の出力信号と第２比較器１８の出力信号とは、アップデートタイミング制御回路１Ｊの第１入力端子と第２入力端子とに供給される。また、第１フリップフロップ(ＦＦ)１５の出力信号と第２フリップフロップ(ＦＦ)１６の出力信号と第３フリップフロップ(ＦＦ)１３の出力信号とは、アップデートタイミング制御回路１Ｊの第３入力端子と第４入力端子と第５入力端子とに供給される。
【０１７４】
更に、図７に示した実施の形態２による駆動パルス出力生成回路１ｇでは、第１フリップフロップ(ＦＦ)１５と第２フリップフロップ(ＦＦ)１６と第３フリップフロップ(ＦＦ)１３とは、アンド回路１Ｉの出力端子のハイレベルの更新指示信号に応答して、それぞれのカウンタ更新値を格納するものである。
【０１７５】
尚、図７に示した実施の形態２による駆動パルス出力生成回路１ｇでも、位相演算回路１Ａは図２の下部に示したのと全く同様に、ハードウェアによって構成されたデジタル乗算回路１００とデジタル除算回路１０１とデジタル加算回路１０２とデジタル減算回路１０３とマルチプレクサ(ＭＵＸ)１０４と周期超え補正回路１０５とにより構成されている。
【０１７６】
《駆動パルス出力生成回路の動作》
図８は、図７に示す実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備しない場合の動作を説明する図である。
【０１７７】
図８(Ａ)は、位相調整データレジスタ(第４レジスタ)１Ｂによる位相角の変更動作以前での上述した回路を具備しない図７に示す実施の形態２による駆動パルス出力生成回路１ｇの動作を説明する図である。
【０１７８】
図８(Ａ)に示したように、第１フリップフロップ(ＦＦ)１５に格納された立ち上げ設定値は周期データレジスタ１２に設定されるカウンタ１４のカウントアップ動作のカウント最大値Ｎｍａｘに近接した値であり、第２フリップフロップ(ＦＦ)１６に格納された立ち下げ設定値はカウンタ１４のカウントアップ動作のカウント初期値Ｎｍｉｎｉに近接した値である。
【０１７９】
すなわち、カウンタ１４のカウンタ値が第１フリップフロップ(ＦＦ)１５に格納された立ち上げ設定値に一致することに応答して、パルス生成器１９から生成される駆動パルス出力信号φ１がローレベルからハイレベルに変化する。
【０１８０】
また更に、カウンタ１４のカウンタ値が第２フリップフロップ(ＦＦ)１６に格納された立ち下げ設定値に一致することに応答して、パルス生成器１９から生成される駆動パルス出力信号φ１がハイレベルからローレベルに変化する。
【０１８１】
従って、図８(Ａ)に示したようにパルス生成器１９から生成される駆動パルス出力信号φ１のハイレベル期間は、複数の１周期の周期境界をクロスするものである。
【０１８２】
図８(Ｂ)は、位相調整データレジスタ(第４レジスタ)１Ｂによる位相角の変更動作以後での上述した回路を具備しない図７に示す実施の形態２による駆動パルス出力生成回路１ｇの動作を説明する図である。図８(Ｂ)に示したようにパルス生成器１９から生成される駆動パルス出力信号φ１’のローレベル期間は、複数の１周期の周期境界をクロスするものである。
【０１８３】
図８(Ｂ)に示したように、第１フリップフロップ(ＦＦ)１５に格納された立ち上げ設定値は周期データレジスタ１２に設定されるカウンタ１４のカウントアップ動作のカウント初期値Ｎｍｉｎｉに近接した値であり、第２フリップフロップ(ＦＦ)１６に格納された立ち下げ設定値はカウンタ１４のカウントアップ動作のカウント最大値Ｎｍａｘに近接した値である。
【０１８４】
すなわち、カウンタ１４のカウンタ値が第１フリップフロップ(ＦＦ)１５に格納された立ち上げ設定値に一致することに応答して、パルス生成器１９から生成される駆動パルス出力信号φ１’がローレベルからハイレベルに変化する。
【０１８５】
また更に、カウンタ１４のカウンタ値が第２フリップフロップ(ＦＦ)１６に格納された立ち下げ設定値に一致することに応答して、パルス生成器１９から生成される駆動パルス出力信号φ１’がハイレベルからローレベルに変化する。
【０１８６】
従って、図８(Ｂ)に示したようにパルス生成器１９から生成される駆動パルス出力信号φ１’のハイレベル期間は、１周期の周期期間に存在するものである。
【０１８７】
図９は、図７に示す実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備しない場合の動作を説明する図である。
【０１８８】
図９(Ａ)は、図８(Ａ)に示した位相角の変更動作の以前にパルス生成器１９から生成される駆動パルス出力信号φ１と、図８(Ｂ)に示した位相角の変更動作の以後にパルス生成器１９から生成される駆動パルス出力信号φ１’を示したものである。図９(Ａ)に示したように２番目の周期境界において、第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値とが、それぞれ第４フリップフロップ(ＦＦ)１Ｃに格納された立ち上げ設定カウンタ変更値と第５フリップフロップ(ＦＦ)１Ｄに格納された立ち下げ設定カウンタ変更値とによって更新されるものである。
【０１８９】
図９(Ｂ)は、図９(Ａ)に示すように、２番目の周期境界のタイミング付近において、第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値が更新されることにより、パルス生成器１９の生成信号が駆動パルス出力信号φ１から駆動パルス出力信号φ１’に切り替わる様子を示す図である。
【０１９０】
しかしながら、図９(Ｂ)に示すように、２番目の周期境界のタイミング付近でパルス生成器１９から生成される駆動パルス出力信号は異常に長いハイレベル期間となると言う問題が生じるものである。その結果、超音波モータ２を正常に回転駆動できず、最悪の場合には過電流によって超音波モータ２が破壊されると言う問題も本発明者等による本発明に先立った検討により明らかとされたものである。
【０１９１】
それに対して図７の実施の形態２による駆動パルス出力生成回路１ｇが具備するアップデートタイミング制御回路１Ｊには、第１比較器１７の比較結果と第２比較器１８の比較結果と第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値と第３フリップフロップ(ＦＦ)１３の周期データが供給される。従って、アップデートタイミング制御回路１Ｊは、パルス生成器１９から生成される駆動パルス出力信号が異常に長いハイレベル期間となるようなタイミングで駆動パルス出力信号φ１から駆動パルス出力信号φ１’に切り替わることを阻止するマスク信号をアンド回路１Ｉに供給する。
【０１９２】
すなわち、アップデートタイミング制御回路１Ｊは、図７に示した実施の形態２による位相演算回路１Ａの駆動パルス出力生成回路１ｇの種々の動作パラメータから異常動作の発生を予測して駆動パルス出力信号の切り替えタイミングを１周期分遅延するものである。
【０１９３】
図１０は、図７に示した実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備することによって正常な動作を実行する様子を説明する図である。
【０１９４】
図１０(Ａ)は、図９(Ａ)と同様に、図８(Ａ)に示した位相角の変更動作の以前にパルス生成器１９から生成される駆動パルス出力信号φ１と、図８(Ｂ)に示した位相角の変更動作の以後にパルス生成器１９から生成される駆動パルス出力信号φ１’を示している。しかし、図１０(Ａ)に示すように、２番目の周期境界より１周期分遅延した３番目の周期境界において、更新が実行される。すなわち、３番目の周期境界の更新タイミングで、第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値とがそれぞれ第４フリップフロップ(ＦＦ)１Ｃに格納された立ち上げ設定カウンタ変更値と第５フリップフロップ(ＦＦ)１Ｄに格納された立ち下げ設定カウンタ変更値とによって更新されるものである。
【０１９５】
図１０(Ｂ)は、図１０(Ａ)に示すように、３番目の周期境界のタイミング付近において、第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値が更新されることにより、パルス生成器１９の生成信号が駆動パルス出力信号φ１から駆動パルス出力信号φ１’に切り替わる様子を示す図である。
【０１９６】
図１１は、図７に示した実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備しない場合の動作を説明する図である。
【０１９７】
図１１(Ａ)は、位相角の変更動作の以前にパルス生成器１９から生成される駆動パルス出力信号φ１と、位相角の変更動作の以後にパルス生成器１９から生成される駆動パルス出力信号φ１’を示したものである。図１１(Ａ)に示したように、パルス生成器１９から生成される駆動パルス出力信号φ１のローレベル期間と駆動パルス出力信号φ１’ のローレベル期間とは、複数の１周期の周期境界をクロスするものである。
【０１９８】
更に、図１１(Ａ)に示したように２番目の周期境界において、第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値とが、それぞれ第４フリップフロップ(ＦＦ)１Ｃに格納された立ち上げ設定カウンタ変更値と第５フリップフロップ(ＦＦ)１Ｄに格納された立ち下げ設定カウンタ変更値とによって更新されるものである。
【０１９９】
図１１(Ｂ)は、図１１(Ａ)に示すように、２番目の周期境界のタイミング付近において、第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値が更新されることにより、パルス生成器１９の生成信号が駆動パルス出力信号φ１から駆動パルス出力信号φ１’に切り替わる様子を示す図である。
【０２００】
しかしながら、図１１(Ｂ)に示したように、２番目の周期境界のタイミング付近でパルス生成器１９から生成される２個のハイレベルの駆動パルス出力信号の間に異常に短いローレベル期間が発生すると言う問題が生じるものである。その結果、超音波モータ２を正常に回転駆動できず、最悪の場合には過電流によって超音波モータ２が破壊されると言う問題も本発明者等による本発明に先立った検討によって明らかとされたものである。
【０２０１】
それに対して図７の実施の形態２による駆動パルス出力生成回路１ｇが具備するアップデートタイミング制御回路１Ｊには、第１比較器１７の比較結果と第２比較器１８の比較結果と第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値と第３フリップフロップ(ＦＦ)１３の周期データが供給される。従って、アップデートタイミング制御回路１Ｊは、パルス生成器１９から生成される駆動パルス出力信号が異常に短いローレベル期間となるようなタイミングで駆動パルス出力信号φ１から駆動パルス出力信号φ１’に切り替わることを阻止するマスク信号をアンド回路１Ｉに供給する。
【０２０２】
すなわち、アップデートタイミング制御回路１Ｊは、図７に示した実施の形態２による位相演算回路１Ａの駆動パルス出力生成回路１ｇの種々の動作パラメータから異常動作の発生を予測して駆動パルス出力信号の切り替えタイミングを１周期分遅延するものである。
【０２０３】
図１２は、図７に示した実施の形態２による駆動パルス出力生成回路１ｇがアップデートイネーブルレジスタ１Ｇとアップデートタイミングコントロールレジスタ１Ｈとアンド回路１Ｉとアップデートタイミング制御回路１Ｊを具備することによって正常な動作を実行する様子を説明する図である。
【０２０４】
図１２(Ａ)は、図１１(Ａ)と同様に図８(Ａ)に示した位相角の変更動作の以前にパルス生成器１９から生成される駆動パルス出力信号φ１と、図８(Ｂ)に示した位相角の変更動作の以後にパルス生成器１９から生成される駆動パルス出力信号φ１’を示している。しかし、図１２(Ａ)に示すように、２番目の周期境界より１周期分遅延した３番目の周期境界において、更新が実行される。すなわち、３番目の周期境界の更新タイミングで、第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値とがそれぞれ第４フリップフロップ(ＦＦ)１Ｃに格納された立ち上げ設定カウンタ変更値と第５フリップフロップ(ＦＦ)１Ｄに格納された立ち下げ設定カウンタ変更値とによって更新されるものである。
【０２０５】
図１２(Ｂ)は、図１２(Ａ)に示すように、３番目の周期境界のタイミング付近において、第１フリップフロップ(ＦＦ)１５の立ち上げ設定値と第２フリップフロップ(ＦＦ)１６の立ち下げ設定値が更新されることにより、パルス生成器１９の生成信号が駆動パルス出力信号φ１から駆動パルス出力信号φ１’に切り替わる様子を示す図である。
【０２０６】
［実施の形態３］
《駆動パルス出力生成回路の他の構成》
図１３は、実施の形態３による半導体集積回路１の第２機能モジュール１ｇである駆動パルス出力生成回路の更に他の構成を示す図である。
【０２０７】
図１３に示した実施の形態３による駆動パルス出力生成回路１ｇが図２に示した実施の形態１による駆動パルス出力生成回路１ｇと相違するのは、以下の点である。
【０２０８】
すなわち、図１３に示した実施の形態２による駆動パルス出力生成回路１ｇは、第１出力端子Ｔｏｕｔ１から生成される第１駆動パルス出力信号φ１を生成するための第１パルス生成器１９＿１と、第２出力端子Ｔｏｕｔ２から生成される第２駆動パルス出力信号φ２を生成するための第２パルス生成器１９＿２とを含んでいる。
【０２０９】
第１パルス生成器１９＿１の第１入力端子と第２入力端子には第１比較器１７＿１の出力端子と第２比較器１８＿１の出力端子とがそれぞれ接続され、第２パルス生成器１９＿２の第１入力端子と第２入力端子には第３比較器１７＿２の出力端子と第４比較器１８＿２の出力端子とがそれぞれ接続される。
【０２１０】
第１比較器１７＿１の第１入力端子と第２比較器１８＿１の第１入力端子には、第１フリップフロップ(ＦＦ)１５＿１の出力端子と第２フリップフロップ(ＦＦ)１６＿１の出力端子とがそれぞれ接続される。第３比較器１７＿２の第１入力端子と第４比較器１８＿２の第１入力端子には、第３フリップフロップ(ＦＦ)１５＿２の出力端子と第４フリップフロップ(ＦＦ)１６＿２の出力端子とがそれぞれ接続される。第１比較器１７＿１と第２比較器１８＿１と第３比較器１７＿２と第４比較器１８＿２の各第２入力端子には、カウンタ１４の出力のカウンタ値が共通に供給される。カウンタ１４によるカウントアップ動作のカウント最大値Ｎｍａｘは、第５フリップフロップ(ＦＦ)１３を経由して周期テータレジスタ１２から供給される周期データの値によって設定可能とされる。更に、第５フリップフロップ(ＦＦ)１３に格納される周期データは、更新許可信号の供給タイミングで更新可能とされる。
【０２１１】
第１フリップフロップ(ＦＦ)１５＿１の第１入力端子と第２フリップフロップ(ＦＦ)１６＿１の第１入力端子とは、第１セレクタ１Ｅ＿１の出力端子と第２セレクタ１Ｆ＿１の出力端子とにそれぞれ接続される。第３フリップフロップ(ＦＦ)１５＿２の第１入力端子と第４フリップフロップ(ＦＦ)１６＿２の第１入力端子とは、第３セレクタ１Ｅ＿２の出力端子と第４セレクタ１Ｆ＿２の出力端子とにそれぞれ接続される。第１フリップフロップ(ＦＦ)１５＿１と第２フリップフロップ(ＦＦ)１６＿１と第３フリップフロップ(ＦＦ)１５＿２と第４フリップフロップ(ＦＦ)１６＿２の各第２入力端子には、更新許可信号が共通に供給される。
【０２１２】
第１セレクタ１Ｅ＿１の第１入力端子と第２セレクタ１Ｆ＿１の第１入力端子とには、第１立ち上げ設定レジスタ１０＿１の出力端子と第１立ち下げ設定レジスタ１１＿１の出力端子とがそれぞれ接続される。第３セレクタ１Ｅ＿２の第１入力端子と第４セレクタ１Ｆ＿２の第１入力端子とには、第２立ち上げ設定レジスタ１０＿２の出力端子と第２立ち下げ設定レジスタ１１＿２の出力端子とがそれぞれ接続される。更に、第１セレクタ１Ｅ＿１の第２入力端子と第２セレクタ１Ｆ＿１の第２入力端子には、立ち上げ設定フリップフロップ(ＦＦ)１Ｃ＿１の出力端子と立ち下げ設定フリップフロップ(ＦＦ)１Ｄ＿１の出力端子がそれぞれ接続される。第３セレクタ１Ｅ＿２の第２入力端子と第４セレクタ１Ｆ＿２の第２入力端子には、それぞれ立ち上げ設定フリップフロップ(ＦＦ)１Ｃ＿２の出力端子と立ち下げ設定フリップフロップ(ＦＦ)１Ｄ＿２の出力端子が接続される。
【０２１３】
位相演算回路１Ａの第１入力端子Ｉｎ１と第２入力端子Ｉｎ２と第３入力端子Ｉｎ３には、それぞれ位相調整レジスタ１Ｂの位相角変更値と周期データレジスタ１２の周期データと設定レジスタ１０＿１、１０＿２、１１＿１、１１＿２の立ち上げカウント設定値／立ち下げカウント設定値が供給される。
【０２１４】
位相演算回路１Ａの出力端子ＯＵＴからそれぞれ生成される新しい立ち上げカウント設定値と新しい立ち下げカウント設定値とは、立ち上げ設定フリップフロップ(ＦＦ)１Ｃ＿１、１Ｃ＿２と立ち下げ設定フリップフロップ(ＦＦ)１Ｄ＿１、１Ｄ＿２とにそれぞれ格納される。
【０２１５】
図１３に示した実施の形態３の駆動パルス出力生成回路１ｇによれば、複数の駆動パルス出力信号φ１、φ２を生成する際に、位相角変更値を格納する位相調整レジスタ１Ｂと周期データを格納する周期データレジスタ１２と位相演算を実行する位相演算回路１Ａとカウントアップ動作を実行するカウンタ１４とを共用することが可能となる。従って、この共用によって、実施の形態３による半導体集積回路１の半導体チップ占有面積と消費電力とを削減することが可能となる。
【０２１６】
以上、本発明者によってなされた発明を種々の実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【０２１７】
例えば、本発明による半導体集積回路から生成されるパルス出力信号は進行波型超音波モータの駆動のみに限定されるものではなく、ステッピングモータ等のパルスモータの駆動にも適用することが可能である。
【符号の説明】
【０２１８】
１…半導体集積回路
１ａ…中央処理ユニット(ＣＰＵ)
１ｂ…リードオンリーメモリ(ＲＯＭ)
１ｃ…ランダムアクセスメモリ(ＲＡＭ)
１ｄ…内部高速バス
１ｅ…バスコントローラ
１ｆ…第１機能モジュール
１ｇ…第２機能モジュール(駆動パルス出力生成回路)
１Ａ…位相演算回路
１Ｂ…位相調整データレジスタ
１Ｃ、１Ｄ、１３、１５、１６…フリップフロップ(ＦＦ)
１Ｅ、１Ｆ…セレクタ
１０…立ち上げ設定レジスタ
１１…立ち下げ設定レジスタ
１２…周期データレジスタ
１４…カウンタ
１７、１８…比較器
１９…パルス生成器
１００…デジタル乗算回路
１０１…デジタル除算回路
１０２…デジタル加算回路
１０３…デジタル減算回路
１０４…マルチプレクサ(ＭＵＸ)１０４
１０５…周期超え補正回路
【図１】
0005976392.tif 000002
【図２】
0005976392.tif 000003
【図３】
0005976392.tif 000004
【図４】
0005976392.tif 000005
【図５】
0005976392.tif 000006
【図６】
0005976392.tif 000007
【図７】
0005976392.tif 000008
【図８】
0005976392.tif 000009
【図９】
0005976392.tif 000010
【図１０】
0005976392.tif 000011
【図１１】
0005976392.tif 000012
【図１２】
0005976392.tif 000013
【図１３】
0005976392.tif 000014
【図１４】
0005976392.tif 000015
【図１５】
0005976392.tif 000016
【図１６】
0005976392.tif 000017