FPGA活用回路&サンプル記述集(2) ―― モータやLEDを駆動するパワー回路
tag: 半導体 電子回路 ディジタル・デザイン
技術解説 2009年3月 9日
事例3.デューティ比をリニアに設定できるPWMパルス生成回路
浅井 剛
- 回路図:なし
- 主要部品:なし
- VHDL記述:リスト3-1
- 外部入力:なし
- 外部出力:なし
- 内部入力:RES_n,CLK,CYCLE,OFFTIMING,START
- 内部出力:PULSEOUT,CLRSTB
- パラメータ:なし
- 製品に搭載実績のある回路を本誌に抽出.
電力制御でよく用いられるPWM(Pulse Width Modulation)パルスを生成する論理を紹介します.市販マイコンにもいろいろなタイマ・モジュールがありますが,せっかくプログラマブル・デバイスに組み込むのでちょっと工夫をしてみます.
● 汎用タイマはデューティ比をリニアに制御できない
図3-1に汎用タイマ・モジュールの構成を示します.システム上,クロック CLKが固定化されており,制御周期はカウンタの分周比で調整します.パルスのON/OFFタイミングはカウンタ出力と比較され,設定された値でパルス出力を制御する方式です.
図3-1 汎用タイマによるPWMモジュールの構成
この方式には原理的な課題があります.それは制御周期をカウンタの上限値(n)で制御しているため,クロック周波数との関係でデューティ比がリニアに制御できないことです.例えば周期nが128だった場合,デューティ比も1/128 (約0.78%)刻みで指定することになります.
マイコンのソフトウェアで処理される制御アルゴリズムはデューティ比を制御指令として出すので,アルゴリズム上の指令値を実際の指定値へ変換するテーブルが必要になります.もし制御周期も切り替わるアプリケーションの場合は,変換テーブルも複数必要となり大変です.
● デューティ比をリニア制御できるPWMモジュール
その課題を回避する一つの解がデューティ比指定優先のパルス生成論理です.図3-2にその構成を示します.汎用タイマとの違いは下記の3点です.
- カウンタを100進カウンタに固定.
- 制御周期は分周器で設定.
- ONタイミングは1に固定.
図3-2 デューティ比をリニアに設定できるPWMモジュールの構成
図3-3に動作タイミングを示します.周期と指令値,そしてパルス出力の関係がよく分かると思います.この方式の唯一ともいえる課題は,ある程度の制御周期範囲に対応するにはクロック周波数を高くしなければならないことです.しかし最近のCPLD/FPGAは非常に高速なので実使用上は問題ありません.例えば,制御周波数の上限12kHzまでとして,かつデューティ比を1%きざみにしたい場合のクロック周波数は120MHz以上となります.この周波数を外部から供給するよりは,PLL(Phase-locked loop)を内蔵したFPGAの方が適していると思います.
図3-3 デューティ比をリニアに設定できるPWMモジュールの動作タイミング
tag: FPGA