前述した従来のPWM制御回路(パルス幅変調回路)では、パルス信号のエッジ点を変化させるために信号の遅延を利用しているので、パルス信号の信号レベル変化のタイミングを精度よく設定することが難しい。具体的には、クロック信号の立下りでサンプリングするフリップフロップとそのフリップフロップの出力を入力とする回路(例えば、AND回路)とが用いられているので、クロック信号の半周期相当の遅延を発生させる経路を通る場合と通らない場合とで、クロック信号の遷移タイミング(レベル変化のタイミング)からPWM信号(調整パルス信号)の出力までの伝搬遅延量が変動するという問題が発生する。つまり、時間的な最小分解能の大きさがばらついて、期待されるものよりも劣化し得る。
また、クロック信号の立下りでサンプリングするフリップフロップの挿入により、クロック同期動作に必要なタイミングマージンが目減りして大きく損なわれてしまう。このようにタイミングマージンが目減りするということは、使用できるクロック信号の最大周波数が制限されることにつながり、パルス幅調整を高分解能化させる目的達成の効果が薄い。
本発明は、このような事情に鑑みてなされたもので、精度の良い高分解能でのパルス幅調整を容易に行うことのできるパルス幅変調回路を提供するものである。
本発明に係るパルス幅変調回路は、クロック信号に同期してカウント動作を行うカウンタのカウント値に基づいて所定周期の出力パルス信号のレベル変化のタイミングを調整するパルス幅変調回路であって、第1制御値を入力し、前記カウンタのカウント値と前記第1制御値とを比較して、前記カウント値と前記第1制御値が等しい場合の中間状態を含む前記カウント値と前記第1制御値との大小関係に基づいた3つの状態を取り得る判定信号を出力する比較判定回路と、第1値と第2値とを取り得る第2制御値を入力し、前記第2制御値が第1値のときに、前記比較判定回路からの前記判定信号の前記中間状態とそれ以外の一の状態との間の変化タイミングにてレベルが変化し、前記第2制御値が第2値のときに、前記判定信号の前記中間状態とそれ以外の他の一の状態との間の変化タイミングにてレベルが変化する前記所定周期の第1パルス信号を生成する第1信号生成回路と、前記第2制御値に係わらず、前記判定信号の前記中間状態とそれ以外の一の状態との間での変化タイミングにてレベルが変化する前記所定周期の第2パルス信号を生成する第2信号生成回路と、前記第1信号生成回路からの前記第1パルス信号の信号レベルと、前記第2信号生成回路からの前記第2パルス信号の信号レベルとを前記クロック信号のレベルに応じて交互に選択して前記出力パルス信号を生成する選択回路と、を有する構成となる。
このような構成によれば、クロック信号に同期したカウンタのカウント値の変化に伴って、比較判定回路からの判定信号の状態が、前記カウント値と第1制御値とが等しい中間状態以外の一の状態(例えば、前記カウント値が前記第1制御値より小さい場合の状態)、前記中間状態、及び前記中間状態以外の他の一の状態(例えば、前記カウント値が前記第1制御値より大きい場合の状態)の間で変化する。入力される第2制御値が第1値の場合、上記のように判定信号の状態が変化する過程で、第1信号生成回路は、前記判定信号の前記中間状態とそれ以外の一の状態との間での変化タイミングにてレベルが変化する所定周期の第1パルス信号を生成する。また、この場合、第2信号生成回路は、前記第1信号生成回路と同様に、前記判定信号の中間状態とそれ以外の一の状態との間での変化タイミングにてレベルが変化する所定周期の第2パルス信号を生成する。その結果、同じように信号レベルが変化する所定周期の第1パルス信号及び第2パルス信号の各信号レベルをクロック信号のクロックレベルに応じて交互に選択する選択回路は、第1パルス信号及び第2パルス信号と同様に、前記判定信号の中間状態とそれ以外の一の状態との間での変化タイミングにてレベルが変化する所定周期の出力パルス信号を生成する。
入力される第2制御値が第2値の場合、上記のような前記判定信号の変化の過程で、第2制御値に係わらず動作する第2信号生成回路は、上記の場合と同様に、前記判定信号の中間状態とそれ以外の一の状態との間での変化タイミングにてレベルが変化する第2パルス信号を生成する。一方、第1信号生成回路は、前記3つの状態の間で変化する比較判定回路からの判定信号の中間状態とそれ以外の他の一の状態との間での変化タイミングにてレベルが変化する所定周期の第1パルス信号を生成する。このように、第1パルス信号の信号レベルの変化タイミングと、第2パルス信号の信号レベルの変化タイミングとが異なり、前記判定信号が中間状態を維持する間、即ち、カウント値と第1制御値とが等しいと判定される1クロック周期において第1パルス信号の信号レベルと第2パルス信号の信号レベルとが異なる。このため、選択回路は、カウント値と第1制御値とが等しいと判定される1クロック周期において、クロック信号のレベルに応じて、第1パルス信号及び第2パルス信号のその異なるレベルを交互に選択する。その結果、カウント値と第1制御値とが等しいと判定される1クロック周期内(判定信号が中間状態を維持する間)においてレベルが変化する所定周期の出力パルス信号が生成され得る。
本発明に係るパルス幅変調回路において、前記カウンタは、カウント値を順次増加させるアップカウンタであり、前記判定信号の前記中間状態以外の一の状態は、前記カウント値が前記第1制御値より小さい場合の状態であり、前記判定信号の前記中間状態以外の他の一の状態は、前記カウント値が前記第1制御値より大きい場合の状態である、構成とすることができる。
このような構成により、カウント値が順次増加する過程で、比較判定回路は、前記カウント値が前記第1制御値より小さい場合の状態(中間状態以外の一の状態)、前記カウント値が前記第1制御値と等しい場合の中間状態、及び前記カウント値が前記第1制御値より大きい場合の状態(中間状態以外の他の一の状態)、の3つの状態を取り得る判定信号を出力する。
本発明に係るパルス幅変調回路において、前記第2制御値は、0及び1を前記第1値及び前記第2値として取り得る1ビットの値である構成とすることができる。
また、本発明に係るパルス幅変調回路において、前記選択回路は、前記クロック信号のレベルに応じて前記第1パルス信号の信号レベル及び前記第2パルス信号の信号レベルのいずれかを選択するマルチプレクサを含む、構成とすることができる。
このような構成により、簡易な構成となるマルチプレクサの選択動作により、第1パルス信号の信号レベルと第2パルス信号の信号レベルとをクロック信号のレベルに応じて交互に確実に選択することができる。
本発明に係るパルス幅変調回路において、前記比較判定回路は、前記カウント値が前記第1制御値と等しいか否かを判定する第1判定回路と、前記カウント値が前記制御値より小さいか否かの判定、及び前記カウント値が前記第1制御値より大きいか否かの判定のいずれかを行う第2判定回路と、を含む構成とすることができる。
このような構成により、第1判定回路によるカウント値が第1制御値と等しいか否かの2つの判定結果と、第2判定回路によるカウント値が第1制御値より小さいか否かの2つの判定結果または第2判定回路によるカウント値が第1制御値より大きいか否かの2つの判定結果とにより、カウント値と第1制御値とが等しい場合の中間状態と、前記中間状態以外の一の状態と、前記中間状態以外の他の一の状態と、の3つの状態を取り得る判定信号を生成することができる。
本発明に係るパルス幅変調回路において、前記第1信号生成回路は、前記比較判定回路からの前記判定信号の状態及び前記第2制御値に応じて2つの信号レベルのいずれかを選択する第1信号レベル選択回路を含み、前記第2信号生成回路は、前記判定信号の状態に応じて2つの信号レベルのいずれかを選択する第2信号レベル選択回路を含む、構成とすることができる。
このような構成により、第1信号生成回路の第1レベル選択回路は、比較判定回路からの判定信号の状態及び第2制御値に応じて2つの信号レベルのいずれかを選択することにより、判定信号の中間状態とそれ以外の一の状態との間で変化タイミングにてレベルが変化する、及び、判定信号の中間状態とそれ以外の他の一の状態との間の変化タイミングにてレベルが変化する、それぞれの第1パルス信号を生成することができる。
また、第2信号生成回路の第2レベル選択回路は、比較判定回路からの判定信号の状態に応じて2つの信号レベルのいずれかを選択することにより、判定信号の中間状態とそれ以外の一の状態との間での変化タイミングにてレベルが変化する第2パルス信号を生成することができる。
本発明に係るパルス幅変調回路において、前記第1信号レベル選択回路は、前記判定信号が前記中間状態であるか否かに応じて、前記第2制御値に応じた一の信号レベルまたは他の一の信号レベルと前記一のレベルとのいずれかを選択する第1回路と、前記判定信号が前記中間状態以外の一の状態であるか否かに応じて、前記他の一の信号レベルと前記第1回路にて選択された信号レベルとのいずれかを選択する第2回路と、を有する構成とすることができる。
このような構成により、第1回路が、比較判定回路からの判定信号が中間状態であるか否かに応じて、第2制御値に応じた一の信号レベルまたは他の一のレベルと前記一の信号レベルとのいずれかを選択し、第2回路が、判定信号の前記中間状態以外の一の状態であるか否かに応じて、前記他の一の信号レベルと前記第1回路にて選択された信号レベルとのいずれかを選択する。これにより、判定信号の中間状態とそれ以外の一の状態との間での変化タイミングにて前記一の信号レベルと前記他の一の信号レベルとの間にて変化する、及び判定信号の中間状態とそれ以外の他の一の状態との間での変化タイミングにて前記一の信号レベルと前記他の一の信号レベルとの間で変化する、それぞれの第1パルス信号を生成することができきる。
本発明に係るパルス幅変調回路において、前記第1回路及び前記第2回路のそれぞれは、マルチプレクサである構成とすることができる。
このような構成によれば、簡易な構成となるマルチプレクサの選択動作により、2つの信号レベルのいずれかを確実に選択することができる。
本発明に係るパルス幅変調回路において、前記第2信号レベル選択回路は、前記判定信号が前記中間状態以外の一の状態であるか否かに応じて、2つの信号レベルのいずれかを選択するマルチプレクサを含む構成とすることができる。
このような構成によれば、簡易な構成となるマルチプレクサが選択動作により、判定信号の中間状態とそれ以外の一の状態との間の変化タイミングにて2つの信号レベルの間で変化するとする第2パルス信号を生成することができきる。
本発明に係るパルス幅変調回路において、前記第1信号生成回路は、更に、前記第1信号レベル選択回路から出力される信号を、前記クロック信号に同期してラッチする第1ラッチ回路を有し、前記第1ラッチ回路から出力される信号を前記第1パルス信号として出力し、前記第2信号生成回路は、更に、前記第2信号レベル選択回路から出力される信号を、前記クロック信号に同期してラッチする第2ラッチ回路を有し、前記第2ラッチ回路から出力される信号を前記第2パルス信号として出力する、構成とすることができる。
このような構成により、前記第1信号レベル選択回路から出力される信号と前記第2信号レベル選択回路から出力される信号それぞれの遷移タイミングの時間差を極小値に揃えることができる。このため、更に高い精度でのパルス幅調整を行うことができる。
本発明に係るパルス幅変調回路によれば、クロック信号の周波数を引き上げることなく、パルス幅調整の分解能を向上させることができることは勿論、遅延回路やフリップフロップ等のタイミング調整のための回路を用いることなく、クロック信号によって確実に決まるタイミングに基づいて所定周期の出力パルス信号のレベル変化のタイミングを1クロック周期の半分(クロック信号の各レベルが維持される期間)の分解能で調整することができ、なおかつ、その時間的な分解能の精度を高く保つことが可能となる。このため、精度の良い高分解能でのパルス幅調整を容易に行うことができる。
以下、本発明の実施の形態について図面を用いて説明する。
本発明の第1の実施の形態に係るパルス幅変調回路は、図1に示すように構成される。
図1において、このパルス幅変調回路10は、カウンタ11、比較判定回路12、第1信号生成回路13、第2信号生成回路14及び選択回路15を有している。また、このパルス幅変調回路10にはレジスタ20が接続されている。レジスタ20には、例えば、3ビットの第1制御値Vcont1(0〜7の値)と、1ビットの第2制御値Vcont2(0(第1値)または1(第2値))がセットされ、それら第1制御値Vcont1及び第2制御値Vcont2がパルス幅変調回路10に入力する。
パルス幅変調回路10は、クロック発生器(図示略)から、L(ロー)レベルとH(ハイ)レベルとが交互に切換るクロック信号CLKを入力する。カウンタ11は、クロック信号CLKに同期して、具体的には、クロック信号CLKのLレベルからHレベルへの立ち上がりに同期してアップカウント動作を行い、そのカウント値CNTを出力する。カウンタ11の出力は、例えば、3ビットであって、そのカウント値CNTは、クロック信号CLKに同期して最小値Cmin(=0(000))から最大値Cmax(=7(111))までの間でサイクリックに変化する。
比較判定回路12は、レジスタ20からの第1制御値Vcont1とカウンタ11からのカウント値CNTとを入力し、カウント値CNTと第1制御値Vcont1とを比較して、カウント値CNTと第1制御値Vcont1とが等しい場合の第2状態ST2(中間状態)を含むカウント値CNTと第1制御値Vcont1との大小関係に基づいた3つの状態(ST1、ST2、ST3)を取り得る判定信号(2ビット:D1、D2)を出力する。具体的には、比較判定回路12は、カウント値CNTが第1制御値Vcont1に等しいか否かを判定する第1判定回路121と、カウント値CNTが第1制御値Vcont2より小さいか否かを判定する第2判定回路122とを備えている。第1判定回路121は、カウント値CNTが第1制御値Vcont1に等しいときに“1”を出力し(D1=1)、カウント値CNTが第1制御値Vcont1に等しくないときに“0”を出力する(D1=0)。また、第2判定回路122は、カウント値CNTが第1制御値Vcont1より小さいときに“1”を出力し(D2=1)、カウント値CNTが第1制御値Vcont1より小さくないときに“0”を出力する(D2=0)。これら第1判定回路121及び第2判定回路122により、比較判定回路12は、図2に示すように、カウント値CNTが第1制御値Vcont1より小さいとき(CNT<Vcont1)に第1状態ST1(D1=0、D2=1:中間状態以外の一の状態)の判定信号を、カウント値CNTと第1制御値Vcont1とが等しいとき(CNT=Vcont1)に第2状態ST2(D1=1、D2=0:中間状態)の判定信号を、カウント値CNTが第1制御値Vcont1より大きいとき(CNT>Vcont1)に第3状態ST3(D1=0、D2=0:中間状態以外の他の一の状態)の判定信号を、それぞれ出力する。
なお、第2判定回路122は、カウント値CNTが第1制御値Vcont1より小さいか否かではなく、大きいか否かを判定するものであってもよい。この場合であっても、第1判定回路121と第2判定回路122を備える比較判定回路12は、カウント値CNTが第1制御値Vcont1より小さい場合の第1状態ST1、カウント値CNTが第1制御値Vcont1に等しい場合の第2状態ST2(中間状態)、及びカウント値CNTが第1制御値Vcont1より大きい場合の第3状態ST3、の3つの状態を取り得る判定信号(2ビット:D1、D2)を出力し得るものとなる。
第1信号生成回路13は、比較判定回路12からの判定信号(D1、D2)及びレジスタ20からの第2制御値Vcont2(0または1)に応じてLレベル(一の信号レベル)及びHレベル(他の一の信号レベル)の2つの信号レベルのいずれかを選択する第1信号レベル選択回路であって、第1マルチプレクサ131(第1回路)と第2マルチプレクサ132(第2回路)とを含む。第1マルチプレクサ131は、比較判定回路12における第1判定回路121の出力D1の値(0または1)に応じて、即ち、前記判定信号が第2状態ST2(中間状態)であるか否かに応じて、第2制御値Vcont2(0または1)に応じたLレベル(“0”:一の信号レベル)またはHレベル(“1”:他の信号一のレベル)と固定されたLレベル(“0”:一の信号レベル)とのいずれかを選択する。具体的には、第1マルチプレクサ131は、第1判定回路121の出力D1が“1”(判定信号が第2状態ST2(中間状態)である)のとき、第2制御値Vcont2(0または1)に応じたLレベルまたはHレベルを選択し、第1判定回路121の出力D1が“0”(判定信号が第2状態ST2(中間状態)ではない)のとき、固定されたLレベル(“0”)を選択する。第2マルチプレクサ132は、比較判定回路12における第2判定回路122の出力D2の値(0または1)に応じて、即ち、前記判定信号が第1状態ST1(第2状態ST2(中間状態)以外の一の状態)であるか否かに応じてHレベル(“1”:他の一の信号レベル)と第1マルチプレクサ131で選択された信号レベルとのいずれかを選択する。具体的には、第2マルチプレクサ132は、第2判定回路122の出力D2が“1”(判定信号が第1状態ST1である)のとき、固定されたHレベル(“1”:他の一の信号レベル)を選択し、第2判定回路122の出力D2が“0”(判定信号が第1状態ST1ではない)のとき、第1マルチプレクサ131にて選択された信号レベルを選択する。
上述した第1信号生成回路13では、比較判定回路12(第1判定回路121、第2判定回路122)からの判定信号(D1、D2)の状態に応じた第1マルチプレクサ131及び第2マルチプレクサ132の2つの信号レベル(Lレベル、Hレベル)のいずれかを選択する動作によって、後述するように1周期(8クロック周期分)内で信号レベルが変化する第1パルス信号(1)が生成される。そして、第1信号生成回路13(第2マルチプレクサ132)から出力される第1パルス信号(1)が選択回路15に入力する。
第2信号生成回路14は、レジスタ20にセットされた前記第2制御値Vcont2に係わらず、比較判定回路12からの判定信号(D1、D2)に応じてLレベル及びHレベルの2つの信号レベルのいずれかを選択する第2信号レベル選択回路であって、マルチプレクサ141により構成される。このマルチプレクサ141(第2信号レベル選択回路)は、比較判定回路12の第2判定回路122の出力D2の値(0または1)に応じて、即ち、前記判定信号が第1状態ST1(中間状態以外の一の状態)であるか否かに応じて、固定されたHレベルと固定されたLレベルのいずれかを選択する。具体的には、マルチプレクサ141(第2信号レベル選択回路)は、第2判定回路122の出力D2が“1”(判定信号が第1状態ST1である)のとき、Hレベル(“1”)を選択し、第2判定回路122の出力D2が“0”(判定信号が状態ST1ではない)のとき、Lレベル(“0”)を選択する。
上述した第2信号生成回路14では、比較判定回路12(第2判定回路122)からの判定信号D2の状態に応じたマルチプレクサ141の2つの信号レベル(Lレベル、Hレベル)のいずれかを選択する動作によって、後述するように1周期(8クロック周期分)内で信号レベルが変化する第2パルス信号(2)が生成される。そして、第2信号生成回路14(マルチプレクサ141)から出力される第2パルス信号(2)が選択回路15に入力する。
選択回路15は、マルチプレクサによって構成される。この選択回路15(マルチプレクサ)は、第1信号生成回路13(第1信号レベル選択回路)から第1パルス信号(1)のものとして出力される信号レベルと、第2信号生成回路14(第2信号レベル選択回路)から第2パルス信号(2)のものとして出力される信号レベルとをクロック信号CLKのレベルに応じて交互に選択してPWM信号(出力パルス信号)を生成し、出力する。具体的には、クロック信号CLKがHレベルのときに、第1パルス信号(1)の信号レベルが選択され、クロック信号CLKがLレベルのときに、第2パルス信号(2)の信号レベルが選択され、それら第1パルス信号(1)と第2パルス信号(2)との交互の信号レベルによりPWM信号(出力パルス信号)が生成される。
次に、図3及び図4に示すタイミングチャートを参照して、上述したパルス幅変調回路10の動作について説明する。図3は、第2制御値Vcont2が「0」(第1値:Vcont2=0)の場合の動作を示し、図4は、第2制御値Vcont2が「1」(第2値:Vcont2=1)の場合の動作を示す。
前述したように、カウンタ11の出力は、例えば、3ビットであって、そのカウント値CNTは、クロック信号CLKに同期して最小値Cmin(=0(000))から最大値Cmax(=7(111))までの間でサイクリックに変化する。このため、図3及び図4に示すように、クロック信号CLKに同期して順次増加するカウント値CNTが最小値Cmin(=0)から最大値Cmax(=7)まで変化する8クロック周期分を1周期としたPWM信号(出力パルス信号)が生成される。
まず、図3を参照して、第1制御値Vcont1が「3」に設定され(Vcont1=3)、第2制御値Vcont2が「0」に設定されている(Vcont2=0)場合の動作について説明する。
クロック信号CLKに同期したカウント値CNTの最小値Cmin(=0)からCmax(=7)までの変化に伴って、比較判定回路12から出力される判定信号(D1、D2)の状態が変化する。具体的には、カウント値CNTが第1制御値Vcont1(=3)に達する前まで(CNT<Vcont1)は、比較判定回路12の第1判定回路121の出力D1が“0”(D1=0)、かつ第2判定回路122の出力D2が“1”(D2=1)であって、判定信号(D1、D2)が第1状態ST1(D1=0、D2=1)になる。カウント値CNTが第1制御値Vcont1(=3)に達すると(CNT=Vcont1)、比較判定回路12の第1判定回路121の出力D1が“1”(D1=1)、かつ第2判定回路122の出力D2が“0”(D2=0)であって、判定信号(D1、D2)が第2状態ST2(中間状態:D1=1、D2=0)になる。更に増加するカウント値CNTが第1制御値Vcont1(=3)を超えて大きくなると、比較判定回路12の第1判定回路121の出力D1が“0”(D1=0)、かつ第2判定回路122の出力D2が“0”(D2=0)であって、判定信号(D1、D2)が第3状態ST3(D1=0、D2=0)になる。
上述したようにカウント値CNTがCmin「0」からCmax「7」まで変化する間、比較判定回路12から出力される判定信号(D1、D2)は、第1状態ST1(D1=0、D2=1)、第2状態ST2(中間状態:D1=1、D2=0)、第3状態ST3(D1=0、D2=0)と順次変化する。その過程で、判定信号(D1、D2)が第1状態ST1(中間状態以外の一の状態:D1=0、D2=1)である間(カウント値CNT=0〜2までのクロック3周期分)、第1信号生成回路13(第2マルチプレクサ132)からは、第1パルス信号(1)の信号レベルとしてHレベルが出力される。また、その間、第2信号生成回路14(マルチプレクサ141)からは、第2パルス信号(2)の信号レベルとしてHレベルが出力される。続いて、判定信号(D1、D2)が第2状態ST2(中間状態:D1=1、D2=0)である間(カウント値CNT=3のクロック1周期分)、第1信号生成回路13では、第1マルチプレクサ131が第2制御値Vcont2(=0)に応じたLレベルを選択し、第2マルチプレクサ132がその第1マルチプレクサ131にて選択されたLレベルを選択する。このため、第1信号生成回路13からは、第1パルス信号(1)の信号レベルとして、Hレベルから切り換わったLレベルが出力される。また、その間、第2信号生成回路14(マルチプレクサ141)からは、第2パルス信号(2)の信号レベルとして、第1パルス信号(1)と同様に、Hレベルから切り換わったLレベルが出力される。更に、判定信号(D1、D2)が第3状態ST3(中間状態以外の他の一の状態:D1=0、D2=0)である間(カウント値CNT=4〜7のクロック4周期分)、第1信号生成回路13では、第1マルチプレクサ131が固定されたLレベルを選択し、第2マルチプレクサ132がその第1マルチプレクサ131にて選択されたLレベルを選択する。このため、第1信号生成回路13からは、第1パルス信号(1)信号レベルとして、Lレベルが維持されて出力される。また、その間、第2信号生成回路14(マルチプレクサ141)からは、第2パルス信号の信号レベルとして、第1パルス信号(1)と同様に、Lレベルが維持されて出力される。
上述したように、カウント値CNTが最小値Cmin「0」から最大値Cmax「7」まで変化するクロック8周期分の間、第1信号生成回路13は、判定信号(D1、D2)の状態が、第1状態ST1(中間状態以外の一の状態)から第2状態ST2(中間状態)に変化するタイミングtcにて信号レベルがHレベルからLレベルに立ち下がる第1パルス信号(1)を生成する。また、その間、第2信号生成回路14は、第1信号生成回路13と同様に、判定信号(D1、D2)の状態が、状態ST1(中間状態以外の一の状態)から第2状態ST2(中間状態)に変化するタイミングtcにて信号レベルがHレベルからLレベルに立ち下がる第2パルス信号(2)を生成する。そして、カウント値CNTが最小値Cmin(=0)から最大値Cmax(=7)の間(クロック8周期分)でサイクリックに変化する過程で上述した動作が繰り返し行われることにより、第1パルス信号(1)及び第2パルス信号(2)のそれぞれは、カウント値CNTが「7」から「0」に戻るタイミングでHレベルに立ち上がり、カウント値CNTが「2」から「3」に変化するタイミングでHレベルからLレベルに立ち下がる(変化する)、クロック8周期分を1周期とするパルス信号となる。
第1信号生成回路13及び第2信号生成回路14から前述したようにレベルが変化する第1パルス信号(1)及び第2パルス信号(2)が出力される過程で、選択回路15(マルチプレクサ)は、クロック信号CLKがHレベルのときに第1パルス信号(1)の信号レベルを選択し、クロック信号CLKがLレベルのときに第2パルス信号(2)の信号レベルを選択して出力する。それら第1パルス信号(1)と第2パルス信号(2)との交互の信号レベルによりPWM信号(出力パルス信号)が生成される。この場合、第1パルス信号(1)と第2パルス信号(2)とは、同じタイミングtcで信号レベルが変化(立ち下がる)する同じ周期(クロック8周期分)の信号であるので、生成されるPWM信号は、第1パルス信号(1)及び第2パルス信号(2)と同様に、カウント値CNTが「7」から「0」に戻るタイミングで信号レベルがHレベルに立ち上がり、判定信号(D1、D2)が第1状態ST1(中間状態以外の一の状態)から第2状態ST2(中間状態)に変化する、カウント値CNTが「2」から「3」に変化する、タイミングtcでHレベルからLレベルに立ち下がるクロック8周期分の周期のパルス信号となる。即ち、クロック8周期分の周期でパルス幅(Hレベル期間の幅)がクロック3周期分(デューティ比3/8)のPWM信号(出力パルス信号)が生成され、出力される。
次に、図4を参照して、第1制御値Vcont1が「3」に設定され(Vcont1=3)、前述した場合(図3参照)と異なり、第2制御値Vcont2が「1」に設定されている(Vcont2=1)場合の動作について説明する。
前述した場合(Vcont1=3、Vcont2=0:図3参照)と同様に、カウント値CNTが最小値Cmin「0」から最大値Cmax「7」まで増加する間に、比較判定回路12から出力される判定信号(D1、D2)は、第1状態ST1(D1=0、D2=1)、第2状態ST2(中間状態:D1=1、D2=0)、第3状態ST3(D1=0、D2=0)と順次変化する。その過程で、第2制御値Vcont2に関係なく動作する第2信号生成回路14は、前述した場合(図3参照)と同様に、比較判定回路12から出力される判定信号(D1、D2)の状態が第1状態ST1(中間状態以外の一の状態)から第2状態ST2(中間状態)に変化するタイミングt1にて信号レベルがHレベルからLレベルに立ち下がる第2クロック信号(2)を生成する。
一方、第1信号生成回路13は、比較判定回路12から出力される判定信号(D1、D2)が上述したように順次変化する過程で、次のように動作する。
比較判定回路12から出力される判定信号(D1、D2)が第1状態ST1(中間状態以外の一の状態:D1=0、D2=1)である間(カウント値CNT=0〜2までのクロック3周期分)、第1信号生成回路13(第2マルチプレクサ132)からは、第1パルス信号(1)の信号レベルとしてHレベルが出力される。続いて、判定信号(D1、D2)が第2状態ST2(中間状態:D1=1、D2=0)である間(カウント値CNT=3のクロック1周期分)、第1信号生成回路13では、第1マルチプレクサ131が第2制御値Vcont2(=1)に応じたHレベルを選択し、第2マルチプレクサ132がその第1マルチプレクサ131にて選択されたHレベルを選択する。このため、第1信号生成回路13からは、第1パルス信号(1)の信号レベルとして、Hレベルが維持されて出力される。更に、判定信号(D1、D2)が第3状態ST3(中間状態以外の他の一の状態:D1=0、D2=0)である間(カウント値CNT=4〜7のクロック4周期分)、第1信号生成回路13では、第1マルチプレクサ131が固定されたLレベルを選択し、第2マルチプレクサ132がその第1マルチプレクサ131にて選択されたLレベルを選択する。このため、第1信号生成回路13からは、第1パルス信号(1)信号レベルとして、Hレベルから切り換わったLレベルが出力される。このようにして、カウント値CNTが最小値Cmin(=0)から最大値Cmax(=7)まで変化するクロック8周期分の間、第1信号生成回路13は、判定信号(D1、D2)の状態が、第2状態ST2(中間状態)から第3状態ST3(中間状態以外の他の一の状態)に変化するタイミングt2にて信号レベルがHレベルからLレベルに立ち下がる第1パルス信号(1)を生成する。
そして、カウント値CNTが最小値Cmin(=0)から最大値Cmax(=7)の間(クロック8周期分)でサイクリックに変化する過程で上述した動作が繰り返し行われることにより、第1パルス信号(1)は、カウント値CNTが「7」から「0」に戻るタイミングでHレベルに立ち上がり、カウント値CNTが「3」から「4」に変化するタイミングt2でHレベルからLレベルに立ち下がる(変化する)、クロック8周期分を1周期とするパルス信号となる。また、第2パルス信号(2)は、カウント値が「7」から「0」に戻るタイミングでHレベルに立下り、カウント値CNTが「2」から「3」に変化するタイミングt1でHレベルからLレベルに立ち下がる(変化する)、クロック周期8周期分を1周期とするパルス信号となる。このように、第1信号生成回路13から出力される第1パルス信号(1)と第2信号生成回路14から出力される第2パルス信号(2)とでは、HレベルからLレベルに立ち下がるタイミングが、判定信号(D1、D2)が第2状態ST2(中間状態)である1クロック周期分ずれる。
第1信号生成回路13及び第2信号生成回路14から前述したようにレベルが変化する第1パルス信号(1)及び第2パルス信号(2)が出力される過程で、選択回路15(マルチプレクサ)は、クロック信号CLKがHレベルのときに第1パルス信号(1)の信号レベルを選択し、クロック信号CLKがLレベルのときに第2パルス信号(2)の信号レベルを選択して出力する。それら第1パルス信号(1)と第2パルス信号(2)との交互の信号レベルによりPWM信号(出力パルス信号)が生成される。この場合、第1パルス信号(1)と第2パルス信号(2)とでは、HレベルからLレベルに立ち下がるタイミング(t1、t2)が異なり、判定信号(D1、D2)が第2状態ST2(中間状態:D1=1、D2=0)を維持する間、即ち、カウント値CNTが第1制御値Vcont1(=3)と等しいと判定される1クロック周期において第1パルス信号(1)の信号レベル(Hレベル)と第2パルス信号(2)の信号レベル(Lレベル)とが異なる。このため、選択回路15(マルチプレクサ)は、カウント値CNTと第1制御値Vcont1(=3)とが等しいと判定される1クロック周期において、クロック信号のレベルに応じて、第1パルス信号(1)及び第2パルス信号のそれぞれ異なるレベル(Hレベル、Lレベル)を交互に選択する。その結果、カウント値CNTと第1制御値Vcont1とが等しいと判定される1クロック周期内(判定信号が状態ST2を維持する間)においてクロック信号CLKのレベルがHレベルからLレベルに切り換わるタイミングtcにおいて信号レベルがHレベル(第1パルス信号)からLレベル(第2パルス信号)に立ち下がる信号がPWM信号として生成される。
この場合、生成されるPWM信号は、カウント値が「7」から「0」に戻るタイミングで信号レベルがHレベルに立ち上がり、判定信号(D1、D2)が第2状態ST2(中間状態)である、カウント値CNTが「3」を維持する期間の中間時点tcでHレベルからLレベルに立ち下がるクロック8周期分の周期のパルス信号となる。即ち、クロック8周期分の周期でパルス幅(Hレベル期間の幅)がクロック3.5周期分(デューティ比3.5/8)のPWM信号(出力パルス)が生成される。
以上、第1制御値Vcont1が「3」に設定された場合について説明したが、一般的には、図5に示すように、第1制御値Vcont1と第2制御値Vcont2とによって、8クロック周期分のPWM信号(出力パルス信号)のパルス幅、デューティ比を調整することができる。具体的には、第1制御値Vcont1が「n」(0〜7の整数:例えば、「5」)で、第2制御値Vcont2が「0」の場合、パルス幅が「n」クロック周期分(例えば、「5」クロック周期分)で、デューティ比が「n/8」(例えば、「5/8」)に調整される。また、第1制御値Vcont1が「n」(例えば、「5」)で、第2制御値Vcont2が「1」の場合、パルス幅が「n+0.5」クロック周期分(例えば、「5.5」クロック周期分)で、デューティ比が「(n+0.5)/8」(例えば、「5.5/8」)に調整される。
上述したようなパルス幅変調回路10によれば、クロック信号CLKの周波数を引き上げることなく、パルス幅調整の分解能を向上(2倍に)させることができることは勿論、遅延回路やフリップフロップ等のタイミング調整のための回路を用いることなく、クロック信号CLKによって確実に決まるタイミングに基づいて所定周期(8クロック周期分)のPWM信号(出力パルス信号)のHレベルからLレベルの立下りタイミングを1クロック周期の半分(クロック信号CLKの各レベルが維持される期間)の分解能で調整することができ、なおかつ、その時間的な分解能の精度を高く保つことができる。このため、精度の良い高分解能でのパルス幅変調を容易に行うことができる。
上述した第1の実施の形態では、カウンタ11は、クロック信号CLKに同期してカウント値CLKを増加させるアップカウンタであったが、クロック信号CLKに同期してカウント値CLKを減少させるダウンカウンタであってもよい。また、カウンタ11は、クロック信号CLKのLレベルからHレベルの立ち上がりに同期してカウント動作を行うものであったが、クロック信号CLKのHレベルからLレベルへの立下りに同期してカウント動作を行うものであってもよい。また、1周期内においてHレベルからLレベルへの立下りタイミングを調整することによりPWM信号(出力パルス信号)のパルス幅(デューティ比)を調整するものであったが、1周期内においてLレベルからHレベルへの立ち上がりタイミングを調整することによりPWM信号(出力パルス信号)のパルス幅(デューティ比)を調整するものであってもよい。
また、カウンタ11の出力が3ビット、及び第1制御値Vcont1が3ビットで、クロック信号CLKの8周期分を1周期とするPWM信号(出力パルス信号)を生成するものであったが、本発明はこれに限定されない。カウンタ11の出力ビット数に関係なく、PWM信号の周期を設定することができ、また、その周期も、2のべき乗(23=8)のクロック数分ではなく、任意のクロック数n分に設定することができる。
本発明の第2の実施の形態に係るパルス幅変調回路は図6に示すように構成される。
図6において、このパルス幅変調回路10では、第1信号生成回路13(第1信号レベル選択回路)は、更に、第1ラッチ回路133を有し、第2信号生成回路14(第2信号レベル選択回路)は、更に、第2ラッチ回路142を有している。なお、パルス幅変調回路10の他の構成部分は、前述した第1の実施の形態に係るパルス変調回路10(図1参照)と同じである。
第1ラッチ回路133は、D-フリップフロップで構成されており、クロック信号CLKに同期して、第2マルチプレクサ132から出力される信号レベルをラッチし、そのラッチした信号レベルを出力する。そして、第1ラッチ回路133から出力される信号レベルが第1パルス信号(1)の信号レベルとして選択回路15に入力する。また、第2ラッチ回路142も、D-フリップフロップで構成されており、クロック信号CLKに同期して、マルチプレクサ141から出力される信号レベルをラッチし、そのラッチした信号レベルを出力する。そして、第2ラッチ回路142から出力される信号レベルが第2パルス信号(2)の信号レベルとして選択回路15に入力する。
選択回路15(マルチプレクサ)は、第1信号生成回路13の第1ラッチ回路133から第1パルス信号(1)のものとして出力される信号レベルと、第2信号生成回路14の第2ラッチ回路142から第2パルス信号(2)のものとして出力される信号レベルとをクロック信号CLKのレベルに応じて交互に選択してPWM信号(出力パルス信号)を生成し、出力する。
上述した本発明の第2の実施の形態に係るパルス幅変調回路10では、第1信号生成回路13(第1信号レベル選択回路)及び第2信号生成回路(第2信号レベル選択回路)にラッチ回路133、142が設けられているので、第1信号レベル選択回路(第1マルチプレクサ131、第2マルチプレクサ132)から出力される信号と第2信号レベル選択回路(マルチプレクサ141)から出力される信号それぞれの遷移タイミングの時間差を極小値に揃えることができる。このため、更に高い精度でのパルス幅調整を行うことができる。また、第1信号生成回路13(第1信号レベル選択回路:第1マルチプレクサ131及び第2マルチプレクサ132)での信号レベルの選択動作における信号レベルの切換え時に切換えノイズが発生したとしても、第1ラッチ回路133によってそのノイズの伝搬を遮断することができる。また、同様に、第2信号生成回路14(第2信号レベル選択回路:マルチプレクサ141)での信号レベルの選択動作における信号レベルの切換え時に切換えノイズが発生したとしても、第2ラッチ回路142によってそのノイズの伝搬を遮断することができる。
なお、第1信号生成回路13(第1信号レベル選択回路)及び第2信号生成回路14(第2信号レベル選択回路)に設けられる、2つのラッチ回路133、142及び選択回路15(マルチプレクサ)として、例えば、図7に示す、既製のプログラマブルロジックデバイス(例えば、Intel (Altera)社製 MAX 10シリーズFPGA)のI/Oハードマクロ(図7におけるDDI_OUTの矩形線内の部分)を利用することができる。これにより、第1信号生成回路13、第2信号生成回路14及び選択回路15を容易に構成することができる。
なお、本発明は、前述した実施の形態及びその変形例に限定されるものではない。本発明の趣旨に基づいて種々変形することが可能であり、これらを本発明の範囲から除外するものではない。