2016年2月10日水曜日

プルアップ抵抗は小さければ良いの?

すべての回路を思い切り単純化するとLCRです。どーんと電流が流れようとすればインダクタンスLが立ち上がりを邪魔し、静電容量Cが貪欲に電荷を飲み込み、抵抗Rがそれらを邪魔します。今どきのマイコンの入力端子はほとんど全部MOSなので、端子ごとにコンデンサが挟まっているような状態です。

もう1つ前提として、マイコンなどロジックICの仕様書にはスレッショルドというものが記載されています。これは、これ以下の電圧なら確実にLowと判断され、こっち以上なら確実にHighとなる、という仕様を示すものです。数Khz以下の回路であれば、十分な余裕をもってLowはGnd近く、Highは電源近くまで振れますので、問題ありません。

でも、余裕が大きすぎると電圧の振り幅が大きくなるので消費電力が増えるし、動作も低速になります。逆に余裕が小さい場合にはノイズや電源変動で誤動作しやすくなります。

以上を踏まえて見ていきます。

■プルアップ抵抗が大きすぎる場合■

Cに充電するまで時間がかかってしまい、立ち上がり / 立ち下がりの波形がなまってしまいます。これはオシロで見れば一目瞭然なので、問題視する人は多いです。

■プルアップ抵抗が小さすぎる場合■

では、小さくすれば良いのでしょうか?

今度は、Low出力がVcc側に引っ張られることが問題になります。今どきのセンサーやマイコンは省電力仕様なので、大電流を供給できる作りになっていません。センサーの出力をマイコンにつなぐような場合、センサー内部からドライブ回路への出力がLowレベルになっていたとしても、プルアップ抵抗が小さすぎてドライブ回路の能力が足りないとGndに引っ張ることができず出力電圧が下がらずにHighと誤認識されてしまいます。

それに前述の通り今どきのマイコン / センサーの入力端子はコンデンサーみたいなもんなので、Lowに落とす場合ドライブ回路はコンデンサーに溜まった電荷とプルアップ抵抗から供給される電流に立ち向かわなければなりません。

周波数が数百Khzを越える回路だと、回路の静電容量Cや電流供給能力が問題になって、波形がなまりがちです。でも、少し極論になりますが、スレッショルド電圧から離れたところで波形が多少暴れても大きな問題ではありません。要するにデジタル回路は、スレッショルドより上か下かで動く回路なので。

ちなみにドライブ回路からの電流供給能力を支援する意味でもパスコンは重要なのです。ドライブ回路が電流を流そうとしても電源が追いついてくれなければ結局波形は鈍ってしまうのですが、そこにパスコンがついていればコンデンサに蓄積された電荷がドライブ回路に迅速に電荷を供給してくれます。センサーなどを使うときには必ずメーカー推奨回路に目を通してどのぐらいのパスコンをつければ良いか調べておきましょう。

そんなこんなで、デジタル回路も高速になるとアナログ的な配慮が必要になってくるから困ったもんですね。

1 件のコメント:


  1. 抵抗を買った時、おまけにコンデンサーとインダクターがついてきている事を知っているBlogで安心しました。

    返信削除