JP2013236295A - 半導体装置、マイクロコントローラ、及び電源装置 - Google Patents

半導体装置、マイクロコントローラ、及び電源装置 Download PDF

Info

Publication number
JP2013236295A
JP2013236295A JP2012108240A JP2012108240A JP2013236295A JP 2013236295 A JP2013236295 A JP 2013236295A JP 2012108240 A JP2012108240 A JP 2012108240A JP 2012108240 A JP2012108240 A JP 2012108240A JP 2013236295 A JP2013236295 A JP 2013236295A
Authority
JP
Japan
Prior art keywords
clock signal
pwm signal
counter
timing
signal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2012108240A
Other languages
English (en)
Inventor
Tadashi Matsushima
正 松島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2012108240A priority Critical patent/JP2013236295A/ja
Publication of JP2013236295A publication Critical patent/JP2013236295A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Dc-Dc Converters (AREA)
  • Pulse Circuits (AREA)

Abstract

【課題】クロック信号の周波数を上げることなくPWM信号の分解能を向上させる。
【解決手段】本半導体装置(1、4)は、相互に位相の異なる複数のクロック信号(CLK_0〜CLK_7)の何れか1つのクロック信号を選択してカウントするとともに、前記カウントしたカウント値と設定されたPWM信号の生成条件とに基づいて決定したタイミングでパルス信号の立ち上がりと立ち下がりを制御することによりPWM信号を生成する。本半導体装置は、前記カウント中にカウントするクロック信号の切り替えが可能にされる。
【選択図】図3

Description

