マキシム当ウェブサイトを利用することによりクッキーの使用に同意したことになります。このアプリケーションノートでは、マイクロコントローラと1-Wire温度センサDS18B20、DS18S20、およびDS1822をインタフェースするための簡素な1-Wireソフトウェアをユーザーに紹介します。(8051コンパチブル)マイクロコントローラが使われています。遅延、リセット、読込みビット、書込みビット、読込みバイト、書込みバイト、ROM検索、CRC、読込み温度、および読込みスクラッチパッドルーチンの実行を示すソフトウェア例が提供されています。はじめにDS18B20、DS18S20またはDS1822のような1-Wireデバイスをマイクロコントローラにインタフェースするためのいくつかの方法があります。1-WireマスタコントローラをカスタムASICに組み込んだりと広範にわたっています。(個数に制限なく)との間の基本的な1-Wire通信の最も簡単なソフトウェアソリューションについてユーザーに紹介します。DS18B20、DS18S20、およびDS1822のタイミングおよび動作詳細情報は、マキシムのウェブサイトから入手可能な各データシートにてご覧いただけます。図1のブロックダイアグラムでは、複数の1-Wire温度センサを使うとハードウェア構成を簡素化できることを示しています。単線バスはすべてのデバイスに通信アクセスと電源の両方を供給します。バスへの電力は3V~5.5Vの電源レイルから4.7kΩプルアップ抵抗を介して提供されます。各デバイスがユニークな64ビットROMコード識別子を持っているので、ほぼ無制限数の1-Wireデバイスをバスに接続できます。ホストマイクロコントローラインタフェースインタフェースタイミングDS18x20/DS1822とのコミュニケーションは「時間スロット」の使用によって行われ、1-Wireバスを介してデータ送信ができます。すべての通信サイクルは図2に示しているようにマイクロコントローラからのリセットパルスで始まり、DS18x20/DS1822からのプレゼンスパルスがその後に続きます。書込み時間スロットはバスマスタが1-Wireバスをロジックハイ(インアクティブ)からロジックローまでプルする時に開始されます。すべての書込み時間スロットは、60μs~120μsの時間持続し、サイクル間のリカバリ時間が最小1μsでなければなりません。書込み「0」と書込み「1」の時間スロットを図3に示します。書込み「0」の時間スロットでは、ホストマイクロコントローラは、ラインを時間スロットの間ローにします。書込み「1」の時間スロットでは、マイクロコントローラはラインをローにプルし、時間スロット開始後15μs以内にラインを開放します。読込み時間スロットは、マイクロコントローラが1μsバスをローにし、それに続いてDS18x20/DS1822がラインの制御を行えて有効なデータ(ハイまたはローの)を出せるようにバスを開放すると開始します。全ての読込み時間スロットは60μs~120μsの時間持続し、サイクル間のリカバリ時間が最小1μsでなければなりません(図3参照)。書込みおよび読込み時間スロットソフトウェア制御1-Wireインタフェースの特別なタイミング条件を正確にコントロールするためには、ある重要機能がまず確立されなければなりません。最初に確立される機能は「遅延」機能で、すべての読込みおよび書込み制御に不可欠なものです。この機能は完全にマイクロコントローラの速度に依存しています。(8051コンパチブル)マイクロコントローラが使われています。右の例は、タイミング遅延を生成するためのプロトタイプ「C」の機能を示しています。s<useconds;s++);}各通信サイクルはマイクロコントローラからのリセットで開始しなければいけないため、「リセット」機能は実施されるべき次に最も重要な機能です。リセット時間スロットは480μsです。遅延を「3」に設定し次に「25」に設定することによって(以下例参照)、リセットパルスが必要な時間継続します。リセット後、マイクロコントローラは、DS18x20/DS1822がラインをローにすることによって、その「プレゼンス」を示すことができるように開放しなければなりません。複数の温度センサがバス上にある場合、それらはすべてプレゼンスパルスで同時に応答することに注意してください。part以下の4つの例で示される読込みおよび書込み機能コードセグメントは、すべてのデータビットとデータバイトの読込みおよび書込み動作に必要な基本構造を提供しています。into}delay(5);}検索ROMアルゴリズム1-Wireネットの概念を最大限に活用するために、マイクロコントローラは、ネットに接続されているデバイス(数は無制限)と通信できるようにしなくてはいけません。これを行うためには、マイクロコントローラは、図4に示す「検索ROM」アルゴリズムを使ってバス上の各デバイスのユニークな64ビットROM識別コードを学習する必要があります。図4に続く例は4つのスレーブデバイスを備えたバスの検索ROMルーチンを説明します。検索ROMルーチンのサンプルコードも示されています。ROMコードがすべて認識されると、「マッチROM」コマンドを、ネット上のあらゆる特定デバイスと通信するために使うことができます。検索ROMアルゴリズムROM検索例ROM検索プロセスの間、バスマスタは簡単な3ステップルーチンを繰り返す必要があります。そのビットの選択値を書き込む。バスマスタはこの3ステップルーチンを64回(各ROMコードビットにつき1度)行う必要があります。1つの完全パスが完了するとバスマスタはバス上の1スレーブデバイスのROMコードを認識します。残りのデバイスとそのROMコードは追加パスによって認識可能です。ROM検索プロセスは、4つの異なるデバイスが同じ1-Wireバスに接続されていると仮定する次例によって示されます。4デバイスのROMコードを示します。00010001...検索プロセスは以下のようになります。バスマスタは、リセットパルスを出すことで初期化シーケンスを開始します。スレーブデバイスは、同時プレゼンスパルスを出すことで応答します。バスマスタは次に、1-Wireバス上で検索ROMコマンドを出します。各デバイスは、各ROMコードの最初のビット値を1-Wireバスに置くことで検索ROMコマンドに応答します。マスタは次にバス値を読み込みます。この場合、ROM1とROM4は0を1-Wireバスに置きます。ROM2とROM3は、ラインをハイのままにすることで、1を1-Wireバスに置きます。結果としてはライン上で全デバイスが論理ANDとなります。したがって、バスマスタは0を読み込みます。1-Wireバス上のすべてのデバイスは、ROMコードの最初のビットの補数を1-Wireバスに置くことで、この読込みに応答します。ROM1とROM4は、ラインをハイのままにできるように、1を1-Wireバスに置き、ROM2とROM3は0をバスに置き、ローにします。バスマスタは再びバスを読込み、再び0を読み込みます。スレーブデバイスROMコードによって、バスマスタが2つの読込みから取得できる4つのデータの組み合わせがあります。これらの組み合わせは以下のように解釈できます。現在のROMコードビット位置に衝突ビットを持つバスに接続されているデバイスがあります。バスに接続されているすべてのデバイスはこのビット位置に0を持ちます。バスに接続されているすべてのデバイスはこのビット位置に1を持ちます。1-Wireバスに接続されているデバイスはありません。この例では、バスマスタは各読込みの間に0を読込みました。これにより、1-Wireバス上に最初のROMコード位置に0を持つデバイスも1を持つデバイスもあることが分かります。前のデータに対応し、バスマスタは0をバスに書き込みます。これにより、この検索パスの残りではROM2とROM3が選択解除され、ROM1とROM4のみ1-Wireバスに「接続された」状態にします。バスマスタはもう2つの読込みを行い、0、次に1を受け取ります。これは、バスにまだ接続されている全デバイスが2番目のROMデータビットとして0を持っていることを示します。ROM1とROM4の両方をバスに接続したままにするためにバスマスタは次に0を書き込みます。バスマスタは再び2つの読込みを行い、2つの0を受け取ります。これは、1-Wireバス上のデバイスの1つが3番目のROMコード位置に0を持ち他のデバイスが1を持つことをマスタに示します。バスマスタはバスに0を書き込みますが、これによりROM1が選択解除され、ROM4をいまだ接続されている唯一のデバイスとします。バスマスタはROM4からROMビットの残りを読み込み、必要であればROM4デバイスにアクセスし続けます。これにより最初のROM検索パスが完了します。バスマスタは、ROMコードを学習することで1-Wireバス上で一意的に識別された1スレーブ(ROM4)を持つことになります。バスマスタは、ステップ1から7までを繰り返すことで新しいROM検索シーケンスを開始します。バスマスタは、バスに1を書き込みます(ステップ8で行われたように0ではなく)。これはROM4を離し、ROM1のみまだ接続された状態とします。バスマスタはROM1からROMビットの残りを読み込み、必要であればROM1デバイスと通信することができます。これにより、第2のROM検索パスが完了し、マスタはもう一つのスレーブデバイス(ROM1)を認識したことになります。バスマスタは、ステップ1から3を繰り返すことで新しいROM検索を開始します。バスマスタは、バスに1を書き込みます(ステップ4で行われたように0ではなく)。これにより、残りの検索パスのためにROM1とROM4が選択解除され、ROM2とROM3のみバスとつながった状態にします。バスマスタは、2つの読込みを行い、2つの0を受け取ります。バスマスタはバスに0を書き込み、これによりROM3が離れ、ROM2のみバスに接続された状態にします。バスマスタはROM2からROMビットの残りを読み込み、必要であればROM2と通信します。これにより第3のROM検索パスが完了し、マスタはROM2スレーブデバイスを認識したことになります。バスマスタは、ステップ13から15を繰り返すことで、4番目と最後のROM検索を開始します。バスマスタは、バスに1を書き込みます(ステップ16で行われたように0ではなく)。これにより、ROM2は離れ、ROM3のみバスに接続された状態にします。バスマスタはROM3からROMビットの残りを読み込み、必要であればROM3デバイスと通信します。これにより第4のROM検索パスが完了し、その間マスタはROM3デバイスを認識しました。この点で、マスタはバス上のすべてのスレーブデバイスを認識し、この時点からバスマスタはROMコードを使ってあらゆるデバイスを個別にアドレス指定できます。注:バスマスタは、各ROM検索パスの間、1つの1-Wireデバイスの一意的なROMコードを学習します。1つのROMコードを学習するのに必要な時間は以下です。13.16mしたがってバスマスタは、1秒あたり75の異なる1-Wireスレーブデバイスを識別することができます。Devices」機能は1-Wireリセットで開始し、デバイスがネット上にあるかどうかを決定し、もしそうであればデバイスをウェイクアップします。次に、この「First」機能が呼び出され、不一致のビットを追跡し、「Next」に戻り、ネット上の各ユニークデバイスを見つけます。「Next」機能は非常に幅広く、ネット上の各デバイスのユニークな64ビットROMコード識別子を見つけるのにほとんどのタスクを行います。巡回冗長検査(CRC)は以下に示す機能を使って達成することができ、検索ROM機能を行う際は含まれるべきです。Temperature」機能を直接使うことができます。ROM」機能を使って特定デバイスを選択する必要があります。以下のコード例は温度センサDS18S20を利用するために特別に書かれました。このコードをDS18B20またはDS1822で使用するためには、温度レジスタ形式の相違のためわずかに変更する必要があります。温度レジスタ形式の情報については各データシートをご参照ください。Cデータなどのすべての必要なデバイスデータを提供します。CRCバイトもスクラッチパッドメモリに含まれます。ROM」コマンドが使われます。ROM」機能の使用が必要です。ROM-IDを提供する必要があります。EE-Mail配信の登録申し込みをして、興味のある分野の最新ドキュメントに関する自動通知を受け取る。Inc.このウェブサイトのコンテンツは米国および各国の著作権法によって保護されています。totalPrice.value}}保存して後で見る​削除{{else}}購入カートには何も入っていません。無料サンプル​削除{{else}}サンプルカートには何も入っていません。{{else}}購入カートには何も入っていません。注文履歴を見るサンプルカートには何も入っていません。注文履歴を見る{{/each}}×ブックマークブックマークを利用するにはログインが必要です。MAXIMお知らせツールをクリックおよびドラッグしてダッシュボードをカスタマイズすることができます。>ご質問/ご意見をお寄せください。見積もり請求をご検討くださいx注意お客様のアカウントに制限がかけられているためご注文をお受けすることができません。カスタマーサポートまでご連絡ください。申し訳ありませんが、このサイトではビジネス/教育と関係のないEメールアドレスからのサンプル請求は受け付けておりません。マキシムの代理店マキシムにご興味をお持ちいただきどうもありがとうございます。x注意マキシム・インテグレーテッドにご興味をお持ちいただきどうもありがとうございます。マキシムの無料サンプルプログラムは、暦年につきお客様に提供できる数量を限らせていただいております。誤ってこのメッセージをお受け取りになった場合はsamples-admin@maximintegrated.comまでご連絡ください。distributorData.coreStaff.stockValue}}{{distributorData.coreStaff.stockValue}}{{/if}}価格は代理店のサイトにあります。製品IDを選択して、はじめてください。閉じるお客様の見積もり請求にお応えするためには以下情報が必要です。できるだけ詳しくお答えください。見積もり請求を送信キャンセルお客様の見積もり請求が送信されました。価格と入手性について24時間以内にお答えします。全カテゴリ最近行った。