(57)【要約】【課題】ソフト処理による３相モータのＰＷＭ制御において、高精度の制御を可能とする。【解決手段】出力設定値レジスタ１，２（１７，１９）に対応して出力バッファレジスタ１，２（１８，２０）をそれぞれ設け、また、デューティ設定レジスタ１５に対応してデューティバッファレジスタ１４を設けている。比較回路１又は比較回路２が一致信号を出力した場合には、出力値設定レジスタ１，２の内容をゲート回路（Ｇ１〜Ｇ６）及びフラグＦ１を介して出力することによりＰＷＭｎ出力値を変更し、比較回路１が一致を検出すると、その時点で出力バッファレジスタ１、２及びデューティバッファレジスタに記憶されている値を出力値設定レジスタ１、２及びデューティ設定レジスタ１５に読み込み、ＣＰＵに割り込み信号（ＩＲＱｎ）を送出する。ＣＰＵは次のサイクルにおいて必要となる値を対応するバッファレジスタ（１４，１８，２０）に設定した後、割り込み確認信号（ＡＣＫｎ）を送出する。【選択図】図１
2006101599.tif 000002
【特許請求の範囲】
【請求項１】
周期設定レジスタの値（Ｔ）とＰＷＭカウンタの値が一致する第一のタイミングと、デューティ設定レジスタの値と前記ＰＷＭカウンタの値が一致する第二のタイミングにおいてＰＷＭ制御を行う信号を出力するモータの駆動制御方法であって、
前記第一のタイミングにおいて、
デューティ設定レジスタに値を書き込む処理と、
前記周期ＴにおいてＰＷＭ出力値が取るべき第一の値をＰＷＭ出力する処理と、
前記第一のタイミングにおいてＰＷＭ出力が取るべき第一の値をレジスタに書き込む処理と、
前記第二のタイミングにおいてＰＷＭ出力が取るべき第二の値をレジスタに書き込む処理と、
ＣＰＵに対する割り込み信号を出力する処理と、
を行い、
前記第二のタイミングにおいて、
前記レジスタの値をＰＷＭ出力する処理と、
を行うことを特徴とするモータの駆動制御方法。
【請求項２】
ＣＰＵは、前記割り込み信号に応答して、
次のサイクルに於ける制御パルスのデューティ値を設定する処理と、
次のサイクルに於ける前記第一の値を設定する処理と、
次のサイクルに於ける前記第二の値を設定する処理と、
を行うことを特徴とする請求項１記載のモータ駆動制御方法。
【請求項３】
周期設定レジスタの値（Ｔ）とＰＷＭカウンタの値が一致する第一のタイミングと、デューティ設定レジスタの値と前記ＰＷＭカウンタの値が一致する第二のタイミングにおいてＰＷＭ制御を行う信号を出力するモータの駆動制御回路であって、
前記第一のタイミングに対応する信号を出力する第一の比較手段と、
前記第二のタイミングに対応する信号を出力する第二の比較手段と、
前記第一のタイミングでＣＰＵに対する割り込み信号を出力する手段と、
前記割り込み信号に応答してＣＰＵから出力される前記周期ＴにおいてＰＷＭ出力値が取るべき第一の値を保持する第一の保持手段と、
前記割り込み信号に応答してＣＰＵから出力される前記第二のタイミングでＰＷＭ出力値が取るべき第二の値を保持する第二の保持手段と、
を有するＰＷＭ制御回路を備え、
前記ＰＷＭ制御回路は、
前記第一のタイミングで前記第一の保持手段の内容を第一の設定手段に書き込むと共に前記第二の保持手段の内容を第二の設定手段に書き込み、
前記第一のタイミングで前記第一の設定手段の内容をＰＷＭ出力し、
前記第二のタイミングで前記第二の設定手段の内容をＰＷＭ出力する、
ことを特徴とするモータ駆動制御回路。
【請求項４】
請求項３のＰＷＭ制御回路を複数備え、
各ＰＷＭ制御回路の出力をモータを駆動するパワー素子の各制御端子にそれぞれ接続し、
各ＰＷＭ制御回路の動作クロック信号及び割り込み信号を共通化し、
前記割り込み信号に対する応答信号を各ＰＷＭ制御回路の共通の確認信号とした、
ことを特徴とするモータ駆動制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、モータ等の駆動制御方法、特に、ソフトウェアによる割り込み処理により精度良く３相モータをＰＷＭ制御する方法に関する。
【背景技術】
【０００２】
従来、モータ等の制御はハードウェアにより行っていたが、最近はソフトウェアで制御電圧を自在に指定する方法が主流に成りつつある。その理由は、３相モータを制御する制御信号の位相の変化は高速のプロセッサの処理速度から見ると極めて遅く、そのＰＷＭ（Ｐｕｌｓｅ  Ｗｉｄｔｈ  Ｍｏｄｕｌａｔｉｏｎ）制御は容易で、自在に制御可能だからである。
【０００３】
下記特許文献１には、ソフトウェア制御ではないが、ＰＷＭ型のモータ駆動装置について記載されている。
【特許文献１】特開２００４−６４８０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
プロセッサの処理速度は高速であるが、プロセッサは他の処理も同時に行っているので、パワートランジスタ等の電力素子の制御は通常割り込み処理によって行われる。このため、割り込みのためのリンク時間や処理時間が消費され、高精度の制御に支障になることがある。
【０００５】
図３、４は、このような従来技術の問題点を説明する図である。このうち図３は、従来のＰＷＭ制御回路の具体例を示すブロック図である。この図の制御回路３０では以下の様な動作を繰り返す。先ず、予め設定しておいた周期設定レジスタ３１の値（Ｔ）とＰＷＭカウンタ３３の値を比較回路１（３２）で比較し、値が一致する場合に出力回路３６がＰＷＭ出力を変化させると共に、割り込み要求信号（ＩＲＱ）をＣＰＵに出力し、割り込み処理プログラムにおいてデューティ設定レジスタ３４の設定が行われる。次に、初期化後、クロックφ１によりカウントが進み、ＰＷＭカウンタの値とデューティ設定レジスタの値を比較回路２（３５）で比較してその値が一致した場合に、出力回路がＰＷＭ出力を変化させる。
【０００６】
図４は、図３のＰＷＭ制御回路の動作タイミングを示す図である。図４において、ＰＷＭカウンタはクロックφ１が進むに従ってそのカウント値を増加させ、周期設定レジスタの値と一致したときに割り込み要求信号（ＩＲＱ）を出力させる。割り込み要求信号（ＩＲＱ）は、ＣＰＵの処理を中断させ、割り込み処理を実行させる。この割り込み処理では、デューティ設定レジスタや周期設定レジスタの設定処理等の処理に先行して内部レジスタ等の待避処理を行う必要があるので、その処理時間は高速のプロセッサであっても無視できないことがある。特に、図４の（１）若しくは（２）のタイミングにおいて、そのデューティ幅が前記処理を行うのに支障が出るほどに短い場合には、各レジスタの設定をすることができない場合が生じ、高精度の制御に支障になる。
【０００７】
この発明の課題は、ソフト処理による３相モータのＰＷＭ制御において、高精度の制御を可能とする点にある。
【課題を解決するための手段】
【０００８】
本発明は、上記課題を解決するために、出力設定値レジスタ１，２に対応して出力バッファレジスタ１，２をそれぞれ設け、また、デューティ設定レジスタに対応してデューティバッファレジスタを設けている。この構成において、比較回路１又は比較回路２が一致信号を出力した場合には、出力値設定レジスタ１，２の内容をゲート回路（Ｇ１〜Ｇ６）及びフラグＦ１を介して出力することによりＰＷＭｎ出力値を変更し、比較回路１が一致を検出すると、その時点で出力バッファレジスタ１、２及びデューティバッファレジスタに記憶されている値を出力値設定レジスタ１、２及びデューティ設定レジスタ１５に読み込み、ＣＰＵに割り込み信号（ＩＲＱｎ）を送出する。ＣＰＵは次のサイクルにおいて必要となる値を対応するバッファレジスタ（１４，１８，２０）に設定した後、割り込み確認信号（ＡＣＫｎ）を送出する。
【発明の効果】
【０００９】
本発明によれば、出力値設定レジスタ１，２に対応して出力バッファレジスタ１，２を付加し、またデューティ設定レジスタに対応してデューティバッファレジスタを設け、次のサイクルにおいて必要となるデューティ又は出力設定をハードウェア処理により行うようにしたので、割り込み処理に要する時間によらず、高精度の制御が可能になる。
【発明を実施するための最良の形態】
【００１０】
本発明においては、出力設定値レジスタ１，２に対応して出力バッファレジスタ１，２をそれぞれ設け、また、デューティ設定レジスタに対応してデューティバッファレジスタを設けている。この構成において、比較回路１又は比較回路２が一致信号を出力した場合には、出力値設定レジスタ１，２の内容をゲート回路（Ｇ１〜Ｇ６）及びフラグＦ１を介して出力することによりＰＷＭｎ出力値を変更し、比較回路１が一致を検出すると、その時点で出力バッファレジスタ１、２及びデューティバッファレジスタに記憶されている値を出力値設定レジスタ１、２及びデューティ設定レジスタ１５に読み込み、ＣＰＵに割り込み信号（ＩＲＱｎ）を送出する。ＣＰＵは次のサイクルにおいて必要となる値を対応するバッファレジスタ（１４，１８，２０）に設定した後、割り込み確認信号（ＡＣＫｎ）を送出する。
【００１１】
図１は、本発明によるＰＷＭ制御回路の実施例を示すブロック図であり、この発明によるＰＷＭ制御回路１０（ＰＷＭｎ制御回路とも称する。但し、ｎ＝１〜６）は、周期設定レジスタ１１、比較回路１（１２）、ＰＷＭカウンタ１３、デューティバッファレジスタ１４、デューティ設定レジスタ１５、比較回路２（１６）、出力値設定レジスタ１（１７）、出力バッファレジスタ１（１８）、出力値設定レジスタ２（１９）、出力バッファレジスタ２（２０）、ゲート回路Ｇ１〜Ｇ６、及びフラグＦ１，Ｆ２により構成されている。
【００１２】
周期設定レジスタ１１はモータを駆動制御するパワートランジスタのゲート開閉時間の周期を定める。この値は、予め設定しておき半固定にしておくこともできるが、割り込み処理の中で再設定することもできる。デューティ設定レジスタ１５は、周期設定レジスタで設定した周期Ｔを分割したときにＰＷＭ出力を変化させる時点に対応する値（例えば、図４に於ける時間ｔ２に対応する値）を設定する。この実施例に於いては、所定のタイミング（比較回路１の一致信号に基づくタイミング）でデューティバッファレジスタの値をデューティ設定レジスタに取り込む。デューティバッファレジスタには、複数の値を予め設定するような構成とすることも可能であり、その場合にはシフトレジスタ等で実現することが可能である。
【００１３】
出力値設定レジスタ１は、各周期の始めにＰＷＭ出力値を、０若しくは１の何れの値に設定するかを指定するレジスタである。従って、出力値設定レジスタ１は１ビットのレジスタで構成出来る。この出力バッファレジスタ１としては複数の値を予め設定するような構成とすることも可能で、その場合にはシフトレジスタ等により構成すればよい。
【００１４】
出力値設定レジスタ２は、ＰＷＭカウンタ１３の値とデューティ設定レジスタ１５の値が一致した時に、ＰＷＭ出力値を、０若しくは１の何れの値に設定するかを指定する。従って、出力値設定レジスタ２は１ビットのレジスタで構成することができる。この出力バッファレジスタ２としては複数の値を予め設定する構成とすることも可能であり、その場合にはシフトレジスタ等により構成すればよい。
【００１５】
ＰＷＭカウンタ１３は、リセット端子Ｒを有し、クロックφ１の立ち下がりでそのカウント値を増加させる。
【００１６】
比較回路１（１２）は周期設定レジスタ１１の値とＰＷＭカウンタ１３の値を比較し、その値が一致する時に出力値を０から１に変化させる。この信号はゲートＧ１を介して、ＰＷＭカウンタにリセット信号として入力される。比較回路１（１２）の出力値の変化は、出力値設定レジスタ１，２（１７，１９）に対するクロック信号としても使用され、出力バッファレジスタ１，２（１８，２０）の値が出力値設定レジスタ１，２（１７，１９）にそれぞれ取り込まれる。比較回路１の出力値は、ゲートＧ２を有効にし、ゲートＧ４及びフラグＦ１を介して、出力値設定レジスタ１の値をＰＷＭｎ出力として出力させる。
【００１７】
比較回路１（１２）の出力値の変化は、フラグＦ２に対するクロックとしても使用される。フラグＦ２はその入力データ端子が値‘１’に設定されており、クロック信号が入力されるとＣＰＵに対する割り込み要求信号ＩＲＱｎを出力する。ＣＰＵの割り込み制御回路が確認信号ＡＣＫｎを出力したとき、その信号を受けてフラグＦ２はリセットされる。
【００１８】
ＰＷＭカウンタのカウントがクロックφ１によって進み、その値がデューティ設定レジスタの値と一致すると、比較回路２（１６）は０から１に出力値を変化させる。この出力値の変化は、ゲートＧ３を有効にし、ゲートＧ４及びフラグＦ１を介して、出力値設定レジスタ２の値をＰＷＭｎ出力として出力させる。
【００１９】
なお、フラグＦ１のクロックは、ゲートＧ５及びゲートＧ６により生成され、比較回路１若しくは比較回路２の出力値が１である場合に、クロックφ１と同期を取っている。
【００２０】
図２は、本発明によるＰＷＭ制御回路を組み合わせて構成した３相ＰＷＭ駆動制御システムのブロック図である。図２において、ＰＷＭ制御回路１〜６は、全体としてクロックφ１を共通にする３相ＰＷＭ制御回路２２を形成する。
【００２１】
ＰＷＭ制御回路１は３相のうちＵ相のゲート制御に、ＰＷＭ制御回路４は／Ｕ相のゲート制御に、ＰＷＭ制御回路２はＶ相のゲート制御に、ＰＷＭ制御回路５は／Ｖ相のゲート制御に、ＰＷＭ制御回路３はＷ相のゲート制御に、ＰＷＭ制御回路６は／Ｗ相のゲート制御に、それぞれ使用される。駆動回路２４のＵ相出力端子２５、Ｖ相出力端子２６、及びＷ相出力端子２７はそれぞれモータＭのコイルに接続される。直流電圧Ｅは、独立して動作する前記６つのゲートにより刻まれ（ｃｈｏｐ）、相変化する３相電圧をモータ２８に供給する。
【００２２】
このシステムにおいては、各ＰＷＭ制御回路のＩＲＱｎ信号のうち、ＩＲＱ１信号のみがＣＰＵに対する割り込み要求信号ＩＲＱとして使用される。各ＰＷＭ制御回路のクロック信号φ１は共通化されているので、ＩＲＱ１信号に対応する割り込み処理に於ける各バッファレジスタ（１４，１８，２０）に対するデータの設定を各ＰＷＭ制御回路で同時に行うことができる。
【００２３】
ＣＰＵ（２１）は、割り込み信号ＩＲＱ１を受け付けると、内部バス２３を介して各種バッファレジスタ（１４，１８，２０）の設定を行うと共に、各ＰＷＭ制御回路に対して共通の割り込み確認信号ＡＣＫを出力する。
【００２４】
図５は、本発明によるＰＷＭ制御回路の動作タイミングを示すタイムチャートである。この実施例ではクロックφ１に同期して、全ての回路が動作する。ＰＷＭカウンタはクロックφ１の立ち下がりに同期してカウントを行うので、比較回路１の出力は、クロックφ１の立ち下がりに同期して立ち上がり、かつ、クロックφ１の立ち下がりに同期して立ち下がる。ＰＷＭカウンタのリセット信号ＲはゲートＧ１により生成され、ゲートＧ１の入力は比較回路１の出力とクロックφ１であるから、このリセット信号Ｒのパルス幅はクロックφ１の周期の値となる。
【００２５】
比較回路１（１２）の出力は、デューティ設定レジスタ（１５）、出力値設定レジスタ１，２のクロック信号として使用される。即ち、このクロック信号の立ち下がりで、デューティ設定レジスタ１５、出力値設定レジスタ１、２の書き込みが行われる。
【００２６】
また、比較回路１の出力はフラグＦ２への書き込みクロック信号として使用され、このクロック信号の立ち上がりでＣＰＵに対する割り込み要求信号ＩＲＱｎが出力される。その後ＣＰＵが割り込み確認信号ＡＣＫｎを出力すると、この信号によりフラグＦ２がリセットされるので、割り込み要求信号ＩＲＱｎも無効になる。
【００２７】
比較回路１の出力はゲートＧ２及びゲートＧ４を介して出力値設定レジスタ１の値をフラグＦ１のデータ入力端子に導くので、ゲートＧ５及びゲートＧ６を介して生成されたクロックφ２により、その値はフラグＦ１からＰＷＭｎ信号として出力される。
【００２８】
クロックφ１が進み、今度は比較回路２の出力がクロックφ１の立ち下がりに同期して立ち上がる。比較回路２の出力はゲートＧ３及びゲートＧ４を介して出力値設定レジスタ２の値をフラグＦ１のデータ入力端子に導くので、ゲートＧ５及びゲートＧ６を介して生成されたクロックφ２により、その値はフラグＦ１からＰＷＭｎ信号として出力される。
【００２９】
図５に示されたタイミングでは、既に出力値設定レジスタに置かれていた値が先に出力され、その直後に出力値バッファレジスタに書き込まれた値は、周期Ｔだけ遅れて次のサイクルでＰＷＭ出力信号として出力される。従って、ＣＰＵに対する割り込み信号入力に対するリンク時間による遅延、及びデータバッファレジスタに書き込む際に生じる遅延等が生じてもＰＷＭｎの出力値はゲート遅延程度の遅れで出力され、高精度のモータ制御に対して支障となることはない。
【００３０】
この実施例では、ＰＷＭｎ出力は、比較回路１若しくは比較回路２の出力の立ち上がりではなく、クロックφ１の半周期分遅れて出力される。厳密に言えば、クロックφ１の半周期分以下の細かい制御はできない。しかし、３相交流等の位相の変化はクロックφ１の周期に比べて十分に遅く、モータの制御の支障になることはない。また、従来デューティが０％に近い場合の設定ができなかったが、本発明において若干のハードウェアを追加したことにより、このような場合にも対処できるようになっている。
【図面の簡単な説明】
【００３１】
【図１】本発明によるＰＷＭ制御回路の実施例を示すブロック図である。
【図２】本発明によるＰＷＭ制御回路を組み合わせて構成した３相ＰＷＭ駆動制御システムのブロック図である。
【図３】従来技術の問題点を説明する図である。
【図４】従来技術の問題点を説明する図である。
【図５】本発明によるＰＷＭ制御回路の動作タイミングを示すタイムチャートである。
【符号の説明】
【００３２】
１０      ＰＷＭｎ制御回路
１１      周期設定レジスタ
１２      比較回路１
１３      ＰＷＭカウンタ
１４      デューティバッファレジスタ
１５      デューティ設定レジスタ
１６      比較回路２
１７      出力値設定レジスタ１
１８      出力バッファレジスタ１
１９      出力値設定レジスタ２
２０      出力バッファレジスタ２
２１      ＣＰＵ
２２      ３相ＰＷＭ制御回路
２３      内部バス
２４      モータ駆動回路
２５      Ｕ相出力端子
２６      Ｖ相出力端子
２７      Ｗ相出力端子
Ｇ１〜Ｇ６    ゲート回路
Ｆ１      フラグＦ１
Ｆ２      フラグＦ２
【図１】
2006101599.tif 000003
【図２】
2006101599.tif 000004
【図３】
2006101599.tif 000005
【図４】
2006101599.tif 000006
【図５】
2006101599.tif 000007