オープンドレイン出力について メモ

以下の挙動になる。

Hi にした時 Low にした時
普通のポート Hi Low
オープンドレイン出力(ポートはオープン) Z Low
オープンドレイン出力(ポートはプルアップ) Hi Low

内部の仕組みはともかく、簡単に考えるとオープンドレイン出力はHi時はハイインピーダンス。Low時はGNDに接続されると考えればよい。

Hi時はハイインピーダンスになるだけなので、もしポートに別のオープンドレイン出力が繋がれていてそれがLowだったとしても信号線は問題なくLowとなる。普通のGPIOでこれが起こると大電流が流れてしまう。I2Cはこの特性を利用している(らしい)。(CANのリセッシブも似たような挙動だ。)

よくやってしまう間違いが普通のGPIOだと思ってHiにしてもHiにならないので困るという事故である。

web拍手
This entry was posted in メモ. Bookmark the permalink.

コメントを残す

メールアドレスが公開されることはありません。

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>