レベルシフタを用いたPチャネルMOSFETのハイサイド制御を考える

マイコンの3.3Vロジック出力でPチャネルパワーMOSFETのハイサイド制御行う際、ロジック信号の電圧レベル変換したうえで適切な駆動回路でパワーMOSFETをスイッチングさせる事が必要だ。3.3Vパルスをレベル変換してMOSFETのスイッチングを行う回路をLTspice上でシミュレーションした結果をまとめた。

スポンサーリンク

レベルシフタ回路

ロジック信号の電圧レベル変換を行うには、バイポーラトランジスタやMOSFETによるスイッチを変換先の電源に接続し、入力パルスの値に応じてOn/OffさせればOK。入力パルスをどの端子に入れるかによって、入出力電圧の反転・非反転が決まる。

  • ゲート or ベースに入力 → ドレイン or コレクタ出力電圧反転
  • ソース or エミッタに入力 → ドレイン or コレクタ出力電圧非反転

というわけで合計4パターンの回路をLTspice上に組んだ。電圧源V3が周期50kHz,3.3Vのパルス源となっており、この3.3Vパルスを4つの回路で12Vパルスに変換しOut1〜Out4に出力している。MOSFETとバイポーラトランジスタの品種はLTspice標準モデルの中から小信号用の物を選んだが、何を使っても同様に動作するだろう。

かいろ

入力端子と出力端子の関係を表にまとめる。

出力端子名入力端子(素子名)入出力電圧の極性
Out1ベース(Q1)反転
Out2ゲート(M1)反転
Out3エミッタ(Q2)非反転
Out4ソース(M2)非反転

さて、この回路のシミュレーションを実行し出力電圧Out1〜Out4をプロットしてみよう。

graph

どの回路も信号の立ち下がりは問題無いが、特にバイポーラトランジスタ回路の出力波形で立ち上がり(Out1の6us付近とOut3の16us付近)に遅れが目立つ。これだけ遅れてしまうとパルスのデューティ比が変わってしまうため、タイミングにシビアな用途にはバイポーラトランジスタ回路は避けたほうが無難。ちなみに原因はバイポーラトランジスタの寄生容量(ミラー容量)をチャージするのに時間がかかる事で、R2,R4をうんと小さくしてコレクタ電流を沢山流せば解消するが、電力的にはあまりお得な方法じゃない。

またMOSFET出力の立ち上がり波形(Out2の5us付近とOut4の15us付近)を比べると相似形となっており、性能的には同等と見て良いだろう。出力を反転させたいかそうでないかで使い分ければ良いと思う。但し、ソースを入力端子に使う回路はドレイン電流と同じ電流がパルス源にも流れる事になるので注意。

ドライバ段の役割

12V電源をPチャネルパワーMOSFETでハイサイド制御し、出力を直接負荷抵抗RL1,RL2に繋いで1Aのパルス電流を作り出す回路2種類をLTspice上で組んだ。左側がパワーMOSFET M1をレベル変換回路で直接駆動する回路、右側はレベル変換回路出力にドライバ段を追加してM2を駆動している。M1,M2は手持ちのパワーMOSFETの中からLTspice標準モデル品を選んだ。

M2のゲートに直列に入れているR3は発振やノイズを防止するための抵抗で、省略しても回路は動作する。

M5,M6のMOSFETを2つ使ったドライバ段はトーテムポール回路とも呼ばれパワーMOSFETM2のゲート容量を高速に充放電する役割がある。トーテムポール回路はパルスを論理反転させる(CMOSインバータ回路と同じ)ので、出力電流の波形を比較しやすいようにM3によるレベルシフタ回路を反転タイプ、M4によるレベルシフタ回路を非反転タイプとした。

graph

LTspiceシミュレーションを実行し出力電流をプロットしてみると、レベルシフタ回路でゲートを直接駆動しているM1のドレイン電流は、ドライバ段付きで駆動しているM2のドレイン電流よりも立ち下がりが大幅に遅れていることがわかる。

graph

