(57)【要約】【課題】指令値の変更に伴うリンギングを、モーターの種類に合わせて適切に低減する。【解決手段】モーターを駆動するためのＰＷＭ波の指示値が変更される際の、ＰＷＭ波のデューティー変化と時間経過との関係を定めたデータを複数有する半導体集積回路装置とする。これにより半導体集積回路装置は、駆動されるモーターに合わせたデータを選択して使用することができるので、色々な種類のモーター駆動を行う際のリンギングを防ぐことができる。【選択図】図２
2014087083.tif 000002
【特許請求の範囲】
【請求項１】
ＰＷＭ波を生成するＰＷＭ波生成回路と、
前記ＰＷＭ波生成回路からの前記ＰＷＭ波により駆動されるモーターを駆動するための出力段と、
前記ＰＷＭ波のデューティーを定める指令値に基づいて、前記ＰＷＭ波のデューティーを定める補正指令値を生成するシーケンサーと、
前記指令値が変更される際の、前記ＰＷＭ波のデューティー変化と時間経過との関係を定める第一データおよび第二データを有し、
前記第一データおよび前記第二データのうちのいずれを用いるのかを外部から選択可能に構成されており、
前記シーケンサーが前記指令値を、外部から選択された前記第一または第二データに基づいて変更することで、前記補正指令値を生成して前記ＰＷＭ波生成回路に出力する半導体集積回路装置。
【請求項２】
前記第一または第二データを設定可能なテーブルを有し、
外部からの選択に従って不揮発性メモリに格納された前記第一または第二データが前記テーブルに格納され、
前記シーケンサーは前記テーブルに格納された前記第一または第二データを用いる請求項１に記載の半導体集積回路装置。
【請求項３】
前記第一データが設定された第一テーブルと、前記第二データを設定された第二テーブルを有し、
前記シーケンサーは外部から選択された前記第一または第二テーブルを用いる請求項１に記載の半導体集積回路装置。
【請求項４】
前記指令値を出力する中央演算装置をさらに有し、
前記第一および第二データは、
前記ＰＷＭ波の周期の自然数倍にて規定された第一期間および第二期間と、前記指令値が変更される前と後の間の差分の何倍であるかを示す第一サブ指令値および第二サブ指令値を有し、
前記指令値が変更される際の前記補正指令値は、前記指令値が変更される前の第一値から前記第一期間は前記第一サブ指令値に前記第一値を足した値に変更され、前記第一期間の後の前記第二期間は前記第二サブ指令値に前記第一値を足した値に変更され、前記第二期間の後には前記指令値が変更された後の第二値に変更されるように時間変化する請求項１に記載の半導体集積回路装置。
【請求項５】
前記テーブルに設定可能なデータは外部から書き込み可能となっている請求項２に記載の半導体集積回路装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、半導体集積回路装置に関し、特にモーターにて用いられる半導体集積回路装置に関する。
【背景技術】
【０００２】
特許文献１には、カメラアクチュエータの移動のヒステリシス特性によるレンズ位置のずれを防ぐために、アクチュエータの動作を移動期間と保持期間とで分ける。移動期間で
のピエゾ素子の駆動パルスのデューティー比をデューティー設定値より変化させるようにし、保持期間における駆動パルスのデューティー比をデューティー設定値に固定して制御する発明が開示されている。
【０００３】
この特許文献１においては、移動期間においては、ある所定のデューティーを中心として上下にデューティー比を変化させない限りヒステリシス特性によるレンズ位置のずれを防げない。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２００６−４９０３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ボイスコイルモーター（以下、ＶＣＭモーターとする）は、ＰＷＭ波（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ  Ｗａｖｅ）により出力段（ドライバ）が駆動されることにより駆動される。このＰＷＭ波の指令値が変更されるとＰＷＭ波のデューティーが変更され、それに伴って出力段のオン、オフ期間が変更される。出力段の出力電圧を積分化したものがＶＣＭモーターの駆動電圧となるが、この駆動電圧の変化量が大きいとＶＣＭモーターにより駆動されるアクチュエータの位置が所望の位置から波のようにゆれる（リンギング）を引き起こす。このリンギングを防ぐには、モーターの種類に合わせて適切なＰＷＭ波のデューティーを時間制御する態様を取る必要がある。
【０００６】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００７】
モーターを駆動するためのＰＷＭ波の指令値が変更される際の、ＰＷＭ波のデューティー変化と時間経過との関係を定めたデータを複数有する。
【発明の効果】
【０００８】
本発明によれば、駆動されるモーターに合わせたデータを選択して使用することができるので、色々な種類のモーター駆動の際のリンギングを防ぐことができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１の半導体集積回路装置の全体図である。
【図２】実施の形態１のモータードライバの構成図である。
【図３】テーブルの構成及びこのテーブルに格納されるデータを表す図である。
【図４】各テーブルに設定されているデータの時間とサブ指令値との関係を表す図である。
【図５】補正指令値および指令値の時間変化を表した図である。
【図６】実施の形態２のモータードライバＭＴＤ１の構成を示した図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、実施の形態について詳細に説明する。
【００１１】
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらはお互いに無関係なものではなく、一方は他方の一部または全部の変形例、応用例、詳細説明、補足説明等の関係にある。また、以下の実施の形態において、要素の数等（個数、数値、量、範囲等を含む）に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でもよい。
【００１２】
さらに、以下の実施の形態において、その構成要素（動作、タイミングチャート、要素ステップ、動作ステップ等も含む）は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数等（個数、数値、量、範囲等を含む）についても同様である。
【００１３】
なお、実施の形態を説明するための全図において、同一の機能を有する部位や部材には同一または関連する符号を付し、その繰り返しの説明は省略する。また、以下の実施の形態では、特に必要なとき以外は同一または同様な部分の説明を原則として繰り返さない。
また、実施の形態で用いる図面においては、断面図であっても図面を見易くするためにハッチングを省略する場合もある。また、平面図であっても図面を見易くするためにハッチングを付す場合もある。
【００１４】
（実施の形態１．）
図１は実施の形態１の半導体集積回路装置の全体図である。
【００１５】
半導体集積回路装置ＩＣは、中央演算装置ＣＰＵと、ランダムアクセスメモリＲＡＭと不揮発性メモリＦＬＡＳＨと、ＡＤ変換回路ＡＤＣと、入出力回路Ｉ／Ｏと、発振回路ＯＳＣと、バスＢＵＳと、モータードライバＭＴＤとを有する。
【００１６】
中央演算装置ＣＰＵはプログラムに従って半導体集積回路装置ＩＣ全体を制御する。ランダムアクセスメモリＲＡＭは中央演算装置ＣＰＵのワークエリアとして用いられ、各種データや命令等を記憶する記憶領域である。不揮発性メモリＦＬＡＳＨは格納されたデータが書き換え可能となっており、中央演算装置ＣＰＵにて用いられる各種プログラムが記憶されている。入出力回路Ｉ／Ｏは各種ポートの入出力制御を行う回路である。ＡＤ変換回路ＡＤＣはアナログ信号をデジタル信号に変換する回路である。モータードライバＭＴＤは各種モーターを駆動するための回路である。バスＢＵＳは中央演算装置ＣＰＵ、ランダムアクセスメモリＲＡＭ、不揮発性メモリＦＬＡＳＨ、入出力回路Ｉ／Ｏ、モータードライバＭＴＤ、及び発振回路ＯＳＣとの間にて各種データ、コマンド、及びアドレスを互いにやり取りするための複数の信号線である。発振回路ＯＳＣは外部のクロック信号に基づいて、中央演算装置ＣＰＵ、ランダムアクセスメモリＲＡＭ、不揮発性メモリＦＬＡＳＨ、入出力回路Ｉ／Ｏ、モータードライバＭＴＤ、および発振回路ＯＳＣにて用いられる各種クロック信号を生成する。
【００１７】
図２は実施の形態１のモータードライバの構成図である。
【００１８】
モータードライバＭＴＤは、ドライバＤＲと、ＰＷＭ波生成回路ＰＷＭ−ＧＣと、シーケンサＳＱＣと、セレクタＳＬと、テーブルＴＢＬ１と、テーブルＴＢＬ２と、テーブルＴＢＬ３と、テーブル選択レジスタＴＢＬ−Ｓ−ＲＥＧとを有する。
【００１９】
シーケンサＳＱＣは中央演算装置ＣＰＵからのＰＷＭ波のデューティーを定めるための指令値ＩＶを、テーブルに格納されたデータに基づいて補正することで補正指令値ＣＩＶを生成し、この補正指令値ＣＩＶをＰＷＭ波生成回路ＰＷＭ−ＧＣに出力する。この補正指令値ＣＩＶは、基本的には指令値ＩＶと同じ値となっているが、指令値ＩＶの値が変化したときに指令値ＩＶの変化が補正されることで生成される。シーケンサＳＱＣが用いるデータは以下のように決定される。テーブル選択レジスタＴＢＬ−Ｓ−ＲＥＧに格納された値に基づいて、セレクタＳＬがどのテーブルＴＢＬ１〜３に格納されたデータＤＡＴＡ１〜３を用いるかを決める。このテーブル選択レジスタＴＢＬ−Ｓ−ＲＥＧに格納する値は中央演算装置ＣＰＵが設定することが可能であり、入出力回路Ｉ／Ｏを介して半導体集積回路装置ＩＣの外部から設定することも可能となっている。ＰＷＭ波生成回路ＰＷＭ−ＧＣは補正指令値ＣＩＶと発振回路ＯＳＣからのクロックＣＬＫに基づいて、ＰＷＭ波ＰＷＭ−Ｗと、ＰＷＭ波ＰＷＭ−Ｗと反転した関係となっているＰＷＭ波ＰＷＭ−ＲＷとを生成する。ＰＷＭ波生成回路ＰＷＭ−ＧＣはアナログ値である補正指令値ＣＩＶとクロックＣＬＫに基づいて生成された三角波とを比較することでＰＷＭ波ＰＷＭ−ＷおよびＰＷＭ波ＰＷＭ−ＲＷを生成してもいいし、デジタル値である補正指令値ＣＩＶとクロックＣＬＫによってカウントアップまたはカウントダウンするカウンタのカウンタ値とを比較することでＰＷＭ波ＰＷＭ−ＷおよびＰＷＭ波ＰＷＭ−ＲＷを生成してもいい。このカウンタのカウンタ値は所定の値となったらリセットされるようになっている。なお、データＤＡＴＡ１〜３を用いて補正指令値ＣＩＶを生成する関係で、アナログ値である補正指令値ＣＩＶと三角波とを比較する場合は、補正指令値ＣＩＶをＡＤ変換する必要が出てくるために、現実的にはデジタル値である補正指令値ＣＩＶとカウンタのカウンタ値とを比較してＰＷＭ波ＰＷＭ−ＷおよびＰＷＭ波ＰＷＭ−ＲＷを生成すべきである。ＰＷＭ波ＰＷＭ−Ｗのデューティーは補正指令値ＣＩＶの値が大きな場合は大きくなり、補正指令値ＣＩＶの値が小さな場合は小さくなるようにされている。逆の関係でもよく、このデューティーは補正指令値ＣＩＶの値が小さな場合は大きくなり、補正指令値ＣＩＶの値が大きな場合は小さくなるようにしてもよい。ドライバＤＲはＰＭＯＳトランジスタ（Ｐチャネル型ＭＯＳ電界効果トランジスタ）ＰＭＯＳ１と、ＮＭＯＳトランジスタ（Ｎチャネル型ＭＯＳ電界効果トランジスタ）ＮＭＯＳ１と、ＰＭＯＳトランジスタＰＭＯＳ２と、ＮＭＯＳトランジスタＮＭＯＳ２とを有する。ＰＭＯＳトランジスタＰＭＯＳ１のソースには電源電圧ＶＭが供給され、ＰＭＯＳトランジスタＰＭＯＳ１のドレインはＮＭＯＳトランジスタＮＭＯＳ１のドレインと接続され、ＮＭＯＳトランジスタＮＭＯＳ１のソースには電源電圧ＶＭよりも低い接地電圧ＧＮＤが供給され、ＰＭＯＳトランジスタＰＭＯＳ１およびＮＭＯＳトランジスタＮＭＯＳ１のゲートにはＰＷＭ波ＰＷＭ−Ｗが供給される。ＰＭＯＳトランジスタＰＭＯＳ２のソースには電源電圧ＶＭが供給され、ＰＭＯＳトランジスタＰＭＯＳ２のドレインはＮＭＯＳトランジスタＮＭＯＳ２ドレインと接続され、ＮＭＯＳトランジスタＮＭＯＳ２のソースには電源電圧ＶＭよりも低い接地電圧ＧＮＤが供給され、ＰＭＯＳトランジスタＰＭＯＳ２およびＮＭＯＳトランジスタＮＭＯＳ２のゲートにはＰＷＭ波ＰＷＭ−ＲＷが供給される。よってＰＭＯＳトランジスタＰＭＯＳ１およびＮＭＯＳトランジスタＮＭＯＳ１はＰＷＭ波ＰＷＭ−Ｗによって駆動され、ＰＭＯＳトランジスタＰＭＯＳ２およびＮＭＯＳトランジスタＮＭＯＳ２はＰＷＭ波ＰＷＭ−ＲＷによって駆動される。
【００２０】
ＰＭＯＳトランジスタＰＭＯＳ１のドレインと一方の端子が接続され、ＰＭＯＳトランジスタＰＭＯＳ２のドレインと他方の端子が接続されるようにＶＣＭモーターＶＣＭが設けられる。ＶＣＭモーターＶＣＭはピエゾモーターでもよい。
【００２１】
図３はテーブルの構成及びこのテーブルに格納されるデータを表す図である。
【００２２】
図３の（ａ）はテーブルの構成及びこのテーブルに格納されるデータを表す図である。
【００２３】
テーブルＴＢＬ１〜３のいずれも、期間Ｔ０〜Ｔｋおよびサブ指令値Ｘ０〜Ｘｋを格納するようになっている。期間Ｔ０のときのサブ指令値はＸ０であり、期間Ｔ１のときのサブ指令値はＸ１である。以下同様に対応し、期間Ｔｋのときのサブ指令値はＸｋである。ここでｋは自然数である。期間Ｔ０は補正値ＩＶが変化した時刻ＴＣＳの直後の期間であり、期間Ｔ１は期間Ｔ０の後の期間である。以下同様に対応し、期間Ｔｋは期間Ｔｋ−１の後の期間である。期間Ｔ０〜ＴｋのそれぞれはＰＷＭ波ＰＷＭ−Ｗの周期であるＰＷＭ周期ＰＷＭ−ＴのＬＫ倍となっている。ここでＬＫは自然数である。サブ指令値Ｘ０〜Ｘｋはそれぞれ対応する期間Ｔ０〜Ｔｋでの補正指令値ＣＩＶの加算分となっている。実際の補正指令値ＣＩＶは、ＣＰＵにより変更される前の指令値ＩＶにサブ指令値Ｘ０〜Ｘｋを加算したものが、期間Ｔ０〜Ｔｋにおける補正指令値ＣＩＶとなる。サブ指令値Ｘ０〜Ｘｋはそれぞれ差分であるＤの倍数となっている。ここで差分のＤはＣＰＵにより変更される前の指令値ＩＶとＣＰＵにより変更された後の指令値ＩＶとの差である。このようにテーブルＴＢＬ１〜３のいずれもが、指令値ＩＶが変化したときに指令値ＩＶを補正して補正指令値ＣＩＶを生成するための期間Ｔ０〜Ｔｋおよびサブ指令値Ｘ０〜Ｘｋを格納する形態となっている。よって期間Ｔ０〜Ｔｋが指令値ＩＶが変化したときにおけるＰＷＭ波ＰＷＭ−Ｗのデューティーの時間経過を制御するためのパラメータ、およびサブ指令値Ｘ０〜Ｘｋが指令値ＩＶが変化したときにおけるＰＷＭ波ＰＷＭ−Ｗのデューティー変化を制御するためのパラメータとなっている。
【００２４】
図３の（ｂ）はテーブルに設定されたデータの一例を示している。
【００２５】
期間Ｔ０にサブ指令値Ｘ０として０が設定され、期間Ｔ１にサブ指令値Ｘ１としてＤ／２が設定され、期間Ｔ２にサブ指令値Ｘ２として３Ｄ／４が設定され、期間Ｔ３にサブ指令値Ｘ３として７Ｄ／８が設定され、期間Ｔ４にサブ指令値Ｘ４としてＤが設定される。期間Ｔ０〜Ｔ４にもＰＷＭ周期の自然数倍の期間がそれぞれ設定される。
【００２６】
図３の（ｃ）は（ｂ）に示すデータが設定された際の時間とサブ指令値との関係を表す図である。
【００２７】
縦軸がサブ指令値を示し、横軸が時間を表している。横軸の原点は時刻ＴＣＳとなる。Ｄが正の値の場合は、期間Ｔ０から期間Ｔ４に至るまでにサブ指令値は徐々に増えるように変化している。期間Ｔ０におけるサブ指令値Ｘ０は０である。それ以外は前の期間である期間Ｔ１におけるサブ指令値の増加量が大きく、後の期間である期間Ｔ４におけるサブ指令値の増加量が小さいようになっている。Ｄが負の値の場合は、上述した説明において増加が減少に入れ替わる形となる。
【００２８】
図４は各テーブルに設定されているデータの時間とサブ指令値との関係を表す図である。
【００２９】
図４の（ａ）はテーブルＴＢＬ１に設定されているデータＤＡＴＡ１の時間とサブ指令値Ｘ０〜Ｘ５との関係を表している。
テーブルＴＢＬ１のデータＤＡＴＡ１は、Ｄが正の値の場合は、期間Ｔ０から期間Ｔ５に至るまでにサブ指令値Ｘ０〜Ｘ５は徐々にＤに近づくように増える変化をしている。期間Ｔ０におけるサブ指令値Ｘ０は０である。それ以外は前の期間である期間Ｔ１におけるサブ指令値の増加量が大きく、後の期間である期間Ｔ５におけるサブ指令値の増加量が小さいようになっている。Ｄが負の値の場合は、上述した説明において増加が減少に入れ替わる形となる。
【００３０】
図４の（ｂ）はテーブルＴＢＬ２に設定されているデータＤＡＴＡ２の時間とサブ指令値Ｘ０〜Ｘ５との関係を表している。
【００３１】
テーブルＴＢＬ２のデータＤＡＴＡ２は、Ｄが正の値の場合は、期間Ｔ０から期間Ｔ５に至るまでにサブ指令値Ｘ０〜Ｘ５は徐々にＤに近づくように増える変化をしている。期間Ｔ０におけるサブ指令値Ｘ０は０である。それ以外は前の期間である期間Ｔ１におけるサブ指令値の増加量が大きく、後の期間である期間Ｔ５におけるサブ指令値の増加量が小さいようになっている。データＤＡＴＡ２のデータＤＡＴＡ１との違いは、データＤＡＴＡ２の期間Ｔ０〜Ｔ５は後のものになるほど短い期間となるようになっているが、データＤＡＴＡ１の期間Ｔ０〜Ｔ５は、期間Ｔ０および期間Ｔ４が長く、期間Ｔ３が中ぐらいであり、期間Ｔ１、期間Ｔ２および期間Ｔ５が短くなっていることである。Ｄが負の値の場合は、上述した説明において増加が減少に入れ替わる形となる。
【００３２】
図４の（ｃ）はテーブルＴＢＬ３に設定されているデータＤＡＴＡ３の時間とサブ指令値との関係を表している。
【００３３】
テーブルＴＢＬ３のデータＤＡＴＡ３は、サブ指令値Ｘ０〜Ｘ５に関してＤから離れた値から徐々に近づくように変化している。サブ指令値は前のサブ指令値がＤよりも大きい場合は次のサブ指令値はＤよりも小さくなり、前のサブ指令値がＤよりも小さい場合は次のサブ指令値はＤよりも大きくなるようになっている。よって、サブ指令値Ｘ０〜Ｘ５はＤを中心に振動するように変化し、Ｄに収束するように変化する。期間Ｔ０におけるサブ指令値Ｘ０は０である。データＤＡＴＡ３の期間Ｔ０〜Ｔ５は、期間Ｔ０および期間Ｔ４が長く、期間Ｔ３が中ぐらいであり、期間Ｔ１、期間Ｔ２および期間Ｔ５が短くなっていることである。Ｄが負の値の場合は、上述した説明において増加が減少に入れ替わる形となる。
図５は補正指令値および指令値の時間変化を表した図である。（ａ）が指令値と時間変化の関係、（ｂ）が補正指令値と時間変化の関係を表している。
（ａ）において、期間ＴＡにおいて指令値ＩＶは所定の値となっている。同じく（ｂ）においても期間ＴＡにおいて補正指令値ＣＩＶは期間ＴＡにおける指令値ＩＶと同じ値になっている。
この期間ＴＡにおける補正指令値ＣＩＶに基づいてＰＷＭ波ＰＷＭ−Ｗが生成される。補正指令値ＣＩＶの値が小さいので、ＰＷＭ波ＰＷＭ−Ｗのデューティーは小さい。このＰＷＭ波ＰＷＭ−Ｗを積分化したものとＶＣＭモーターＶＣＭの駆動電圧とが比例する形となる。
【００３４】
（ａ）において、期間ＴＢにおいて指令値ＩＶは期間ＴＡにおける所定の値から大きくなった値となる。期間ＴＡにおける指令値ＩＶの値と期間ＴＢにおける指令値ＩＶの値との間の差分はＤとなる。（ｂ）においては補正指令値ＣＩＶは指令値変化部ＩＶ−Ｖ１を経て、期間ＴＢにおける指令値ＩＶと同じ値になる。指令値変化部ＩＶ−Ｖ１はテーブルに設定されたデータに基づいた変化となり、図４に示したような時間とサブ指令値との関係のような変化となる。期間ＴＡから期間ＴＢに切り替わる時刻が時刻ＴＣＳとなる。この期間ＴＢにおける補正指令値ＣＩＶに基づいてＰＷＭ波ＰＷＭ−Ｗが生成される。補正指令値ＣＩＶの値が大きいので、ＰＷＭ波ＰＷＭ−Ｗのデューティーは大きい。このＰＷＭ波ＰＷＭ−Ｗを積分化したものとＶＣＭモーターＶＣＭの駆動電圧とが比例する形となる。指令値変化部ＩＶ−Ｖ１における補正指令値ＣＩＶに基づいてもＰＷＭ波ＰＷＭ−Ｗは生成される。
【００３５】
（ａ）において、期間ＴＣにおいて指令値ＩＶは期間ＴＣにおける値から小さくなった値となる。期間ＴＢにおける指令値ＩＶの値と期間ＴＣにおける指令値ＩＶの値との間の差分はＤとなる。このＤは期間ＴＢにおける指令値ＩＶの値よりも期間ＴＣにおける指令値ＩＶの値の方が小さいので負の値となる。（ｂ）においては補正指令値ＣＩＶは指令値変化部ＩＶ−Ｖ２を経て、期間ＴＣにおける指令値ＩＶと同じ値になる。指令値変化部ＩＶ−Ｖ２はテーブルに設定されたデータに基づいた変化となり、図４に示したような時間とサブ指令値との関係のような変化となる。期間ＴＢから期間ＴＣに切り替わる時刻も時刻ＴＣＳとなる。この期間ＴＣにおける補正指令値ＣＩＶに基づいてＰＷＭ波ＰＷＭ−Ｗが生成される。補正指令値ＣＩＶの値がまた小さくなったので、ＰＷＭ波ＰＷＭ−Ｗのデューティーは小さい。このＰＷＭ波ＰＷＭ−Ｗを積分化したものとＶＣＭモーターＶＣＭの駆動電圧とが比例する形となる。指令値変化部ＩＶ−Ｖ２における補正指令値ＣＩＶに基づいてもＰＷＭ波ＰＷＭ−Ｗは生成される。
【００３６】
ＶＣＭモーターＶＣＭを駆動するためのＰＷＭ波ＰＷＭ−Ｗの指示値ＩＶが変更される際の、ＰＷＭ波ＰＷＭ−Ｗのデューティー変化と時間経過との関係を定めたデータである、データＤＡＴＡ１〜ＤＡＴＡ３を複数有する。このデータＤＡＴＡ１〜３は、図４の（ａ）〜（ｃ）にて示したように色々なサブ指令値と時間との関係を示すものとなっている。よって駆動されるモーターに合わせたデータを選択して使用することができるので、色々な種類のモーター駆動の際のリンギングを防ぐことができる。なお、データＤＡＴＡ１およびデータＤＡＴＡ２は指示値ＩＶが変更された際に急激にＰＷＭ波ＰＷＭ−Ｗのデューティーが変更されてリンギングが引き起こされないように、徐々にＰＷＭ波ＰＷＭ−Ｗのデューティーが変更されるようにするデータである。データＤＡＴＡ３は指示値ＩＶが変更された際にＰＷＭ波ＰＷＭ−Ｗのデューティーが変更されて引き起こされたリンギングが、打ち消されるようなＰＷＭ波ＰＷＭ−Ｗのデューティーとなるようにするデータである。
【００３７】
シーケンサＳＱＣが指示値ＩＶが変更された時刻ＴＣＳにデータＤＡＴＡ１〜ＤＡＴＡ３に基づいて指示値ＩＶを補正して補正指示値ＣＩＶを生成する。このようになっていることで、指示値ＩＶが変更されることによりＰＷＭ波ＰＷＭ−Ｗのデューティーが変化することによりリンギングが発生するのを防ぐことができる。
【００３８】
セレクタＳＬとテーブル選択レジスタＴＢＬ−Ｓ−ＲＥＧとを有し、テーブル選択レジスタＴＢＬ−Ｓ−ＲＥＧの設定値に従ってテーブルＴＢＬ１〜３のうちのいずれかが選択されてシーケンサＳＱＣにて使用される。このようにすることで、どのデータＤＡＴＡ１〜３を使用するのかが選択できる。
【００３９】
テーブルＴＢＬ１〜３のいずれも、期間Ｔ０〜Ｔｋおよびサブ指令値Ｘ０〜Ｘｋを格納するようになっている。期間Ｔ０〜ＴｋのそれぞれはＰＷＭ波ＰＷＭ−Ｗの周期であるＰＷＭ周期ＰＷＭ−ＴのＬＫ倍となっている。サブ指令値Ｘ０〜Ｘｋはそれぞれ対応する期間Ｔ０〜Ｔｋでの補正指示値ＣＩＶの加算分となっている。実際の補正指令値ＣＩＶは、ＣＰＵにより変更される前の指令値ＩＶにサブ指令値Ｘ０〜Ｘｋを加算したものが、期間Ｔ０〜Ｔｋにおける補正指令値ＣＩＶとなる。サブ指令値Ｘ０〜Ｘｋはそれぞれ差分であるＤの倍数となっている。このように期間Ｔ０〜ＴｋのそれぞれはＰＷＭ周期ＰＷＭ−ＴのＬＫ倍となっていることで、ＰＷＭ波ＰＷＭ−Ｗの周期ごとに補正指令値ＣＩＶが変更されることが可能となり、制御が安定する。サブ指令値Ｘ０〜Ｘｋはそれぞれ対応する期間Ｔ０〜Ｔｋでの補正指示値ＣＩＶの加算分となっており、サブ指令値Ｘ０〜Ｘｋはそれぞれ差分であるＤの倍数となっていることで、Ｄの大きさに基づいてサブ指令値Ｘ０〜Ｘｋを生成でき、Ｄの大きさに基づいたリンギングの抑制が可能となる。
【００４０】
（実施の形態２）
図６は実施の形態２のモータードライバＭＴＤ１の構成を示した図である。
【００４１】
モータードライバＭＴＤ１は実施の形態１のモータードライバＭＴＤと比べて以下が異なる。テーブルＴＢＬは実施の形態１のように複数無く、１つである。セレクタＳＬが無い。データＤＡＴＡ１〜ＤＡＴＡ３は不揮発性メモリＦＬＡＳＨに格納されている。図６では不揮発性メモリＦＬＡＳＨはモータードライバＭＴＤ１内にあるような構成となっているが、実際にはそうではない。不揮発性メモリＦＬＡＳＨにはデータＤＡＴＡＸが格納されている。テーブル選択レジスタＴＢＬ−Ｓ−ＲＥＧはリセット時等にデータＤＡＴＡ１〜３およびデータＤＡＴＡＸのうちのいずれかのデータを、テーブル選択レジスタＴＢＬ−Ｓ−ＲＥＧに格納された値に基づいて選択し、テーブルＴＢＬに格納するように制御する。シーケンサＳＱＣはテーブルＴＢＬに格納されたデータＤＡＴＡ１〜３およびデータＤＡＴＡＸのうちのいずれかのデータを用いる。データＤＡＴＡＸは半導体集積回路装置ＩＣの外部から書き込まれたデータであり、その構成は図３にて示したＤＡＴＡ１〜３と同様の構成となっている。
【００４２】
不揮発性メモリＦＬＡＳＨにはデータＤＡＴＡＸが格納されており、テーブル選択レジスタＴＢＬ−Ｓ−ＲＥＧに格納された値に基づいてテーブルＴＢＬにデータＤＡＴＡＸを格納することが可能となっていて、シーケンサＳＱＣがこのデータＤＡＴＡＸを用いることが可能になっている。このように外部から書き込まれたデータＤＡＴＡＸをシーケンサＳＱＣが用いることが可能になっていることで、半導体集積回路ＩＣにより駆動されるモーターの特性に合わせてリンギングを効果的に防ぐことができる、半導体集積回路装置ＩＣを用いるユーザーが独自に定めたデータ（期間Ｔ０〜Ｔｋおよびサブ指令値Ｘ０〜Ｘｋ）を用いることができる。
【００４３】
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【符号の説明】
【００４４】
ＩＣ  半導体集積回路装置
ＣＰＵ  中央演算装置
ＦＬＡＳＨ  不揮発性メモリ
ＲＡＭ  ランダムアクセスメモリ
ＡＤＣ  ＡＤ変換回路
ＭＴＤ、ＭＴＤ１  モータードライバ
ＯＳＣ  発振回路
ＢＵＳ  バス
ＤＲ  ドライバ
ＰＷＭ−ＧＣ  ＰＷＭ波生成回路
ＳＱＣ  シーケンサ
ＳＬ  セレクタ
ＴＢＬ１〜ＴＢＬ３、ＴＢＬ  テーブル
ＴＢＬ−Ｓ−ＲＥＧ  テーブル選択レジスタ
ＩＶ  指令値
ＣＩＶ  補正指令値
ＤＡＴＡ１〜ＤＡＴＡ３、ＤＡＴＡＸ  データ
ＰＷＭ−Ｗ、ＰＷＭ−ＲＷ  ＰＷＭ波
Ｔ０〜Ｔｋ  期間
Ｘ０〜Ｘｋ  サブ指令値
ＰＷＭ−Ｔ  ＰＷＭ周期
【図１】
2014087083.tif 000003
【図２】
2014087083.tif 000004
【図３】
2014087083.tif 000005
【図４】
2014087083.tif 000006
【図５】
2014087083.tif 000007
【図６】
2014087083.tif 000008