本文へ移動
サポートシェアリングソリューション
OKWAVE Plus

このQ&Aは役に立ちましたか?

ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:プルアップ抵抗の選定について)

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

2023/09/06 22:03

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

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

2007/02/16 12:16

文系の電子回路設計者です。
最近、担当部署が変わり設計をやることになり、わからない事だらけで
よくここで調べ物をさせていただいています。

今回皆さんにお聞きしたいのは、マイコンの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です。)
よろしければご教授お願いします。

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

ベストアンサー
2007/02/19 03:21
回答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で値を決めます。

お礼

2007/02/19 21:51

島倉チョコさん

回答ありがとうございます。

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

質問者

このQ&Aは役に立ちましたか?

この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。

質問する

その他の回答 (4件中 1~4件目)

2007/02/16 17:45
回答No.3

ディスクリートの回路では、よくベース容量なんかを気にしますが、マイコンの場合はほとんど10KΩで大丈夫ではないでしょうか。
勿論既にコメントがあるように許容電流を越えるようではいけませんが…

消費電力を気にする場合には、10KΩ以上にすることもありますね。
以前、H8/3048でしたが、電池駆動する必要があって、クロック下げてプルアップ/プルダウンを47KΩで図面を出したら、お客様から「100KΩにしなさい」と突っ返されたことがあります。
文系の電子回路設計者さんが計算されたみたいに時定数の心配しなきゃいかんのでは?と思いましたが、そのときは特に問題は起きませんでした

それと、私も文系(英文科卒)で、電子・電機の教育は受けたことがありませんので…(^^;

入力なんですね。
既にコメントされていますが要は論理レベルを固定できれば良いわけですからそんなに定数に神経質にならなくても大丈夫でしょう。

ノイズの影響の話しは、入力インピーダンスが高くなるから…ということでしょうけど、10kΩでも20kΩでも現実としては差は無いですよ(^^;
(無線屋的感覚だと600Ωは既にハイインピーダンスです。数十kΩ台なら多少違う定数でも似た様なものではないかと…)

件の100kΩプルアップの話しもH8の入力でした。
屋外、公道上で何箇所か(すみません、場所は守秘義務絡みで書けません。地名を並べるとアレだってばれちゃいますが、かなり都会です)試験したそうですがハードウエアに依存するトラブルは皆無だったとエンドユーザーから伺いました。

勿論全てがそうなると言うわけではないですから、環境に応じて検証は必要でしょうけど…

自分は趣味が高じてこの世界に来てしまったので、難しい論理は判りませんが、半田ごて手にした年数と場数だけはこなしていますので、それを頼りになんとかやっています。
(トランジスタの2SB56、ゲルマニウムダイオードのSD34あたりが最新鋭、本格的な機器は真空管式…の時代からいじっていました)
この世界に文系出身の人が来ると嬉しくなっちゃいます(^^;

お礼

2007/02/17 00:49

のら猫さん

回答ありがとうございます。

元の回路については、ご指摘のとおり消費電力を考慮して22kΩとしたそうなのですが手持ちの在庫の
関係と抵抗値を高くするとノイズの影響を受けやすいという話しを聞き10kΩに変えようとしたのが今回
の質問のきっかけでした。

同じ文系(わたしは普通科卒です)出身とのことですが、私も頑張ってレベルをあげていきたいと思います。

たびたび回答ありがとうございます。

入力プルアップの件は、特に神経質にならず皆さんの意見(10kΩ)を自分の中の基準にして今後の経験の
中でその範囲を探っていきます。

わたしは、ついこの前まで制御盤関係から電子設計に移ったのでデータブックも今回初めて見たくらいで
まだ判らない語句も多く悪戦苦闘中ですが、いつか質問に対して回答できるレベルになりたいと思います。

質問者
2007/02/16 15:12
回答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Ωですね。

お礼

2007/02/17 00:35

saishimochi さん

回答ありがとうございます。

使用方法は、入力で入力信号のレベル固定が目的です。

「入力で使用する場合、特に気にする必要はありません。」とのことですが、
もしよろしければその理由について少しお聞かせ願えないでしょうか?

これまでは、シーケンサをメインとした制御盤を扱うことがほとんどでこの時は
「プルアップ」「プルダウン」なんて考えなくてよい世界(自分のおこなっていた
範囲では)だったのでいろいろと悩むことも多いですが、1つ1つ解決させながら
覚えていきたいと思います。

質問者
2007/02/16 12:47
回答No.1

もう少し他のパラメータを見てみましょう

次のページの出力許容電流値を見てください。

1端子あたりLow(吸い込み) High(吐き出し)ともに MAX2.0mAとあります。
これを超えないように設計します。

お礼

2007/02/16 23:46

おつさん

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

質問者

お礼をおくりました

さらに、この回答をベストアンサーに選びますか?

ベストアンサーを選ぶと質問が締切られます。
なおベストアンサーを選びなおすことはできません。