オープンドレイン回路とオープンコレクタ回路の機能について理解する

APDahlen Applications Engineer

DigiKey TechForumには、「オープンドレインがどのようなものか」を説明した人気の投稿「オープンドレインとはどういう意味ですか?」があります。この投稿では、オープンドレインの概念を、外部プルアップ抵抗を必要とするデジタル回路として示しています。それは良い説明ですが、「なぜ」オープンドレイン回路が望ましいのかを調べて知識を広げる必要があります。

始める前に、オープンドレインまたはオープンコレクタ接続を特徴とするロジックデバイスのリストを作成しましよう。

  • 74シリーズロジック:7401、7403、7405、(7406 および高電流 7416)、(7407 および高電流 7417)、およびさらに多くのファミリ

  • 40107などの4000シリーズのロジックデバイス

  • LM339Dなどのコンパレータ

  • マイコンに最近接続したセンサを含むほぼすべてのInter-Integrated Circuit ( I^2C )。さらに新しいAdafruit STEMMA QTSparkfun Qwiicのインターフェースも含みます。

  • 温度センサDS18B20+などのDallasの1 線式デバイス

  • PIC16F18026などの新しいPICファミリを含むマイクロコントローラ。各I/Oピンはオープンドレイン接続が可能です。

関連する例は多数ありますが、要点はオープンドレイン出力とオープンコレクタ出力を備えたデジタルデバイスが一般的だということです。 このテクノロジがどのように、そしてなぜそれほど有利なのかについて詳しく知ることは有益です。この投稿では、この50年以上前の構成がなぜ今でも意味を持ち続けているのか、そしてなぜそれがPIC、Stemma QT、Qwiicなどの最新のコンポーネントの設計上の特長になっているのかを探ります。

明確かつ簡潔にするために、以降はオープンドレインという用語を使用します。

技術的なヒント: オープンドレインの構成を使うにはそれなりの理由がありますが、スピードはその理由の1つではありません。 オープンドレインでは一般的にLowからHighへの遷移が遅いのですが、これについては、別の記事で取り上げます。

オープンドレインデバイスによるレベルシフト

オープンドレイン接続はレベルシフトに使用できます。ご経験のある方も多いと思いますが、かつて5V DCデジタルロジックが一般的だった時代がありました。代表的な例は、5V DC I/Oを備えたArduino UNOです。 しかし、近年では3.3V DCの普及が進んでいます。今日では、複数の電圧を備えたシステム内でマイクロコントローラ、FPGA、センサが物理的に接続されることは珍しくありません。さまざまなコンポーネントで「5V DC耐圧」仕様を目にしたことがあると思います。レベルシフト回路も見たことがあるかもしれません。

オープンドレイン構成により、さまざまな電圧間のレベルシフトが容易になります。1つの例が、図1に示す架空のMultisim Liveシミュレーションとして示されています。ここでは、MOSFETを駆動する1対のロジックバッファが見られます。各MOSFETは、必須のプルアップ抵抗の代用として機能する白熱灯を駆動します。1つのランプは3.3V DC電源に接続され、もう1つのランプは5.0V DC電源に接続されていることに注意してください。この例では、MOSFETは駆動デジタルロジックを外部電圧から分離する役割を果たしています。これを言い換えると、すべての電源は共通のグランドを共有しますが、正の電圧間には相互作用がありません。 最後にもう1つ注意してください。回路に電流が流れると白熱電球が光ります。これは視覚的に優れたインジケータですが、ランプはアクティブローで点灯するのに対し、ほとんどの人はアクティブハイと考えているため、誤解を招く可能性があります。

Figure 1: Representative schematic for level shifting between 3.3 and 5.0 VDC.

図1: 3.3V DCと 5.0V DC間のレベルシフトの代表的な回路図

Multisim Liveについて: この記事の写真をクリックすると、一般に公開されている回路のシミュレーションが表示されます。誰でも様々なコントロールを使ってシミュレーションを実行することができます。ただし、Multisim Liveの利用契約を結んでいない限り、回路を修正することはできません。Multisim Liveは、National Instrumentsの子会社Digilentが主催するオンラインサービスです。

図1をPICマイコンに関連付けることができます。この例では、PICを5.0V DC電源で駆動すると仮定します。I/Oはオープンドレインに設定します。これでPICは図1と同じ構成になります。ここでは、PICの内部ロジック は5V DC電源を使用します。PICのMOSドライバは、図1の2N7000G MOSFETと同じようにグランドを基準にしています。白熱灯をプルアップ抵抗に置き換えることで、PICは外部3.3V DCおよび5.0V DCデバイスからの入力を駆動して受け入れる能力を持つ混合電圧システムで機能することができます。