本発明は、半導体装置、マイクロコントローラ、及び電源装置に関し、特にパルス幅変調(PWM:Pulse Width Modulation)信号を生成する半導体装置に適用して有効な技術に関する。
電源制御やモータ制御では、主にPWM信号を用いたPWM制御が行われる。高精度なPWM制御を実現するためには、PWM信号のデューティ比(パルス幅)の分解能を高くする必要がある。例えば、マイクロコントローラ(以下、マイコンとも称する。)によるディジタル信号処理によってフィードバック制御を実現するディジタル制御電源装置では、電源としての実用的な観点から、出力電圧の刻み幅として、入力電圧の1000分の1より小さい刻み幅が要求される。そのため、電源の出力電圧を決めるPWM信号の分解能として1/1000、すなわち10ビット(bit)以上の分解能が要求される。仮に、PWM信号の分解能が8ビット以下になると、フィードバック制御において分解能誤差(量子化誤差)に起因する発振現象が発生する可能性が高くなり、制御特性が著しく不安定になる。
従来、ディジタル制御電源装置では、マイコンのPWM信号生成機能を用いて、基準クロック信号をPWMカウンタで分周することによりPWM信号を生成していた。そのため、例えば1000分の1の分解能を持つ100kHzのPWM信号を生成するには、100MHz(100kHz×1000)の基準クロック信号が必要となる。基準クロック信号としては、例えばDSP等のマイクロコントローラのシステムクロック信号や別の発振器から供給されるクロック信号が用いられる。
PWM信号の分解能の高めるための従来技術として、特許文献1乃至3に開示がある。特許文献1には、位相の異なる4つのクロック信号に基づいて生成した4つのPWM信号を更に論理演算して所望のPWM信号を生成することでPWM信号の分解能を高める技術が開示されている。特許文献2には、所定のクロック信号とその反転信号の2つのクロック信号を夫々カウントする2つのカウンタを用いて生成した2つのPWM信号を更に論理演算することでPWM信号の分解能を高める技術が開示されている。特許文献3には、位相の異なる複数のクロック信号から選択した2つのクロック信号を論理演算してPWM信号を生成することでPWM信号の分解能を高める技術が開示されている。
特開2010−103680号公報 特開2008−92670号公報 特開平11−150456号公報
近年DC/DCコンバータに代表される電源装置のLCフィルタの部品を小型化したいという市場要求がある。特にチョークコイルのインダクタンス値を小さくするためには、PWM信号の周波数を高くする必要がある。また、ディジタル電源制御装置の用途によっては、PWM信号の分解能として10ビットより更に大きい12ビットや14ビットが要求される場合もある。上記のようにシステムクロック信号等を分周してPWM信号を生成する方法において、PWM信号の分解能を上げるためにシステムクロック信号等のクロック周波数を高くすると、消費電力が非常に大きくなるという問題がある。例えば、PWM信号の分解能を14ビットにする場合、PWM信号の周波数の約16000倍ものシステムクロック信号が必要となり、消費電力が非常に大きくなる。この問題を解決するために、例えば特許文献1に記載の技術を適用すると、PWM信号の分解能を上げるためにPWM信号を生成するためのカウンタの数を増やす必要があり、回路規模が増大する。また、特許文献2に記載の技術を適用したとしても、分解能を1ビットから1.5ビット程度しか向上させることができず、分解能を更に向上させることはできない。特許文献3の記載の技術は、前述したように位相の異なる複数のクロック信号から選択した2つのクロック信号を論理演算する方法であり、基準クロック信号を分周してPWM信号を生成する回路に当該方法をそのまま適用することはできない。
このような課題を解決するための手段等を以下に説明するが、その他の課題と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
本願において開示される実施の形態のうち代表的なものの概要を簡単に説明すれば下記のとおりである。
すなわち、本半導体装置は、相互に位相の異なる複数のクロック信号の何れか1つのクロック信号を選択してカウントするとともに、前記カウントしたカウント値と設定されたPWM信号の生成条件とに基づいて決定したタイミングでパルス信号の立ち上がりと立ち下がりを制御することによりPWM信号を生成する。本半導体装置は、前記カウント中にカウントするクロック信号の切り替えが可能にされる。
本願において開示される実施の形態のうち代表的なものによって得られる効果を簡単に説明すれば下記のとおりである。
すなわち、本半導体装置によれば、クロック信号の周波数を上げることなくPWM信号の分解能を向上させることができる。
図1は、本願の代表的な実施の形態に係る半導体装置を例示する説明図である。 図2は、実施の形態1に係る、PWM信号生成回路を内蔵したマイクロコントローラを適用した非絶縁型降圧DC/DCコンバータを例示するブロック図である。 図3は、マイクロコントローラ1の詳細な内部構成を例示するブロック図である。 図4は、PWM信号生成回路10によるPWM信号の高分解能化の概要を説明するための説明図である。 図5は、クロック信号CLK_0〜CLK_7を例示する説明図である。 図6は、クロック信号生成部13の回路構成を例示するブロック図である。 図7は、クロック信号生成部13の別の回路構成を例示するブロック図である。 図8は、カウンタ102のカウント値とそれに応じて生成されるPWM信号を例示する説明図である。 図9は、クロック信号の切り替えが可能な期間を例示する説明図である。 図10は、クロックの立ち上がりエッジでクロック信号を切り替える場合の説明図である。 図11は、クロックの立ち下がりエッジでクロック信号を切り替える場合の説明図である。 図12は、PWM信号の立ち下がりタイミング値を決定する処理の流れ図である。 図13は、PWM信号の立ち下がりタイミングを例示する説明図である。 図14は、PWM信号生成回路10によって生成されるPWM信号を例示する説明図である。 図15は、PWM信号生成回路10によって生成される別のPWM信号を例示する説明図である。 図16は、実施の形態2に係るマイクロコントローラ4の詳細な内部構成を例示するブロック図である。 図17は、カウンタ402のカウント値とそれに応じて生成されるPWM信号を例示する説明図である。 図18は、実施の形態3に係る、PWM信号生成回路を内蔵したマイクロコントローラを適用した非絶縁型昇圧DC/DCコンバータを例示するブロック図である。
1.実施の形態の概要
先ず、本願において開示される代表的な実施の形態について概要を説明する。代表的な実施の形態についての概要説明で括弧を付して参照する図面中の参照符号はそれが付された構成要素の概念に含まれるものを例示するに過ぎない。
〔1〕(カウント中にカウント対象のクロック信号を位相の異なるクロック信号に切り替えるPWM信号生成回路)
本願の代表的な実施の形態に係る半導体装置(1)は、例えば図1に示されるように、相互に位相の異なる複数のクロック信号(CLK_0〜CLK_m−1)を入力し何れか1つのクロック信号を選択して出力する選択部(101)と、前記選択部から出力されたクロック信号をカウントするカウンタ(102(402))とを有する。前記半導体装置は更に、設定されたPWM信号の生成条件と前記カウンタのカウント値とに基づいて決定したタイミングでパルス信号の立ち上がりと立ち下がりを制御することによりPWM信号を生成する信号生成部(103)を有する。前記選択部は、前記カウンタによるカウント動作中に、出力するクロック信号の切り替えが可能にされる。
これによれば、前記カウンタによるカウント動作中にカウント対象のクロック信号を位相の異なる他のクロック信号に切り替えることができるから、切り替え前後のクロック信号の位相差に応じた大きさでPWM信号のパルス幅を調整することができる。これにより、前記カウンタに入力するクロック信号の周波数を上げることなく、PWM信号の分解能を向上させることができる。
〔2〕(カウント動作の詳細)
項1の半導体装置において、前記選択部によるクロック信号の切り替えは、前記カウンタが、前記生成条件としてのPWM信号のパルス幅の目標値と比較するための参照値をカウントしている期間に行われる。
これによれば、前記PWM信号のパルス幅の目標値を変えずに、前記PWM信号のパルス幅をクロック信号の位相差に応じて調整することができる。
〔3〕(相互に位相の異なるクロック信号)
項1又は2の半導体装置において、前記複数のクロック信号は、位相が2π/m(mは2以上の整数)間隔でずれるように生成されたm個のクロック信号を含む。
これによれば、2π/mの位相差に応じた大きさでPWM信号パルス幅が調整可能となる。
〔4〕(クロック信号の切り替えを制御するデータ処理制御部)
項3の半導体装置は、前記PWM信号の生成条件を前記信号生成部に設定するとともに前記カウンタに入力するクロック信号を指示するデータ処理制御部(104)を更に有する。前記選択部は、前記データ処理制御部によって指示されたクロック信号を選択して出力する。また、前記データ処理制御部は、前記カウンタによるカウント動作中に、前記カウンタに入力されているクロック信号を当該クロック信号に対して位相が2πn/mずれたクロック信号(1≦n≦m−1)に切り替えることを指示することにより、前記カウンタに入力されているクロック信号の周期のn/m倍の大きさでPWM信号の立ち上がりタイミング又は立ち下がりタイミングを調整する。
これによれば、PWM信号のパルス幅を前記クロック信号の周期のn/m倍の大きさで容易に調整することができる。
〔5〕(信号生成部の詳細構成)
項4の半導体装置において、前記信号生成部は、PWM信号の立ち上がりタイミングを指定する第1情報(立ち上がりタイミング値)とPWM信号の立ち下がりタイミングを指定する第2情報(立ち下がりタイミング値)とを含む前記生成条件を格納するためのレジスタ(1031、1034、1035)を有する。更に、前記信号生成部は、前記レジスタの値と前記カウンタのカウント値とを比較し、その比較結果に基づいてPWM信号の立ち上がりタイミングと立ち下がりタイミングを指示する比較部(1032)と、前記比較部からの指示に応じて信号レベルを切り替えることによりPWM信号を生成するパルス生成部(1033)とを有する。
これによれば、特許文献1や特許文献2のように、カウンタの数を増加させることなく、PWM信号の分解能を容易に向上させることができる。
〔6〕(鋸型カウント動作:図8)
項5の半導体装置において、前記カウンタ(102)は所定数までカウントしたらカウント値をリセットしてカウントを再開するカウント動作を行う。また、前記比較部は、前記カウンタのリセットによってPWM信号の立ち上がりタイミングを決定するとともに、前記カウンタのカウント値と前記レジスタに格納された前記第2情報との一致を条件としてPWM信号の立ち下がりタイミングを決定する。
これによれば、PWM信号の立ち下がりにおいて、PWM信号のパルス幅を制御することが容易となる。
〔7〕(パルス幅の設定)
項5又は6の半導体装置において、前記データ処理制御部は、前記カウンタに入力されているクロック信号の周期のA倍(Aは1以上の自然数)よりも当該周期のn/m倍だけ大きいパルス幅のPWM信号を生成する場合、前記周期のA倍のパルス幅に応じた前記第1情報及び前記第2情報を前記レジスタに設定するとともに、前記カウンタに入力されているクロック信号に対して位相が2πn/m遅れたクロック信号に切り替えることを指示する。
これによれば、PWM信号のパルス幅を前記クロック信号の周期のn/m倍の大きさで容易に調整することができる。
〔8〕(切り替え前後で位相差がπを超える場合の処理)
項7の半導体装置において、前記データ処理制御部は、前記カウンタに入力されているクロック信号と次に前記カウンタに入力されるクロック信号との位相差がπを超える場合、前記周期のA倍のパルス幅に応じた立ち下がりタイミングを示す値に1カウント分の値を加算した情報を前記第2情報として設定する。
これによれば、位相差がπを超えた場合でも、前記クロック信号の周期のA倍よりも当該周期のn/m倍だけ大きいパルス幅のPWM信号を容易に生成することができる。
〔9〕(山型カウント動作:図17)
項5の半導体装置において、前記カウンタ(402)は、所定の周期でアップカウントとダウンカウントを繰り返すカウント動作を行う。また、前記比較部は、前記カウンタによるアップカウントの期間にPWM信号の立ち上がりタイミングを決定するとともに、前記カウンタによるダウンカウントの期間にPWM信号の立ち下がりタイミングを決定する。
これによれば、PWM信号の立ち下がりタイミングのみならず立ち上がりタイミングにおいても、PWM信号のパルス幅を前記クロック信号の周期のn/m倍の大きさで調整することが容易となる。例えば、PWM信号のパルス幅のみならず位相をずらして制御するアプリケーションに適用すると特に有効である。
〔10〕(クロック信号の切り替えタイミング)
項5乃至9の何れかの半導体装置において、前記データ処理制御部は、前記カウンタのカウント値が前記レジスタに設定した前記第2情報に一致する前にクロック信号の切り替えを指示する。
〔11〕(クロック生成回路)
項1乃至10の何れかの半導体装置において、前記複数のクロック信号を生成するクロック信号生成部(13)を更に有する。
〔12〕(リングオシレータ:図6、7)
項11の半導体装置において、前記クロック信号生成部は、複数の遅延素子が多段接続されて構成されるリングオシレータである。前記複数のクロック信号は、前記リングオシレータにおける前記複数の遅延素子の夫々の出力信号に基づいて生成される。
これによれば、相互に位相の異なる複数のクロック信号を容易に生成することができる。特に、高精度の周波数のPWM信号が要求されない電源装置に適用すれば、外部に水晶発振器等の回路を設ける必要がないので、電源装置のコストの低減に資する。
〔13〕(PWM信号生成機能を備えるマイクロコントローラ)
本願の代表的な別の実施の形態に係るマイクロコントローラ(1、4)は、演算処理を行うプロセッサコア(11)と、前記プロセッサコアによる演算処理によって算出されたPWM信号の生成条件とカウンタ(102、402)によるカウント値とに基づいて、パルス信号の立ち上がりタイミングと立ち下がりタイミングを制御することによりPWM信号を生成するPWM信号生成部(10)と、を有する。前記PWM信号生成部は、前記生成条件としてのPWM信号のパルス幅の目標値と比較するための参照値をカウントしているカウント動作中に、カウント対象のクロック信号を当該カウントしているクロック信号と位相の異なるクロック信号に切り替えることにより、PWM信号の立ち上がりタイミング又は立ち下がりタイミングを調整する。
これによれば、従来のマイクロコントローラにおけるPWM信号生成回路に対して大きな回路変更を加えることなく、前記複数のクロック信号の位相差に応じた大きさでPWM信号のパルス幅を調整する機能を実現することができる。
〔14〕(相互に位相の異なるクロック信号)
項13のマイクロコントローラにおいて、前記PWM信号生成部は、位相が2π/m(mは2以上の整数)間隔でずれるように生成されたm個のクロック信号(CLK_0〜CLK_7)を前記カウント対象のクロック信号とする。
これによれば、2π/mの位相差に応じた大きさでPWM信号パルス幅を調整することができる。
〔15〕(クロック信号切り替えによるPWM信号のパルス幅の調整方法)
項14のマイクロコントローラにおいて、前記PWM信号生成部は、前記カウント動作中に前記カウンタに入力されているクロック信号を当該クロック信号に対して位相が2πn/mずれたクロック信号(1≦n≦m−1)に切り替えることにより、前記カウンタに入力されているクロック信号の周期のn/m倍の大きさでPWM信号の立ち上がりタイミング又は立ち下がりタイミングを調整する。
これによれば、PWM信号のパルス幅を前記クロック信号の周期のn/m倍の大きさで容易に調整することができる。
〔16〕(DC/DCコンバータ)
本願の代表的な別の実施の形態に係る電源装置(3、5)は、項13乃至15の何れかのマイクロコントローラと、前記マイクロコントローラによって生成されたPWM信号に基づいて電圧を生成する電圧生成部(2、5、20、21)と、を有する。
これによれば、クロック信号の周波数を上げることなくPWM信号の高分解能化が可能となるので、電源装置の消費電力の増加を抑えつつ、より精度の高い電圧制御が可能となる。
2.実施の形態の詳細
実施の形態について更に詳述する。
≪実施の形態1≫
図2に、本実施の形態に係るマイクロコントローラを適用した非絶縁型降圧DC/DCコンバータを例示する。同図に示される非絶縁型降圧DC/DCコンバータを構成する電源装置3は、マイクロコントローラ1と、マイクロコントローラ1によるディジタル信号処理によって負帰還制御される電圧生成部20とを備える。前記電圧生成部20は、例えばパワーMOSトランジスタから構成される駆動素子Tr1、Tr2と、前記駆動素子Tr1、Tr2を駆動するドライバ部2と、コイルL及びキャパシタCから構成される平滑回路と、から構成される。電源装置3において、前記駆動素子Tr1、Tr2が交互にオン/オフするようにドライバ部2によって駆動されることにより、入力電圧Vinを変換した電圧が前記平滑回路によって直流に整流され、入力電圧Vinよりも低い出力電圧Voutとして出力される。この出力電圧Voutによって種々の負荷素子(例えば抵抗RL)が駆動される。このとき、出力電圧Voutは目標とする電圧と等しくなるようにマイクロコントローラ1によって制御される。
マイクロコントローラ1は、特に制限されないが、公知のCMOS集積回路の製造技術によって1個の単結晶シリコンのような半導体基板に形成される。マイクロコントローラ1は、例えば、電源コントローラ専用ICや汎用MCU(Micro Control Unit)等である。マイクロコントローラ1は、例えば、PWM信号生成回路10、制御演算部11、アナログ/ディジタル変換器(ADC)12、及びクロック信号生成部(OSC)13を含んで構成される。
マイクロコントローラ2による出力電圧Voutの具体的な制御方法について、図3を用いて詳細に説明する。図3は、マイクロコントローラ1の詳細な内部構成を例示するブロック図である。
先ず、電源装置3の出力電圧Voutがアナログ/ディジタル変換器12に入力される。アナログ/ディジタル変換器12は、入力された電圧をディジタル値に変換して制御演算部11に与える。制御演算部11は、ROMやRAM等に格納されたプログラムにしたがってデータ処理を行うCPU等のプログラム処理装置であり、例えば、ディジタル信号処理に特化したDSP(Digital Signal Processor)である。誤差演算部110及びPWM算出部111は、制御演算部11によるプログラム処理によって実現される機能実現手段である。具体的には、誤差算出部110は、電源装置3の目標とする出力電圧(設定電圧)と、アナログ/ディジタル変換器12から出力された出力電圧Voutのディジタル値との差の情報(エラー情報)に基づいて、微分・積分演算(積和演算)を行って駆動素子Tr1、Tr2を駆動するための操作量を算出する。PWM算出部111は、誤差算出部110によって算出された前記操作量に基づいて、前記操作量に応じたPWM信号のデューティ比を算出し、算出したデューティ比の情報をPWM信号生成回路10に与える。
PWM信号生成回路10は、制御演算部11によって算出された前記デューティ比の情報に基づいて、パルス信号の立ち上がりタイミングと立ち下がりタイミングを制御することによりPWM信号を生成する。生成されたPWM信号はドライバ部2に入力され、ドライバ部2が前記PWM信号に基づいて駆動素子Tr1、Tr2を駆動することにより、出力電圧が目標値になるように制御される。
次に、PWM信号生成回路10によるPWM信号の生成方法について説明する。なお、本実施の形態では、理解を容易にするため、10ビットを“1024”ではなく“1000”と簡略化して説明する。
PWM信号生成回路10は、クロック信号をカウンタによって分周することによりPWM信号を生成する。
例えば、(1000×fp)の周波数のクロック信号を分周することにより周波数fpのPWM信号を生成し、1000分の1(10ビット)のPWM信号の分解能を実現する。PWM信号の分解能を更に向上させるため、PWM信号生成回路10は更に、カウント動作中にカウント対象のクロック信号を位相の異なる別のクロック信号に切り替える機能を備える。
図4は、PWM信号生成回路10によるPWM信号の高分解能化の概要を説明するための説明図である。同図には、カウント対象のクロック信号として、クロック信号200と、クロック信号200よりも位相が2π/8遅れたクロック信号201と、クロック信号200よりも位相が(2π×7/8)遅れたクロック信号202が示される。ここでは、PWM信号の周波数をfpとし、夫々のクロック信号200〜202の周波数を(1000×fp)とする。
クロック信号200〜202を夫々別個に、カウンタによってN分周(Nは1以上の整数)すると、参照符号203〜206に示されるPWM信号を生成することができる。例えば、PWM信号203は、クロック信号200をN分周して生成したPWM信号であり、PWM信号204は、クロック信号201をN分周して生成したPWM信号であり、PWM信号205はクロック信号202をN分周して生成したPWM信号である。また、PWM信号206は、PWM信号203よりもクロック信号200の1周期分遅れたタイミングでクロック信号200をN分周して生成したPWM信号である。このように、クロック信号200〜202をN分周することにより、パルス幅(N×Tc)のPWM信号203〜206を生成することができる。しかしながら、この方法では、クロック信号203〜206の1周期(=Tc)の整数倍の間隔でしかPWM信号のパルス幅を調整することができず、この方法によるPWM信号の分解能は、1000分の1(10ビット)となる。そこで、PWM信号生成回路10は、前述したように、カウント動作中にカウント対象のクロック信号を位相の異なる別のクロック信号に切り替えることにより、PWM信号のパルス幅を調整する。例えば、相互に位相が2π/8毎にずれるように生成された8個(2個)のクロック信号の中でカウント対象のクロック信号を切り替えることにより、パルス幅(N×Tc)からパルス幅((N+1)×Tc)の間で、例えば(Tc×1/8)〜(Tc×7/8)の大きさでパルス幅を調整することが可能となる。例えば、図4において、参照符号207で示される信号は、クロック信号200をカウントしている途中でカウント対象のクロック信号をクロック信号201に切り替えて生成したPWM信号であり、参照符号208で示される信号は、クロック信号200をカウントしている途中でカウント対象のクロック信号をクロック信号202に切り替えて生成したPWM信号である。すなわち、PWM信号生成回路10は、分周による10ビットの分解能に加え、カウント対象のクロック信号の切り替えにより分解能を例えば3ビット向上させて、全体で13ビットのPWM信号の分解能を実現する。
PWM信号生成回路10について更に詳細に説明する。図3に示されるように、PWM信号生成回路10は、例えば、選択部101、カウンタ102、信号生成部103、及びデータ処理制御部104を含んで構成される。選択部101は、入力したm個(mは2以上の自然数)のクロック信号CLK_0〜CLK_m−1の中から選択信号SELによって指示されたクロック信号を選択し、クロック信号CLK_Xとして出力する。前記クロック信号CLK_0〜CLK_m−1は、例えば、相互に位相が異なるクロック信号であり、例えば、クロック信号CLK_0を基準として位相が2π/m毎にずれるように生成される。なお、本実施の形態では、特にそうでない旨明記した場合を除き、相互に位相の異なる8個(m=8)のクロック信号CLK_0〜CLK_7が選択部101に入力される場合を例として説明するが、選択部101に入力されるクロック信号の個数は特に制限されない。
図5にクロック信号CLK_0〜CLK_7の一例を示す。同図に示されるように、クロック信号CLK_1〜CLK_7は、クロック信号CLK_0を基準として位相が2π/8毎にずれるように生成された信号である。特に制限されないが、クロック信号CLK_0〜CLK_7は、例えば同一の周波数とされ、その周波数は100MHzであり、生成されるPWM信号の周波数は100kHzであるとする。
クロック信号CLK_0〜CLK_7は、クロック信号生成部13によって生成され、選択部101に出力される。クロック信号生成部13としては、例えば図6や図7に示される回路構成を採用することができる。
図6は、クロック信号生成部13の回路構成を例示するブロック図である。同図に示されるように、クロック信号生成部13は、例えば、複数の遅延素子DLYが多段接続されて構成されるリングオシレータである。遅延素子DLYは、例えば、偶数個のインバータから構成され、夫々の遅延素子の遅延量はゲート電流調整回路130によって調整される。これによれば、クロック信号生成部13をシステムクロック信号を生成する回路と共用することで、システムクロックを生成する回路とクロック信号CLK_0〜CLK_7を生成する回路を別個に設ける必要がなく、チップ面積を低減することができる。
図7は、クロック信号生成部13の別の回路構成を例示するブロック図である。同図に示されるように、クロック信号生成部13は、例えば、前述の図5のリングオシレータに、クロック信号の出力と停止を制御するイネーブル機能を備えた回路構成とされる。論理積回路ANDにイネーブル信号ENを入力することで、クロック信号CLK_0〜CLK_7の出力と停止が制御される。このとき、例えばイネーブル信号ENをカウンタ102にも入力して、カウンタ102の動作を停止させることが望ましい。図7の回路構成によれば、システムクロックを生成する回路を別途設ける必要はあるが、マイクロコントローラ1における別の回路がシステムクロック信号で動作しているときにPWM信号を生成しない場合に、システムクロック信号とは別にクロック信号CLK_0〜CLK_7の出力と停止が制御できるから、消費電力を低減することができる。なお、クロック信号生成部13は、図6や図7の回路構成に限定されず、相互に位相の異なる複数のクロック信号を生成することができれば、他の回路構成であってもよい。
選択部101によって選択されたクロック信号CLK_Xは、PWM設定レジスタ1031、比較器1032、及びパルス生成部1033から成る信号生成部103と、カウンタ102とに入力される。カウンタ102は、入力されたクロック信号CLK_Xをカウントする。そのカウント値はPWM信号のパルス周期及びパルス幅を決定するために使用される。カウンタ102は、例えば10ビットのカウンタである。本実施の形態では、カウンタ102は、例えばクロック信号CLK_Xの立ち上がりエッジをカウントし、0から999までカウントすることができるものとする。
PWM設定レジスタ1031は、生成すべきPWM信号の生成条件が設定される。具体的には、PWM設定レジスタ1031は、PWM信号の立ち上がりタイミングを指定する値(立ち上がりタイミング値)を格納するための立ち上がりレジスタ(Tr_REG)1034と、PWM信号の立ち下がりタイミングを指定する値(立ち下がりタイミング値)を格納するための立ち下がりレジスタ(Tf_REG)1035とを備える。なお、PWM設定レジスタ1031には、その他の制御レジスタ等が含まれても良い。前記立ち上がりタイミング値及び前記立ち下がりタイミング値は、カウンタ102のカウント値と比較される値であり、例えばデータ処理制御部104によって設定される。PWM設定レジスタ1031の設定値の書換えは、例えばクロック信号CLK_Xに同期して行われる。
比較器1032は、カウンタ102のカウント値と、立ち上がりレジスタ1034及び立ち下がりレジスタ1035に設定された値とを比較し、比較結果に応じてPWM信号の立ち上がりタイミングと立ち下がりタイミングをパルス生成部1033に指示する。比較器1032は、例えばクロック信号CLK_Xに同期して動作する。パルス生成部1033は、比較器1032からの指示に応じて信号レベルを切り替えることによりPWM信号を生成する。例えば、カウンタ102のカウント値が前記立ち上がりタイミング値と一致すると、比較器1032がPWM信号の信号レベルをハイ(High)レベルにするようにパルス生成部1033に指示し、その指示に応じてパルス生成部1033がPWM信号の信号レベルをハイレベルにする。その後、カウンタ102のカウント値が前記立ち下がりタイミング値と一致すると、比較器1032がPWM信号の信号レベルをロー(Low)レベルにするようにパルス生成部1033に指示し、その指示に応じてパルス生成部1033がPWM信号の信号レベルをローレベルにする。
前述したように、PWM信号生成回路10ではカウンタ102によるカウント対象のクロック信号CLK_Xが切替え可能とされる。以下、クロック信号CLK_Xの切替えによるPWM信号のデューティ比の調整方法について詳細に説明する。
図8は、カウンタ102のカウント値とそれに応じて生成されるPWM信号を例示する説明図である。同図では、前記立ち上がりタイミング値を“0”とし、前記立ち下がりタイミング値を“100”とした場合が例示される。同図には、クロック信号CLK_Xとしてクロック信号CLK_0のみを用いて生成したPWM信号210と、カウンタ102によるカウント動作中にクロック信号CLK_Xをクロック信号CLK_0からクロック信号CLK_1に切り替えて生成したPWM信号211とが例示される。
PWM信号PWM_0は以下のように生成される。例えば、同図に示されるように、カウンタ102のカウント値がオーバーフローしてリセットされ、カウント値が“0”となるタイミングt10で、PWM信号210の信号レベルがハイレベルになる。その後、タイミングt12でカウンタ102のカウント値が“100”となり前記立ち下がりタイミング値“100”と一致すると、PWM信号210の信号レベルがローレベルとなる。これにより、パルス幅が“100Tc”のPWM信号210が生成される。なお、Tcはクロック信号CLK_0(CLK_1〜CLK_7)の周期である。
一方、PWM信号211は以下のように生成される。図8に示されるように、カウンタ102のカウント値がオーバーフローしてリセットされ、カウント値が“0”となるタイミングt10で、PWM信号211の信号レベルがハイレベルになる。その後、例えばタイミングt11でカウント対象のクロック信号CLK_Xがクロック信号CLK_0からクロック信号CLK_1に切り替わる。カウンタ102は、引き続きクロック信号CLK_1をカウントする。そして、タイミングt13でカウンタ102のカウント値が“100”となり前記立ち下がりタイミング値“100”と一致すると、PWM信号211の信号レベルがローレベルとなる。すなわち、カウント動作中に、カウント対象のクロック信号CLK_Xが、クロック信号CLK_0から当該クロック信号よりもよりも位相が2π/8遅れたクロック信号CLK_1に切り替わったことにより、カウント値が“100”となるタイミングがクロック信号CLK_0をカウントし続けた場合のタイミングt12よりも“Tc/8”だけ遅れる。これにより、パルス幅が“100Tc+Tc/8”となるPWM信号211が生成される。このように、カウント動作中にカウント対象のクロック信号CLK_Xを切り替えることにより、“Tc/m”の大きさでPWM信号のパルス幅を調整することが可能となる。例えば、クロック信号CLK_Xをクロック信号CLK_0〜CLK_7の中で切り替えることにより、100Tcや101Tcのパルス幅のPWM信号だけでなく、(100+1/8)Tc、(100+2/8)Tc、・・・(100+6/8)Tc、(100+7/8)Tcのパルス幅のPWM信号を生成することができる。
上述したクロック信号CLK_Xの切替えは、データ処理制御部104によって制御される。データ処理制御部104は、制御演算部11におけるPWM算出部111によって算出された前記デューティ比の情報に基づいて、前記立ち上がりタイミング値及び前記立ち下がりタイミング値をPWM設定レジスタ1031に設定するとともに、クロック信号CLK_Xの切替えを選択部101に指示する。
データ処理制御部104について詳細に説明する。データ処理制御部104は、例えば、位相切替タイミング生成部1041、レジスタ設定部1042、判定部1043、及び位相選択部1044から構成される。
レジスタ設定部1042は、PWM算出部111によって算出された前記デューティ比の情報に基づいて、前記立ち上がりタイミング値及び前記立ち下がりタイミング値を決定し、PWM設定レジスタ1031に設定する。前記デューティ比の情報には、例えば生成すべきPWM信号のパルス幅を示す値(以下、パルス幅値)が含まれる。前記パルス幅値は、PWM信号生成回路10によって生成されるPWM信号の分解能に応じたビット数で表現されたパルス幅の値である。本実施の形態では、前記パルス幅値は、例えば13ビットで表されるパルス幅の値とする。レジスタ設定部1042は、PWM算出部111から前記パルス幅値を受け取ると、前記立ち上がりタイミング値を立ち上がりタイミングレジスタ1034に設定する。特に限定されないが、本実施の形態では、PWM信号の立ち上がりタイミングはカウンタ102のリセットに応じて決定されるものとする。したがって、本実施の形態では、前記立ち上がりタイミング値は、例えば、カウント102のカウント値がオーバーフローしてリセットされたときの値“0”とし、PWM信号生成回路10の起動時に初期設定され、PWM算出部111によって算出される前記デューティ比の情報によらない固定値とする。レジスタ設定部1042は更に、受け取った前記パルス幅値に基づいて前記立ち下がりタイミング値を決定し、立ち下がりタイミングレジスタ1035に設定する。前記立ち下がりタイミング値の詳細な決定方法については後述する。
判定部1043は、PWM算出部111から出力された前記パルス幅値のうち下位ビットの値に基づいて、後述する判定処理を行うとともに、当該下位ビットの値を位相選択部1044に出力する。例えば、判定部1043は、13ビットの前記パルス幅値のうち下位3ビットの値を位相選択部1044に与える。位相選択部1044は、受け取った前記下位ビットの値に基づいて、クロック信号CLK_0〜CLK_7のうち選択すべきクロック信号CLK_Xを決定し、位相切替タイミング生成部1041に対して前記決定したクロック信号への切り替えを指示する。また、位相選択部1044は、決定したクロック信号を示す値を内部に備える位相設定レジスタ1045に設定する。具体的には、位相選択部1044は、例えば前記パルス幅値の下位3ビットの値が “0(10進数表示)”であった場合には、クロック信号CLK_0の選択を指示するとともにクロック信号CLK_0を示す値を位相設定レジスタ1045に設定する。また、下位3ビットの値が“1(10進数表示)”であった場合には、クロック信号CLK_1の選択を指示するとともにクロック信号CLK_1を示す値を位相設定レジスタ1045に設定し、下位3ビットの値が“7”であった場合には、クロック信号CLK_7の選択を指示するとともにクロック信号CLK_7を示す値を位相設定レジスタ1045に設定する。位相選択部1044は更に、カウンタ102のカウント値を監視し、例えばカウンタ102がリセット(カウント値が“0”)される毎に、位相設定レジスタ1045の値を初期値に戻すとともに、当該初期値に対応するクロック信号の選択を指示する。特に制限されないが、本実施の形態では、位相設定レジスタ1045の初期値を“0”とし、初期状態では、位相選択部1044はクロック信号CLK_0の選択を指示するものとする。
位相切替タイミング生成部1041は、位相選択部1044からの指示に応じて、選択信号SELを所定のタイミングで出力し、カウント対象のクロック信号を切り替える。
図9は、クロック信号の切り替えが可能な期間を例示する説明図である。同図に示されるように、立ち下がりタイミングレジスタ1035に設定された前記立ち下がりタイミング値を“M”としたとき、カウンタ値のリセット後の1カウント目から(M−1)カウント目までの期間の何れかのタイミングでクロック信号を切り替えれば、所望のパルス幅のPWM信号が得られる。すなわち、クロック信号を切り替えるタイミングは、カウント動作が開始された後、カウント値がPWM設定レジスタ1031に設定された前記パルス幅情報の値と一致するまでの期間であれば、何れのタイミングでも良い。ここでは、1クロック目の立ち上がりエッジ又は立ち下がりエッジでクロック信号を切り替える場合を例として説明する。
図10は、立ち上がりエッジでクロック信号を切り替える場合の説明図である。同図では、説明の容易化のため、位相が2π/4毎にずれるように生成された4個のクロック信号CLK_A〜CLK_Dが選択部101に入力される場合を例示している。クロック信号CLK_A〜CLK_Dの夫々の周期をTとする。同図に示されるように、例えばクロック信号CLK_Aをカウント対象のクロック信号CLK_Xとしてカウント動作が開始され、クロック信号CLK_Aの1カウント目となるタイミングt20でクロック信号をクロック信号CLK_B〜CLK_Dの何れかに切り替える。なお、このタイミングでは、カウンタ102はクロック信号CLK_Aの立ち上がりエッジを検出しないものとする。例えば、上記タイミングt20でクロック信号CLK_Bに切り替えた場合、クロック信号CLK_Bが立ち上がるタイミングt21でカウンタ102のカウント値が“1”となる。これにより、カウンタ102のカウント値が“1”となるタイミングが、クロック信号CLK_Aをカウントし続けた場合に比べて“T/4”だけ遅れる。また、上記タイミングt20でクロック信号CLK_Cに切り替えた場合、クロック信号CLK_Cが立ち上がるタイミングt22でカウンタ102のカウント値が“1”となる。これにより、カウンタ102のカウント値が“1”となるタイミングが、クロック信号CLK_Aをカウントし続けた場合に比べて“T/2”だけ遅れる。更に、上記タイミングt20でクロック信号CLK_Cに切り替えた場合、当該タイミングではクロック信号CLK_Cがハイレベルであるので、当該タイミングでカウンタ102のカウント値が“1”となり、その後、クロック信号CLK_Cが再び立ち上がるタイミングt23でカウンタ102のカウント値が“2”となる。この場合、クロック信号CLK_Xの位相がクロック信号CLK_Aに対して2π/4だけ進むが、目的とするカウント値(“1”)に対して”+1”したカウント値(”2”)となるタイミングt23を見れば、クロック信号CLK_Aをカウントし続けた場合に比べて“3T/4”だけ位相が遅れたことになる。
図11は、立ち下がりエッジでクロック信号を切り替える場合の説明図である。同図は、図10と同様に、位相が2π/4毎にずれるように生成された4個のクロック信号CLK_A〜CLK_Dが選択部101に入力される場合が例示される。図11に示されるように、例えばクロック信号CLK_Aをカウント対象のクロック信号CLK_Xとしてカウント動作が開始され、1カウント目の後のクロック信号CLK_Aが立ち下がるタイミングt30で、カウント対象のクロック信号CLK_Xをクロック信号CLK_B〜CLK_Dの何れかに切り替える。例えば、上記タイミングt30でクロック信号CLK_Bに切り替えた場合、クロック信号CLK_Bが立ち上がるタイミングt33でカウンタ102のカウント値が“2”となる。これにより、カウンタ102のカウント値が“2”となるタイミングが、クロック信号CLK_Aをカウントし続けた場合のタイミングt32に比べて“T/4”だけ遅れる。また、上記タイミングt30でクロック信号CLK_Cに切り替えた場合、クロック信号CLK_Cが立ち上がるタイミングt34でカウンタ102のカウント値が“2”となる。これにより、カウンタ102のカウント値が“1”となるタイミングが、クロック信号CLK_Aをカウントし続けた場合のタイミングt32に比べて“T/2”だけ遅れる。更に、上記タイミングt30でクロック信号CLK_Dに切り替えた場合、当該タイミングではクロック信号CLK_Dがローレベルであるので一旦クロック信号CLK_Xは立ち下がり、次のタイミングt31で再びクロックCLK_Xが立ち上がり、カウント値が“2”となる。そして、クロック信号CLK_Xがタイミングt33で一旦立ち下がった後、タイミングt35で再び立ち上がると、カウンタ102のカウント値が“3”となる。この場合、クロック信号CLK_Xの位相がクロック信号CLK_Aに対して2π/4だけ進むが、目的とするカウント値(”2”)に対して”+1”したカウント値(例えば”3”)となるタイミングt35を見れば、クロック信号CLK_Aをカウントし続けた場合に比べて“3T/4”だけ位相が遅れたことになる。
上記図10及び図11に示したように、切り替え前後のクロック信号の位相差が“π”を超える場合には、目標とするタイミングで所望の位相遅れが得られない。そこで、PWM信号生成回路10は、クロック信号の切り替え前後の位相差に応じて、立ち下がりタイミングレジスタ1035に設定する前記立ち下がりタイミング値を調整する。具体的には、データ処理制御部104における判定部1043が、PWM算出部111によって算出された前記パルス幅値に基づいて、クロック信号の切り替え前後の位相差が“π”を超えるか否かを判別する。そして、その判別結果に基づいてレジスタ設定部1042が前記立ち下がりタイミング値を決定する。
図12に、前記立ち下がりタイミング値を決定する処理の流れ図を例示する。同図に示されるように、先ず、PWM算出部111によって算出された前記パルス幅値が判定部1043に入力される(S101)。判定部1043は、前記パルス幅値に基づいて、クロック信号の切り替え前後の位相差がπを超えるか否かを判定する(S102)。例えば、判定部1043は、前記パルス幅値の下位3ビットの値が“4(10進数表示)”以下であるか否かを判定する。下位3ビットの値が4以下である場合(位相差がπを超えない場合)には、レジスタ設定部1042は、前記パルス幅値の上位10ビットの値を前記立ち下がりタイミング値として、立ち下がりタイミングレジスタ1035に設定する(S103)。一方、下位3ビットの値が4以下でない場合(位相差がπを超える場合)には、レジスタ設定部1042は、前記パルス幅値の上位10ビットの値に“1”加算した値を前記立ち下がりタイミング値として、立ち下がりタイミングレジスタ1035に設定する(S104)。
図13に、クロック信号CLK_Xの切り替え前後の位相差に応じて前記立ち下がりタイミング値を決定した場合のPWM信号の立ち下がりタイミングを例示する。同図には、PWM算出部111によって算出された13ビットの前記パルス幅値の上位10ビットの値が“2(10進数表示)”であるときのPWM信号の立ち下がりタイミングが例示される。同図において、参照符号300〜307で示されるクロック信号は、カウンタ102に入力されるクロック信号CLK_Xを示す。例えば参照符号300は、タイミングt40でクロック信号を切り替えない場合(前記パルス幅値の下位3ビットの値が“0”である場合)のクロック信号CLK_Xを示す。なお、クロック信号CLK_Xの立ち上がりタイミングの右側に表示される数字は、そのタイミングでのカウンタ102のカウント値を表すものとする。また、参照符号301〜307は、タイミングt40でクロック信号をクロック信号CLK_0からクロック信号CLK_1〜CLK_7に切り替えた場合(前記パルス幅値の下位3ビットの値が“1”〜“7”である場合)の夫々のクロック信号CLK_Xを示す。また、参照符号400〜407で示される信号は、パルス生成部1033から出力されるPWM信号を示す。例えば参照符号400は、クロック信号CLK_0のみで生成されたPWM信号を示す。また、参照符号401〜407は、夫々のクロック信号CLK_Xに基づいて生成されるPWM信号を夫々示す。
図13に示されるように、例えば前記パルス幅値の上位10ビットの値が“2(10進数表示)”であるとき、前記パルス幅値の下位3ビットの値が“4”以下である場合には、前記立ち下がりタイミングレジスタ1035に“2”を設定することにより、カウンタ値が“2”となるタイミング(t41〜t45)で所望の位相遅れ(2π×1/8〜2π×4/8の位相遅れ)を得ることができる。一方、前記パルス幅値の下位3ビットの値が“5”以上である場合、前記パルス幅値の上位10ビットの値“2”に“1”を加算した値“3”を前記立ち下がりタイミングレジスタ1035に設定することにより、カウンタ値が“3”となるタイミング(t46〜t48)で所望の位相遅れ(2π×5/8〜2π×7/8の位相遅れ)を得ることができる。
図14にPWM信号生成回路10によって生成されるPWM信号の一例を示す。同図には、クロック信号CLK_0〜CLK_7の夫々の周期をTcとしたときに、パルス幅が(2Tc+Tc/8)のPWM信号を生成する場合(パルス幅値の上位10ビットの値が“2”であり、下位3ビットの値が“1”である場合)が例示される。
同図において、タイミングt50においてカウンタ102がリセットされると、クロック信号CLK_Xがクロック信号CLK_0に切り替わるとともにPWM信号が立ち上がる。このとき、立ち下がりタイミングレジスタ1035に“2”が設定され、位相設定レジスタ1045にクロック信号CLK_1を示す値が設定される。その後、クロック信号CLK_0が立ち上がるタイミングt51において、位相切替タイミング生成部1041が、クロック信号CLK_1の選択を指示する選択信号SELを選択部101に対して出力する。これにより、カウンタ102に入力されるクロック信号CLK_Xがクロック信号CLK_0からクロック信号CLK_1に切り替わる。このとき、カウンタ102はクロック信号CLK_0の立ち上がりエッジを検出しないものとする。その後、タイミングt52でクロック信号CLK_Xが立ち上がると、カウンタ102のカウント値が“1”となる。そして、タイミングt54でクロック信号CLK_Xが再度立ち上がると、カウンタ102のカウント値が“2”となり、比較器1032によって立ち下がりタイミングレジスタ1035の値とカウント値との一致が検出され、PWM信号が立ち下がる。これにより、パルス幅が(2Tc+Tc/8)となるPWM信号が生成される。
図15にPWM信号生成回路10によって生成されるPWM信号の別の一例を示す。同図には、パルス幅が(2Tc+5Tc/8)のPWM信号を生成する場合(13ビットの前記パルス幅値の上位10ビットの値が“2”であり、下位3ビットの値が“5”である場合)が例示される。
同図において、タイミングt60においてカウンタ102がリセットされると、クロック信号CLK_Xがクロック信号CLK_0に切り替わるとともにPWM信号の立ち上がり、信号レベルがハイレベルとなる。また、このとき、前記パルス幅値の下位3ビットの値が“5”であるため、立ち下がりタイミングレジスタ1035には前記パルス幅値の上位10ビットの値“2”に“1”を加算した値“3”が設定され、位相設定レジスタ1045にクロック信号CLK_5を示す値が設定される。その後、クロック信号CLK_0が立ち上がるタイミングt61において、位相切替タイミング生成部1041がクロック信号CLK_5の選択を指示する選択信号SELを選択部101に対して出力する。これにより、カウンタ102に入力されるクロック信号CLK_Xがクロック信号CLK_0からクロック信号CLK_5に切り替わる。このとき、クロック信号CLK_Xの信号レベルがハイレベルに切り替わるため、カウンタ102のカウント値が“1”となる。その後、クロック信号CLK_Xが立ち下がり、タイミングt62でクロック信号CLK_Xが立ち上がると、カウンタ102のカウント値が“2”となる。そして、クロック信号CLK_Xが次に立ち上がるタイミングt64で、カウンタ102のカウント値が“3”となると、比較器1032によって立ち下がりタイミングレジスタ1035の値とカウント値との一致が検出され、PWM信号が立ち下がる。これにより、パルス幅が(2Tc+5Tc/8)となるPWM信号が生成される。
以上実施の形態1に係るPWM信号生成回路10によれば、カウンタ102によるカウント動作中にカウント対象のクロック信号を位相の異なる他のクロック信号に切り替えることができるから、切り替え前後のクロック信号の位相差に応じた大きさでPWM信号のパルス幅を調整することができる。これにより、カウンタ102に入力するクロック信号の周波数を上げることなく、PWM信号の分解能を向上させることができ、電源装置3の消費電力の増加を抑えつつ、より精度の高い電圧制御が可能となる。また、従来のカウンタを利用したPWM信号生成機能を備えるマイクロコントローラに対して、カウンタに入力するクロック信号を切り替える回路(選択部101)を追加することで、クロック信号の位相差に応じたPWM信号のパルス幅の調整が実現できるから、マイクロコントローラの構成に大きな回路変更を加える必要がなく、チップ面積の増大を抑えることができる。
≪実施の形態2≫
実施の形態1では、所定数までカウントしたらカウント値をリセットしてカウントを再開するような鋸型のカウント動作を行うカウンタ102を用いる場合を例示したが、実施の形態2では、アップカウントとダウンカウントを交互に行うような山型のカウント動作を行うカウンタを用いる。
図16は、実施の形態2に係るマイクロコントローラ4の詳細な内部構成を例示するブロック図である。同図において、図3のマイクロコントローラ1と同様の構成要素には同一の参照符号を付してその詳細な説明を省略する。図16におけるPWM信号生成回路40のカウンタ402は、アップカウントとダウンカウントを交互に行うような山型カウント動作を行うカウンタである。
図17は、カウンタ402のカウント値とそれに応じて生成されるPWM信号とを例示する説明図である。同図では、カウンタ402のカウント動作として、例えば“0”からカウントアップし、カウント値が“500”になったら“0”までダウンカウントすることを繰り返す山型のカウント動作が例示される。また、同図では、立ち上がりタイミングレジスタ1034に設定される前記立ち上がりタイミング値を“200”とし、立ち下がりタイミングレジスタ1035に設定される前記立ち下がりタイミング値を“400”とした場合が例示される。
同図において、参照符号600で示される信号は、クロック信号CLK_0のみをカウントして生成したPWM信号であり、参照符号601で示される信号は、カウンタ402によるカウント動作中にカウント対象のクロック信号をクロック信号CLK_0からクロック信号CLK_1に切り替えることで生成したPWM信号である。
PWM信号600は具体的に以下のように生成される。例えば、同図に示されるように、カウンタ402がクロック信号CLK_0のカウント動作を開始し、カウント値が“200”となるタイミングt70で、PWM信号600の信号レベルがハイレベルになる。つまり、タイミングt70でカウンタ402のカウント値が“200”となり前記立ち上がりタイミング値と一致すると、PWM信号600の信号レベルがハイレベルとなる。その後タイミングt73でカウント値が“500”になると、カウンタ402はダウンカウントを開始する。そして、タイミングt74でカウント値が“400”になり、前記立ち下がりタイミング値と一致すると、PWM信号600の信号レベルがローレベルとなる。これにより、パルス幅が“400Tc”のPWM信号が生成される。なお、Tcはクロック信号CLK_0(CLK_1〜CLK_7)の周期である。
一方、PWM信号601は具体的に以下のように生成される。図17に示されるように、カウンタ402がクロック信号CLK_0のカウント動作を開始する。その後、カウント値が前記立ち上がりタイミング値“200”と一致する前の何れかのタイミングでカウント対象のクロック信号CLK_Xがクロック信号CLK_0からクロック信号CLK_1に切り替わる。カウンタ402は引き続きカウント動作を行い、カウント値が“200”となるタイミングt71で、PWM信号601の信号レベルがハイレベルになる。その後タイミングt73でカウント値が“500”となると、カウンタ402はダウンカウントを開始する。そして、タイミングt75でカウント値が“400”になり、前記立ち下がりタイミング値と一致すると、PWM信号601の信号レベルがローレベルとなる。すなわち、カウントアップしている動作中に、カウント対象のクロック信号CLK_Xを、クロック信号CLK_0よりも位相が2π/8遅れたクロック信号CLK_1に切り替えることにより、立ち上がりタイミングを前記タイミングt70よりも“Tc/8”だけ遅らすことができる。これによれば、立ち下がりタイミングだけでなく立ち上がりタイミングも“Tc/m”毎に制御することができる。なお、PWM信号の立ち上がりタイミングを決定するとき、クロック信号の切り替え前後の位相差がπを超える場合には、前記立ち下がりタイミング値の場合と同様に、目標とするカウント値に1カウント加算した値を前記立ち上がりタイミング値として設定することにより、所望の時間だけ遅らせたタイミングでPWM信号を立ち上げることができる。一方、目標とするカウント値から1カウント減算した値を前記立ち上がりタイミング値として設定することにより、所望の時間だけ早めたタイミングでPWM信号を立ち上げることもできる。
また、PWM信号の立ち上がりタイミングをPWM信号600よりも1クロック分遅らせたい場合には、立ち上がりタイミングレジスタ1034に立ち上がりタイミング値“201”を設定すれば良い。これによれば、参照符号602に示されるPWM信号のように、立ち上がりタイミングがTcだけ遅れたPWM信号を生成することができる。
以上実施の形態2に係るPWM信号生成回路40によれば、実施の形態1のPWM信号生成回路10と同様に、カウンタ402に入力するクロック信号の周波数を上げることなく、PWM信号の分解能を向上させることができ、電源装置3の消費電力の増加を抑えつつ、より精度の高い電圧制御が可能となる。また、マイクロコントローラの構成に大きな回路変更を加える必要がなく、チップ面積の増大を抑えることができる。更に、立ち下がりタイミングだけでなく立ち上がりタイミングも“Tc/m”毎に制御することができるから、より柔軟なPWM制御が実現できる。例えばPWM信号のパルス幅を一定にしながらPWM信号の位相を“Tc/m”毎に制御することができる。
≪実施の形態3≫
実施の形態1、2では、非絶縁型降圧DC/DCコンバータを構成する電源装置3にPWM信号生成回路10、40を適用する場合を例示したが、実施の形態3では、非絶縁型昇圧DC/DCコンバータを構成する電源装置5にPWM信号生成回路10、40を適用する。
図18は、PWM信号生成回路10(又は40)を内蔵したマイクロコントローラを適用した非絶縁型昇圧DC/DCコンバータを例示するブロック図である。同図において、前記電源装置3と同様の構成要素には同一の参照符号を付してその詳細な説明を省略する。
同図に示される非絶縁型昇圧DC/DCコンバータを構成する電源装置5は、マイクロコントローラ4と、マイクロコントローラ4によるディジタル信号処理により負帰還制御される電圧生成部21とを備える。前記電圧生成部21は、例えばパワーMOSトランジスタから構成される駆動素子Tr1と、前記駆動素子Tr1を駆動するドライバ部6と、ダイオードD1と、コイルL及びキャパシタCから構成される平滑回路と、から構成される。電源装置5において、ドライバ部6によって前記駆動素子Tr1のオン/オフが制御されることにより、入力電圧Vinを変換した電圧が前記平滑回路によって直流に整流され、入力電圧Vinよりも高い出力電圧Voutとして出力される。この出力電圧Voutによって種々の負荷素子(例えば抵抗RL)が駆動される。このとき、出力電圧Voutは、前記電源装置3と同様に、目標とする電圧と等しくなるようにマイクロコントローラ1、4によって制御される。これによれば、実施の形態1、2と同様に、非絶縁型昇圧DC/DCコンバータにおいても、カウント対象のクロック信号の周波数を上げることなく、PWM信号の分解能を向上させることができ、電源装置3の消費電力の増加を抑えつつ、より精度の高い電圧制御が可能となる。
以上本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
例えば、実施の形態1乃至3では、生成するPWM信号毎(カウンタ102のカウント値のリセット毎)にカウント対象のクロック信号をクロック信号CLK_0に戻し、クロック信号CLK_0を基準として位相をずらす方法を例示したが、これに限られず、1周期前のPWM信号を生成したときにカウントしていたクロック信号を基準に位相をずらす方法でもよい。具体的には、データ処理制御部104における位相選択部1044は、カウンタ102のカウント値のリセット毎に位相選択レジスタ1045の値をリセットせずに、位相選択レジスタ1045に設定されている値に応じたクロック信号を基準として、切り替え後のクロック信号を選択する。例えば、1周期前のPWM信号を生成したときのカウント対象がクロック信号CLK_2であるときに、下位3ビットの値が“0”であるパルス幅値が指定された場合には、位相選択部1044は、引き続きクロック信号CLK_2の選択を指示する。一方、下位3ビットの値が“2”であるパルス幅値が指定された場合には、位相選択部1044は、その時点で選択されているクロック信号CLK_2よりも位相が(2π×2/8)遅れたクロック信号CLK_4の選択を指示する。これによれば、毎回リセットする場合に比べて処理が単純になる。
実施の形態1乃至3では、非絶縁型降圧DC/DCコンバータ及び非絶縁型昇圧DC/DCコンバータにPWM信号生成回路10、40を適用する場合を例示したが、これに限られず、PWM制御が必要なアプリケーションであれば適用可能である。例えば、モータ駆動用のPWM制御システムにも適用することができる。
実施の形態1乃至3では、切り替え対象のクロック信号として8個のクロック信号CLK_0〜CLK_8を例示したが、これに限られず、必要なPWM信号の分解能に応じて切り替え対象のクロック信号の数を変更することができる。例えば、分解能を1ビット増やす場合には位相差が“π”の2つのクロック信号を用いれば良いし、分解能を4ビット増やす場合には、位相が“2π/16”毎にずれた16個のクロック信号を用いればよい。
3 電源装置
1 マイクロコントローラ(MCU)
2 ドライバ部
20 電圧生成部
Tr1、Tr2 駆動素子
L コイル
C キャパシタ
RL 負荷素子
Vin 入力電圧
Vout 出力電圧
10 PWM信号生成回路
11 制御演算部
12 アナログ/ディジタル変換器(ADC)
13 クロック信号生成部(OSC)
CLK_0〜CLK_7 クロック信号
CLK_X カウント対象のクロック信号
110 誤差算出部
111 PWM算出部
101 選択部(MUX)
102 カウンタ
103 信号生成部
1031 PWM設定レジスタ
1032 比較器
1033 パルス生成部
1034 立ち上がりタイミングレジスタ(Tr_REG)
1035 立ち下がりタイミングレジスタ(Tf_REG)
104 データ処理制御部
1041 位相切替タイミング生成部
1042 レジスタ設定部
1043 判定部
1044 位相選択部
1045 位相設定レジスタ
200 クロック信号
201 クロック信号200よりも位相が2π/8遅れたクロック信号
202 クロック信号200よりも位相が(2π×7/8)遅れたクロック信号
203 クロック信号200をN分周して生成したPWM信号
204 クロック信号201をN分周して生成したPWM信号
205 クロック信号202をN分周して生成したPWM信号
206 クロック信号200をN分周して生成したPWM信号
207 (N+1/8)クロック分のパルス幅のクロック信号
208 (N+7/8)クロック分のパルス幅のクロック信号
209 (N+1)クロック分のパルス幅のクロック信号
130 ゲート電流調整回路
DLY 遅延素子
AND 論理積回路
EN イネーブル信号
PWM_0、PWM_1、PWM_2 PWM信号
500 カウント値
t0、t10、t01、t10 タイミング
t20〜t23、t30〜t35 タイミング
300〜307 カウント対象のクロック信号
400〜407 PWM信号
t40〜t48 タイミング
t50〜t54、t60〜t64 タイミング
4 マイクロコントローラ
40 PWM信号生成回路
402 カウンタ
501 カウント値
600 クロック信号CLK_0をカウントして生成したPWM信号
601 クロック信号CLK_0からクロック信号CLK_1に切り替えて生成したPWM信号
602 PWM信号600よりも立ち上がりタイミングがTcだけ遅れたPWM信号
t70〜t75 タイミング
5 電源装置
6 ドライバ部
21 電圧生成部
D1 ダイオード

