MOSFETにはP型とN型があります。スイッチング素子として使う場合、N型は負荷よりも接地側に付け、P型は負荷よりも電源側に付けます(図4参照)。N型の場合は、ゲートにHighレベルを印加するとONします。P型の場合は、ゲートにLowレベルを印加するとONします。MOSFETのゲートには、基本的に電流は流れません。マイコンの汎用IOを出力端子としてゲートに接続する場合の負荷はゲート酸化膜の静電容量になります。この静電容量がマイコンのデータシートに記述されている負荷容量よりも小さければ、データシートに記載されている汎用IOのスペックがそのまま適用できますが、それよりも大きいと、インタフェースの設計に注意が必要になります。
マイコンの汎用IOを出力として使用する場合、トランジスタと違って電流が流れませんので、負荷電流の検討は基本的に不要です。ただし、ゲート容量の大きいMOSFETの場合は、負荷となる静電容量を充放電する時間を考慮する必要があります。マイコンの汎用IOの負荷容量はマイコンのデータシートに記載されています。
図4中の下図はSTM32F103シリーズのデータシートに記載されている負荷容量です。この場合50pFです。汎用IOの負荷は50pFを前提としてスペックが規定されているという意味です。
これは汎用の出力がHighレベルでもLowレベルでも同じ条件が適用されます。もし、STM32F103にゲート容量が50pFよりも大きいCMOSを接続する場合は、データシートに記載されている特性は保証されません。自分で時定数などの計算を行って適切なインタフェースを設計する必要があります。特に信号の立ち上がり時間や立下り時間のAC特性に影響を及ぼしますので、通信機能として使用する場合は注意しなければなりません。
MOSFETの出力をマイコンの汎用IOに接続する場合はどうでしょうか? この場合、汎用IOは入力として使います。前述したように、汎用IOの入力レベルにはCMOSレベルとTTLレベルがあります。MOSFETの場合はCMOSレベルが適用されます。CMOSレベルはTTLとは違って、電源電圧に依存します。図5にSTM32F103シリーズのCMOS入力レベルのグラフを示します。VIHの規定は0.65VDDで、VILは0.35VDDです。基本的にCMOS回路同士のインタフェースは電流が流れませんので、電圧降下は気にしなくてもよいですが、マイコンの汎用IOにはプルアップ/プルダウン抵抗がついている場合があるので、別経路で電流が流れないか確認する必要があります。
1つの出力端子(ここでは汎用IO)に接続できる素子の数をFAN OUT(ファンアウトまたはファンナウト)といいます。汎用IOから複数のトランジスタやMOSFETを接続する場合は、負荷が増えて、正常な電気的特性が得られなくなります。トランジスタの場合は負荷電流が増えますし、MOSFETの場合は負荷容量が増えます。増えた総量でインタフェースを設計しなければ正常な動作が得られなくなります。
実際に、1つの汎用IOに十数個のトランジスタをつないで、「正常に動作しないのですが……」と問い合わせてこられたユーザーもいらっしゃいました。
また、汎用IOとトランジスタまたはMOSFETとの配線長も負荷増加の要因になります。配線はインダクタンス成分と抵抗成分を持っていますので、できる限り短くしましょう。実際に配線長を1mくらい引き回して、こちらも正常に動作せず問い合わせてこられたユーザーがいます。
マイコンの汎用IOとトランジスタまたはMOSFETは、つなげれば動作するというものではありません。必ず電気的特性のマッチングを取って設計する必要があります。
Copyright © ITmedia, Inc. All Rights Reserved.