技術的なヒント: 1対のクランプダイオードがすべてのマイクロコントローラI/Oピンに含まれています。これらのダイオードは、わずかな過電圧と静電気保護を提供します。この記事で説明されているレベルシフトは、5.0V DCで駆動されるマイクロコントローラを使用して、オープンドレイン接続を介して3.3V DCと5.0V DCのロジックを駆動する場合に機能します。しかし、これは逆では動作しません。オープンドレイン接続を介して5.0V DCの負荷が印加されると、3.3V DCで供給されるマイコンが損傷する危険があります。関連するI/Oピン対VDDダイオードは順方向にバイアスされるため、ピン電圧は3.3V DCに加えてダイオード1つ分の電圧降下に制限されます。適切な電流制限を行わないと、マイクロコントローラは破壊されます。2N7000のような外付けMOSFETを、直列抵抗を接続したPICマイコンで駆動できるため、これは大きな問題ではありません

オープンドレインデバイスによるワイヤードNOR

この記事の前半では、オープンドレイン構成をレベルシフトに使用する方法を示しました。ここでは、複数のオープンドレインデバイスを接続して共有バスを形成する方法を紹介します。このバスは、 I^2C 通信の中心的な機能です。 I^2C インターフェースでは、複数のノードが1つの2線式バスでデータを共有できることを思い出してください。シリアルデータ(SDA)ラインとシリアルクロック(SCL)ラインには、図2のようなプルアップ抵抗があります。

技術的なヒント: I^2C 通信バスは、複数のデバイスが少量のデータを共有する必要がある場合に最も効果的です。単一のデバイスが大量のデータを共有する必要がある場合は、関連するSPIプロトコルが好ましいです。SPIは、専用ラインを使用して目的のデバイスを選択するため、シリアルインターフェース上でアドレスを送信する必要がなく、より高速です。SPIは全二重が可能です。最後に、SPIはデータ線に高速なMOSドライバを使用します。 I^2C のプルアップ抵抗のような応答の遅さはありません。このトピックについては別の機会で取り上げます。

Figure 2: Schematic for wired NOR featuring open drain devices.

図2: オープンドレインデバイスを備えたワイヤードNORの回路図

図2に3つのオープンドレインMOSFETを示します。ドレインは共通のプルアップ抵抗に接続されています。この例では、電球がプルアップ抵抗として機能し、電流の流れを視覚化できます。回路の論理和の性質に注目してください。単一のMOSFETまたはMOSFETの組み合わせが作動すると、電球が点灯します。すべてのMOSFETがオフになると電球は消えます。

独立性と分離は、図2の重要な考慮事項です。唯一の条件は、すべてのデバイスがグランドを共有していることです。各MOSFETはプルアップ抵抗に対して、共有グラウンドの方に引っ張るように動作します。この時点で、図3に示すように I^2C 通信バスに焦点を移すことができます。

技術的なヒント: 「正論理」と「負論理」という用語は、デジタルエレクトロニクスの初心者には分かりにくいかもしれません。図2を考えてみましょう。電球(負論理)の視点から見ると、この回路はワイヤードORになってます。ロジック入力のいずれかがアクティブになると電球が点灯します。しかし、正論理の観点から考えると、この回路はより正確にはワイヤードNORと呼ばれます。出力がハイになるのは、すべての入力がオフになった場合だけです。

オープンドレインデバイスによる I2C通信バス

図3は観葉植物のモニタリングと自動栽培に適したマイクロコントローラシステム、センサの数々とアクチュエータを示しています。もともと図2に示されていたオープンドレインのコンセプトはすべて継承されています。唯一の違いは、MOSオープンドレインデバイスが各ブロックの内部に隠されていることです。プルアップ抵抗とコモングランドもそのままです。各ブロックは、SDAラインをプルすることで通信できることがわかります。必要に応じて、各デバイスはクロックラインをLowにプルすることができます。これはクロックストレッチとして知られるプロセスで、センサがデータ転送速度を遅くするために使用することがあります。

図3: I^2C 通信バスのワイヤードANDロジックのブロック図

まとめ

結論として、 I^2C バスの通信には、ロバストなプロトコルが必要であることを認識することが重要です。各デバイスは、正しいタイミングで正しい抵抗をプルオンしなければなりません。失敗すると、1つのデバイスしか通信できないため、通信が文字化けしてしまいます。さらに I^2C プロトコルを掘り下げていくこともできますが、オープンドレイン接続のハイライトの紹介で終わりにします

オープンドレインとオープンコレクタの考え方は、半世紀前の74シリーズロジックまでさかのぼることができます。当時の設計者は、ワイヤードORのような回路が提供するコスト低減(チップ数の削減)を大いに評価しました。今日では、オープンドレイン構成は、特に車載通信やレベルシフトなど、特定のアプリケーションにおいて必要不可欠な設計ツールとなっています。




オリジナル・ソース(English)