Claims (16)

  1. 相互に位相の異なる複数のクロック信号を入力し、何れか1つのクロック信号を選択して出力する選択部と、
    前記選択部から出力されたクロック信号をカウントするカウンタと、
    設定されたPWM信号の生成条件と前記カウンタのカウント値とに基づいて決定したタイミングでパルス信号の立ち上がりと立ち下がりを制御することによりPWM信号を生成する信号生成部と、を有し、
    前記選択部は、前記カウンタによるカウント動作中に、出力するクロック信号の切り替えが可能にされる半導体装置。
  2. 前記選択部によるクロック信号の切り替えは、前記カウンタが、前記生成条件としてのPWM信号のパルス幅の目標値と比較するための参照値をカウントしている期間に行われる請求項1に記載の半導体装置。
  3. 前記複数のクロック信号は、位相が2π/m(mは2以上の整数)間隔でずれるように生成されたm個のクロック信号を含む請求項2に記載の半導体装置。
  4. 前記PWM信号の生成条件を前記信号生成部に設定するとともに、前記カウンタに入力するクロック信号を指示するデータ処理制御部を更に有し、
    前記選択部は、前記データ処理制御部によって指示されたクロック信号を選択して出力し、
    前記データ処理制御部は、前記カウンタによるカウント動作中に、前記カウンタに入力されているクロック信号を当該クロック信号に対して位相が2πn/mずれたクロック信号(1≦n≦m−1)に切り替えることを指示することにより、前記カウンタに入力されているクロック信号の周期のn/m倍の大きさでPWM信号の立ち上がりタイミング又は立ち下がりタイミングを調整する請求項3に記載の半導体装置。
  5. 前記信号生成部は、
    PWM信号の立ち上がりタイミングを指定する第1情報とPWM信号の立ち下がりタイミングを指定する第2情報とを含む前記生成条件を格納するためのレジスタと、
    前記レジスタの値と前記カウンタのカウント値とを比較し、その比較結果に基づいてPWM信号の立ち上がりタイミングと立ち下がりタイミングを指示する比較部と、
    前記比較部からの指示に応じて信号レベルを切り替えることによりPWM信号を生成するパルス生成部と、を有する請求項4に記載の半導体装置。
  6. 前記カウンタは、所定数までカウントしたらカウント値をリセットしてカウントを再開するカウント動作を行い、
    前記比較部は、前記カウンタのリセットによってPWM信号の立ち上がりタイミングを決定するとともに、前記カウンタのカウント値と前記レジスタに格納された前記第2情報との一致を条件としてPWM信号の立ち下がりタイミングを決定する請求項5に記載の半導体装置。
  7. 前記データ処理制御部は、前記カウンタに入力されているクロック信号の周期のA倍(Aは1以上の自然数)よりも当該周期のn/m倍だけ大きいパルス幅のPWM信号を生成する場合、前記周期のA倍のパルス幅に応じた前記第1情報及び前記第2情報を前記レジスタに設定するとともに、前記カウンタに入力されているクロック信号に対して位相が2πn/m遅れたクロック信号に切り替えることを指示する請求項5に記載の半導体装置。
  8. 前記データ処理制御部は、前記カウンタに入力されているクロック信号と次に前記カウンタに入力されるクロック信号との位相差がπを超える場合、前記周期のA倍のパルス幅に応じた立ち下がりタイミングを示す値に1カウント分の値を加算した情報を前記第2情報として設定する請求項7に記載の半導体装置。
  9. 前記カウンタは、所定の周期でアップカウントとダウンカウントを繰り返すカウント動作を行い、
    前記比較部は、前記カウンタによるアップカウントの期間にPWM信号の立ち上がりタイミングを決定するとともに、前記カウンタによるダウンカウントの期間にPWM信号の立ち下がりタイミングを決定する請求項5に記載の半導体装置。
  10. 前記データ処理制御部は、前記カウンタのカウント値が前記レジスタに設定した前記第2情報に一致する前にクロック信号の切り替えを指示する請求項5に記載の半導体装置。
  11. 前記複数のクロック信号を生成するクロック信号生成部を更に有する請求項3に記載の半導体装置。
  12. 前記クロック信号生成部は、複数の遅延素子が多段接続されて構成されるリングオシレータであって、
    前記複数のクロック信号は、前記リングオシレータにおける前記複数の遅延素子の夫々の出力信号に基づいて生成される請求項11に記載の半導体装置。
  13. 演算処理を行うプロセッサコアと、
    前記プロセッサコアによる演算処理によって算出されたPWM信号の生成条件とカウンタによるカウント値とに基づいて、パルス信号の立ち上がりタイミングと立ち下がりタイミングを制御することによりPWM信号を生成するPWM信号生成部と、を有し、
    前記PWM信号生成部は、前記生成条件としてのPWM信号のパルス幅の目標値と比較するための参照値をカウントしているカウント動作中に、カウント対象のクロック信号を当該カウントしているクロック信号と位相の異なるクロック信号に切り替えることにより、PWM信号の立ち上がりタイミング又は立ち下がりタイミングを調整するマイクロコントローラ。
  14. 前記PWM信号生成部は、位相が2π/m(mは2以上の整数)間隔でずれるように生成されたm個のクロック信号を前記カウント対象のクロック信号とする請求項13に記載のマイクロコントローラ。
  15. 前記PWM信号生成部は、前記カウント動作中に、前記カウンタに入力されているクロック信号を当該クロック信号に対して位相が2πn/mずれたクロック信号(1≦n≦m−1)に切り替えることにより、前記カウンタに入力されているクロック信号の周期のn/m倍の大きさでPWM信号の立ち上がりタイミング又は立ち下がりタイミングを調整する請求項14に記載のマイクロコントローラ。
  16. 請求項13に記載のマイクロコントローラと、
    前記マイクロコントローラによって生成されたPWM信号に基づいて電圧を生成する電圧生成部と、を有する電源装置。
