最初にトランジスタの基本を説明をします。トランジスタにはNPN型とPNP型があります(図1参照)。
スイッチング素子として使う場合、NPN型は負荷よりも接地側に付け、PNP型は負荷よりも電源側に付けます。NPN型の場合、ベースに電源電圧(以下、Highレベル)を印加するとONします。PNP型の場合ベースに接地電圧(以下、Lowレベル)を印加するとONします。トランジスタのベースにはベース電流が流れますので、マイコンの汎用IOを出力端子としてベースに接続する場合には、ベース電流の値に注意する必要があります。NPN型の場合は、ベース電流はマイコンからトランジスタへ流れ、逆にPNP型の場合はトランジスタからマイコンへ流れます。
マイコンの汎用IOを出力として使用する場合、電流が流れると電圧降下が発生し、Highレベルでも100%の電源電圧値は出ません。また、Lowレベルでも完全に接地レベルまで下がりません。どのくらいの電流が流れると、どのくらいの電圧降下が発生するかは、マイコンのデータシートに記載されています。
図2はSTマイクロエレクトロニクスのSTM32F103シリーズのデータから抜粋した汎用IOの特性です。最上段に書かれているのは出力Lowレベルのスペックです。Conditionsの中にIIO=8mAと記載されていますが、このときVOLのmaxは0.4Vと記載されています。すなわち、汎用IOをLow出力にして、8mA流すと、出力電圧は最大0.4Vまで上がるという意味です。一方、表の2段目にVOHのスペックが記載されています。ここも8mAの電流を流した場合です。この時Highレベルは電源電圧VDDレベルまで上がらずに、そこから0.4V下がった電圧が出力されるということになります。接続するトランジスタの入力特性が、これらの電圧と合っていないと、正常にHighレベル/Lowレベルを判別できなくなり、誤動作の原因となります。
トランジスタの出力をマイコンの汎用IOに接続する場合、汎用IOは入力として使います(図3参照)。汎用IOの入力レベルにはCMOSレベルとTTLレベルがあります。TTLとはTransistor-transistor logicの規格ですので、トランジスタと汎用IOを接続する場合は、TTLレベルを基準に設計します。
図3中のグラフはSTM32F103シリーズの汎用IOのTTL入力レベルのスペックです。TTLレベルのHighレベルの閾(しきい)値は2.0V固定、Lowレベルの閾値は0.8V固定です。STM32F103シリーズの汎用IOは、これらのレベルに対応しているので、トランジスタと直接つなげても動作します。汎用IOの入力特性は、マイコンごとに異なります。また、対応していない場合もありますので、必ず各製品のデータシートを確認してください。
Copyright © ITmedia, Inc. All Rights Reserved.