ひとつの接点で制御とメモリ、セキュリティ、ミックスドシグナル機能を追加

要約

このアプリケーションノートは、1-Wire®インタフェースのハイレベルの概要を提供し、データビットレベルの通信、デバイスの選択、および各デバイスの変更不能な固有のIDの解説を通じて、電力およびデータ供給について論じています。単一接点の1-Wireインタフェースは、その名前が示す通り、相互接続を最小限にする必要があるシステムに、主要機能を与える無比のソリューションです。

概要

マキシムの1-Wireバスは、ホスト/マスタコントローラと、ひとつあるいは複数のデータラインを共有するスレーブとの間で双方向半二重通信を実現するシンプルな信号伝達スキームです(<図1)。スレーブデバイスは、電力もデータ通信も、この1-Wireラインだけで受け取ることができます。電力供給については、ラインがハイ状態となっている間に電荷を内蔵コンデンサで捕らえ、ラインがロー状態となってデータ通信を行っている間、この電荷でデバイスを動作させる仕組みとなっています。1-Wireのマスタは、通常、オープンドレインのI/Oポートピンと、3V~5Vの抵抗プルアップで構成されます。専用ラインドライバソリューションなど、もっと高度な構成のマスタもマキシムより入手可能です。この巧みな通信スキームを活用すると、いつでも簡単かつ効率的にメモリや認証機能、ミックスドシグナル機能などを追加することができます。

図1. 1-Wireのマスタ/スレーブ構成では、すべてのデバイスが1本のデータラインを共有します。

図1. 1-Wireのマスタ/スレーブ構成では、すべてのデバイスが1本のデータラインを共有します。

64ビットのシリアル番号

1-Wireシステムには、基礎的でとても重要な特長があります。スレーブデバイスは、それぞれ、固有で変えることができない(ROM)、64ビットのシリアル番号(ID)が工場出荷時に設定されています。この番号が他のデバイスと重複することはありません。64ビットのこのID値は、最終製品に一意の電子的IDを与えるとともに、1本のバスラインにつながれた複数のスレーブデバイスから目的のデバイスをマスタデバイスが選ぶ際にも利用されます。なお、64ビットIDの一部は、デバイスの種類とサポートされている機能を示す8ビットのファミリコードとなっています。

データビットレベルの通信

1-Wireの通信は、すべて、バスマスタが開始し、制御します。図2 に示すように、1-Wireの通信波形はパルス幅変調と似ています。これは、タイムスロットと呼ばれるデータビット時間の間、パルス幅をワイド(ロジック0)かナロー(ロジック1)とすることでデータが送られるからです。通信シーケンスは、バスマスタが一定の長さの「Reset」パルスを出し、バス全体の同期を取る形でスタートします。このResetパルスに対し、各スレーブは、ロジックローの「Presence」パルスで応答します。データを書きこむ場合、マスタは、まず、1-Wireラインをローにしてタイムスロットを開始した後、ラインをローのまま保持して(ワイドパルス)ロジック0を送信するか、ラインをリリースして(ショートパルス)バスをロジック1ステートに戻します。データを読む場合にも、まず、マスタがラインをナローローパルスで駆動してタイムスロットを開始します。次に、スレーブは、オープンドレイン出力をオンにしてからラインをローにホールドしてパルスを引きのばし、ロジック0を返すか、オープンドレイン出力をオフのままとしてラインを元に戻し、ロジック1を返すことができます。1-Wireデバイスのほとんどは、約15kbpsの標準速度と約111kbpsのオーバードライブ速度という2つのデータレートをサポートしています。このプロトコルはセルフクロッキングであり、ビット間遅延が長くても問題が起きないため、割り込みが発生するソフトウェア環境でもスムースな運用が行うことができます。

図2. マスタが開始したデータビットの読み書きを示す波形です。スレーブとマスタのサンプリングポイントも表示されています。.

図2. マスタが開始したデータビットの読み書きを示す波形です。スレーブとマスタのサンプリングポイントも表示されています。

デバイスの選択

1-Wire通信で最初に行うことは、その後の通信相手となるスレーブデバイスを選択することです。スレーブデバイスがひとつだけの環境では、選択シーケンスは最小限ですみます。しかし、複数のスレーブデバイスがある環境では、すべてのスレーブを選択するか、64ビットIDで特定のスレーブを指定して選択するかになります。バイナリサーチのアルゴリズム(ROMレベルのコマンドとして1-Wireのドキュメントに記載されています)は「学習」するため、ライン上にあるいずれのスレーブデバイスについても、それぞれ適切な64ビットIDを選ぶことができるようになります。特定のスレーブが選択されると、マスタはそのデバイスの特定コマンドを発行し、データを送るか、あるいは、そのスレーブからデータを読み出します。その間、他のスレーブデバイスは、Resetパルスが発行されるまで、通信を無視します。

まとめ

1-Wireの通信システムに、メモリ、ディジタル、アナログ、およびミックスドシグナル機能という様々な層をつくることができます。結果生まれる多様な製品ポートフォリオは、ユニークな製品特長によって、制約のある設計における相互接続の制限についての問題を解決し、付加価値を与えるでしょう。1-Wire製品は標準ICパッケージおよびマキシムの強固なステンレススチールiButton®パッケージで提供されます。製品、パッケージ、その他ソフトウェアサポートの詳細はここから:1-Wire。1-Wireデバイスのテキストプレゼンテーションについては、アプリケーションノート1796 「1-Wire技術の概要とその用法」をご覧ください。マキシムの1-Wire製品は医療分野において15年以上の歴史があります。アプリケーションノート4702 「医療センサーと消耗品にメモリ、セキュリティ、モニタリング、および制御機能を容易に追加」では、詳細および実際例を紹介します。