JP2012108240A 2012-05-10 2012-05-10 半導体装置、マイクロコントローラ、及び電源装置 Pending JP2013236295A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012108240A JP2013236295A (ja) 2012-05-10 2012-05-10 半導体装置、マイクロコントローラ、及び電源装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012108240A JP2013236295A (ja) 2012-05-10 2012-05-10 半導体装置、マイクロコントローラ、及び電源装置

Publications (1)

Publication Number Publication Date
JP2013236295A true JP2013236295A (ja) 2013-11-21

Family

ID=49762042

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012108240A Pending JP2013236295A (ja) 2012-05-10 2012-05-10 半導体装置、マイクロコントローラ、及び電源装置

Country Status (1)

Country Link
JP (1) JP2013236295A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146323A (ja) * 2013-01-25 2014-08-14 Samsung Electronics Co Ltd クロック信号生成方法、クロック信号生成装置、電力管理集積回路、dc−dcコンバータ、移動通信装置、及び、信号生成装置
CN106470025A (zh) * 2015-08-20 2017-03-01 三垦电气株式会社 Pwm信号生成器和具有其的开关电源装置
JP2017093065A (ja) * 2015-11-05 2017-05-25 三菱電機株式会社 半導体素子の駆動装置
CN110024288A (zh) * 2016-11-28 2019-07-16 松下知识产权经营株式会社 脉冲频率控制电路、微控制器、dcdc转换器及脉冲频率控制方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014146323A (ja) * 2013-01-25 2014-08-14 Samsung Electronics Co Ltd クロック信号生成方法、クロック信号生成装置、電力管理集積回路、dc−dcコンバータ、移動通信装置、及び、信号生成装置
CN106470025A (zh) * 2015-08-20 2017-03-01 三垦电气株式会社 Pwm信号生成器和具有其的开关电源装置
US9621040B2 (en) * 2015-08-20 2017-04-11 Sanken Electric Co., Ltd. PWM signal generator and switching power supply device having same
CN106470025B (zh) * 2015-08-20 2019-09-03 三垦电气株式会社 Pwm信号生成器和具有其的开关电源装置
JP2017093065A (ja) * 2015-11-05 2017-05-25 三菱電機株式会社 半導体素子の駆動装置
CN110024288A (zh) * 2016-11-28 2019-07-16 松下知识产权经营株式会社 脉冲频率控制电路、微控制器、dcdc转换器及脉冲频率控制方法
JPWO2018096973A1 (ja) * 2016-11-28 2019-10-17 パナソニックIpマネジメント株式会社 パルス周波数制御回路、マイコン、dcdcコンバータ、及びパルス周波数制御方法
US10530252B2 (en) 2016-11-28 2020-01-07 Panasonic Intellectual Property Management Co., Ltd. Pulse-frequency control circuit, microcomputer, DC-to-DC converter, and pulse-frequency control method
CN110024288B (zh) * 2016-11-28 2023-06-06 新唐科技日本株式会社 脉冲频率控制电路、微控制器、dcdc转换器及脉冲频率控制方法

