•
•
•
マキシム >
設計者のためのライブラリ >
アプリケーションノート
>
1-Wire®製品
メモリ
温度センサおよび温度管理
キーワード: 1-Wire, マスタ, エンベッデッドアプリケーション, 組み込みアプリケーション, ホストインタフェース, 動作電圧, 強プルアップ, 1-Wireタイミング, オーバドライブ, マイクロコントローラ, FPGA, ASIC, 決定ワークシート
関連製品
APP 4206: Jul 29, 2008
ダウンロード、PDFフォーマット (99kB)
アプリケーションノート4206
組込みアプリケーション用の正しい1-Wire®マスタの選択
筆者: Bernhard Linke
要約:このアプリケーションノートは、組込みアプリケーション用の4つのカテゴリの1-Wireマスタ回路を提示し、利用可能な(つまり、未使用の)システムリソースに対するそれらの性能と要件を検討します。ここで示される回路図は、半径1m以内の短距離ネットワークに適用され、小規模数の1-Wireスレーブで使用されます。アプリケーションに最もコスト効果の高い1-Wireマスタを識別するために、手順書と意思決定ワークシートが用意されています。対象読者は、1-Wire通信とマイクロコントローラの基本に精通している必要があります。
はじめに
1-Wireバスは、マスタコントローラと、コモンデータラインを共有する1つ以上のスレーブ間でハーフデュープレックス双方向通信を実行するシンプルな信号方式です。電力供給とデータ通信の両方がこのシングルライン上で行われ、相互接続を最小限に抑える必要があるシステムへの主要機能を1-Wireデバイスが提供しています。1-Wire製品は、特許取得済みシングルコンタクトシリアルインタフェース経由で、メモリ、ミックスドシグナル、およびセキュア認証機能を統合しています。1-Wireデバイスの標準アプリケーションは、プリントカートリッジまたは医療用消耗品のID、ラックカードのキャリブレーションと制御、プリント回路基板/アクセサリ/ペリフェラルのIDと認証、および知的財産/クローン防止/セキュア機能制御の保護です。
1-Wireテクノロジを活用するには、波形を生成してバス上の各デバイスを識別して通信する1-Wireマスタが必要です。1-Wireマスタを構築するには多数の方法があります。このアプリケーションノートは、組込みアプリケーション用のマスタ、つまり、半径1m以内で3~5個以内の1-Wireスレーブの短距離ネットワークについて検討します。長距離に1-Wireを使用するか、スレーブ数を増加した設計については、アプリケーションノート148「高信頼性1-Wireネットワークのガイドライン 」を参照してください。
1-Wire用語集
1-Wireドキュメントにはいくつかのよく使用される用語があり、最初にこれらを説明しておく必要があります。
ホストインタフェース
このドキュメントで検討される回路は、1-Wireマスタです。各マスタはすべて、1-Wireスレーブと通信します。しかし、これらの1-Wireマスタは、独自で機能することはできません。各マスタは、1-Wire側で実行されている操作内容を通知してくれるホスト(コンピュータ)を必要とします。ホストインタフェースとは、1-Wireマスタと「階層における次の上位レベルのコマンダ」(つまり、ホスト)間の接続タイプを指します。
動作電圧
標準的に、1-Wireデバイスは、2.8V (min)~5.25V (max)の全範囲で機能します。ほとんどの1-Wireデバイスは、電源用端子を備えていません。そのようなデバイスは、1-Wire通信ラインから電力を寄生的に供給されます。そのため、動作電圧と1-Wireプルアップ電圧は実質的に同意です。動作(プルアップ)電圧が高いほど、1-Wireデバイスは受信可能な電力が多くなります。また、電圧が高いほど、ネットワークの1-Wireスレーブの数を増やすことができるか、タイムスロット間のリカバリ時間を短縮することができます。
ストロングプルアップ
ストロングプルアップとは、タイムスロット間 の1-Wireネットワークに予備の電力を供給する手段を指します。いくつかの機能では予備の電力が必要となります。たとえば、EEPROMデバイス(バッファからEEPROMセルにデータをコピーする場合など)、セキュアメモリ(SHA-1エンジンの実行中など)、または1-Wire温度センサ(温度コンバージョン時など)の場合です。そのような1-Wireデバイスが3V環境で使用される場合、ストロングプルアップが必要です。同じ1-Wireスレーブによる5V環境では、ストロングプルアップをオプションとして設定可能です。
1-Wireタイミング
これは、1-Wireタイムスロットおよびリセット/プレゼンス検出シーケンスの波形、さらにはこれらの波形を生成する方法を表す一般表現です。特別なハードウェア(独自のタイミング発生器を備えたチップなど)を使用するか、ソフトウェアから波形を単に生成します。このハードウェア方式は、ソフトウェア開発者にとって使いやすいですが、別のチップが必要となります。ソフトウェア方式は、ハードウェアコストを節約しますが、選択されたマイクロコントローラにソフトウェアサポートが利用できない場合は、ソフトウェア開発と試験のコストが増える傾向にあります。アプリケーションソフトウェアが高水準プログラミング言語で記述されている場合、ソフトウェア方法には特別の考慮が必要となります。個別の命令、および各命令を実行するクロックサイクル数を計算することができように、タイムスロットを生成する低レベル機能と、アセンブリ言語で記述されたリセット/プレゼンス検出シーケンスの両方が必要となる場合があります。
オーバドライブのサポート
ほとんどの1-Wireスレーブは、2種類の速度、標準速度とオーバドライブ速度で通信します。オーバドライブの場合、タイミングが標準速度の約8倍高速になります。1-Wireスレーブはすべて標準速度で通信することができます。カテゴリ2~4 (下記の説明参照)で検討されたマスタはすべて、オーバドライブをサポートします。カテゴリ1の場合、オーバドライブサポートは、マイクロコントローラの性能(クロックレート、命令サイクル当りのクロックサイクル数)によって決まります。
アクティブプルアップ
1-Wireバスまたはネットワークは、オープンドレイン環境であり、アクティブ状態の0V (ロジック0)を備えています。アイドル状態のとき、バスは抵抗(抵抗プルアップ)からプルアップ電圧へハイに強制されます。したがって、立下りエッジは急激です。立上りエッジは、抵抗と寄生電源のため、極めて低速になる可能性があります。アクティブプルアップとは、立上りエッジを試験 する方法を指しており、特定のスレッショルドが交差した場合、一定時間、ローインピーダンスパスでプルアップ抵抗をバイパスします。アクティブプルアップは通常、短距離ネットワークやシングルスレーブデバイスでは不要です。利用可能な場合、アクティブプルアップは、抵抗プルアップより高速で1-Wireラインを再充電するため、タイムスロット間のリカバリ時間を延長せずに、ネットワーク内の複数1-Wireスレーブをサポートします。各1-Wireマスタは、バイパスの強度(インピーダンス)、およびアクティブプルアップの持続期間を制御する方法が異なります。
1-Wireマスタ回路
この項では、さまざまなマスタ回路について詳しく検討します。各回路は、次の4種類のカテゴリにグループ化されます。
マイクロプロセッサのポート-ピンアタッチメント
1-Wireマスタ内蔵のマイクロコントローラ
合成可能な1-Wireバスマスタ
シリアルインタフェースプロトコルコンバーション
各カテゴリは、1つ以上の回路を提示します。各カテゴリは、回路図を示し、前提条件を列挙し、利点と不利点を評価し、注目対象のヒントを示し、対応ソフトウェアへの追加的な知識とURLを推奨しています。
カテゴリ1. マイクロプロセッサのポート-ピンアタッチメント
図1 は、1-Wireマスタの最も基本的な実装を示しています。
唯一の前提条件として、この回路は1個の予備双方向ポートとプログラムメモリ内に一定の予備領域を必要とします。この回路の利点は、その無敵の低い、追加のハードウェアコストであり、プルアップ抵抗のみのコストです。不利点として、1-Wireタイミングはソフトウェアから生成されるため、初期のソフトウェア開発の時間とコストが増大する可能性があります。アプリケーションの1-Wireスレーブと1-Wireプルアップ電圧によっては、追加のポート端子がストロングプルアップの実装に必要になる可能性も出てきます。1-Wireバス上の最大動作電圧は、双方向ポートの特性(5V耐圧を予期)によって決定されます。1-Wireバス上に複数スレーブが存在する場合、RPUP の値は低減される必要があります。その場合、結果のVOLmax が1-Wireスレーブとマイクロプロセッサのポート入力特性と対応しているかどうかをチェックします。オーバドライブ速度での通信は、高クロック周波数および/または命令サイクル当りのクロックサイクルが少ないマイクロコントローラを必要とします。詳細については、アプリケーションノート3829「複数スレーブを備える1-Wireネットワークの回復時間の算出 」、および126「ソフトウェアを介した1-Wire通信 」を参照してください。アプリケーションソフトウェアの例は、1-Wire Public Domain Kit にあります。
図1. ストロングプルアップオプション回路(点線)付き双方向ポート端子
図2 は、図1に類似した別の基本回路を示しています。
前提条件として、この回路は、2個の予備片方向ポート、1個のプルダウントランジスタ、およびプログラムメモリ内の一定の予備領域を必要とします。この回路の利点は、双方向ポートが不要である点です。不利点として、1-Wireタイミングはソフトウェアから生成されるため、初期のソフトウェア開発の時間とコストが増大する可能性があります。アプリケーションの1-Wireスレーブと1-Wireプルアップ電圧によって、追加のポート端子がストロングプルアップの実装に必要になる可能性も出てきます。1-Wireバス上の最大動作電圧は、入力ポートの特性(5V耐圧を予期)によって決定されます。1-Wireバス上に複数スレーブが存在する場合、RPUP の値は低減される必要があります。その場合、結果のVOLmax が1-Wireスレーブとマイクロプロセッサのポート入力特性に対応しているかどうかをチェックします。オーバドライブ速度での通信は、高クロック周波数および/または命令サイクル当りのクロックサイクルが少ないマイクロコントローラを必要とします。詳細については、アプリケーションノート3829「複数スレーブを備える1-Wireネットワークの回復時間の算出 」、および126「ソフトウェアを介した1-Wire通信 」を参照してください。アプリケーションソフトウェアの例は、1-Wire Public Domain Kit にあります。
図2. ストロングプルアップオプション回路(点線)付き片方向ポート端子
カテゴリ2. 1-Wireマスタ内蔵のマイクロコントローラ
図3 の回路は図1と極めて類似しています。違いはマイクロコントローラのタイプにあります。
主な前提条件として、この回路は、内蔵1-Wireマスタ(DS80C400、DS80C410、またはDS80C411など)、およびプログラムメモリ内の一定の予備領域を必要とします。この回路の利点は、1-Wireタイミングがハードウェアによって生成されるため、初期のソフトウェア開発時間とコストを低減することができる点です。そのため、アプリケーションソフトウェア全体を高水準言語で記述することができます。DS80C400シリーズのマイクロコントローラは5V耐圧ポートを備えています。不利点として、ハイエンドマイクロコントローラのみが内蔵1-Wireマスタを備えています。アプリケーションの1-Wireスレーブと1-Wireプルアップ電圧によって、追加のポート端子がストロングプルアップの実装に必要になる可能性も出てきます。1-Wireバス上に複数スレーブが存在する場合、RPUP の値は低減される必要があります。この後者の場合は、結果のVOLmax が1-Wireスレーブおよびポート入力特性に対応しているかどうかをチェックします。詳細については、アプリケーションノート3829「複数スレーブを備える1-Wireネットワークの回復時間の算出 」、613「Using the Keil C Compiler for the DS80C400 」、およびDS80C400 データシートを参照してください。アプリケーションソフトウェアの例は、1-Wire 1-Wire Public Domain Kit にあります。
図3. 1-Wireマスタとストロングプルアップオプション回路(点線)付きマイクロコントローラ
カテゴリ3. 合成可能な1-Wireバスマスタ(ASIC/FPGA)
図4 の回路は図3と極めて類似しています。違いは、マイクロコントローラと1-WireポートがASICまたはPFGAに組み込まれている点です。
主な前提条件として、この回路はマイクロコントローラ性能を備えたASICまたはFPGA、最低1個の予備双方向ポート端子、3470未使用ゲート、およびプログラムメモリ内の一定の予備領域を必要とします。この回路の利点は、1-Wireタイミングがハードウェアによって生成されるため、初期のソフトウェア開発時間とコストを低減することができる点です。そのため、アプリケーションソフトウェア全体を高水準言語で記述することができます。不利点として、すべてのASICまたはFPGAが5V耐圧ポートを備えているわけではない点です。1-Wire動作電圧は、ASIC/FPGAのポート特性によって制限されます。一部の2.5V FPGAは、5V耐圧I/Oポートを備え、3.3V FPGAより好ましいです。アプリケーションの1-Wireスレーブと1-Wireプルアップ電圧によっては、追加のポート端子がストロングプルアップの実装に必要になる可能性も出てきます。1-Wireバス上に複数スレーブが存在する場合、RPUP の値は低減される必要があります。この後者の場合は、結果のVOLmax が1-Wireスレーブおよびポート入力特性に対応しているかどうかをチェックします。詳細については、アプリケーションノート119「1-Wireマスタの組み込み 」、120「1-Wireマスタを介した通信 」、145「1-Wireマスタ(DS1WM)をARM7プロセッサにインタフェースさせるには 」、および3829「複数スレーブを備える1-Wireネットワークの回復時間の算出 」を参照してください。また、DS1WM データシートも参照してください。1-WireマスタVerilog/VHDLコードを取得するには、Tech Supportリクエスト を送信してください。アプリケーションソフトウェアの例は、アプリケーションノート120および145に収録されています。
図4. ストロングプルアップオプション回路(点線)付きASIC/FPGA
カテゴリ4. シリアルインタフェースプロトコルコンバージョン
図5 の回路は、機能完備の1-Wireマスタを追加するためにわずか1個の追加部品のみを必要とします。
主な前提条件として、この回路はUARTを制御する方法(マイクロコントローラ、FPGA、またはPCシリアルポート)、およびプログラムメモリ内の一定の予備領域を必要とします。この回路の利点は、1-Wireタイミングがハードウェアによって生成されるため、初期のソフトウェア開発時間とコストを低減することができる点です。そのため、アプリケーションソフトウェア全体を高水準言語で記述することができます。制御レジスタから、1-Wireタイミングを微調整することができます。DS2480Bはストロングプルアップとアクティブプルアップをサポートします。ただし、1-Wireタイミングとアクティブプルアップの微調整は、組込みアプリケーションでは不要です。内蔵4ビットサーチアクセラレータは、1-Wire ROM検索をソフトウェアに容易に実装することができます。不利点として、DS2480Bはディスクリート部品(図1~図4)よりコストが高くなります。DS2480Bは5Vのみで動作します。このデバイスは、最強のシングルチップ1-Wireマスタで、多数のスレーブデバイスとの通信に向いています。アクティブプルアップは、2番目のスレッショルドが交差されるまで続きます。また、DS2480Bは1-Wire EPROMデバイスをプログラムすることもできます。詳細については、アプリケーションノート192「DS2480Bシリアル1-Wireラインドライバの使用 」、4104「DS2480Bの1-Wireタイミングの理解と設定 」、およびDS2480B データシートを参照してください。AN192のソースコードは、ダウンロード することができます。
図5. UART/RS-232インタフェース
図6 の回路は、I²Cバスをすでに使用しているアプリケーションに最も便利です。
主な前提条件として、この回路はI²Cバスコントローラ(マイクロコントローラ、またはFPGA/ASICなど)、およびプログラムメモリ内の一定の予備領域を必要とします。この回路の利点は、装備機能に比べてその相対的な低コストです。1-Wireタイミングは、ハードウェアによって生成されるため、初期のソフトウェア開発時間とコストを削減することができます。そのため、アプリケーションソフトウェア全体を高水準言語で記述することができます。DS2482はストロングプルアップとアクティブプルアップをサポートします。ただし、アクティブプルアップは組込みアプリケーションに不要です。内蔵1ビットサーチアクセラレータは、1-Wire ROM検索をソフトウェアに容易に実装することができます。不利点として、DS2482はDS2490またはDS2480Bほど多くの1-Wireスレーブを駆動することはできません。また、DS2482は8チャネルバージョンでも提供されています。シングルチャネルバージョン、DS2482-100は、追加のストロングプルアップ(Q1)の制御出力を持っています。DS2480BおよびDS2490に対し、DS2482-100ではアクティブプルアップの持続時間が固定されています。I²Cプルアップ抵抗の値は、I²Cバスサイズと数によって決まります。詳細については、アプリケーションノート3684「DS2482 I²C 1-Wire®マスタの使用方法 」、さらには、DS2482-100 およびDS2482-800 データシートを参照してください。アプリケーションノート3684のソースコードは、ダウンロード することができます。
図6. 予備ストロング プルアップオプション回路(点線)付きI²Cインタフェース
図7 の1-Wireマスタは、DS2480Bに極めて類似した特性を持っています。
主な前提条件として、この回路はUSBポートを必要としますが、PCに標準装備されています。この回路の利点は、1-Wireタイミングがハードウェアによって生成されるため、初期のソフトウェア開発時間とコストを低減することができる点です。そのため、アプリケーションソフトウェア全体を高水準言語で記述することができます。制御レジスタから、1-Wireタイミングを微調整することができます。DS2490はストロングプルアップとアクティブプルアップをサポートします。ただし、1-Wireタイミングとアクティブプルアップの微調整は、組込みアプリケーションでは不要です。内蔵4ビットサーチアクセラレータは、1-Wire ROM検索をソフトウェアに容易に実装することができます。不利点として、DS2490は図5の回路よりコストが高くなり、5Vのみで動作します。1-Wireマスタとして、DS2490はDS2480Bほど強力ではありません。アクティブプルアップは、2番目のスレッショルドが交差されるまで続きます。詳細については、アプリケーションノート117「DS2490 Universal Serial Bus Descriptors 」、およびDS2490 データシートを参照してください。アプリケーションソフトウェアの例は、1-Wire Public Domain Kit にあります。
図7. USBインタフェース用の1-Wireマスタこれは、簡素化した回路です。詳細については、DS2490のデータシートを参照してください。
PC標準装備アダプタソリューション
1-Wireマスタとして機能するPCアタッチメントは、ユーザによるソフトウェア開発が不要なため、1-Wireデバイスとプロトタイプ作成の評価に極めて便利です。アダプタ、検討対象の1-Wireデバイス、一定の市販ケーブリングに加え、ユーザが必要とするものは、JavaベースのOneWireViewer などの評価ソフトウェアのみで、無料ダウンロードして利用可能です。PC用アダプタの1-Wireポートは、i Button®またはメスRJ-11コネクタを受け入れる形状となっています。表1 は詳細を示しています。
OneWireViewerから1-Wireデバイスを評価する 場合、IDチップの存在/不在は関係ありません。ただし、1スレーブアプリケーションをプロトタイプ作成 する場合、IDチップはRead ROMの代わりに、Search ROM機能の使用を必要とします。これによって、プロトタイピングソフトウェアはそれ以外の場合より多少複雑になります。
表1. PC用1-Wireアダプタ
ポートタイプ
コンバータ
1-Wireポート
型番
注
COM port, DB-9
DS2480B
i Button
DS1411-009
内蔵IDチップは1-Wireバスにハードワイヤードされています。
DS1411-S09
IDチップなし
RJ-11
DS9097U-009
内蔵IDチップは1-Wireバスにハードワイヤードされています。
DS9097U-S09
IDチップなし
COM port, DB-25
DS2480B
RJ-11
DS9097U-E25
IDチップなし。外部12V電源で、このアダプタは1-Wire EPROMをプログラムすることができます。
USB port
DS2490
i Button
DS9490B
内蔵IDチップは1-Wireバスにハードワイヤードされています。
RJ-11
DS9490R
私のアプリケーションに正しい1-Wireマスタはどれでしょうか?
この質問に対する判断の準備として、次の各手順を実行します。
あなたのアプリケーションがストロングプルアップを必要かどうか決定します。ガイダンスとして、上述の「1-Wire用語集」の項を参照してください。
あなたのアプリケーションの1-Wire動作電圧を決定します。ガイダンスとして、上述の「1-Wire用語集」の項を参照してください。
意思決定ワークシート(表2 )で、前提条件が利用可能でない回路図(列)を線で消します。
意思決定ワークシートで、あなたのアプリケーションの動作電圧に対応しない回路図(列)を線で消します。
あなたのアプリケーションがストロングプルアップを必要とする場合、行5にYESを記入し、それ以外はNOを記入します。
残りの回路図のそれぞれについては、次のようにします。
追加ハードウェアのコスト(行3の項目に基づき、行5がYESを含む場合は行4の項目を含める)を概算し、行6にその値を記入します。追加ポートは、より大型のマイクロコントローラまたはFPGA/ASICへのアップグレードが必要でない限り、無料とみなされます。アップグレードの場合、マイクロコントローラまたはFPGA/ASICの追加コストを加算します。
ソフトウェア開発のコストを概算し、それを構築されるユニットのプロジェクト数で分割します。その数を行7に書き込みます。ソフトウェア開発コストが概算することができない場合、0を記入するか、フィールドを空白のままにします。
行6および7の値を加算し、その合計を行8に書き込みます。
行8にある最低コストの回路図があなたのベストの選択肢となります。
表2. 意思決定ワークシート
Row #
Title
Schematic/Figure Number
1
2
3
4
5
6
7
1
Prerequisites
One bidirectional port
Two unidirectional ports
1-Wire port
One bidirectional port
One UART port
One I²C port
One USB port
2
1-Wire operating voltage
3V to 5V
3V to 5V
3V to 5V
3V to 5V
5V
3V to 5V
5V
3
Additional hardware for basic operation
RPUP
RPUP , Q1
RPUP
RPUP
DS2480B
DS2482-100
DS2490, 12MHz crystal, 3V regula-tor, sev-eral Rs and Cs
4
Additional hardware for SPU
One unidirectional port, Q1, R1
One unidirectional port, Q2, R1
Q1, R1
Q1, R1
(none)
(none)
(none)
5
SPU check box
6
Estimated additional hardware cost
7
Estimated software cost per unit
8
Extra cost per unit (hardware and software)
結論
組込みアプリケーション用の正しい1-Wireマスタは、最低限の追加コストでの1-Wireデバイスの電気的要件(つまり、動作電圧、必要に応じたストロングプルアップ)を満たしているマスタです。最終的な選択肢は、アプリケーション内の予備(未使用)リソースによって決まります。リソースは、ポート端子、UART、I²Cバス、さらにはUSBポートが可能、またプログラムメモリ内の領域です。予備リソースが不十分の場合、ポート数および/またはプログラムメモリが多いマイクロコントローラまたはFPGAへのアップグレードが必要となる場合があります。
シリアルインタフェースプロトコルコンバージョンのカテゴリの場合、DS2482-100は最もコスト効果の高い選択肢となります。大規模数のスレーブデバイスを持つアプリケーションの場合、DS2482-800は1-Wireチャネル当りでさらに低いコストになります。マイクロプロセッサのポート-ピンアタッチメントの回路がDS2482-100より大幅に低いコストである場合、ソフトウェア開発の追加作業(特に「ビットバンギング」低レベルドライバの記述が必要である場合)は製造される全体の製品数で割ることができるだけです。合成可能な1-Wireバスマスタは、任意のFPGAベースアプリケーションで興味深いソリューションです。DS80C4XXマイクロコントローラの一般機能がアプリケーションの要件と相性が良い場合、内蔵1-Wireマスタを使用する追加の部品はわずかの金額で済みます。DS80C400の使用で、1-Wireタイミングはハードウェアによって生成されるため、ソフトウェア開発のオーバヘッドは最小です。組込みアプリケーションに適していますが、DS2480BおよびDS2490は通常、PC用のポートアダプタに使用されています。
1-WireはMaxim Integrated Products, Inc.の登録商標です。
i ButtonはMaxim Integrated Products, Inc.の登録商標です。
フィードバックをお寄せください。 内容に満足されましたか、あるいは満足されていませんか?もっと良いページにできると思いますか?あるいは、単なるコメントでも結構です。フィードバックをお待ちしています。 —マキシムはお客様からいただく訂正、提案を元に改善していきます。
このページを評価し、フィードバックを送信する。
自動アップデート
お客様が関心のある分野でアプリケーションノートが新規に掲載された際に自動通知Eメールの受信を希望する場合は、EE-Mail™にご登録ください。
その他の情報
APP 4206: Jul 29, 2008
ダウンロード、PDFフォーマット (99kB)
AN4206,
AN 4206,
APP4206,
Appnote4206,
Appnote 4206
プライバシーポリシー
•
法的お知らせ
Copyright © 2008 by Maxim Integrated Products, Dallas Semiconductor