MCU入力ピンをフローティングのままにしておくのは本当に悪い考えですか?


28

入力として(デフォルトの出力に対して)設定されている場合、MCUでピンをフローティングのままにしておくと、ピンに悪影響を及ぼし、最終的には早期に失敗する可能性があると聞きました。これは本当ですか?私の場合、NBは入力ビデオ信号のために0.3Vから1.3Vの間のどこかでフローティングしています。これは、3.3Vで動作しているとき、0.8V-2.0Vの無人ゾーンに落ちることがあります。


1
データシートとMCUファミリのドキュメントを確認しましたか?それらにはかなり明確な答えがあり、ピンが内部でどのように実装されているかを確認できます。
XTL

@XTL、私はそれらをスキャンしましたが、それへの参照が見つかりませんでした。彼らは、フローティングピンが未定義の状態に入る可能性があると言っていますが、それが問題を引き起こす可能性があるかどうかは言及していません。
トーマスO

浮動デジタル入力とアナログとして定義された入力には違いがあります。このような音はアナログ入力です。
マーティン

@Martinピンをアナログ入力にすることはできません。ビデオの各ピクセルに〜125nsのタイムスライス(25nsの命令クロック)があるため、これ以上1ナノ秒を消費することはできません。
トーマスO

2
すべてのピンをデフォルトで出力するMCUを使用していますか?それは災害のレシピのように聞こえます。
コナーウルフ

回答:


31

問題:
入力がフローティングとして設定されたピンをそのままにしておくことは、ピンの状態がわからないという理由だけで危険です。あなたが言ったように、あなたの回路のために、あなたのピンは時々低か、時には人のいない土地にあったり、時には高になることがありました。

結果:
本質的に、フローティング入力は間違いなくチップの不規則な動作または予測不可能な動作を引き起こします。ボードに手を近づけるだけでいくつかのチップがフリーズしたことに気づきました(ESDリストバンドを着用していなかった)か、ボードの電源を入れるたびに起動動作が異なるものがあります。

理由:
これは、そのピンに外部ノイズがある場合、ピンが発振し、CMOSロジックゲートが状態を切り替えるときに電力を消費するため、電力を消費するためです。

解決策:
現在、ほとんどのマイクロは内部プルアップも備えているため、この動作の発生を防ぐことができます。別のオプションは、内部に影響を与えないようにピンを出力として設定することです。


3
あなたが入力としてそれを使用している場合、それは間違いなく不規則な入力を引き起こしますが、それは本当にチップの他の部分に影響し、起動の問題を引き起こしますか?
エンドリス

3
ピンを無視して周辺機器に使用しない場合、問題が発生しますか?
トーマスO

@endolith and Thomas-mikeselectricstuffがこれに答えてくれたと思います!システムの他の部分にノイズが混入するだけで問題が発生する可能性があります。フローティングピンが原因であることがわかりました。出力に設定するとすぐに、問題がなくなりました。
-IntelliChick

2
浮遊金属がシステムの他の部分にノイズを導入する方法を理解していません。確かにノイズを拾いますが、入力に注意を払っていなければ、それは問題ではありません。近くで手を振る問題は、未使用のフローティング入力に本当に関係していますか?
エンドリス

TILフローティングピンは無害ではありません。IntelliChickと@Yannに感謝します!
ニックジョンソン

13

それは単に未知の状態にある、または不必要に切り替えるよりも少し悪いです。今日のデジタル回路はほとんどがCMOSタイプで、トランジスタはハイサイドとローサイドの両方を切り替えます。1と0をクリアすると、それらはオフまたは飽和状態になります。これは、トランジスタが最も効率的な2つの状態です。ただし、間には線形動作の領域があります。アナログアンプに使用されていますが、極端なほど効率的ではありません。つまり、より多くの電力がトランジスタの熱として無駄になっています。最悪の場合、ハイサイドトランジスタとローサイドトランジスタの両方がリークし(実際、ピンはハイでもローでもないため)、それらを組み合わせてチップ内に顕著な電流を発生させ、内部状態を両方ともハイにしようとします低-連鎖反応の次のゲートで同じことを行う可能性があります。電力がなくても熱は問題になる可能性があります。IntelliChickのソリューションは引き続き適用されます。