M1のゲート電位G1を調べてみると、立ち上がりがだいぶ緩やか。原因はM1のゲートに充電された電荷の放電がR1を介して行われるためで、R1をもっと小さく(これでも元のレベルシフタ回路から1/10にしている)すれば改善はするが、R1をこれ以上小さくするとR1自体の電力消費が大きくなるため得策とは言えない。

graph

また、ゲート電位の遷移が緩やかになるとパワーMOSFETが中途半端にOnとなる期間が発生し、パワーMOSFETによる電力損失が大きくなる点にも要注意だ。下はM1とM2で消費される電力をプロットしたグラフで、M1には長い区間で電力消費がある事が確認出来る。

graph

以上から、ゲート容量が大きなMOSFETをレベルシフタで直接駆動する事には無理があるとがわかった。

ドライバ段のバリエーション

上で試したトーテムポール回路以外にもドライバ段の選択肢は存在する。M1は上と同様トーテムポール回路によるドライバ段だが、M2はCMOSインバータ4049、M3はバイポーラトランジスタのプッシュプル回路をドライバ段とした回路。4049のSPICEモデルはLTwikiにあった物をこの記事の方法でインポートした。

graph

M1〜M3のドレイン電流波形は立ち上がり/立ち下がりいずれも良好。強いて言えばMOSFETのトーテムポール回路を使ったM1の応答が一番良いかな。

graph

ゲート電位をプロットしてみる。G2のCMOSインバータ出力は立ち上がり波形が少し鈍っており、ドライブ能力的にギリギリな感じ。あと、G3のバイポーラトランジスタのプッシュプル出力は0V〜電源電圧の間をフルスイング出来ず0.5V程度オフセットが付いているため、ゲートしきい電圧が低いパワーMOSFETを使う場合は要注意だ。

graph

MOSFETのスイッチング損失を比べてみると、やはりCMOSインバータ駆動のM2の損失が少々大きめ。

graph

高電圧のスイッチングにはもうひと工夫が必要

比較的低電圧の電源をスイッチングさせる場合は上記のようなレベルシフタ+ドライバ段の回路構成で問題ないのだが、ゲート-ソース間電圧の定格を超えるような高圧の電源をスイッチングさせたい場合はもうひと工夫が必要になってくる。幾つか方法があり、それらについては別記事にまとめた。

PチャネルMOSFETによる高電圧ハイサイド制御回路を考える
下記記事でマイコンの低電圧パルスをレベルシフトしてパワーMOSFETをハイサイド駆動する回路の動作をLTspiceで確認した。一方パワーMOSFETのVgs(ゲート-ソース間電圧)最大定格は20V未満の物が多く、20Vを超えるような高電圧の...
ブートストラップ回路によるMOSFETハイサイド制御を考える
Vgs(ゲート-ソース間電圧)の定格を超えるような高電圧のスイッチングを行うために低電圧側パルスを高電圧側のパルスに変換する回路2種類を下記記事にて試した。これ以外の選択肢として、制御対象の電源より上の電位を発生させる昇圧回路を用い、Nチャ...

まとめ

マイコンの3.3VでパワーMOSFETを駆動する回路について調べてみた。パワーMOSFETをハイサイド制御するためには、まず3.3Vのパルスを制御対象の電源電圧まで引き上げるレベルシフタが必要となる。そして、電圧を引き上げるだけではなく、パワーMOSFETの大きなゲート容量を素早く充放電させることが重要で、MOSFETならトーテムポール回路、バイポーラトランジスタならプッシュプル回路によるドライバ段が有効な事もLTspiceによるシミュレーションで確認した。

またドライバ段の駆動能力不足はパワーMOSFETのスイッチング損失の増加を招き発熱に繋がってしまう。実回路で部品を焼いてしまわないためにも、事前にLTspiceなどでシミュレーションを行うことが得策だろう。

記事中のシミュレーションで使ったLTspiceの回路を置いておくので、ご参考にどうぞ。

LvShift+MOSFETsw_LTspice.zip

コメント