IoTのネットワークとセキュリティ機能が急速に進歩するにつれて、接続、電力、セキュリティに使用されるテクノロジーも進歩します。Analog Devices のこの記事では、相互接続を最小限に抑える必要がある電源アプリケーションに適した1線式マスター バスを選択する方法について説明します。
導入
1-Wireバスは、マスター コントローラと共通のデータ ラインを共有する1つ以上のスレーブ間で半二重双方向通信を実行するシンプルな信号方式です。電力供給とデータ通信の両方がこの単一の回線で行われるため、相互接続を最小限に抑える必要があるシステムに重要な機能を提供する能力において、1-Wireデバイスは比類のないものとなっています。1-Wire製品は、単一接点のシリアル インターフェイスを通じて、メモリ、ミックスド シグナル、および安全な認証機能の組み合わせを提供します。1-Wireデバイスの一般的な用途としては、プリント カートリッジや医療用消耗品の識別、ラック カードのキャリブレーションと制御、プリント回路基板 (PCB)、アクセサリ、周辺機器の識別と認証、知的財産の保護、クローン防止、安全な機能制御などがあります。
1-Wireテクノロジーを活用するには、バス上のデバイスを識別し、それらと通信するために必要な波形を生成する1-Wireマスターが必要です。1-Wireマスターを実装する方法は多数あります。このアプリケーション ノートでは、設計者が組み込みアプリケーションに適したソリューションを選択するのに役立つ、さまざまな1-Wireマスター実装について説明します。主に1-Wire回路のマスター側に焦点を当てています。
このアプリケーション ノートで紹介されている1-Wireマスターは、動作電圧が1.8Vから5Vまでさまざまです。1-Wireマスターの動作電圧がターゲット スレーブ デバイスの動作電圧と一致しない場合 (つまり、3.3Vマスターが1.8Vスレーブと通信する場合)、電圧レベル シフタの使用が推奨されます。
1-Wire用語集
1-Wireドキュメントにはよく見られる用語がいくつかあり、最初に説明しておく必要があります。
動作電圧
通常、1-Wireデバイスは次の電圧範囲で機能します。
- 1.71V (最小) ~ 1.89V (最大)
- 2.97V(最小)~3.63V(最大)
- 2.8V(最小)~5.25V(最大)
ほとんどの1-Wireデバイスには電源用のピンがありません。このようなデバイスには、1-Wire通信回線を通じて寄生的に電力が供給されます。したがって、動作電圧と1-Wireプルアップ電圧は実質的に同義です。動作 (プルアップ) 電圧が高いほど、1-Wireデバイスが受け取ることができる電力は大きくなります。
強い懸垂
強力プルアップとは、タイムスロット間で1-Wireネットワークに追加の電力を供給する手段を指します。バッファからEEPROMセルにデータをコピーする場合、暗号エンジンの実行中にメモリを保護する場合、温度変換中に1-Wire温度センサーを使用する場合など、電気的に消去可能なプログラム可能な読み取り専用メモリ (EEPROM) デバイスのいくつかの機能には追加の電力が必要です。このような1-Wireデバイスを1.8Vまたは3V環境で使用する場合は、強力なプルアップが必要です。同じ1-Wireスレーブを使用する5V環境では、強力なプルアップはオプションになる場合があります。
1-Wireタイミング
これは、1-Wireタイム スロットの形状とリセット/存在検出シーケンス、およびこれらの波形を生成する手段を表す一般的な表現です。特別なハードウェア (独自のタイミング ジェネレーターを備えたチップなど) を使用することも、ソフトウェアで波形を生成することもできます。ハードウェア方式はソフトウェア開発者にとって簡単ですが、別のチップが必要になります。ソフトウェア方式ではハードウェア コストは節約できますが、ソフトウェアの開発とテストのコストは増加する可能性があります。
オーバードライブサポート
ほとんどの1-Wireスレーブは、標準速度とオーバードライブ速度の2つの速度で通信できます。オーバードライブでは、タイミングは標準速度の約8倍速くなります。
アクティブプルアップ
1-Wireバスまたはネットワークはオープンドレイン環境であり、0V (論理0) がアクティブ状態になります。アイドル状態のとき、バスは抵抗器 (抵抗プルアップ) を介してプルアップ電圧まで引き上げられます。その結果、立ち下がりエッジは急峻になり、抵抗と寄生電源のせいで立ち上がりエッジはかなり遅くなることがあります。アクティブ プルアップとは、立ち上がりエッジをテストし、特定のしきい値を超えた場合に、低インピーダンス パスを使用してプルアップ抵抗を限られた時間だけバイパスする方法を指します。アクティブ プルアップは、通常、短いネットワークや単一のスレーブ デバイスでは必要ありません。アクティブ プルアップが利用可能な場合、抵抗プルアップよりも速く1-Wireラインを再充電するため、タイム スロット間の回復時間を延長することなく、ネットワーク内の複数の1-Wireスレーブをサポートします。1-Wireマスターは、バイパスの強度 (インピーダンス) とアクティブ プルアップの持続時間を制御する方法が異なります。
1-Wireマスター回路
このセクションでは、さまざまなマスター回路について詳しく説明します。回路は次の2つのカテゴリに分類されます。
- マイクロプロセッサ ポート ピン
- Maximのハードウェア1-Wireマスター
各カテゴリには1つ以上の回路が存在します。回路図を示し、前提条件をリストし、長所と短所を比較検討し、注意すべき点についてのヒントを提供し、追加の参考資料とサポート ソフトウェアへのURLを推奨します。
カテゴリー1. マイクロプロセッサポートピンを使用したマスターの作成
図1 は、1-Wireマスターの最も基本的な実装を示しています。
図1. 強力プルアップ用のオプション回路を備えた単方向ポート ピン (破線)。
唯一の前提条件として、この回路には1つの予備の双方向ポートとプログラム メモリ内の予備スペースが必要です。この回路の利点は、ハードウェア コストが低いことです。欠点としては、1-Wireタイミングはソフトウェアによって生成されるため、初期のソフトウェア開発時間とコストが増加する可能性があります。
アプリケーション内の1-Wireスレーブと1-Wireプルアップ電圧によっては、強力なプルアップを実装するために追加のポート ピンが必要になる場合があります。1-Wireバスの最大動作電圧は、双方向ポートの特性によって決まります。1-Wireバス上に複数のスレーブがある場合は、RPUPの値を下げる必要があります。その場合、結果として得られるVOLMAXが1-Wireスレーブおよびマイクロプロセッサのポート入力特性と互換性があるかどうかを確認します。
オーバードライブ速度での通信には、高いクロック周波数と/または命令サイクルあたりのクロックサイクル数が少ないマイクロコントローラが必要です。
図2 は図1に似た別の基本回路を示しています。
図2. 強力プルアップ用のオプション回路を備えた双方向ポート ピン (破線)。
前提条件として、この回路には2つの予備の単方向ポート、プルダウン トランジスタ、およびプログラム メモリ内の予備スペースが必要です。この回路の利点は、双方向ポートを必要としないことです。欠点としては、1-Wireタイミングはソフトウェアによって生成されるため、初期のソフトウェア開発時間とコストが増加する可能性があります。
アプリケーション内の1-Wireスレーブと1-Wireプルアップ電圧によっては、強力なプルアップを実装するために追加のポート ピンが必要になる場合があります。1-Wireバスの最大動作電圧は、入力ポートの特性によって決まります。1-Wireバス上に複数のスレーブがある場合は、RPUPの値を下げる必要があります。その場合、結果として得られるVOLMAXが1-Wireスレーブおよびマイクロプロセッサのポート入力特性と互換性があるかどうかを確認します。
オーバードライブ速度での通信には、高いクロック周波数と/または命令サイクルあたりのクロックサイクル数が少ないマイクロコントローラが必要です。
カテゴリ2. Maximのハードウェア1-Wireマスター
Maximは、1-Wireスレーブ デバイスのネットワークを確実に駆動するためにも使用できる、幅広い1-Wireマスター ハードウェア製品を製造しています。このようなマスターは、一般的に「1-Wireブリッジ」デバイスと呼ばれ、その名前が示すように、システムのホスト プロセッサ (マイクロコントローラ、FPGA、PCなど) と1-Wireスレーブ間のインターフェイスを「ブリッジ」するために使用されます。詳しく言うと、ホスト プロセッサと1-Wireスレーブの間にブリッジ デバイスを統合することで、ホスト プロセッサは1-Wireスレーブを操作するために直接インターフェイスする必要がなくなります。代わりに、ホスト プロセッサは、I2Cなどの特定の通信プロトコルを介してブリッジ デバイスとインターフェイスし、1-Wireデータを1-Wireスレーブに中継するように指示します。この利点は、1-Wire通信の負荷がホスト プロセッサから1-Wireブリッジ デバイスに移されるため、ホスト プロセッサが時間的に重要な1-Wire波形を生成する必要がなくなることです。その結果、ソフトウェア アプリケーション全体を高級言語で開発できるようになり、初期のソフトウェア開発時間とコストが大幅に削減されます。
1-Wireブリッジ デバイスには、基本的な1-Wireプロトコルを生成するだけでなく、1-Wireラインをより効率的に駆動するのに役立つ追加機能も含まれています。たとえば、すべての1-Wireブリッジ デバイスには、必要な外部ハードウェア コンポーネントの数を削減するために、内部パッシブ プルアップ (RPUP) が含まれています。以下に紹介する製品は、Maximの最高の1-Wireブリッジ デバイスの一部であり、その優れた機能により、設計者がアプリケーションに最適なものを選択できるようになります。設定方法の参考として、各デバイスの一般的なアプリケーション回路が提供されています。
DS2480B
DS2480B 1-Wireマスターは、1-Wireインターフェースへの低コストのユニバーサルRS-232 COMポートの設計を簡素化します。このデバイスには以下が含まれます。
- 1-Wireラインの立ち上がりエッジでしきい値を超えた後に自動的に使用される内部アクティブ プルアップ (APU) により、1-Wireバス上の複数のデバイスを簡単に駆動できます。
- 1-Wireスレーブ デバイスの電力要件に応じてオプションで有効にできる内部強力プルアップ (SPU)。
- 内蔵の4ビット検索アクセラレータにより、1-Wire読み取り専用メモリ (ROM) 検索シーケンスをソフトウェアで簡単に実装できます。
- 外部12V電源を使用して1-Wire消去可能プログラム可能読み取り専用メモリ (EPROM) デバイスをプログラムする機能。
- プログラム可能な1-Wireタイミングとドライバ特性により、標準速度で幅広いスレーブ デバイス構成に対応します。
- 動作電圧範囲は5V +-10%以上。
DS2480Bは、ユニバーサル非同期送受信機 (UART) および5V RS232システムに直接インターフェースし、最大115.2kbpsの速度で通信できます。図3 の回路は、DS2480Bを互換性のあるシステムに統合する方法を示しています。
図3. DS2480Bをホスト マイクロコントローラのUARTポートに接続します。
DS2484
DS2484は、次の機能を備えたエントリーレベルのI2Cから1-Wireへのマスターです。
- 内蔵の電圧レベル トランスレータにより、DS2484は、I2C動作電圧に関係なく、1.8V -5% から5V +5% の範囲の1-Wire側のさまざまな電圧レベルで動作できます。
- 1-Wireデバイスの効率的な長距離操作を実現する内部アクティブ プルアップ (APU) と選択可能なパッシブ プルアップ (RPUP) 値。
- 1-Wireスレーブ デバイスの電力要件に応じてオプションで有効にできる内部強力プルアップ (SPU)。
- 1-Wire ROM検索シーケンスをソフトウェアで簡単に実装できるようにするための組み込みの1-Wireトリプレット コマンド。
- 1-Wireポート上の電源を制御し、ソフトウェア経由でバス上のデバイスの電源をオフにします。
- DS2484が使用されていないときに電力消費を節約するための低電力モード ピン (SLPZ)。
- 幅広い1-Wireスレーブをサポートするために調整可能な1-Wireタイミング パラメータ。
DS2484はI2Cマスターに直接インターフェースし、最大400kHzの速度で通信できます。図4 の回路は、DS2484を互換性のあるシステムに統合する方法を示しています。
図4. ホスト マイクロコントローラのI2Cポートに接続されたDS2484。
DS2485
DS2485は、より高いスループットに最適化され、広範な機能セットを完全に制御できる包括的な1-Wireマスターです。このデバイスには以下が含まれます。
- 1-Wireプリミティブ コマンドのカスタム シーケンスを実行するためのスクリプト機能。
- 1-Wire検索アルゴリズムを内蔵しており、コマンドに応じて1-Wireバス上のデバイスROM IDを簡単に検出して取得できます。
- 高いデータ スループットを実現する126バイトの大容量1-Wireブロック バッファ。
- 標準とオーバードライブの両方に対して調整可能な1-Wireタイミング パラメータにより、幅広い1-Wireスレーブをサポートします。
- ユーザー データ用のEEPROMの32バイト ページが3つ。
- 1-Wireデバイスの効率的な長距離操作のための、内部で選択可能なアクティブ プルアップ (APU) 値と選択可能なパッシブ プルアップ (RPUP) 値。
- 1-Wireスレーブ デバイスの電力要件に応じてオプションで有効にできる内部強力プルアップ (SPU)。
- 1-Wireポート上の電源を制御し、ソフトウェア経由でバス上のデバイスの電源をオフにします。
- アプリケーション固有の制御機能用のGPIOピン。
- 3.3Vを超える動作電圧範囲 ±10%。
DS2485はI2Cマスターに直接インターフェースし、最大1MHzの速度で通信できます。回路は 図5 DS2485を互換性のあるシステムに適切に統合する方法を示します。
図5. DS2485をホストマイクロコントローラIに接続2 Cポート。
DS2465
DS2465は、1-Wire SHA-256セキュア認証システムで動作するように設計された1-WireマスターおよびSHA-256コプロセッサです。このデバイスには以下が含まれます。
- 以下を含む暗号化ツールのコアセット:
- 1-Wire SHA-256スレーブ デバイスの暗号認証用の組み込みSHA-256エンジン。
- ユーザー データ用のEEPROMの32バイト ページが2つ。
- 1-Wireデバイスの効率的な長距離操作を実現する内部アクティブ プルアップ (APU) と選択可能なパッシブ プルアップ (RPUP) 値。
- 1-Wireスレーブ デバイスの電力要件に応じてオプションで有効にできる内部強力プルアップ (SPU)。
- DS2465が使用されていないときに電力消費を節約するための低電力モード ピン (SLPZ)。
- 1-Wire ROM検索シーケンスをソフトウェアで簡単に実装できるようにするための組み込みの1-Wireトリプレット コマンド。
- 1-Wireポート上の電源を制御し、ソフトウェア経由でバス上のデバイスの電源をオフにします。
- 標準とオーバードライブの両方に対して調整可能な1-Wireタイミング パラメータにより、幅広い1-Wireスレーブをサポートします。
- 3.3Vを超える動作電圧範囲 ±10%。
DS2465はIに直接インターフェースします2 Cマスターであり、最大400kHzの速度で通信できます。回路は 図6 DS2465を互換性のあるシステムに適切に統合する方法を示します。
図6. 複数の1-Wire SHA-256デバイスに接続されたDS2465 1-Wireマスター。
DS2477
DS2477は、1-Wire SHA3-256セキュア認証システムで動作するように設計された1-WireマスターおよびSHA-3コプロセッサです。このデバイスには以下が含まれます。
- 以下を含む暗号化ツールのコアセット:
- 1-Wire SHA-3スレーブ デバイスの暗号認証用の組み込みSHA-3エンジン。
- チップDNA™ 物理的に複製不可能な機能 (PUF) テクノロジーにより、デバイスのデータをセキュリティ攻撃から保護します。
- ユーザーデータとキーの保存用の2KbのEEPROM。
- 連邦情報処理標準 (FIPS)/米国国立標準技術研究所 (NIST) 準拠の真性乱数ジェネレーター (TRNG)。
- 工場でプログラムされた、一意かつ変更不可能な64ビット識別番号 (ROM ID)。
- 1-Wireデバイスの効率的な長距離操作を実現する内部アクティブ プルアップ (APU) と選択可能なパッシブ プルアップ (RPUP) 値。
- 1-Wireスレーブ デバイスの電力要件に応じてオプションで有効にできる内部強力プルアップ (SPU)。
- 1-Wireポート上の電源を制御し、ソフトウェア経由でバス上のデバイスの電源をオフにします。
- 幅広い1-Wireスレーブをサポートするために調整可能な1-Wireタイミング パラメータ。
- 高いデータ スループットを実現する126バイトの大容量1-Wireブロック バッファ。
- アプリケーション固有の制御機能用のGPIOピン。
- 動作電圧範囲は3.3V ±10%以上。
ラボテストでは、DS2477は333Ω のプルアップ抵抗設定を使用して、1000フィートを超える50台のDS1990 1-Wireスレーブ デバイスを正常に駆動することができました。DS2477はI2Cマスターに直接インターフェースし、最大1MHzの速度で通信できます。図7の回路は、DS28E50などの複数の1-Wire SHA-3スレーブ デバイスを駆動するDS2477のアプリケーション例を示しています。
図7. DS28E50スレーブを使用してホスト マイクロコントローラのI2Cポートに接続されたDS2477。
PCベースのアダプタと評価キット
1-Wireマスターとして機能するPCアダプタとデバイス固有の評価キット (EVキット) は、ユーザーによるソフトウェア開発を必要としないため、1-Wireデバイスの評価やプロトタイプ作成に非常に便利です。
PCベースのソリューションの場合、アダプタ、調査する1-Wireデバイス、および市販のケーブル以外に、ユーザーが必要とするのは、無料でダウンロードできるJava® ベースのOneWireViewerなどの評価ソフトウェアだけです。
EVキットにはプロトタイピングと調査を実行するために必要なものがすべて含まれているため、スタンドアロン アダプターを使用するよりも便利です。評価キットには、USB-I2CまたはUSB-I2C/1-Wireアダプタも含まれています。
EVキットに付属する無料の評価ソフトウェアに加えて、リクエストに応じてCベースの無料のデモ コード サンプルもMaximから入手できます。表1 に、利用可能な評価プラットフォームの詳細を示します。
表1. PCベースのアダプタとEVキット
結論
組み込みアプリケーションに適した1-Wireマスターとは、1-Wireデバイスの電気的要件 (動作電圧、必要に応じて強力なプルアップなど) を適切なコストで満たし、全体的な機能性が最も優れているマスターです。最終的な選択は、アプリケーション内の予備(未使用)リソース(ポート ピン、UARTまたはI2Cバス、プログラム メモリ内のスペースなど)によって異なります。現在、Maximが提供するハードウェア1-Wireマスター (カテゴリ2) は、非常にリーズナブルなコストで市場で最も汎用性の高いオプションとして入手可能です。これらは機能が豊富でプログラム可能であり、高度なセキュリティ要件が求められるシステムを含むあらゆる1-Wireシステムをサポートします。