また、ADCに接続されているピンの場合、一部のマイクロコントローラーはデジタル入力バッファーを無効にする機能を提供し、この問題と漏れが信号を歪ませるのを防ぎます。


入力にヒステリシスはありませんか?
エンドリス

3
シュミットトリガー入力は行いますが、通常はありません。
ヤンバーニエ

6

実際には、主な効果は消費電力の増加です。ピンが不定の電圧源に接続されているのではなく、実際にフロートしている場合、発振が発生する可能性があり、電力消費の増加に加えて、システムの他の部分にノイズが混入する可能性があります。ADCまたはコンパレータ入力に使用できる機能を持つピンには、この問題を回避するためにデジタル入力バッファを切断する機能があります。(AVRのDIDR、PICのADCON1 / ANSEL)


正確に何が振動するのか、そしてその理由は?
エンドリス

@endolith-ピンの入力バッファー。入力と出力の間にコンデンサを備えた反転バッファについて考えてください。
コナーウルフ

@FakeName:しかし、インバーターはどこにありますか?入力にフィードバックしている出力はどこにありますか?
エンドリス

3
基本的に、すべての IC IOピンは、ICダイのバッファー(多くの場合、インバーター)通過します。バッファには入力と出力用の配線があるため、入力と出力の間で容量結合が発生する可能性があります。したがって、入力が十分に高いインピーダンスである場合、インバータ出力の遷移は....など、出力が再び変更させ、変更するインバータ入力を引き起こす可能性がある
コナー狼

4

通常、入力ピンをフローティングのままにしておくことは、次の原因になる可能性があるため、悪い考えです。

a)機能上の問題-不明な入力状態、トグル(たとえば、プロセッサをハングさせる未定義のISRで割り込みをトリガーする場合があります)

b)消費電力の増加-入力ゲートがCMOSインバーターに似ている可能性が高いです。この構造では、入力がいずれかのレールから十分離れている場合(たとえば、電源が半分の場合)、大きなクロスオーバー電流が絶えず流れます。

c)クロスオーバー電流が流れる場合、ホットキャリア注入によりデバイスの寿命が実際に短くなる可能性があるため、現象が発生します。入力ゲートは、連続導通ではなく通常のスイッチング用に設計されているため、デバイスが壊滅的に故障する可能性があります。ただし、これを行うには、高温で何百時間もデバイスをそのような状態にする必要があります。

a)とb)は、実際に発生する可能性が最も高い問題です。c)に関しては、発生する可能性は低くなりますが、なぜリスクを取るのですか?


3

入力は、EMIに基づいて0と1の間で切り替わります。入力が失敗するかどうかはわかりませんが、0から1に0に移行するため、より多くの電力が使用されます。

それを出力に設定して完了です。


1
出力を0または1に設定すると、ビデオ信号が接地され、ビデオが失われます。
トーマスO

内部プルアップを有効にして完了できますか?
エンドリス

内部プルアップを有効にすると良いでしょう。ポイントは、それを既知の状態にし、そこに残すことです。
ロバート

2

一部の高速CMOSデバイスは、入力をフロート状態にすると破壊される場合がありますが、最も一般的な問題は、消費電流の増加です。PICシリーズマイクロコントローラーでは、余分な電流はフローティングピンあたり数百マイクロアンペアのオーダーです。デバイスに損傷を与えるほどではありませんが、5uAを消費するアプリケーションのバッテリー寿命に深刻な影響を与えるには十分です。一部のチップには、デジタル入力を無効にするオプションがあります。入力が無効になっている場合、自由にフローティングのままにすることができます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.