- ベストアンサー
マイコンの空端子処理
- マイコンの入出力ポートについて、使用しない端子を処理する方法について解説します。
- プルアップとプルダウンのどちらがより適切な空端子処理方法なのかについて、昔と現在の意見をまとめました。
- 最近のマイコンには内部プルアップ機能が搭載されており、プルアップ処理が推奨されていますが、実際にはどちらが良いのかは回路固有の条件によるものです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
こんにちは。よろしくお願いします。 状況により異なってきますので,(1)理想と(2)量産(コスト重視)の二つに分けて検討してみたいと思います。 1.ポートは入力にし,プルアップまたはプルダウン(どちらでも良い) (1) ノイズ等によりポート・ディレクション・レジスタが書き変わる可能性がある。 (2) プルアップでポート・データ・レジスタの内容が: ・Lの場合,電流が流れる。(Hの場合はOK) (3) プルダウンでポート・データ・レジスタの内容が: ・Hの場合,電流が流れる。(Lの場合はOK) (4) このため(意図しない電流を流さないため),メインループ,アイドル処理などで,定期的にポート・ディレクション・レジスタを初期化し直す。 2.量産時,プルアップ(ダウン)抵抗を入れない場合。 (1) ポートはオープンとする。(抵抗節約のため) (2) ポート・ディレクション・レジスタは出力にする。 (3) ノイズ等によりポート・ディレクション・レジスタが書き変わるのは1-(1)と同じ。 (4) 念のため,メインループ,アイドル処理などで,定期的にポート・ディレクション・レジスタを出力に,ポート・データ・レジスタをHまたはLに設定し直す。 抵抗のプルアップかプルダウンかの直接的な答えにはなっていませんが,他に考慮した方がよい点がありましたので,書かせて頂きました。 結論としてプルアップ,プルダウンどちらでも良いのですが,基板アートワーク屋さんと相談して,パターンが引きやすいように随時変更してもよろしいかと思います。
その他の回答 (2)
昔の人だが >>昔の人は、空端子はプルダウン処理が良い。とか プルアップにすべきだと思うのだが 理由 NULLなのかどうか判別のため ちなみに 多くのパソコンで NULL=&HFFとなっているのは プルアップされているから 自己突っ込み NULL=&HFF は 覚え間違いだったようです プルアップしておけば NULLの時 ノイズなどの影響を受けない などで 多くのパソコンではプルアップされています
お礼
ご回答有難うございます。 自分はハード側で、結論を見出せませんでしたが、 はははさんの回答はなるほど!と思いました。 自分は内部プルアップと同方向のプルアップに 何となくしてましたが、プルアップにする確信が 持てました。有難うございます。
毎度JOです。 最近のマイコンはCMOS構造なので、どちらでもかまいません、 内部プルアップはプログラムによりキャンセル出来ます。 量産品で部品点数を減らしたい場合、出力設定ポートオープンとして、H又はL固定でもよろしいでしょう。 マイコンが暴走などにより、入力・出力設定が変化する場合も考慮しなければなりません、WDTなどの方策をお忘れなきように。 >>プログラム立上り前は不定と言うこともあり 普通の電源、スイッチングでもトランスでもですが、電圧が「不定」な領域は直ぐに通過するハズです、 何かの原因で、普段から1V~2V程度をふらふらしているのでしょうか? 空きポートはマイコン暴走を考慮して、入力設定として、プルアップ/プルダウンどちらでも構いません。 どちらでも構わないので、あなたが決めれば良いと思います、 どうしても決められないなら、私が決めます、プルアップにしましょう。 理由はどちらでも良いからです。
お礼
早速のご回答有難うございます。 マイコン暴走,プログラム立上り前は不定と言うこともあり、プルアップ/プルダウンをしたいと思いますが、迷っています。 こんなことで迷うなと言われるかも知れませんが、何か決め手となる意見があれば、ありがたいです。
補足
プログラム立上り前は、電源立上時のリセット時間で数十msオーダーだと思いますが、確かに直ぐと言えば直ぐだと思います。 しかし、ソフト屋さんに入出力ポートはプログラム立上り前は入力ポートになっていると聞きました。 ノイズが酷い環境下ではプルアップ/プルダウンしてないと、ノイズでマイコン内に貫通電流が流れ、酷い時は破壊,破壊に至らなくても電源電流が増加する(一瞬ですが)と言う懸念があると思います。 浅知恵ですが、「プログラム立上り前の不定」を書いた意図を回答しておきます。 他の回答からも、どうもプルアップの方が良さそうですね。 (後は、AW時のパターン設計の良い様に決めます。)
お礼
ご回答有難うございます。 頂いた回答も考慮して、プルアップ,プルダウンのどちらにするか決めたいと思います。 (ハード側からすると、確かに回路設計時に希望を入れておいて、AW時にパターン設計の良い様に決定しても良いかもしれませんね。)