Similar Documents

Publication Publication Date Title
TWI465043B (zh) 含有脈波寬度調變模組之數位處理器,該模組具有動態可調整的相位補償能力、高速運算及多脈波寬度調變工作週期暫存器之同步更新
JP4098533B2 (ja) スイッチング電源装置用制御回路及びこれを用いたスイッチング電源装置
JP6211822B2 (ja) 電力供給回路
CN107919798B (zh) 切换式电容型直流转直流转换器及其控制方法
JP6023468B2 (ja) スイッチング電源装置
US20170264192A1 (en) Switched capacitor converter
JP6306073B2 (ja) 比較回路、電源制御ic、スイッチング電源装置
JP2009290857A (ja) 半導体装置
JP6826612B2 (ja) パルス周波数制御回路、マイコン、dcdcコンバータ、及びパルス周波数制御方法
JP5366032B2 (ja) ランプ信号生成回路及びランプ信号調整回路
JP2013236295A (ja) 半導体装置、マイクロコントローラ、及び電源装置
US9448581B2 (en) Timer unit circuit having plurality of output modes and method of using the same
JP2019220732A (ja) クロック生成回路、スイッチング電源装置及び半導体装置
KR101561372B1 (ko) Pwm 신호 생성 회로, 프린터, 및 pwm 신호 생성 방법
JP2011010390A (ja) Dc−dcコンバータの制御回路、dc−dcコンバータ及び電子機器
JP5590934B2 (ja) スイッチング電源の制御回路及び電子機器
JP2015226340A (ja) マルチフェーズ電源装置
JP2009213233A (ja) Dc−dcコンバータ制御回路
JP2012090423A (ja) 電源装置
US20200403510A1 (en) Semiconductor device, system, and control method
JP5388912B2 (ja) パルス電源装置とそのパルス電圧生成方法
JP6467539B2 (ja) 比較回路、電源制御ic、スイッチング電源装置
JP2007006388A (ja) 周波数逓倍回路
JP2007208438A (ja) デジタル逓倍回路、スイッチング制御回路及び昇降圧dc−dcコンバータ
US7053632B1 (en) Circuit and method for predicting dead time