デジタルトランジスタを使用した失敗事例
作成者:mou-mou
今回は、デジタルトランジスタを使った失敗事例を掲載いたします。
デジタルトランジスタの論理や計算方法などはローム社のホームページのFAQに非常に丁寧な解説がありますのでこちらを参考にしていただければと思います。
http://www.rohm.co.jp/products/discrete/transistor/faq.html#5
http://www.rohm.co.jp/blog/data/dtr_howtoselect.pdf
マイコンのポートにデジタルトランジスタを接続した場合、マイコンのポートの初期状態は入力(すなわちHI-Z)になっているものが多く、デジタルトランジスタのR2の効果によって、トランジスタはOFF状態で安定しています。
しかし、稀にですが一部のマイコンでポートの初期状態が入力でかつ、プルアップ抵抗ONになっているものがあります。FPGAの場合、例えばXILINX社のSpartan3EではHSWAP_ENの端子をLOWにしていると、コンフィグレーション中のポートはプルアップ状態となります。
この場合、パワーオンリセットから初期化処理までの間にプルアップ抵抗を経由してトランジスタがONしてしまう可能性があります。トランジスタでドライブするものが、リレーであったりブザーの場合は、一瞬カチっと動いたり、鳴動してしまう事があります。
このような場合の対策としては、PNP型のデジタルトランジスタでドライブしすることで解決できます。
【NPN型でのドライブ】 【PNP型でのドライブ】
解決方法としては、特段難しいことでは全くないので、重要なのは回路設計段階で気が付くことが出来るかだと思います。
マイコンでポートの初期状態がプルアップ抵抗ONのものには、1度しか出会っておりません。その時は、気が付かずに試作を実施してしまいました。やはり新規のデバイスを使用する場合は注意が必要ですね。当たり前の事なのですが・・・
回路設計段階で、注意すれば回避できることのなので、回路設計時のチェックリストにこのような項目が無いのでしたら、チェック項目の追加をご提案致します。
試作レベルでの見落と等でこの問題が発生した場合、暫定対策となりますが、「R1≠R2リーク吸収形」を選定していた場合、「R1=R2分圧形」に変更を選定することで対応できる場合があります。また、数kΩのプルダウン抵抗を入れることでも対応できます。
しかし、これはあくまでも、暫定対策としての提案です。
消費電流は余分に流れますし、半導体の中のプルアップ抵抗は、ばらつきが非常に大きくワーストケースを考えると大変なので、恒久対策として問題があると考えます。