PWMとは、「パルス幅変調(Pulse Width Modulation)」と呼ばれる信号制御の方式です。一定周期でハイレベルとローレベルを高速に切り替え、ハイレベルとローレベルの時間の割合(デューティ比)で平均電圧や電力を調整するために使われます。
図4に、図2を詳しく解説した図を示します。
PWM信号の生成方式はメーカーや製品によってさまざまです。ここでは、もっとも基本的な例を紹介します。まず、PWM信号の全体の周期を決める周期設定レジスタがあります。そして、デューティ比を決めるデューティ比設定レジスタがあります。
カウンターはクロックに従ってカウントアップします。カウンターの値とデューティ比設定レジスタの値を、常時一致検出回路でチェックし、一致したときにPWM信号を反転するイベント信号を出力制御回路に送ります。出力制御回路は、この信号を受けて、PWM信号を反転します。次に、カウンターの値が周期設定レジスタと一致した場合、PWM信号をリセットするイベント信号を出力制御回路に送ります。この信号を受けて、出力制御回路はPWM信号を最初のレベルに戻します(反転します)。この動作を繰り返すと、ユーザーの希望する周波数とデューティ比のPWM信号を作ることができます。
実際のタイマー/PWMモジュールの例として、STマイクロエレクトロニクスの汎用32ビットマイコン「STM32U5シリーズ」*1)で使用されているLPTIM(Low Power TIMer)のブロック図を示します(図5)
LPTIMには、一般的なタイマー機能やPWM機能の他にインプットキャプチャー機能、繰り返しカウント機能が備えられていて、さまざまな機能ブロックで構成されています。さらに製品特有の構成になっているので、今まで説明した一般的な構成と、完全に一致するわけではありませんが、今回は、一般的なタイマー機能やPWM機能に絞って簡単に説明します。
図の中央に、16ビットカウンターがあります。その上に16ビット自動再ロードレジスタ(Auto Reload Register)があり、これがプリセットレジスタに相当します。キャプチャー/比較xレジスタがデューティ比設定レジスタと一致検出回路に相当します。LPTIM_CHxがPWM出力端子です(xはチャネル番号)
16ビット自動再ロードレジスタとキャプチャー/比較xレジスタを使ってタイマーのLPTIM_CHxから出力されるPWM波形信号の周期とデューティサイクルを設定します。
*1)STM32U5シリーズ
Neural-ARTアクセラレーターってどんな機能?
Arm Cortex-MのAIアクセラレーターってどんな機能?
マイコンの通信機能 UARTとI2C 、SPIの違い
AI時代でもマイコンが必要とされる理由
C言語コード生成ツールが普及する理由
I3Cって何? 特長と使い方を基礎から解説Copyright © ITmedia, Inc. All Rights Reserved.
記事ランキング
コーナーリンク