プルアップ抵抗の選定について

このQ&Aのポイント
  • マイコンのI/O端子のプルアップについて、Highレベルの時にマイコンに流れる電流の許容値をどこで見ればいいのかわかりません。
  • データシート上に「入力プルアップMOS電流」という項目があるのですが、使用するポートがそれに該当しないため、別の項目を探しています。
  • マイコンの入力容量に記載されている静電容量を充放電する時に発生する電流がプルアップ時の入力電流であり、抵抗値の上限や下限の計算方法についても知りたいです。
回答を見る
  • ベストアンサー

プルアップ抵抗の選定について

文系の電子回路設計者です。 最近、担当部署が変わり設計をやることになり、わからない事だらけで よくここで調べ物をさせていただいています。 今回皆さんにお聞きしたいのは、マイコンのI/O端子のプルアップについてです。 プルアップの趣旨については解ったのですが、Highレベルの時にマイコンに流れる 電流の許容値をどこで見ればいいのかわかりません。 データシート上に「入力プルアップMOS電流」という項目があるのですが、使用し ているポートがそれに該当しないため、別の項目を探しているのですが、外に該当 する項目がどこなのかわかりません。 (使用するポートはスリーステートポートというのでしょうか、H/L/ハイインピを 選択できるポートです。) 現在は+3.3Vに22Kのプルアップ抵抗を接続しているため、0.15mA流れる計算になる かと思いますが、今回この抵抗を10Kに変更しようと考えているのでこの場合0.33mA 流れることになりデータシート上にこれだけの電流を流せるポートの記載がありません。 そこでいろいろ調べたのですが、CMOSには、入力端子部に小さなコンデンサがありその容量を充放電する電流が流れるという情報を見てマイコンでも同じ原理になっているのではと思い再度見直すと「入力容量」というのが見つかりました。 そこで、この「入力容量」に記載されている静電容量を充放電する時に発生する電流がプルアップ時(Highレベル時)の入力電流と思い、次のような計算をしてみました。 Q=CVよりQ[C]=15p[F] × 3.3[V] Q=49.5p[C] そして接続されている抵抗が現在22K[Ω]のため、 t=RCより t=22K[Ω]×15p[F] t=330n[S] 1[C/sec]=1Aより 49.5p[C]/330n[S]=150μ[A]が瞬間(0.33μ[S])的に流れるということなのでしょうか?また、プルアップの抵抗値の上限や下限はどのように計算すればいいのでしょうか? (使用しているマイコンは ルネサスH8S/2373です。) よろしければご教授お願いします。

noname#230358
noname#230358

質問者が選んだベストアンサー

  • ベストアンサー
noname#230359
noname#230359
回答No.4

>プルアップの趣旨については解ったのですが、Highレベルの時にマイコンに流れる >電流の許容値をどこで見ればいいのかわかりません。 Hレベルの時にマイコンに流れる電流って、どこからどこへ流れる電流でしょうか? 電源(3.3V)→Pull-UP抵抗→マイコン入力ピン→GNDという経路のことを言っているなら それは限りなく0です。確かに過渡的には、あなたの言う電流が短時間に流れますが、 それ以降(入力の寄生Cを充電した後)は、入力電流=0と考えてOKです。 ICの入力は10の12乗とかのとても大きな入力抵抗なので、Pull-UP抵抗が1MΩでも1kΩでもHと認めてくれます。ですので、マイコンのことは気にせずに抵抗値が 決められます。気にしなくて良い=データシートに入力電流の項目が無い ということです。 あと、入力につけるPull-UP抵抗の大きさは、その前の回路の吸い込める電流以内の値にします。 例えば、センサの出力(例えばオープンコレクタとする)→マイコンという場合、3.3V→センサ出力ピン(Low)→センサの電源端子→GND(0V) という経路で電流が流れます。 センサには、定格として「出力電流の上限値」が書いてあるので、 その電流値の内輪になるような抵抗をPull-UP抵抗として選びます。 例えば、20mAまで吸える出力なら、3.3V/20mA=165Ω以上の抵抗ということになります。 設計者の入力Pull-UP抵抗の考え方としては、 ・センサ等、つながる機器の出力許容電流範囲内で使う必要があるが  ノイズの影響を少なくする目的で、なるべく小さい値が使いたい ・でも小さい値だと、電流が流れてしまい、電源負担が大きくなってしまう。 これらのトレードoffで値を決めます。

