近年、デジタル負荷特有の低電圧化およびピーク時の大電流化に伴い、DC−DCコンバータ等のスイッチング電源であるDC電源に対して、例えば以下に示すように、厳しい要求(仕様)が課せられてきている。
負荷変動:120A/μsec
出力電圧:1.0V±50mV
出力電圧設定:12.5mVステップ
従来のアナログ制御によるDC電源では、このような仕様に対応することができる制御は限界に達してきており、このアナログ制御によるDC電源に代えて、制御理論に基づくデジタル制御によるDC電源が登場してきている。このデジタル制御によるDC電源には、複数のビットからなる全ビットで表わされる数値に応じたパルス幅のパルス信号を生成して出力するパルス幅変調(PWM:Pulse Width Modulation)回路が広く用いられている。
図12は、従来のパルス幅変調回路が組み込まれたDC−DCコンバータの回路構成を示す図である。
図12に示すDC−DCコンバータ100には、スイッチング回路101と、フィルタ回路102と、検出器103と、ADC(Analog Digital Converter)104と、データ処理部105と、パルス幅変調回路(PWM回路)106とが備えられている。
このDC−DCコンバータ100には、DC電圧Aが入力される。入力されたDC電圧Aは、スイッチング回路101で交互に導通状態(オン状態)と非導通状態(オフ状態)とにされ(スイッチングされ)、さらにフィルタ回路102で平滑されて、DC電圧Bとして外部に出力されるとともに検出器103に入力される。検出器103ではDC電圧Bの電圧変化が検出され、ADC104で量子化されて、データ処理部105に入力される。データ処理部105では、量子化された電圧とターゲット電圧(目標電圧)との誤差、あるいは前回の誤差や制御量などを用いて、制御理論に基づくデジタル演算が行なわれ、これにより次回の制御量が決定される。さらに、PWM回路106でオンデューティ(PWM回路106におけるスイッチング周期のうちオンする時間の割合を示すPWMパルス幅)に変換され、このPWMパルスによりスイッチング回路101が駆動される。一般的には、オンデューティが高ければ(PWMパルス幅が長ければ)、出力されるDC電圧Bは高くなる。
ここで、上述した120A/μsecという負荷の急変に対応するには、制御の間隔(スイッチング周期)として0.5μsec以下が必要とされる。スイッチング周波数でいうと2MHz以上となる。このため、ADC104の変換速度としては、その4倍以上の8Mbpsが必要とされる。また、データ処理部105には、スイッチング周期毎に、制御量を決定することができる動作速度が要求される。
このような動作速度を実現するために、データ処理部105を並列処理のハードワイヤードで構成する場合、ADC104の変換速度の2倍以上が必要とされるので動作周波数は20MHz以上になる。また、データ処理部105をDSP(Digital Signal Processor)で構成する場合、このDSPでは複数命令で1つの動作(処理)が実行されるため、動作周波数は100MHz以上になる可能性がある。
一方、出力電圧(DC電圧B)の最大値を5.0Vとし、分解能を1/1,000である5.0mVとすると、ADC104には10ビット(210=1,024)が必要となる。PWM回路106では、ADC104の分解能の2倍以上の分解能がないと、LSB(Least Significant Bit)で振動を生じる。スイッチング周波数を2MHz以上(500nsec以下)とすると、PWM回路106の分解能は1/2,000である250psec以下(4GHz以上)となる。ここで、PWM回路106において、4GHzの周波数で動作するカウンタを備えることは、通常のCMOSプロセスでは不可能である。例えば0.35μmプロセスはもちろん、現在の最先端である90nmプロセスでも困難である。従って、リングオシレータ(リング発振器)等による遅延時間を利用しないと実現することは困難である。
スイッチング周波数は、低い方ではおよそ100kHzである。従って、スイッチング周期は10μsecとなり、PWM回路106の分解能を200psecとすると、50,000(10,000/0.2)カウントが必要となる。これは、およそ16ビット(216=65,536)であり、非常に広帯域なPWM回路106となる。
ここで、PWM回路106の仕様を、下記のように仮定する。
分解能:195psec
帯域:16ビット
周期:100kHz〜4MHz
出力電圧Bを5.0V、ADC104の分解能を5mVとした場合、デジタル制御電源(DC−DCコンバータ100)のスイッチング周波数とPWM回路106との関係は、図13に示すようになる。
図13は、デジタル制御電源におけるスイッチング周波数とPWM回路との関係を示す図である。
図13には、各スイッチング周波数(SW周波数)に対する、各スイッチング周期(SW周期)と、各PWMカウント数と、各電圧分解能とが示されている。ここで、SW周波数78.1kHzではPWMカウント数は65,536となり、従ってこのカウント数を超えるカウントは困難である(PWM限界)。一方、SW周波数5.12MHzでは電圧分解能は5mVとなり、従ってこの値未満の値では量子化は困難である(量子限界)。
このようなPWM回路において、回路規模を小さく抑えるとともに消費電力を低減するために様々な提案がなされている。
図14は、特許文献1に提案されたPWM回路の構成を示す図である。
図14に示すPWM回路200には、直列接続された64個のインバータ201とアクティブ信号aが入力されるナンドゲート202とからなるリング発振器210と、リング発振器210の奇数段目のインバータ201の出力にそれぞれ接続された32個のインバータ203と、マルチプレクサ204と、変化検出回路205,206と、フリップフロップ207とが備えられている。
このPWM回路200では、アクティブ信号aが入力されるとリング発振器210が動作し、これによりナンドゲート202からの出力の変化(リング発振器210の1周期分の変化)を変化検出回路205で検出してフリップフロップ207がセットされる。また、リング発振器210からの、奇数段目のインバータ201からの出力の論理がインバータ203で反転されてなる出力と偶数段目のインバータ201からの出力とがマルチプレクサ204に入力され、そのマルチプレクサ204で外部からの6ビットで表わされるデジタル信号S0〜S5の論理に応じて選択された出力の変化を変化検出回路206で検出してフリップフロップ207がリセットされる。これにより、デジタル信号S0〜S5の論理に応じたパルス幅を有するPWM信号がフリップフロップ207から出力される。ここで、マルチプレクサ204に入力される信号は、64個のインバータ201および32個のインバータ203(合計96個)で生成すれば済む。例えば、従来の、64個のバッファを直列接続してリング発振器を構成し、これら64個のバッファからの信号をマルチプレクサ204に入力するPWM回路の場合は、128個のインバータが必要である。従って、図14に示すPWM回路200では、従来の、64個のバッファを直列接続してリング発振器を構成したPWM回路と比較し、回路規模を小さく抑えることができるとともに消費電力を低減することができる。
図15は、特許文献2に提案されたPWM回路の構成を示す図である。
図15に示すPWM回路300には、8個の差動バッファ301が直列接続されてなるリング発振器301Aと、セレクタ302と、周期カウンタ303と、PWMカウンタ304と、アンドゲート305と、ノアゲート306,複合ゲート307と、立上り検出回路308,309と、フリップフロップ310とが備えられている。リング発振器301Aでは、各差動バッファ301からの出力の論理が、リング発振器301Aを1周すると反転し、2周目で同一論理となるように動作することにより、16個のデータ(出力)がセレクタ302に入力される。
このPWM回路300では、周期カウンタ303,アンドゲート305,立上り検出回路308を経由してフリップフロップ310がセットされ、またPWMカウンタ304,複合ゲート307,立上り検出回路309を経由してフリップフロップ310がリセットされることによりPWM信号が生成される。
具体的には、PWM信号のパルス幅のセットは、周期カウンタ303の値が‘Fh’(1周期)になるたびに行なわれる。また、周期カウンタ303の値が‘0h’になるたびに、PWMカウンタ304に、上位のデジタル信号S5〜S8の論理値がロード(プリセット)される。
一方、PWM信号のパルス幅のリセットにあたっては、プリセットされた値がPWMカウンタ304でカウントし終わった時点(PWMカウンタ304の値が‘0h’)において、セレクタ302から出力されている値、即ちセレクタ302に入力されている16個のデータのうちの下位のデジタル信号S1〜S4の論理に応じて選択された値が複合ゲート307を経由して立上り検出回路309で検出されてフリップフロップ310がリセットされる。これにより、デジタル信号S1〜S8の論理に応じたパルス幅を有するPWM信号がフリップフロップ310から出力される。
このPWM回路300では、8個の差動バッファ301によりリング発振器301Aが構成されているため、バッファを64個直列接続してリング発振器を構成した場合と比較し、回路規模を小さく抑えることができるとともに消費電力を低減することができる。
特開2000−232346号公報
特開2004−343395号公報
ここで、特許文献1に提案された技術を採用して16ビットのPWM回路を構成する場合、直列接続されたインバータを65,536段用意する必要があるため、回路規模も消費電力も大きくなり、あまり現実的ではない。また、奇数段のインバータの出力にインバータを接続する構成であるため、偶数段のインバータとの遅延時間に誤差が生じるという問題が発生する。さらに、マルチプレクサによる遅れも、誤差の要因となる。
また、PWM周期は、プロセス変動,電源電圧変動,温度変動の影響を受けてしまうという問題がある。ここで、PWM信号のオンデューティだけを必要とする目的であれば問題ないが、スイッチング周期の絶対値が制御性に影響を及ぼすデジタル制御電源には適さないこととなる。
一方、特許文献2に提案された技術は、特許文献1に提案された技術と比較し、回路規模をやや小さく抑えることができるものの、以下の問題がある。
特許文献2に提案された技術を採用して広帯域で且つ高分解能のPWM回路を構成すると、やはり消費電力や回路規模が大きくなるという問題が発生する。また、1段の差動バッファ(以下、単にバッファと記述する)の遅延を200psecとすると、8段のバッファ構成なので313MHz(=1000/(0.2×16))で動作するインバータが16個(バッファは2個のインバータと等価)必要となり、これらのバッファは、図14に示すアクティブ信号aが入力される構成ではないため、常に動作していることになる。
また、周期カウンタ,PWMカウンタも313MHzで動作する必要があり、通常のCMOSプロセスでの実現は容易でない。
また、例えば、0.35μmプロセスで形成された回路でデジタル制御電源のデータ処理を20MHzで行なう場合、20MHzのクロックが基本クロックとなる。50nsecを195psecで分割するので、256段のインバータが必要となる。しかし、インバータの段数は多いものの周波数が低いので、リング発振器としての消費電力はさほど変わらない。問題となるのは、セレクタの回路規模が大きくなることと、常時動作することによる消費電力の増加である。
また、この特許文献2に提案された技術では、周期カウンタの出力信号をアンドゲートに入力し、立上り検出回路を通じてフリップフロップをセットしているが、これら周期カウンタ,アンドゲート,立上り検出回路、フリップフロップには、これらを構成する回路素子等に起因する遅延時間が存在する。このような遅延時間は、バッファの遅延時間に比べて、無視できない遅延時間である。
ここで、図15に示す周期カウンタに入力されるクロックCLKからフリップフロップの出力までの一連のタイミングについて、図16を参照して説明する。
図16は、図15に示す周期カウンタに入力されるクロックCLKからフリップフロップの出力までの一連のタイミングを示す図である。
図16の上半分には、遅延時間が0の場合の理想的な周期カウンタ,アンドゲート,立上り検出回路,フリップフロップの各出力のタイミングが示されている。一方、図16の下半分には、所定の遅延時間を有する実際の周期カウンタ,アンドゲート,立上り検出回路,フリップフロップの各出力のタイミングが示されている。
図16の上半分に示すように、周期カウンタにクロックCLKが入力された場合、理想的には、そのクロックCLKが立上がった時点で、周期カウンタの出力は0から15(0hからFh)に変化する。また、そのクロックCLKが立上がった時点で、アンドゲートの出力もLレベルからHレベルに変化する。さらに、そのクロックCLKが立上がった時点で、立上り検出回路から出力パルスが出力されその立上がりエッジでフリップフロップがセットされて、そのフリップフロップからHレベルのPWM信号が出力される。
しかし、実際には、図16の下半分に示すように、周期カウンタ,アンドゲート,立上り検出回路の各出力は、それぞれ所定の遅延時間だけ遅れて出力されるため、最終的にフリップフロップから出力されるPWM信号は、クロックCLKが立上がった時点から所定の時間(誤差)だけ遅れてHレベル(オンデューティ)となる。従って、PWM回路におけるスイッチング周期のうちオンする時間の割合が短くなることとなる。
さらに、特許文献2に提案された技術では、8個のバッファのうちのいずれかのバッファからの出力(データ)をセレクタで選択してナンドゲートに入力し、立上り検出回路を通じてフリップフロップをリセットしているが、これらセレクタ,ナンドゲート,フリップフロップにも、これらを構成する回路素子等に起因する遅延時間が存在する。この遅延時間が大きいと、誤動作を引き起こす場合がある。例えば、最後のバッファ(データD15用)が選択される場合、セレクタでの遅延時間が、PWMカウンタの遅延時間よりもバッファ1段分の遅延時間(t1〉以上に長いと、ナンドゲートからの出力が打ち消されて立上がり検出回路からリセットが出力されなくなる。バッファ1段分の遅延時間は極めて小さいので、誤動作する可能性は高い。
図17は、セレクタでの遅延時間が、PWMカウンタの遅延時間よりもバッファ1段分の遅延時間(t1)以上に長いため、ナンドゲートからの出力が打ち消される様子を説明するための図である。
図17には、図15に示すセレクタに入力されるデータD0,D15(遅延D0,D15と称する)が示されている。遅延D0は、遅延D15が立上がった時点から、バッファ1段分の遅延時間(t1)だけ遅れて立上がる。これを受けて、PWMカウンタから所定の値(0h)が出力される。
ここで、図17に示すように、望ましいセレクタ出力である場合は、セレクタ出力としてのHレベルが遅延時間(t1)内に出力される。このため、ナンドゲートには、PWMカウンタからの所定の値(0h)と、望ましいセレクタ出力(Hレベル)とが入力される。従って、ナンドゲートからは十分に大きなパルスが出力される。
一方、セレクタ出力が遅い場合は、セレクタ出力としてのHレベルは遅延時間(t1)終了後に出力される。すると、ナンドゲートには、PWMカウンタからの所定の値(0h)と、遅れて出力されたセレクタ出力(Hレベル)とが入力されるため、ナンドゲートからは小さなパルスが出力される。このように小さなパルスでは、立上がり検出回路を駆動することはできず、従ってフリップフロップをリセットすることができないという問題が発生する。
また、特許文献2に提案された技術においても、特許文献1に提案された技術と同様に、PWM周期がプロセス変動,電源電圧変動,温度変動の影響を受けてしまうという問題がある。PWM信号のオンデューティだけを必要とする目的であれば問題ないが、スイッチング周期の絶対値が制御性に影響を及ぼすデジタル制御電源には、やはり適さないこととなる。
本発明は、上記事情に鑑み、回路規模を小さく抑えたまま消費電力の低減化が図られた、広帯域で且つ高分解能なパルス幅変調回路を提供することを目的とする。
上記目的を達成する本発明のパルス幅変調回路は、複数のビットからなる全ビットで表わされる数値に応じたパルス幅のパルス信号を生成して出力するパルス幅変調回路において、
所定クロックを、上記全ビットのうちの最上位側から数えた複数ビットからなる上位ビットで表わされる数値に応じた数だけ計数して上位信号を生成する上位信号生成回路と、
複数の遅延素子が直列に並べられた遅延素子チェーンを有し、上記上位信号生成回路で生成された上位信号をその遅延素子チェーンに入力して遅延させてその上位信号が上記全ビットのうちの上記上位ビットに続く下位側の複数のビットからなる下位ビットで表わされる数値に応じた遅延量だけ遅れた下位信号を生成する遅延信号生成回路と、
上記上位信号生成回路で生成された上位信号と上記遅延信号生成回路で生成された下位信号を合成することにより上記全ビットで表わされる数値に応じたパルス幅のパルス信号を生成して出力する合成回路とを備えたことを特徴とする。
本発明のパルス幅変調回路は、上位ビットで表わされる数値に応じた数だけ所定クロックを計数して上位信号を生成する上位信号生成回路と、生成された上位信号を遅延させて下位ビットで表わされる数値に応じた遅延量だけ遅れた下位信号を生成する遅延信号生成回路と、これら上位信号と下位信号を合成することにより全ビットで表わされる数値に応じたパルス幅のパルス信号を生成する合成回路とを備えたものである。ここで、上位信号生成回路は、所定クロックを計数して上位信号を生成するものであるため、実施形態に示すように簡単な回路構成で済む。また、遅延信号生成回路は、下位ビットで表わされる数値に応じた遅延量だけ遅れた下位信号のみを生成するものであり、合成回路は、上位信号と下位信号を合成するものであるため、やはり実施形態に示すように簡単な回路構成で済む。従って、広帯域(例えば16ビット)のパルス幅変調回路を実現するにあたり、特許文献1に提案された65,536段のインバータを用意する技術や、特許文献2に提案された256段のインバータや回路規模が大きなセレクタを用意する技術と比較し、回路規模を小さく抑えたまま消費電力の低減化が図られる。また、高分解能のパルス幅を有するパルス信号を生成する場合であっても、簡単な回路構成で済むため、特許文献1,2に提案された、回路素子間の遅延時間に起因して誤動作が生じるという問題もなく、高分解能のパルス幅変調回路を実現することができる。
ここで、上記遅延素子チェーンを通過する信号の、基準の遅延量と比べたときの遅速を検出する遅速検出回路と、
上記遅速検出回路より検出された信号の遅速に応じて上記遅延素子チェーンの電源電圧を調整する電源回路とをさらに備えたことが好ましい。
このようにすると、プロセス変動や温度変動があっても、遅延素子チェーンを通過する信号の遅速に応じて、その遅延素子チェーンの電源電圧を調整することにより、遅延素子チェーンを通過する信号の遅延量を、基準の遅延量と同じにすることができる。
また、上記上位信号生成回路は、上記上位信号を生成するとともに、その上位信号の後に基本クロック一周期分だけ空けて参照信号を付加するものであり、
上記遅速検出回路は、上記遅延素子チェーンを通過する上位信号の終端とその遅延素子チェーンをバイパスした参照信号の始端との時間的な前後を比較することにより、その遅延素子チェーンを通過する上位信号の遅延量の遅速を検出するものであることも好ましい態様である。
このようにすると、遅延素子チェーンを通過する信号の遅速を簡単に検出することができる。
さらに、上記遅延素子チェーンを通過する上位信号から、上記下位ビットのうちの最下位ビットを除くビットで表わされる数値に応じた遅延量の遅延信号を抽出し、上記下位ビットのうちの最下位ビットが‘0’であるか‘1’であるかに応じて、それぞれその遅延信号をそのまま下位信号として出力し、又はその遅延信号に最下位ビット‘1’に応じた遅延量の遅延を加えることにより下位信号を生成して出力するものであることも好ましい。
このようにすると、遅延信号生成回路は、下位ビットのうちの最下位ビットを除くビットで表わされる下位信号を生成する回路構成で済む。従って、遅延信号生成回路の回路規模を小さく抑えることができる。
また、上記上位信号生成回路は、上記上位ビットで表わされる数値が‘0’であったときは、数値‘1’と同じ基本クロック1パルス分の上位信号を生成するものであり、
上記合成回路は、上記上位ビットで表わされる数値が‘0’であったときは、上記上位信号と上記下位信号とを合成するにあたり、上記下位ビットで表わされる数値分だけのパルス幅のパルス信号を生成するものであることも好ましい。
このようにすると、後述する実施形態に示すように、下位ビットで表わされる数値分だけのパルス幅のパルス信号を簡単に生成することができる。
本発明によれば、回路規模を小さく抑えたまま消費電力の低減化が図られた、広帯域で且つ高分解能なパルス幅変調回路を提供することができる。
以下、図面を参照して本発明の実施の形態を説明する。
図1は、本発明の一実施形態のパルス幅変調回路の回路構成を示す図である。
図1に示すパルス幅変調回路10は、16ビットからなる全ビット(ビット15〜0)で表わされる数値に応じたパルス幅のパルス信号を生成してPWMパルスとして出力するパルス幅変調回路である。
このパルス幅変調回路10には、基本カウンタ11と上位PWM発生器12が備えられている。これら基本カウンタ11および上位PWM発生器12には、水晶発振器(図示せず)からの20MHzのクロックCLKが入力される。また、上位PWM発生器12には、外部から入力される全ビット15〜0のうちの上位ビット15〜8を表わすデジタル信号S15〜S8が入力される。
基本カウンタ11は、20MHzのクロックCLKをカウントして、上位PWM発生器12に出力する。また、この基本カウンタ11は、所定の設定周期に達したらリセットがかかる同期カウンタである。
上位PWM発生器12は、基本カウンタ11からのカウント値が、“0”から上位ビット15〜8で表わされる数値までの間、基本PWM信号(本発明にいう上位信号に相当)を出力する。
また、この上位PWM発生器12は、この基本PWM信号の後に基本クロック一周期分だけ空けて参照信号を付加する。参照信号については後述する。
さらに、この上位PWM発生器12は、上位ビット15〜8で表わされる数値が‘0’であったときは、HレベルのMINPWM信号を出力するとともに、基本クロック1パルス分の基本PWM信号を生成する。また、この上位PWM発生器12は、上位ビット15〜8で表わされる数値が‘所定の設定周期−1’であったときは、HレベルのMAXPWM信号を出力する。これら基本PWM信号,MINPWM信号,MAXPWM信号は、PWMブロック13に入力される。
PWMブロック13は、通常の電源電圧VDD(システム用の電源電圧)ではなく、後述するPWM電源回路15からの電源電圧VPWMで動作するブロックである。このPWMブロック13から出力されるPWMパルスの幅(オン時間)は、前述した上位ビット15〜8を表わすデジタル信号S15〜S8および後述する下位ビット7〜0を表わすデジタル信号S7〜S0で指定される。
基本PWM信号,MINPWM信号,MAXPWM信号の各電圧は、各レベルシフタ(L/S)131_1,131_2,131_3を介して、電源電圧VPWMに変換される。ここで、レベルシフタ131_1の回路構成について図2を参照して説明する。尚、残りのレベルシフタ131_2,131_3の回路構成も、このレベルシフタ131_1の回路構成と同様である。
図2は、図1に示すレベルシフタ131_1の回路構成を示す図である。
図2に示すレベルシフタ131_1には、電源電圧VDDとグラウンドGNDとの間に直列に接続されたPMOSトランジスタ131_11とNMOSトランジスタ131_12が備えられている。これらPMOSトランジスタ131_11,NMOSトランジスタ131_12のゲートには、電源電圧VDDのレベルで駆動する基本PWM信号が入力される。
また、このレベルシフタ131_1には、電源電圧VPWMとグラウンドGNDとの間に直列に接続されたPMOSトランジスタ131_13とNMOSトランジスタ131_14が備えられている。NMOSトランジスタ131_14のゲートは、PMOSトランジスタ131_11とNMOSトランジスタ131_12の接続点に接続されている。
さらに、このレベルシフタ131_1には、電源電圧VPWMとグラウンドGNDとの間に直列に接続されたPMOSトランジスタ131_15とNMOSトランジスタ131_16が備えられている。PMOSトランジスタ131_13のゲートは、PMOSトランジスタ131_15とNMOSトランジスタ131_16の接続点に接続されるとともに、PMOSトランジスタ131_15のゲートは、PMOSトランジスタ131_13とNMOSトランジスタ131_14の接続点に接続されている。また、NMOSトランジスタ131_16のゲートには、基本PWM信号が入力される。
このレベルシフタ131_1では、PMOSトランジスタ131_11とNMOSトランジスタ131_12からなるインバータで論理が反転された基本PWM信号を電源電圧VPWM側のNMOSトランジスタ131_14で受け取るとともに、入力された基本PWM信号を電源電圧VPWM側のNMOSトランジスタ131_16で受け取ることにより、基本PWM信号のレベル(電源電圧VDDのレベル)を電源電圧VPWMのレベルに変換する。
尚、後述する参照マスク信号が入力されるレベルシフタ131_4や、下位のデジタル信号S7〜S0が入力されるマルチプレクサ134とPWM合成回路136の入力部分の構成も、このレベルシフタ131_1の構成と同様である。
また、PWMブロック13から電源電圧VDD側への信号である後述するVPWM−UP信号,VPWM−DOWN信号が入力されるレベルシフタ14の構成は、図2に示すレベルシフタ131_1における電源電圧VDDと電源電圧VPWMとが逆になる点を除き、レベルシフタ131_1の構成と同じである。
再び図1を参照して説明を続ける。PWMブロック13に入力された基本PWM信号は、レベルシフタ131_1およびノアゲート132_1を経由して、同じ特性を有する遅延インバータ133_1,…,133_257(本発明の複数の遅延素子に相当)を並べたインバータチェーン(本発明にいう遅延素子チェーンに相当)で遅延される。尚、各ノアゲート132_1,132_2は互いに同じ特性を有する。
このような遅延インバータ133_1,…,133_257は、プロセスによるロット間やチップ間の遅延時間ばらつきは大きいものの、チップ内の隣接した遅延インバータ間の遅延時間ばらつきは小さい。また、上述したように、PWMブロック13は、通常の電源電圧VDD(システム用の電源電圧)ではなく、PWM電源回路15からの電源電圧VPWMで動作するブロックであり、従って上記インバータチェーンの電源(電源電圧VPWM)も電源電圧VDDの電源から独立しており、このインバータチェーンを構成する遅延インバータ133_1,…,133_257の遅延時間は、後述するVPWM−UP信号,VPWM−DOWN信号により、PWM周期ごとに電源電圧VPWMの電圧調整が行なわれて基本クロックに合わせ込まれる。
ここで、遅延インバータ133_1,…,133_257を構成するトランジスタサイズは、プロセスの最小ルールではなく、プロセス的に安定なW/L(トランジスタのサイズ比)で決定される。また、遅延インバータ133_1,…,133_257からは正出力と負出力の2種類が出力されるが、それら出力の立上がり時間および立下り時間はほぼ同じに設定される。
遅延インバータ133_1,…,133_257の遅延時間は、電圧を一定とした場合、−40°C〜+90°Cの温度変動とプロセス変動によって変化する。0.35μmプロセスでは、−27%〜+44%程度変化する。これを±35%/Vの電源電圧変動を利用して補正する。
実用的な電圧範囲は2.0V〜3.6Vなので、2.6V(=2.0+1.6×27/71)の標準条件において、分解能195psecの遅延時間とする。これは、PMOSトランジスタのサイズW/L=5.4μm/0.75μm、NMOSトランジスタのサイズW/L=1.8μm/0.75μm程度となる。
遅延インバータ133_1,…,133_257における遅延時間の補正ステップは、量子限界を考慮し、195psecを384分割(=256×1.5)する。電圧変動は68.25psec/Vなので、0.5psec(=195/384)では7.32mVになる。結局、2.0V〜3.6Vを218(=1600/7.32)程度に分割して、デフォルト位置を2.6Vにし、遅延時間が長ければ電圧を上げ、短かければ下げることとする。
遅延インバータ133_1,…,133_255における偶数段(0,2,4,…,254)の出力は、マルチプレクサ134に入力される。マルチプレクサ134には、下位ビット7〜1を表わすデジタル信号S7〜S1も入力されており、遅延インバータ133_1,…,133_255からの出力は、このデジタル信号S7〜S1によって選択されて、マルチプレクサ134からはPWMパルスのうちの下位PWM信号(本発明にいう下位信号に相当)が出力される。ここで、遅延インバータ133_1,…,133_255を並べたインバータチェーン、およびマルチプレクサ134から、本発明にいう遅延信号生成回路が構成される。
本実施形態では、このように、マルチプレクサ134にインバータチェーンの偶数段の出力だけを入力して選択させ、詳細は後述するが、選択後に1段の遅延を入れた出力とそうでない出力とをデジタル信号S0で選択するようにしている。このようにすることにより、マルチプレクサ134の回路規模をおよそ半分に抑えることができる。
尚、マルチプレクサ134は、ロジックで構成してもよいが、以下に説明するパストランジスタ部で構成してもよい。このようにすると、回路規模と遅延時間を小さく抑えることができる。
図3は、図1に示すマルチプレクサを構成する1つのパストランジスタ部の回路構成を示す図、図4は、図3に示すパストランジスタ部を複数備えたマルチプレクサの回路構成を示す図である。
図3に示すパストランジスタ部134_1は、パストランジスタ134_11,134_12から構成されている。各パストランジスタ134_11,134_12には各信号A,Bが入力されるとともに、外部からデジタル信号S*およびそのデジタル信号S*の論理がインバータ134_10で反転されたデジタル信号S*_が入力される。
このパストランジスタ部134_1では、Lレベルのデジタル信号S*が入力された場合は、パストランジスタ134_11に入力されている信号Aが出力信号Cとして出力され、Hレベルのデジタル信号S*が入力された場合は、パストランジスタ134_12に入力されている信号Bが出力信号Cとして出力される。
図4には、図3に示すパストランジスタ部134_1およびインバータ134_2を複数備えたマルチプレクサ134が示されている。ここで、複数のインバータ134_2は同じ特性を有する。
遅延インバータ133_1,…,133_255から出力され、マルチプレクサ134の各パストランジスタ部134_1に入力された各データD0,…,D254は、それらパストランジスタ部134_1に入力された下位のデジタル信号S7〜S1によって順次選択されて、最終的に下位PWM信号が出力される。
再び図1を参照して説明を続ける。図1に示すPWMブロック13には、レベルシフタ131_1およびノアゲート132_2を経由して基本PWM信号が入力されるダミーマルチプレクサ135が備えられている。このダミーマルチプレクサ135からは上位PWM信号が出力される。ここで、レベルシフタ131_1およびノアゲート132_2の遅延時間は、前述したレベルシフタ131_3およびノアゲート132_1の遅延時間と同じ遅延時間に設定されており、またダミーマルチプレクサ135の遅延時間も、マルチプレクサ134の遅延時間と同じ遅延時間に設定されている。このため、マルチプレクサ134から出力される下位PWM信号とダミーマルチプレクサ135から出力される上位PWM信号とは同じ遅延時間となり、その差は遅延インバータによる遅延時間だけとなる。
図5は、図1に示すダミーマルチプレクサの回路構成を示す図である。
図5に示すダミーマルチプレクサ135には、前述した図3に示すパストランジスタ部134_1およびインバータ134_2と同様のパストランジスタ部134_1およびインバータ134_2が備えられている。ここで、2つのインバータ134_2は同じ特性を有する。
ダミーマルチプレクサ135に入力された電源電圧VPWMのレベルを有する基本PWM信号は、各パストランジスタ部134_1およびインバータ134_2を経由して遅延され、最終的に上位PWM信号として出力される。
また、図1に示すPWMブロック13には、最終的なPWMパルスを生成するためのPWM合成回路136(本発明にいう合成回路に相当)が備えられている。このPWM合成回路136には、下位PWM信号と上位PWM信号が入力される。また、レベルシフタ131_2,131_3を経由してMINPWM信号,MAXPWM信号も入力される。さらに、下位のデジタル信号S0も入力される。
ここで、PWMパルスの幅の一部を定める上位のデジタル信号S15〜S8で表わされるデータが‘00h’であったとき、即ち上位ビット15〜8で表わされる数値が‘0’であったときは、MINPWM信号はHレベルとなり、それ以外の場合はMINPWM信号はLレベルとなる。尚、MINPWM信号がHレベルの場合は、例外的に、基本クロック1パルス分の基本PWM信号が生成される。これについては後述する。
また、下位のデジタル信号S0で表わされるデータが‘0h’であったとき(デジタル信号S0がLレベルであったとき)は、下位PWM信号がそのままPWMパルスとなる。一方、下位のデジタル信号S0がHレベルであったときは、下位PWM信号が1個の遅延インバータを経由して、上位PWM信号とオアされ、PWMパルスとなる。
図6は、図1に示すPWM合成回路を構成するコンプリメンタリ出力インバータの回路構成を示す図、図7は、図6に示すコンプリメンタリ出力インバータを備えたPWM合成回路の回路構成を示す図である。
図6に示すコンプリメンタリ出力インバータ136_1には、電源電圧VPWMとグラウンドGNDとの間に直列に接続されたPMOSトランジスタ136_11とNMOSトランジスタ136_12が備えられている。また、電源電圧VPWMとグラウンドGNDとの間に直列に接続されたPMOSトランジスタ136_13とNMOSトランジスタ136_14が備えられている。PMOSトランジスタ136_11のゲートは、PMOSトランジスタ136_13とNMOSトランジスタ136_14の接続点に接続されるとともに、PMOSトランジスタ136_13のゲートは、PMOSトランジスタ136_11とNMOSトランジスタ136_12の接続点に接続されている。また、NMOSトランジスタ136_12のゲートには、入力信号INBが入力されるとともに、NMOSトランジスタ136_14のゲートには、入力信号INBがインバータ136_15を経由して入力される。
このコンプリメンタリ出力インバータ136_1では、入力信号INBとしてLレベルが入力されると、NMOSトランジスタ136_12,136_14がオフ状態,オン状態になり、出力信号OUT,OUTBとしてHレベル,Lレベルが出力される。一方、入力信号INBとしてHレベルが入力されると、NMOSトランジスタ136_12,136_14がオン状態,オフ状態になり、出力信号OUT,OUTBとしてLレベル,Hレベルが出力される。
図7には、図6に示すコンプリメンタリ出力インバータ136_1、およびそのコンプリメンタリ出力インバータ136_1と同じ特性を有するコンプリメンタリ出力インバータ136_2を備えたPWM合成回路136が示されている。また、このPWM合成回路136には、ナンドゲート136_3,136_4と遅延インバータ136_5が備えられている。ここで、ナンドゲート136_3,136_4どうしは同じ特性を有する。また、遅延インバータ136_5は、図1に示す遅延インバータ133_1,…,133_257と同じ特性を有する。
さらに、PWM合成回路136には、ノアゲート136_6,136_7,136_9,136_10,136_12,136_13,136_14,136_18,136_21と、ナンドゲート136_8,136_16,136_17,136_19と、インバータ136_11,136_15,136_20,136_22とが備えられている。
尚、PWM合成回路136に入力されるMINPWM信号は、前述したように、上位のデジタル信号S15〜S8で表わされるデータが‘00h’(上位ビット15〜8で表わされる数値が‘0’)であったときはHレベルとなる信号である。また、MAXPWM信号については後述するが、ここではHレベルであるとして説明する。
ここで、MINPWM信号,MAXPWM信号がLレベル,Hレベルであって、下位のデジタル信号S0がLレベルの場合は、下位PWM信号がそのまま上位PWM信号とオアされてPWMパルスとなる。具体的には、下位PWM信号がナンドゲート136_4,コンプリメンタリ出力インバータ136_1を経由してノアゲート136_6の一方に入力されるとともに、上位PWM信号がナンドゲート136_3,コンプリメンタリ出力インバータ136_2を経由してノアゲート136_6の他方に入力されることにより、そのノアゲート136_6でオアされ、さらにノアゲート136_10,ノアゲート136_13,ノアゲート136_18,ノアゲート136_21,インバータ136_22を経由してPWMパルスとして出力される。
一方、下位のデジタル信号S0がHレベルの場合は、下位PWM信号が1個の遅延インバータを経由して上位PWM信号とオアされてPWMパルスとなる。具体的には、下位PWM信号がナンドゲート136_4,コンプリメンタリ出力インバータ136_1,インバータ136_5を経由してノアゲート136_7の一方に入力されるとともに、上位PWM信号がナンドゲート136_3,コンプリメンタリ出力インバータ136_2を経由してノアゲート136_7の他方に入力されることにより、そのノアゲート136_7でオアされ、さらにノアゲート136_12,ノアゲート136_13,ノアゲート136_18,ノアゲート136_21,インバータ136_22を経由してPWMパルスとして出力される。
尚、MINPWM信号がHレベルの場合は、例外的に、基本PWM信号は‘01h’の時と同じになる。即ち、基本カウンタ11から基本クロックが1つ出力される。ここで、下位のデジタル信号S0がLレベルの場合は、下位PWM信号がそのまま上位PWM信号とアンドされてPWMパルスとなる。具体的には、下位PWM信号がナンドゲート136_4,コンプリメンタリ出力インバータ136_1を経由してナンドゲート136_8の一方に入力されるとともに、上位PWM信号がナンドゲート136_3,コンプリメンタリ出力インバータ136_2を経由してナンドゲート136_8の他方に入力されることにより、そのナンドゲート136_8でアンドされ、さらにノアゲート136_14,インバータ136_15,ナンドゲート136_17,ナンドゲート136_19,インバータ136_20,ノアゲート136_21,インバータ136_22を経由してPWMパルスとして出力される。
一方、下位のデジタル信号S0がHレベルの場合は、下位PWM信号が1個の遅延インバータを経由して上位PWM信号とアンドされてPWMパルスとなる。具体的には、下位PWM信号がナンドゲート136_4,コンプリメンタリ出力インバータ136_1,遅延インバータ136_5を経由してノアゲート136_9の一方に入力されるとともに、上位PWM信号がナンドゲート136_3,コンプリメンタリ出力インバータ136_2を経由してノアゲート136_9の他方に入力されることにより、そのナンドゲート136_9でゼロアンドされ、さらにナンドゲート136_16,ナンドゲート136_17,ナンドゲート136_19,インバータ136_20,ノアゲート136_21,インバータ136_22を経由してPWMパルスとして出力される。
尚、ここでは、インバータチェーンの偶数段(0,2,4,…,254)の出力を、マルチプレクサ134で選択する構成例で説明したが、インバータチェーンからの4段ごと(0,4,8,…,252)の出力を、マルチプレクサ134で選択する構成も可能である。この場合は、PWM合成回路136に3段の遅延インバータを設けて、下位のデジタル信号S1,S0でデコードすればよい。同様に、8段ごと(0,8,16,…,248)の出力を、マルチプレクサ134で選択する構成も可能である。この場合は、PWM合成回路136に7段の遅延インバータを設けて、下位のデジタル信号S2,S1,S0でデコードすればよい。PWM合成回路136の構成はやや複雑になるが、マルチプレクサ134の回路規模を小さく抑えることができる。
また、図1に示す上位PWM発生器12から出力される基本PWM信号には、PWMパルス幅の一部を示す上位のデジタル信号S15〜S8で表わされる値をカウントした後に、1つ分の基本クロックを空けて、半クロック期間だけアクティブな参照信号が付加される。この参照信号は、インバータチェーンの遅延時間を、基本クロックの1周期に同期させることを目的として付加される。この参照信号は、マルチプレクサ134をはじめ、上位PWM信号が通過する回路と同じ回路を通過するため、同期のための基本クロック時間として正確である。
PWMパルス幅の一部を表わす上位のデジタル信号S15〜S8の値が‘PWM周期−1’の場合、MAXPWM信号はHレベルとなる。それ以外の場合は、基本PWM信号の終了後、半クロックから1.5クロックの期間ではMAXPWM信号はLレベルとなる。このLレベルのMAXPWM信号をゲート信号とすることにより、基本PWM信号に付加されている参照信号がインバータチェーンに入るのを防止することができる。また、PWM合成回路136においても、MAXPWM信号を使って上位PWM信号の中の参照信号を削除することができる。
図1に示す遅速検出回路137は、上位PWM信号に付加された参照信号の立上りエッジで、遅延インバータ133_1,…,133_257のうちの遅延インバータ133_255と133_257からの出力を検出する。ここで、遅延インバータ133_255からの出力がまだHレベルであれば遅延時間は遅く、これに対処するためにVPWM−UP信号を出力する。一方、遅延インバータ133_257からの出力が既にLレベルであれば遅延時間は速く、これに対処するためにVPWM−DOWN信号を出力する。
図8は、図1に示す遅速検出回路の回路構成を示す図である。
図8に示す遅速検出回路137には、遅延インバータ133_255からの出力(255段目の信号)が入力されるフリップフロップ137_1と、遅延インバータ133_257からの出力(257段目の信号)が入力されるフリップフロップ137_2が備えられている。また、これらのフリップフロップ137_1,137_2には、上位PWM信号および参照マスク信号が入力される。
ここでは、フリップフロップ137_1におけるホールド時間を0とする。また、フリップフロップ137_2におけるプリセット時間を0とする。双方のフリップフロップ137_1,137_2では、PWMパルス幅の一部を表わす上位のデジタル信号S15〜S8の値が‘PWM周期−1’の場合、参照マスク信号は常にLレベル(イネーブル)となる。それ以外の場合は、基本PWM信号の終了後であってさらに半クロック分の時間経過後に、1.5クロック分の時間だけLレベル(イネーブル)となる。
フリップフロップ137_1は、遅延インバータ133_255からの出力がHレベルであれば、遅延時間が遅いことに対処するためのVPWM−UP信号(アクティブH)を出力する。一方、フリップフロップ137_2は、遅延インバータ133_257からの出力がLレベルであれば、遅延時間が速いことに対処するためのVPWM−DOWN信号(アクティブL)を出力する。これらVPWM−UP信号,VPWM−DOWN信号は、図1に示すレベルシフタ14を経由してPWM電源回路15に入力される。
PWM電源回路15は、入力されたVPWM−UP信号,VPWM−DOWN信号に基づいて、PWMブロック13を動作するための電源電圧VPWMを制御する。これにより、PWM周期ごとに電源電圧VPWMの電圧調整が行なわれて、インバータチェーンを構成する遅延インバータ133_1,…,133_257の遅延時間が基本クロックに合わせ込まれる。
PWM電源回路15の構成としては、例えば、アップ/ダウンカウンタの出力によって、DAコンバータを駆動する構成や、2.0V〜3.6Vの電圧を抵抗分割してデコードする構成がある。得られた電圧は電力増幅(パワーブースト)されて電源電圧VPWMとなる。
ここで、アップ/ダウンカウンタの出力によってDAコンバータを駆動する構成では、通常、アップ/ダウンカウンタから電源電圧VPWMが安定するまでに時間がかかるので、VPWM−UP信号やVPWM−DOWN信号によって次々にアップまたはダウンすると、オーバーシュート/アンダーシュートを生じて振動を起こす可能性がある。そこで、電源電圧VPWMの安定時間ごとにアップ/ダウンする構成を採用することが好ましい。
図9は、図1に示すパルス幅変調回路における主要なタイミングの一例を示す図である。
図9には、PWM周期=2560=0A00h、PWMパルス幅=885=0375hの例が示されている。
目的とするPWMパルスの幅(0375h)は、上位PWM信号が表わす値03hと下位PWM信号が表わす値75hとのオアにより実現されている。また、基本PWM信号には、PWMパルス幅の上位のデジタル信号S15〜S8で表わされる値03hをカウントした後に、1つの基本クロックを空けて、半クロック期間だけアクティブな参照信号が付加されている。即ち、基本PWM信号よりも所定の遅延時間だけ遅れた上位PWM信号に参照信号が付加されている。
ここで、上位PWM信号に付加された参照信号の立上りエッジで、遅延インバータ133_255(255段目)からの出力と遅延インバータ133_257(257段目)からの出力とが検出される。ここでは、255段目からの出力がまだHレベルであるので遅延時間が遅いことに対処するためのVPWM−UP信号が出力されている。尚、255段目からの出力と257段目からの出力とを参照信号で検出する時点では、参照マスク信号はLレベル(イネーブル)となっている。
図10は、図1に示すパルス幅変調回路における主要なタイミングの他の一例を示す図である。
図10には、PWM周期=2560=0A00h、PWMパルス幅=117=0075hの例が示されている。
ここでは、MINPWM信号がHレベルになっており、例外的に、上位PWM発生器12から基本クロックが1つ出力されて基本PWM信号は‘01h’となっている。目的とするPWMパルスの幅(0075h)は、上位PWM信号が表わす値01hと下位PWM信号が表わす値75hとのアンドにより実現されている。
ここで、上位PWM信号に付加された参照信号の立上りエッジで、255段目からの出力と257段目からの出力とが検出される。ここでは、257段目からの出力が既にLレベルであるので遅延時間が速いことに対処するためのVPWM−DOWN信号が出力されている。
図11は、図1に示すパルス幅変調回路における主要なタイミングの更なる他の一例を示す図である。
図11には、PWM周期=2560=0A00h、PWMパルス幅=2421=0975hの例が示されている。
目的とするPWMパルスの幅(0975h)は、上位PWM信号が表わす値09hと下位PWM信号が表わす値75hとのオアにより実現されている。
ここでは、PWMパルス幅の一部を表わす上位のデジタル信号S15〜S8の値が‘PWM周期−1’(0Ah−1=09h)の場合であり、基本PWM信号には参照信号は付加されておらず、このため参照信号がインバータチェーンに入るのを防止するためにMAXPWM信号をLレベルにする必要はなく、従ってMAXPWM信号はHレベルとなっている。