1-Wireのホストを多数のチャンネルに対応するように多重化する方法
要約
1-Wire®は、1本の配線によって信号と電力の伝送を実現するインターフェース技術です。回路によっては、この1-Wireに対応する多数のノードを使用したいケースがあるでしょう。また、その回路には、1-Wireに対応する複数のチャンネルを設けなければならないかもしれません。本稿では、1-Wireに対応するホストを1つだけ使用し、1-Wire対応のノードを備える多数のチャンネルを制御する方法を紹介します。
はじめに
通常、1-Wireを利用する回路は、1-Wireに対応する1つのホスト(1-Wireホスト)と多数のノード(1-Wireノード)の間の通信を1本のバス(1-Wireバス)で実現できるように設計されます。可能であれば、1-Wireを利用する回路はスタブの影響を考慮する必要がないリニア・トポロジで構築すべきです。しかし、実際には長いスタブを含むスター・トポロジを採用せざるを得ないケースが少なくありません。そうすると、実質的な制約について見極めるのが容易ではなくなります。そうした難易度の高さを排除するにはどうすればよいのでしょうか。そのためには、アナログ・マルチプレクサを使用し、スター・トポロジを多数のチャンネルに分割する方法を採用するとよいでしょう。多数のチャンネルに分割すると、次のようなメリットが得られます。まず、個々の1-Wireノードにおけるアクセス時間を短縮できます。また、回路の堅牢性が向上します。更に、オーバードライブ・モードだけを使用するノードと、スタンダード・モードとオーバードライブ・モードの両方を使用するノードを異なるチャンネル上に混在させることが可能になります。1-Wireホストの数は1つのままで、こうしたメリットを享受できるということです。
回路の構成方法
多数のチャンネルを備える1-Wire対応の回路を構成したい場合、具体的にはどのような手法を用いればよいのでしょうか。一般的な方法は、アナログ・デバイセズの1-WireホストICをアナログ・マルチプレクサのコモン信号に接続するというものになります(図1)。そのマルチプレクサは、デジタルのチャンネル・セレクト信号によって制御します。つまり、同信号によって、1-Wireのコモン信号を、1-Wireノードを備えるチャンネルを含む所望のI/Oに接続するということです。このような構成により、1-Wireバスの数は1本のみという条件の下、より多くの1-Wireノードを回路に接続することが可能になります。なぜなら、スタブが排除され、1-Wireホストによって駆動するチャンネルあたりの1-Wireノードの数を少なく抑えられるからです。
回路の説明
図1の回路では、1-Wireホストとして「DS2485」を使用しています。また、この回路は3.3Vの電源電圧で動作します。DS2485の制御とマルチプレクサU2によるチャンネルの選択は、マイクロコントローラ(図中のMCU)によって行われます。1-Wireに対応する回路で使用するマルチプレクサとしては、レールtoレールのアナログ信号を処理できるものを選択しなければなりません。この条件を満足していない場合、信号に歪みが生じ、1-WireノードのパラメータであるVPUPの要件を満たせなくなる可能性があります。加えて、マルチプレクサのパラメータであるRONの値をできるだけ小さく抑え、DS2485のアクティブ・プルアップ・インピーダンスRAPUが変化しないようにしなければなりません。この点に対する考慮が欠けると、強いプルアップが行われた際、動作に必要な電流が1-Wireノードに供給されない可能性があります。
図1にはオプションの構成が示してあります。ご覧のように、多重化を担うU2の後段にプルアップ抵抗RP4とRP5を外付けするというものです。これにより、スイッチが開いている(オフしている)場合でも、アイドル状態にある1-Wireノードに電力を供給することができます。このオプションを使用してない場合、各チャンネルのスイッチが閉じる(オンになる)度に、マイクロコントローラはそのチャンネルに接続されているノードの最大ウェイクアップ時間(通常は2ミリ秒)だけ待機する必要があります。それまでは通信を開始することはできません。但し、外付けのプルアップ抵抗を各チャンネルに付加する場合には考慮すべきことがあります。それは、1-Wireホストによってプルダウンされる際、マルチプレクサのRONによって生じる影響についてです。RONとして小さな値を選択し、1-WireノードのパラメータVIL(1-Wireにおいてローと見なされる入力電圧)の最大値を超えないようにすれば、すべての影響を無視できるはずです。マルチプレクサの後段のプルアップ抵抗RP、マルチプレクサのオン抵抗RONと、マルチプレクサからのローの出力電圧VOLの関係は、次のように表されます。
品番 | チャンネル | 最小電源電圧〔V〕 | 最大電源電圧〔V〕 | RONの最大値〔Ω〕 | マイクロコントローラによるチャンネルの選択方法 | パッケージ |
MAX4634 | 4:1 | 1.8 | 5.5 | 4 | 2 GPIO | 10ピンµMAX、10ピンTDFN-EP(3mm×3mm) |
MAX4734 | 4:1 | 1.6 | 3.6 | 0.8 | 2 GPIO | 10ピンµMAX、12ピンTQFN(3mm×3mm) |
MAX4617 | 8:1 | 2 | 5.5 | 10 | 3 GPIO | 16ピンPDIP、16ピンSOIC、16ピンTSSOP |
MAX4638 | 8:1 | 1.8 | 5.5 | 3.5 | 3 GPIO | 16ピンTQFN(3mm×3mm)、16ピンSOIC、16ピンTSSOP |
MAX4781 | 8:1 | 1.8 | 3.6 | 1 | 3 GPIO | 16ピンTQFN(3mm×3mm)、16ピンTSSOP |
MAX14661* | 16:1 | 1.8 | 3.6 | 8 | I2C/SPI | 28ピンTQFN(3mm×3mm) |
*AB_ピンとCOM_ピンは、±10kVのESD保護(HBM:Human Body Model)に対応します。16本のAB_ピンは、すべてどのCOM_ピンにも接続できます。 |
1-Wireホストについては柔軟性の高さに注目する必要があります。DS2485は、3.3Vの任意のシステムで使用できる1-Wireホストとしてアナログ・デバイセズが推奨している製品です。同ICは、非常に柔軟性が高いことを特徴とします。具体的には、タイミング、入力トリガのレベル、内蔵プルアップ抵抗の調整が行えるようになっています。また、高インピーダンス・モードに設定することも可能です。このモードは、抵抗を外付けする場合に役立つ可能性があります。一方、5Vで動作するシステムの場合、恐らく「DS2484」の採用が次善の策になるでしょう。
ここで、スタンダード・モードとオーバードライブ・モードについて触れておきましょう。具体的には、オーバードライブ・モードだけを使用する1-Wireノード・デバイスと、スタンダード・モードとオーバードライブ・モードの両方を使用する1-Wireノード・デバイスが混在するシステムについて考えてみます。実は、同じ1-Wireバス上にそれらのデバイスが混在すると、通信障害が生じます。簡単な解決策は、マルチプレクサを活用することです。つまり、スタンダード・モードとオーバードライブ・モードの両方を使用するデバイスとは異なるチャンネルにオーバードライブ・モードだけを使用するデバイスを配置するのです。そうすれば、DS2485はチャンネルの選択を行う間に、オーバードライブ・モードとスタンダード・モードを単に切り替えるだけで適切に通信を行うことができます。
アナログ・マルチプレクサの選択
アナログ・マルチプレクサを選択する際には、様々な項目について検討する必要があります。チャンネルの数、インターフェースの種類、コスト、パッケージの種類、性能などです。表1に、1-Wireを利用する場合に推奨されるアナログ・マルチプレクサの例を示しました。表中の製品は、いずれもレールtoレールのアナログ信号に対応できるだけでなく、RONの値が小さく抑えられています。また、様々な種類のパッケージで提供されています。なお、チャンネルの選択を担うマイクロコントローラは、その制御に使用できる予備のGPIO(General-purpose Input/Output)ピンを備えている必要があります。マイクロコントローラのGPIOピンを使えない場合には、DS2485を使用する場合と同じI2Cバスに接続可能な「MAX14661」(またはこれに類似する製品)を使用するとよいでしょう。
まとめ
本稿では、1-Wireを使用するスター・トポロジの回路をいくつかのチャンネルに分割する方法を紹介しました。また、その回路での使用に適したアナログ・マルチプレクサの一覧を示しました。信頼できる動作を確保するには、あらゆる使用条件の下で、電子部品ならびに補助システムで使用する全デバイスの仕様について慎重に検討する必要があります。
DS2477 | DeepCover®セキュアSHA-3コプロセッサ、ChipDNA® PUF保護内蔵 |
DS28E50 | DeepCoverセキュアSHA-3認証用IC、ChipDNA PUF保護内蔵 |
DS2465 | DeepCoverセキュア認証用IC、SHA-256コプロセッサおよび1-Wire®マスター機能内蔵 |
DS2480B | シリアルから1-Wireへのラインドライバ |
DS2483 | シングルチャネル1-Wireマスター、可変タイミングおよびスリープモード内蔵 |
DS2484 | シングルチャネル1-Wireマスター、可変タイミングおよびスリープモード内蔵 |
DS2485 | 高度な1-Wireマスター、メモリ内蔵 |
DS2482-100 | シングルチャネル1-Wireマスター |
DS2482-800 | 8チャネル1-Wireマスター |
DS28E16 | 1-WireセキュアSHA-3認証用IC |