noname#230358
質問者

お礼

島倉チョコさん 回答ありがとうございます。 細かい説明ありがとうございました。とくに、 「電源(3.3V)→Pull-UP抵抗→マイコン入力ピン→GND」の経路に関する 流れやその他の入力についての説明もありがとうございます。非常にわか りやすかったです。 おかげさまで理解することができました。 これまでの経緯と意見を参考に自分なりの定義と理由付ができそうです。 本当にありがとうございました。

その他の回答 (3)

noname#230359
noname#230359
回答No.3

ディスクリートの回路では、よくベース容量なんかを気にしますが、マイコンの場合はほとんど10KΩで大丈夫ではないでしょうか。 勿論既にコメントがあるように許容電流を越えるようではいけませんが… 消費電力を気にする場合には、10KΩ以上にすることもありますね。 以前、H8/3048でしたが、電池駆動する必要があって、クロック下げてプルアップ/プルダウンを47KΩで図面を出したら、お客様から「100KΩにしなさい」と突っ返されたことがあります。 文系の電子回路設計者さんが計算されたみたいに時定数の心配しなきゃいかんのでは?と思いましたが、そのときは特に問題は起きませんでした それと、私も文系(英文科卒)で、電子・電機の教育は受けたことがありませんので…(^^; 入力なんですね。 既にコメントされていますが要は論理レベルを固定できれば良いわけですからそんなに定数に神経質にならなくても大丈夫でしょう。 ノイズの影響の話しは、入力インピーダンスが高くなるから…ということでしょうけど、10kΩでも20kΩでも現実としては差は無いですよ(^^; (無線屋的感覚だと600Ωは既にハイインピーダンスです。数十kΩ台なら多少違う定数でも似た様なものではないかと…) 件の100kΩプルアップの話しもH8の入力でした。 屋外、公道上で何箇所か(すみません、場所は守秘義務絡みで書けません。地名を並べるとアレだってばれちゃいますが、かなり都会です)試験したそうですがハードウエアに依存するトラブルは皆無だったとエンドユーザーから伺いました。 勿論全てがそうなると言うわけではないですから、環境に応じて検証は必要でしょうけど… 自分は趣味が高じてこの世界に来てしまったので、難しい論理は判りませんが、半田ごて手にした年数と場数だけはこなしていますので、それを頼りになんとかやっています。 (トランジスタの2SB56、ゲルマニウムダイオードのSD34あたりが最新鋭、本格的な機器は真空管式…の時代からいじっていました) この世界に文系出身の人が来ると嬉しくなっちゃいます(^^;

noname#230358
質問者

お礼

のら猫さん 回答ありがとうございます。 元の回路については、ご指摘のとおり消費電力を考慮して22kΩとしたそうなのですが手持ちの在庫の 関係と抵抗値を高くするとノイズの影響を受けやすいという話しを聞き10kΩに変えようとしたのが今回 の質問のきっかけでした。 同じ文系(わたしは普通科卒です)出身とのことですが、私も頑張ってレベルをあげていきたいと思います。 たびたび回答ありがとうございます。 入力プルアップの件は、特に神経質にならず皆さんの意見(10kΩ)を自分の中の基準にして今後の経験の 中でその範囲を探っていきます。 わたしは、ついこの前まで制御盤関係から電子設計に移ったのでデータブックも今回初めて見たくらいで まだ判らない語句も多く悪戦苦闘中ですが、いつか質問に対して回答できるレベルになりたいと思います。

noname#230359
noname#230359
回答No.2

使用方法の確認ですが、 このポートは出力(H8出し)でしょうか? それとも入力(H8入力)でしょうか? これによって条件が違うと思います。 入力で使用する場合、特に気にする必要はありません。 (例えばVCCやGND直接でもかまわないと思いますが、VCCに直接つなぐ人はまずいません。) 入力信号のレベル固定がメインなので、適当な抵抗値を(10kΩ程度) が妥当だと思います。 出力で使用する場合は「おつさん」がおっしゃられていた通り、MAX2.0mA とありますので、プルアップの場合は端子をLに引いた時に H8に吸い込まれる電流値を2mA以下にする必要があります。 H8の出力がLでかつ0Vまで引いた場合、2.0mA以下にするには 3.3(V) / 2(mA) =1650(Ω) ですので、1.65kΩ以上の抵抗を接続する必要があります。 ということで10kΩに変更しても問題ないと思います。 一般的にプルアップは論理固定するためですが、抵抗値が大きいと 信号は徐々に変化するため、不定期間が多くなります。 また、小さくすると出力で使用したときに余計な電流が流れます。 オープンドレイン端子等もあるので、一概には決められませんが、 私の感覚では論理固定がメインであれば4.7kΩ~47kΩにしています。 といってもほとんどが10kΩですね。

noname#230358
質問者

お礼

saishimochi さん 回答ありがとうございます。 使用方法は、入力で入力信号のレベル固定が目的です。 「入力で使用する場合、特に気にする必要はありません。」とのことですが、 もしよろしければその理由について少しお聞かせ願えないでしょうか? これまでは、シーケンサをメインとした制御盤を扱うことがほとんどでこの時は 「プルアップ」「プルダウン」なんて考えなくてよい世界(自分のおこなっていた 範囲では)だったのでいろいろと悩むことも多いですが、1つ1つ解決させながら 覚えていきたいと思います。

noname#230359
noname#230359
回答No.1

もう少し他のパラメータを見てみましょう 次のページの出力許容電流値を見てください。 1端子あたりLow(吸い込み) High(吐き出し)ともに MAX2.0mAとあります。 これを超えないように設計します。

noname#230358
質問者

お礼

おつさん 回答ありがとうございます。こちらの質問の仕方をもう少し明確にすれば良かったのですが 現在思案しているのは入力の場合についてです。 あと、LowとHighのカッコ書き、ありがとうございます。まだ判らないことも多いので1つ1つ 勉強していきます。

関連するQ&A

  • プルアップ抵抗について

    こんばんは。 PICマイコンをやっていますが、 プルアップについてよく分かりません。 プルアップは、電圧を引き上げる、 と説明されていますが、 自分で測ったところ、 抵抗を入れたときと、入れないときでは、 入れないときの方が、ポートの 電圧は、高いようです。 他の説明では、あまり高い電圧だと、 ポートが破壊されてしまう、とも あります。 ポートを守るため、と考えたほうが、 分かりやすそうですが、殆どは、電圧を 引き上げるため、とあります。 といっても、抵抗をいれないと、確かに、 反応がうまくいきません。 (そう考えると、一定の電位差を得るため?と なりそうですが・・)。 初心者ですが、何かアドバイスがありましたら、 お願いします。

  • プルアップ抵抗値の決め方について

    ほとんどこの分野に触れたことがないので大変初歩的な質問になると思います。 図1のような回路でプルアップ抵抗の値を決めたいと思っています。 B点での電圧を4.1Vとしたい場合について考えています。その場合、AB間での電圧降下は0.9Vとなります。 抵抗値×電流=0.9Vとなるようにプルアップ抵抗の値を決めるべきだと考えていますが、この抵抗に流れる電流が分からないため、決めるのは不可能ではないでしょうか? 抵抗値を決めてからやっと、V=IRより流れる電流が決まるため、それから再度流れる電流と抵抗を調節していって電圧降下が0.9Vとなるように設定するのでしょうか。どうぞご助力お願いします。 以下、理解の補足です。 ・理解その1 ふつう、こういう場合は抵抗値を計算するためには、電圧降下と抵抗に流れる電流が決まっていることが前提だと考えていました。V=IRを計算するためには、この変数のうち2つを知っていなければならないからです。 また、例えば5V/2Aの電源を使った場合、マイコン周りは電源ラインからの分岐が多いため、この抵抗に2A全てが流るわけではないことも理解しています。 電源ラインからは「使う電流」だけ引っ張るイメージだと理解しているのですが、その「使う電流」が分からないため抵抗値を決定できません。(ポート入力電流の最大定格はありますが…) ・理解その2 理解その1で書いたように、抵抗値を計算するためには、電圧降下と抵抗に流れる電流が必要だと理解しています。図2を例に説明します。Rの値を決めたいとします。 CD間の電圧降下が5Vであることと、回路全体を流れる電流が2Aであることから、キルヒホッフの法則より簡単にRの値とそれぞれの抵抗に流れる電流が分かります。今回の例もこれと同じように考えられないのでしょうか。

  • プルアップ抵抗の抵抗値

    マイコンでI2Cを使って通信するSDカードモジュールがあります。 従来使用していたSDカードモジュールは入手が難しくなり、後継版を使うことになりました。 従来品と後継版の取説を見ていますと、I2C通信用のSCK, SDAの信号ラインのプルアップ抵抗の大きさが - 従来品 : 4.7kOhm - 後継品 : 2.2kOhm と異なっています。 プルアップ抵抗が2.2kOhmを推奨しているモジュールに対して4.7kOhmでプルアップする場合の注意点にはどういうことがあるのでしょうか?

  • プルアップ抵抗値

    いつもお世話になります。 アドバイスお願いします。 今ボード設計をしています。 使用すすCPUはSH-2です。この汎用ポートを使ってあるコントローラへ制御信号出力したいと考えています。 ここでSH-2の制約でウィークキーパ回路と言う機能が内蔵されており、出力で使用する場合であまり大きな抵抗値は×だそうです。 接続したいコントローラのマニュアルには100kでプルアップと指定があります。 ここで質問です。 (1)100kでプルアップしてデジタル信号を入力と書いてある意図は何なのでしょうか? (2)100kいかのした場合受け手のコントローラとしてはどんな不具合が起きるのでしょうか? (3)結局今回は何kΩでプルアップしたらよいのでしょうか??? ご指導の程よろしくお願いします。 以上 

  • プルアップ、プルダウン抵抗の使い分け

    マイコン出力ポートと汎用性ロジックICの間には一般的にプルアップとプルダウン抵抗どちらを選択するものなのでしょうか? マイコン出力ポートからHigh信号を出力し、汎用性ロジックICを通過してLEDを光らせます。

  • 電子工作 プルアップ・プルダウン抵抗について

    電子工作ど初心者のものです。 プルダウン抵抗・プルアップ抵抗の考え方がいまいちわかりません。 解放状態だと不安定なので、安定させるためにどちらかつけるというのはわかるんですけど・・・。 こちらのサイトを参考にしているんですが・・・。↓ http://www.geocities.jp/zattouka/GarageHouse/micon/circuit/pullup.h... プルアップ抵抗の説明に使われている写真の三枚目、「スイッチを押した場合」の青い点線矢印が、マイコン入力の方に向かわないのはなぜですか? 線はつながっているのに・・。素人の考えだと、電流が枝分かれして、GNDにもマイコンの入力にも流れる気がするんですけど。 あと、同じプルアップ抵抗の説明の写真で、オレンジの点線矢印がスイッチを入れる前は5Vから、スイッチを入れるとGNDから入力の方に引かれてるんですが、このオレンジの点線は何を意味しているのでしょうか・・・。 それから、プルダウン抵抗の説明に使われている3枚目の写真の青・オレンジの点線矢印がGNDの方に向かわないのは抵抗があるからでしょうか・・・。 また、このプルダウン抵抗の説明においても、オレンジの点線矢印がスイッチを入れる前と後で出発点が逆になっていますよね? つたない文書でわかりにくいかも知れませんが、お詳しい方教えてくださいませ。

  • 電子工作 プルアップ・プルダウン抵抗について

    電子工作ど初心者のものです。 プルダウン抵抗・プルアップ抵抗の考え方がいまいちわかりません。 解放状態だと不安定なので、安定させるためにどちらかつけるというのはわかるんですけど・・・。 こちらのサイトを参考にしているんですが・・・。↓ http://www.geocities.jp/zattouka/GarageHouse/micon/circuit/pullup.htm プルアップ抵抗の説明に使われている写真の三枚目、「スイッチを押した場合」の青い点線矢印が、マイコン入力の方に向かわないのはなぜですか? 線はつながっているのに・・。素人の考えだと、電流が枝分かれして、GNDにもマイコンの入力にも流れる気がするんですけど。 あと、同じプルアップ抵抗の説明の写真で、オレンジの点線矢印がスイッチを入れる前は5Vから、スイッチを入れるとGNDから入力の方に引かれてるんですが、このオレンジの点線は何を意味しているのでしょうか・・・。 それから、プルダウン抵抗の説明に使われている3枚目の写真の青・オレンジの点線矢印がGNDの方に向かわないのは抵抗があるからでしょうか・・・。 また、このプルダウン抵抗の説明においても、オレンジの点線矢印がスイッチを入れる前と後で出発点が逆になっていますよね? つたない文書でわかりにくいかも知れませんが、お詳しい方教えてくださいませ。

  • プルアップ抵抗のしくみ

    マイコンのスイッチ回路について 今年4月から勉強しているのですが スイッチが ON→1 OFF→0 で、プルアップ抵抗を使用すると ON→0 OFF→1 となるしくみがよくわかりません。 検索エンジンを使用しても、いいサイトが見つからず。。 どなたか教えてください。 よろしくお願いします。

  • CPLD(XL9536)の内蔵プルアップ抵抗

    XL9536からの出力を、外部のプルアップ/ダウン抵抗、TC4427ゲートドライバ、ゲート抵抗、P型N型HブリッジFET、モータとして回路を構成しています。 XL9536は前段のマイコンの信号をロジックで整理し、デッドタイム生成をする目的で使用しております。 通常の動作には問題ないことをオシロスコープでも挙動でも確認できているのですが、何かのタイミングにFETが焼けてしまっており困っています。 FETのVDSS、ID、VGSSは仕様の範囲に収まっており、モータをロックしても少々の発熱で済んでおります。 稀に起きる事態として、XL9536より前段のシステムが断線しかけの配線などにおり落ちる現象は目にしており、もしかするとこれが関係あるかもしれないと考え始めました。 XL9536は、通常の動作時はデッドタイムが入るのでHブリッジに貫通電流が流れることは ありませんし、外部のプルアップ/ダウン抵抗は各ゲートをOFFにする側として、 P側はプルアップを、N側はプルダウンをそれぞれ10kΩでしております。 また、前段のシステムが落ちた場合に、リセット系の信号をきちんと拾えていれば CPLDの出力はすべてLowとなり、P側がONになる仕様でした。(すべてOFFにすべきでしたが。) 内蔵プルアップ抵抗がどういったタイミングで機能するか厳密な記載は 見つけられませんでしたが、P側はOFFになり、N側は外部のプルダウン抵抗と 分圧されて不安定な状態になる構成です。しかしP側がOFFであれば貫通電流は流れません。 内蔵プルアップ抵抗が一部のピンにのみ機能し、P側が正常な状態としてONに固定され、 N側は内蔵プルアップ抵抗が機能してゲートドライバの入力が不安定な状態になり 結果として貫通電流が流れるなんていうことは有り得るものでしょうか?

  • プルアップ抵抗の抵抗値とワット数の決め方について教えてください

    プルアップ抵抗の抵抗値とワット数の決め方について教えてください。 リレーでオンオフする回路があり、そのオンオフをICで検知したいのですが、 ICの入力の電圧を安定させるためにプルアップ抵抗を入れたほうが言いというのを聞きました。 ただ、ICの入力端子に対してのプルアップ抵抗の決め方がよくわかりません。 ネットで調べても数kΩ~数百kΩと書いてあるのが多く、適切な数値の求め方が判りませんでした。 ・ICの電源は3.3Vまたは5Vと決まっていません。 ・ICへの入力は4入力あります。 あと、回路を小さくしたいのでプルアップ抵抗に集合抵抗を使用したいと思うのですが、 1/8Wで大丈夫なのでしょうか? そういった、抵抗のワット数に対する計算方法も教えてください。