DS18B20 Programmable Resolution 1-Wire Digital Thermometer
 
分解能をプログラム可能な、1-Wireディジタル温度計

個人で使用するために翻訳した物を掲載しておりますので、翻訳間違いや誤字による、いかなる損害にも責任を負いません。

・独自の1-Wireインターフェースは、通信のために1本の
 ポートピンだけを必要とします。
・個々のデバイス内部ROMに、独自の64ビット・シリアル
 番号が書かれています。
・マルチドロップ機能は、分散された温度感知アプリケー
 ションを簡素化します。
・外付け部品を必要としません。
・データ線から電力を供給することができます。
 電源範囲は、3.0V〜5.5Vです。
・-55℃ から +125℃(-67°F から +257°F)までの温度を
 測定できます。
・-10℃ から +85℃ までは ±0.5℃の精度です。
・温度計の分解能を、ユーザが9〜12ビットで選択可能です。
・最大750msで、温度を12ビットのデジタル・データに変換
 します。
・ユーザが選択可能な、不揮発性アラームの設定。
・「アラーム検索」コマンドは、設定された境界(温度アラーム)
 外の温度があるデバイスを特定できます。
・8ピンSO(150ミル)、8ピンμSOP、3ピンTO-92パッケージ
 が入手できます。
・DS1822と、ソフトウェアの互換性があります。
・アプリケーションは、自動調温制御、産業システム、コンシューマ製品、温度計、または各種の熱感知
 システムに組み込めます。
 
特 徴
 
・DS18B20デジタル温度計は、9ビットから12ビットの摂氏温度を測定し、不揮発性で上下の境界点をユーザーがプログラム可能なアラーム機能を持っています。
・DS18B20は、マイクロプロセッサとの通信のために、1本のデータ線とGND線だけを必要とする、1-Wireバスで通信します。
・-55℃から+125℃までの動作温度範囲を持ち、-10℃から+85℃までの範囲で、±0.5℃の精度です。
・さらにDS18B20は、外部電源の供給を省略し、電源をデータ線から直接得ることができます。
 (パラサイト・パワー)
 
・個々のDS18B20には、独自の64ビットシリアル番号を持っています。
 (複数のDS18B20が、同じ1-Wireバス上で機能できます)
・したがって、1台のマイクロプロセッサを使い、広い地域に分配された多くのDS18B20を簡単に制御できます。
・この機能の恩恵を受けるアプリケーションは、空調環境制御、建物内の温度監視システム機器、または機械、およびプロセスの監視および制御システムを含んでいます。


  +印は、無鉛パッケージです。 "+"は、無鉛パッケージのトップマークに表示されます。
  T&Rは、テープとリールです。
  *TO-92パッケージのテープとリールは、ストレートまたは整形リードが注文できます
  ストレートリードは「SL」を選んでください。バルクのTO-92の注文は、ストレートリードだけです。
 
概 要
 
・図1は、DS18B20のブロック図を示します。 また、ピンの説明は、ピン配置表に記載してあります。
・64ビットのROMは、デバイス独自のシリアル番号を記憶しています。
・スクラッチパッド・メモリには、温度センサーからのデジタル出力を保存する、2バイトの温度レジスターがあります。
・さらに、スクラッチパッド・メモリは、1バイトの上限と下限のアラーム設定レジスター(THとTL)、および1バイトの動作設定レジスターへアクセスできます。
・動作設定レジスターは、ユーザーが温度の分解能を、9、10、11、12ビットのデジタル変換値に設定することができます。
・TH、TLおよび動作設定レジスタは不揮発性です(EEPROM)。したがって、デバイスの電源が落とされても、それらのデータは保持されます。
 
・DS18B20は、1本の制御信号を用いてバス通信を行う、マキシム独自の1-Wireバス・プロトコルを使います。
・すべてのデバイスが、3-ステートあるいはオープン・ドレインのポート(DS18B20の場合のDQピン)経由でバスに接続されるので、制御線は弱いプルアップ抵抗器を必要とします。
・このバス・システムでは、マイクロプロセッサ(マスター機器)が、各デバイス独自の64ビットシリアル番号を使用して、バス上にあるデバイスを識別します。
・それぞれのデバイスが、独自の番号を持つので、1本のバス上で扱うことができるデバイスの数は、事実上無制限です。
・1-Wireバス・プロトコル(命令と"タイム・スロット"の詳細な説明を含む)は、「1-Wire バス・システム」の項目で扱います。
 
・DS18B20のもう一つの特徴は、外部電源なしで動く能力です。
・電源の代りに、バスが [Hi] の時に、DQピンを経由した1-Wireプルアップ抵抗器を通して電力が供給されます。
・また [Hi] のバス信号は、内蔵コンデンサ(CPP)を充電します。 そしてバスが [Low] の時に、そこからデバイスにパワーを供給します。
・1-Wireバスから電源を得るこの方法は、「パラサイト・パワー」と呼ばれます。
・他に、DS18B20は、外部のVDD電源によって動かすこともできます。

温度測定動作
 
・DS18B20の中心的な機能は、直行のディジタル温度センサーです。
・温度センサーの分解能は、0.5℃、0.25℃、0.125℃、0.0625℃の増分に対応して、9、10、11、12ビットにユーザーが選択できます。
・電源投入時のデフォルト分解能は、12ビットです。
・DS18B20は、低電力のアイドル状態で立ち上がります。
・温度測定とA/D変換を始めるために、マスターは「CONVERT T [44h]」命令を出さなければなりません。
・変換後の結果として生じる温度データは、スクラッチパッド・メモリーの2バイトの温度レジスターに格納され、DS18B20はアイドル状態に戻ります。
・もしDS18B20が外部電源によって動かされているならば、マスターは「CONVERT T」コマンド発行後に、"読み込み・タイム・スロット"(「1-Wire バス・システム」の項目を参照)を用意することができ、DS18B20は温度変換進行中の[0]、および変換終了時の[1]を送って反応します。
・もしDS18B20が、パラサイト・パワーによって電力を供給されるならば、この通知方法は使えません。
・なぜなら、バスは温度変換の期間中、強力なプルアップにより、 [Hi] にされなければならないからです。
・パラサイト・パワーのバス仕様は、「DS18B20の電源供給」の項目で詳細に説明されます。
 
・DS18B20の温度データ出力は、摂氏度で正確に測定されます。
・華氏適用については、参照表または変換ルーチンを使う必要があります。
・温度データは、温度レジスターに、符号付16ビットに拡張された2の補数で格納されます。(図2を参照)
・符号ビット(S)は、温度が(+)か(−)かを示します。  S = 0 (+) および S = 1 (−)
・もしDS18B20が12ビット分解能に設定されるならば、温度レジスターのすべてのビットが有効なデータです。
・11ビット分解能ではビット0が不確定です。 10ビット分解能ではビット1と0が不確定で、9ビット分解能ではビット2、1、0が不確定です。
・表1は、12ビット分解能で変換した、デジタル出力データと対応した温度の例を示します。


アラーム通知動作
 
・DS18B20が温度変換を実行した後に、ユーザーが設定した1バイトのTHとTLレジスターのアラーム設定値(2の補数)と温度値が比較されます。(図3を参照)
・符号ビット(S)は、温度が(+)か(−)かを示します。  S = 0 (+) および S = 1 (−)
・THとTLレジスタは不揮発性(EEPROM)なので、デバイスの電源が落とされても、それらのデータは保持されます。
・THとTLは、「メモリー」の項目で説明されるように、スクラッチパッド・メモリーのバイト2と3を通じてアクセスできます。

・THとTLは8Bitレジスターなので、THとTLの比較において、温度レジスターのBit11からBit4までだけが使われます。
・測定された温度が、TLと等しいかより低い場合、あるいはTHと等しいかより高い場合にアラーム状態が発生し、アラーム・フラグがDS18B20の内部にセットされます。
・このフラグは、温度測定ごとに更新されます。
・したがって、もしアラーム条件が無くなれば、フラグは次の温度変換の後に消されます。
 
・マスター装置は、「ALARM SEARCH [ECh]」コマンドを出して、バスにあるすべてのDS18B20の、アラームフラグ状態をチェックできます。
・アラーム・フラグがセットされているすべてのDS18B20が、コマンドに反応します。
・したがって、マスターはどのDS18B20がアラーム状態になっているかを正確に検知できます。
・アラーム状態が存在していて、THかTLの設定を変更したならば、アラーム状態を有効にするために、再度温度変換をするべきです。

DS18B20の電源供給
 
・DS18B20は、VDDピンの外部電源供給によって動かすことができます。 また「パラサイト・パワー」モードで動作することもでき、それはローカルな電源供給なしで、DS18B20を動かすことを可能にします。
・パラサイト・パワーは、遠隔操作による温度感知を必要とする場合や、非常にスペースに制約があるアプリケーションに役立ちます。
・図1は、DS18B20のパラサイト・パワー制御回路を示します。 それはバスが [Hi] の時に、DQピンを通して1-Wireバスから電力を手に入れます。
・バスが [Hi] の間は、手に入れた電力でDS18B20を動かします。 またバスが 「Low] の時にも電力を供給するために、パラサイト・パワー・コンデンサー(CPP) に充電されます。
・DS18B20が「パラサイト・パワー」モードで使われる時は、VDDピンをGNDに接続しなければなりません。
 
・「パラサイト・パワー」モードにおいて、指定されたタイミングおよび電圧必要条件を満足すれば、1-WireバスおよびCPPは、ほとんどの操作において、DS18B20に十分な電流を供給をすることができます。
 (DC電気的特性AC電気的特性を参照)
・しかし、DS18B20が温度変換を実行している時 または スクラッチパッド・メモリーからEEPROMにデータをコピーしている時には、動作電流が1.5mAに上がります。
・この電流は、CPPによって供給することができる電流量より多いので、弱い1-Wireプルアップ抵抗器では許容できない電圧降下を起こします。
・DS18B20に十分な電流供給を確保するためには、温度変換中 または データがスクラッチパッド・メモリーからEEPROMにコピーされている間は、1-Wireバスを強いプルアップにして電流供給する必要があります。
・これは図4で示されるように、直接バスを電源の方へ引っ張るために、MOSFETを使用して実現することができます。
・「CONVERT T [44h]」または「COPY SCRATCHPAD [48h]」命令が出された後、最大10μs以内に1-Wireバスを強いプルアップに切り替えなければなりません。
・そして温度変換時間(tCONV) または EEPROM書き込み時間(tWR = 10ms)の間、バスは強いプルアップによって [Hi] の状態に保たれなければなりません。
・強いプルアップが有効にされている間は、他のいかなる動作も1-Wireバスで起こすことはできません。
 
・またDS18B20は図5に示するように、外部電源をVDDピンに接続する、従来の方法で動かすことができます。
・この方法の利点は、MOSFETのプルアップが必要ないことと、温度変換中も1-Wireバスで他の通信を行うことができることです。
 
・+100℃を超える温度では、パラサイト・パワーの使用を推薦できません。 なぜならDS18B20はこれらの温度で起こる、より多い漏れ電流によって、通信を維持することができないからです。
・そのような温度が予測されるアプリケーションでは、DS18B20が外部電源で動かされることを強く勧めます。
 
・マスター機器はいくつかの状況で、バスの上のDS18B20が、外部電源かパラサイト・パワーで動かされるかを、わからないかもしれません。
・マスターは温度変換の間、強いプルアップをバスに適用するべきかどうかを決定するために、この情報を必要とします。
・マスターがこの情報を得るために、「SKIP ROM [CCh]」コマンドに続き、「READ POWER SUPPLY [B4h]」コマンドを出し、"読み込み・タイム・スロット"を用意することができます。
・"読み込み・タイム・スロット"の間、パラサイト・パワーのDS18B20は、バスを [Low] にするでしょう。 また外部電源のDS18B20は、バスを [Hi] にするでしょう。
・もしバスが [Low] にされたならば、マスターは温度変換の間、1-Wireバスを強いプルアップにしなければならないと知ります。


64ビット レーザー ROMコード
 
・個々のDS18B20は、ROMに格納された独自の64ビット・コードを持ちます。(図6参照)
・ROMコードの最下位8ビットは、DS18B20の「1-Wireファミリー・コード」です。(28h)
・次の48ビットは、独自のシリアル番号です。
・最上位の8ビットは、ROMコードの最初の56ビットで計算される、周期冗長検査(CRC)バイトです。
・CRCバイトの詳細な説明は、「CRC生成」の項目にあります。
・64ビットROMコードと、関連ROM機能制御ロジックは、DS18B20が「1-Wireバス・システム」項目で詳述されたプロトコルを使用して、1-Wireデバイスとして作動することを可能にします。

メモリー
 
・DS18B20のメモリーは、図7に示すような構成です。
・メモリーは、スクラッチパッド・SRAMと、上下限アラーム設定レジスタ(THとTL) および 動作設定レジスター用の不揮発性EEPROMメモリーを備えています。
・DS18B20のアラーム機能を使用しない場合は、THとTLレジスタを汎用のメモリーとして使用することもできます。
・すべてのメモリー命令は、「DS18B20機能コマンド」の項目で詳細に説明します。
 
・スクラッチパッド・メモリーの [Byte 0] と [Byte 1] は、温度レジスターの下位(LSB)と上位(MSB)です。
・これらのレジスターは、読み取り専用です。
・[Byte 2] と [Byte 3] は、THとTLレジスターへのアクセス用です。
・[Byte 4] は、動作設定レジスターです。 これは「動作設定レジスター」の項目で詳細に説明します。
・[Byte 5]、「Byte 6]、[Byte 7] は、装置の内部で使用するために予約されているので、上書きすることはできません。
 
・[Byte 8] は、スクラッチパッド・メモリーの 「Byte 0] から [Byte 7] までのCRC値で、読み取り専用です。
・DS18B20は、「CRC生成」の項目で説明される方法を使って、このCRCを生成します。
 
・データは、「WRITE SCRATCHPAD [4Eh]」コマンドを使って、スクラッチパッドの [Byte 2]、[Byte 3]、[Byte 4] に書かれます。
・データは、[Byte 2] の最下位ビットから順に、DS18B20に送信されなければなりません。
・書き込んだデータの整合性を確かめるために、データが書かれた後に、「READ SCRATCHPAD [BEh]」命令を使用して、スクラッチパッドを読むことができます。
・スクラッチパッドを読む時には、データが [Byte 0] の最下位ビットから順に1-Wireバスに転送されます。
・マスターは、TH、TL、および動作設定データを、スクラッチパッドからEEPROMに移すために、「COPY SCRATCHPAD [48h]」コマンドを出すことができます。
 
・デバイスの電源が切られた時にも、EEPROMレジスターのデータは記憶されます。
・電源投入時には、EEPROMデータがスクラッチパッドの対応した位置に再度コピーされます。
・データは、「RECALL E2[B8h]」コマンドを使って、いつでもEEPROMからスクラッチパッドにコピーできます。
・マスターは、「RECALL E2[B8h]」コマンドに続き、"読み込み・タイム・スロット"を用意することができます。
・そしてDS18B20は、リコールが進行中の間は[0]、リコールが終わると[1]を送って、リコール動作の状態を示します。

動作設定レジスター
 
・スクラッチパッド・メモリーの[Byte 4]は、動作設定レジスターです。それは図8で示されるような構成です。
・表2で示すように、ユーザーはこのレジスターのR1とR0ビットを使って、DS18B20の変換分解能を選択できます。
・これらのビットのパワーオン時のデフォルトは、R1=1、R0=1です。(12ビット分解能)
・分解能と変換時間に、直接的な相関関係があることに注意してください。
・動作設定レジスターのbit7とbit4〜0は、デバイス内部での使用のために予約されているので、上書きすることはできません。


CRC生成
 
・DS18B20のCRCバイトは、64ビットROMコードの一部と、スクラッチパッド・メモリーの [Byte 9] にあります。
・ROMコードのCRCは、ROMコードの最初の56ビットから計算されて、ROMコードの最上位バイトに置かれます。
・スクラッチパッドのCRCは、スクラッチパッドに保管されるデータから計算されます。
・ したがって、スクラッチパッドのデータが変わると、それも変わります。
・DS18B20からデータが読まれる時、CRCはバスマスターにデータを検証する方法を提供します。
・データが正しく読まれたことを確かめるために、バスマスターは受信データからCRCを再計算しなければなりません。
・そして、この値をROMコードCRC(ROMを読み込むため)またはスクラッチパッドCRC(スクラッチパッドを読み込むため)のどちらかと比較します。
・計算されたCRCが、読まれたCRCと一致するならば、データは誤りがなく受け取られたことになります。
・CRC値の比較、およびオペレーションを継続するかの選択は、バスマスターによって決定されます。
・もしDS18B20のCRC(ROMまたはスクラッチパッド)が、バス・マスターにより生成された値と一致しない場合でも、DS18B20には、コマンド・シーケンスが進むのを防ぐ内部回路がありません。
 
・CRC(ROMまたはスクラッチパッド)の等価な多項式は、次の通りです。
   CRC = X8 + X5 + X4 + 1
 
・バスマスターは、図9に示した多項式生成回路を使用してCRCを再計算し、DS18B20からのCRC値と比較できます。
・この回路は、シフトレジスターおよびXORゲートから成ります。 また、シフトレジスターのビットは、[0]で初期化されます。
・ROMコードの最下位ビット、またはスクラッチパッドの [Byte 0] の最下位ビットから順に、シフトレジスタの中に1ビットづつ入れます。
・スクラッチパッド [Byte 7] の最上位ビット、またはROMの第56ビットをシフトした後に、多項式生成回路はCRCを再計算したものとなります。
・次にDS18B20からの、残り8ビットROMコード、またはスクラッチパッドのCRCが、回路にシフトされなければなりません。
・この時に、再計算されたCRCが正しいならば、シフトレジスターは全て[0]になります。
・マキシム1-Wire周期冗長検査に関する追加情報は、アプリケーション・ノート27において利用可能です。
  マキシムiButton製品による、巡回冗長検査の理解および使用。

1-WIREバス・システム
 
・1-Wireバス・システムは、1つ以上のスレーブ機器を制御するために、1つのバス・マスターを使用します。
・DS18B20は、常にスレーブです。
・1つのスレーブだけがバスにあるシステムは、「シングル・ドロップ」と呼ばれ、複数のスレーブがバスにあるならば、「マルチ・ドロップ」と呼ばれます。
 
・すべてのデータとコマンドは、最下位ビットから1-Wireバス上に送り始められます。
 
・1-Wireバス・システムの以下の討議は、3つ項目に分類されます。
   「ハードウェア構成」 ・ 「処理順序」 ・ 「1-Wire信号(信号の種類とタイミング)」

ハードウェア構成
 
・1-Wireバスは、定義上1本のデータ線だけを持ちます。
・各装置(マスターまたはスレーブ)は、オープン・ドレイン または 3-ステートのポート経由で、データ線に接続します。
・これはデバイスがデータを送信しておらず、バスが別のデバイスによって使用可能な場合に、各デバイスがデータ線を「リリース(開放)」することができます。
・DS18B20の1-Wireポート(DQピン)は、図10に示されるように、内部の等価回路がオープン・ドレインです。
・1-Wireバスは、約5kΩの外部プルアップ抵抗器を必要とします。
・したがって、1-Wireバスのアイドル状態は [Hi] です。
・あらゆる理由で処理を中断する必要がある場合、処理を再開するならば、バスをアイドル状態にしておかなければなりません。
・回復期間の間に、1-Wireバスが不活発([Hi])の状態にある限り、ビットの間で無限の回復時間が起こるかもしれません。
・もしバスが480μsより長い間 [Low] にされたならば、バスのすべての部品がリセットされます。

処理順序
 
・DS18B20にアクセスするための処理順序は、以下の通りです。
 
   ステップ1.初期化。
   ステップ2.ROMコマンド。 (各種のデータ交換要求が続きます)
   ステップ3.DS18B20の機能コマンド。 (各種のデータ交換要求が続きます)
 
・DS18B20にアクセスする時は、常にこの順序に従うことが非常に重要です。
・処理における何かのステップが無くなっていたり、不適切な場合には、DS18B20が答えないからです。
・この規則の例外は、「SEARCH ROM [F0h]」と「ALARM SEARCH [ECh]」コマンドだけです。
・このROMコマンドのどちらかを発行した場合には、マスターは処理のステップ1に戻らなければなりません。

初 期 化
 
・1-Wireバスのすべての処理は、初期化手順から始めます。
・初期化手順は、バスマスターによって送信されたリセット・パルスに続く、スレーブによって送信された存在パルスから成ります。
・存在パルスは、スレーブ機器(DS18B20など)がバスにあり、動作する準備ができていることを、バス・マスターに知らせます。
・リセットと存在パルスのタイミングは、「1-Wire信号」の項目で詳述されます。

ROMコマンド
 
・バス・マスターは、存在パルスを検出した後に、ROMコマンドを出すことができます。
・これらのコマンドは、各スレーブ・デバイスの独自な64ビットのROMコードに作用し、多数が1-Wireバスに存在する場合に、マスターが特定のデバイスを選抜することを可能にします。
・またこれらのコマンドで、マスターはどんなタイプのデバイスがバスに存在しているか、またはいずれかのデバイスがアラーム状態を検知しているかを知ることができます。
・5つのROMコマンドがあり、それぞれのコマンドの長さは8bitです。
・マスターは、DS18B20に「機能コマンド」を出す前に、適切なROMコマンドを出さなければなりません。
・ROMコマンド操作のためのフローチャートを、図11に示します。

SEARCH ROM [F0h]
 
・最初に電源がシステムに供給される時、マスターはバスにあるすべてのスレーブ・デバイスの、ROMコードを識別しなければなりません。
・それはマスターが、スレーブの数およびデバイスの種類を認識するためです。
・マスターはスレーブ・デバイスをすべて識別するために、必要なだけのサーチROMサイクル(SEARCH ROMコマンドに続くデータ交換)を繰り返し、排除手順によってROMコードを知ります。
・もしバス上にスレーブが1つしかなければ、サーチROM手順の代わりに、より簡単なREAD ROMコマンド(下記参照)を使うことができます。
・サーチROM手順の詳しい説明は、www.maxim-ic.com/ibuttonbookで、iButton(R)Book of Standardsを参照してください。
・すべてのサーチROMサイクルの後に、バス・マスターは、処理手順のステップ1(初期化)に戻らなければなりません。

READ ROM [33h]
 
・バスにスレーブが1つだけの時、このコマンドを使用できます。
・これはバス・マスターが、サーチROM手順を使わずに、スレーブの64ビットROMコードを読むことができます。
・もしバスに複数のスレーブが存在していてこのコマンドが使われると、すべてのスレーブが同時に応えようとするので、データの衝突が起こります。

MATCH ROM [55h]
 
・MATCH ROMコマンドに続く64ビットROMコード手順は、バス・マスターが「マルチドロップ」または「シングル・ドロップ」バスにある、特定のスレーブ・デバイスと通信することを可能にします。
・64ビットROMコード手順と正確に一致しているスレーブだけが、マスターにより出された機能コマンドに反応します。
・バス上にある他のすべてのスレーブは、リセットパルスを待ちます。

SKIP ROM [CCh]
 
・マスターは、いずれのROMコード情報も出さずに、バス上のすべてのデバイスに同時に指示を出すために、このコマンドを使用することができます。
・例えば、マスターがバス上のすべてのDS18B20に、SKIP ROMコマンドに続く「CONVERT T [44h]」コマンドを出すことによって、同時に温度変換を行なわせることができます。
・もしバス上に1つのスレーブ・デバイスだけならば、SKIP ROMコマンドに続き、「READ SCRATCHPAD [BEh]」コマンドが出せることに注意してください。
・この場合、マスターがデバイスの64ビットROMコードを送らずに、スレーブからデータを読むことができるので、時間を節約できます。
・1つ以上のスレーブがある場合は、複数のデバイスが同時にデータ送信を試みるので、SKIP ROMコマンドに続くREAD SCRATCHPADコマンドは、バスでデータの衝突を引き起こすでしょう。

ALARM SEARCH [ECh]
 
・このコマンドの動作は、アラーム・フラグがセットされたスレーブだけが反応する以外は、SEARCH ROMコマンドの動作と同じです。
・このコマンドで、いずれかのDS18B20が最近の温度変換時にアラーム状態を検知したかを、マスターが確認できます。
・すべてのALARM SEARCH(ALARM SEARCHコマンドに続くデータ交換)の後に、バス・マスターは処理順序のステップ1(初期化)に戻らなければなりません。
・アラーム・フラグ動作の詳細については、「アラーム通知動作」の項目を見てください。

DS18B20の機能コマンド
 
・バス・マスターが、通信を望むDS18B20に応答を得るためのROMコマンドを使用した後に、マスターはDS18B20の機能コマンドのうちの1つを出すことができます。
・これらのコマンドによって、マスターがDS18B20のスクラッチパッド・メモリの読み書きをしたり、温度変換の開始や電源供給モードを確認することができます。
・DS18B20の機能コマンド(以下に記載)は、図12のフローチャートで例示します。

CONVERT T [44h]
 
・この命令は、一回の温度変換を開始させます。
・変換後の結果として生じる温度データは、スクラッチパッド・メモリーの2バイトの温度レジスターに格納され、DS18B20は低電力のアイドル状態に戻ります。
・もしパラサイト・パワー・モードでデバイスが使われているならば、「DS18B20の電源供給」の項目で解説されるように、マスターはこの命令が出された後、最大10μs以内に温度変換時間(tCONV)の間、1-Wireバスに強いプルアップを作動させなければなりません。
・もし、DS18B20が外部電源で動かされる場合は、マスターはCONVERT Tコマンドの後に、"読み込み・タイム・スロット"を用意することができ、DS18B20は温度変換中の[0]と変換終了の[1]を送信して反応します。
・パラサイト・パワー・モードでの変換の間は、バスは強いプルアップで [Hi] に引かれるので、この通知テクニックは使用できません。

WRITE SCRATCHPAD [4Eh]
 
・マスターはこのコマンドによって、DS18B20のスクラッチパッドに、3バイトのデータを書くことができます。
・最初のデータバイトはTHレジスター(スクラッチパッドの [Byte 2] )に書き込まれ、2番目のバイトはTLレジスター [Byte 3] に、3番目のバイトは動作設定レジスター [Byte 4] に書き込まれます。
・データは、始めに最下位ビットから送信される必要があります。
・マスターがリセットを出す前に、3バイトすべてを書かれなければなりません。 さもないと、データは壊されるかもしれません。

READ SCRATCHPAD [BEh]
 
・マスターはこのコマンドで、スクラッチパッドの内容を読むことができます。
・データ転送は [Byte 0] の最下位ビットから始まり、9番目のバイト([Byte 8] はCRC)まで、スクラッチパッドの初めから終りまで続きます。
・もしスクラッチパッドのデータの一部だけが必要ならば、マスターは読み込みを終了するために、いつでもリセットを出すことができます。

COPY SCRATCHPAD [48h]
 
・このコマンドは、スクラッチパッドのTH、TL、動作設定レジスタ([Byte 2]、[Byte 3]、[Byte 4])の内容を、EEPROMにコピーします。
・もしパラサイト・パワー・モードでデバイスが使われているならば、「DS18B20の電源供給」の項目で解説されるように、マスターはこの命令が出された後、最大10μs以内に最低10msの間、1-Wireバスに強いプルアップを作動させなければなりません。

RECALL E2 [B8h]
 
・このコマンドは、EEPROMからアラーム設定値(THとTL)と動作設定データを取り出して、スクラッチパッド・メモリの [Byte 2]、[Byte 3]、[Byte 4] に、それぞれのデータをコピーします。
・マスターは、RECALL E2コマンドに続き、"読み込み・タイム・スロット"を用意することができます。
・DS18B20は、取り出し中の[0]と取り出し終了の[1]を送って、リコール動作の状態を示します。
・リコール動作は、電源投入時に自動的に行われます。
・したがって、電源がデバイスに供給されると、すぐに有効なデータがスクラッチパッドから入手できます。

READ POWER SUPPLY [B4h]
 
・マスターは、バスにあるどのDS18B20がパラサイト・パワーを使っているかを確認するために、このコマンドに続き、"読み込み・タイム・スロット"を用意することができます。
・"読み込み・タイム・スロット"の間、パラサイト・パワーのDS18B20は、バスを [Low] にするでしょう。
・また、外部電源のDS18B20は、バスを [Hi] にするでしょう。
・このコマンドの使用方法は、「DS18B20の電源供給」の項目を参照してください。




1-WIRE 信号
 
・DS18B20は、データの保全性を確実にするために、厳密な1-Wire通信規約を使います。
・それぞれの信号形式が、この規約によって定義されます。
   「リセットパルス」 ・ 「存在パルス」 ・ 「0の書き込み」 ・ 「1の書き込み」 ・ 「0の読み込み」 ・ 「1の読み込み」
・バス・マスターは、「存在パルス」を除いてこれらすべての信号を開始します。

初 期 化 (リセット手順と存在パルス)
 
・DS18B20とのすべての通信は、マスターからのリセットパルスに続く、DS18B20からの存在パルスから成る、初期化手順から始まります。
・これは図13で説明されます。
・DS18B20がリセットに応答して存在パルスを送るとき、デバイスがバス上にあり、作動する準備ができていることをマスターに知らせます。
 
・初期化手順でバス・マスターは、最低480μsの間1-Wireバスを [Low] にすることによって、リセットパルスを送ります。
・次に、バス・マスターは、バスを開放し受信モードに入ります。
・バスが開放される時、5kΩのプルアップ抵抗器が、1-Wireバスを [Hi] に引き上げます。
・DS18B20が、リセットパルスの立ち上がりエッジを検知した時、15μs〜60μs待った後、60μs〜240μsの間1-Wireバスを [Low] にすることによって、存在パルスを送ります。

読み込み/書き込み・タイム・スロット
 
・バス・マスターは、"書き込み・タイム・スロット"でデータをDS18B20に書き、"読み込み・タイム・スロット"でDS18B20からデータを読みます。
・1ビットのデータは、"タイム・スロット"ごとに1-Wireバス上に送られます。

"書き込み・タイム・スロット"
 
・"書き込み・タイム・スロット"には、「0を書き込む」タイム・スロット および 「1を書き込む」タイム・スロットの、2つのタイプがあります。
・バス・マスターは、DS18B20に論理 [0] を書くために"[0] 書き込み スロット"を使い、論理 [1] を書くために"[1] 書き込み スロット"を使います。
・すべての"書き込み・タイム・スロット"は、個々の書き込みスロットの間に、最低1μsの復旧時間に加えて、最低60μs以上の期間でなければなりません。
・両タイプの"書き込み・タイム・スロット"は、マスターが1-Wireバスを [Low] にすることにより開始されます。(図14を参照)
 
・マスターが"[0] 書き込み スロット"を生成するには、1-Wireバスを [Low] にした後に、"書き込み・タイム・スロット"の期間(最低60μs)、バスを [Low] に保ち続けなければなりません。
・マスターが"[1] 書き込み スロット"を生成するには、1-Wireバスを [Low] にした後に、15μs以内に1-Wireバスを開放しなければなりません。
・バスが開放される時、5kΩのプルアップ抵抗器が1-Wireバスを [Hi] に引き上げます。
 
・DS18B20は、マスターが"書き込み・タイム・スロット"を始めた後、15μs〜60μs間のスロット内で、1-Wireバスを抽出します。
・もしスロットの抽出期間にバスが [Low] ならば、[0] がDS18B20に書かれます。
・もしバスが [Hi] ならば、[1] がDS18B20に書かれます。

"読み込み・タイム・スロット"
 
・マスターが"読み込み・タイム・スロット"を発行する時にだけ、DS18B20はマスターにデータを送信できます。
・したがってマスターは、「READ SCRATCHPAD [BEh]」または「READ POWER SUPPLY [B4h]」コマンドを出した後に、DS18B20が要求されたデータを送信できるように、"読み込み・タイム・スロット"を用意しなければなりません。
・さらにマスターは、「DS18B20機能コマンド」の項目で説明されるように、動作の状況を知るため、「CONVERT T [44h]」または「RECALL E2 [B8h]」コマンドの後に、"読み込み・タイム・スロット"を用意できます。
 
・すべての"読み込み・タイム・スロット"は、スロットの間に最低1μsの復旧時間を加えて、最低60μs以上の期間でなければなりません。
・"読み込み・タイム・スロット"は、マスターが最低1μsの間1-Wireバスを [Low] にした後、バスを開放することによって始められます。(図14を参照)
・マスターが、"読み込み・タイム・スロット"を開始した後に、DS18B20はバスに [0] または [1] を送り始めます。
・DS18B20は、バスを [Low] にすることにより [0] を送り、バスを 「Hi] にすることにより [1] を送ります。
・[0] を送る時、DS18B20はタイム・スロットの終わりでバスを開放し、バスはプルアップ抵抗により、[Hi] のアイドル状態に引き上げられます。
・DS18B20からの出力データは、"読み込み・タイム・スロット"を始めた立ち下がりエッジの後、15μs間有効です。
・したがって、マスターはバスを開放してから15μs以内に、スロットのバス状態を採取しなければなりません。
 
・図15は、TINIT、TRC、TSAMPLEの合計が、"読み込み・タイム・スロット"内で、15μs未満でなければならないことを示します。
・図16は、TINITとTRCをできるだけ短くしておくことで、マスターが"読み込み・タイム・スロット"の15μsの終わりごろに抽出時間を置くことにより、タイミングのマージンが最大限になることを示します。


関連したアプリケーション・ノート
 
以下のアプリケーション・ノートは、DS18B20に適用することができ、www.maxim-ic.comの私達のウェブサイトで入手可能です。
Application Note 27: Understanding and Using Cyclic Redundancy Checks with Maxim iButton Products
Application Note 122: Using Dallas' 1-Wire ICs in 1-Cell Li-Ion Battery Packs with Low-Side N-Channel Safety FETs Master
Application Note 126: 1-Wire Communication Through Software
Application Note 162: Interfacing the DS18x20/DS1822 1-Wire Temperature Sensor in a Microcontroller Environment
Application Note 208: Curve Fitting the Error of a Bandgap-Based Digital Temperature Sensor
Application Note 2420: 1-Wire Communication with a Microchip PICmicro Microcontroller
Application Note 3754: Single-Wire Serial Bus Carries Isolated Power and Data
Sample 1-Wire subroutines that can be used in conjunction with Application Note 74: Reading and Writing iButtons via Serial Interfaces can be downloaded from the Maxim website.

DS18B20の操作例 (1)
 
・この例では、バスに複数のDS18B20があり、それらはパラサイト・パワーを使っています。
・バス・マスターは、特定のDS18B20で温度変換を始め、そのスクラッチパッドを読み込んで、データを確かめるためにCRCを再計算します。
 
マスター
モード
データ (LSBが最初) コ  メ  ン  ト
送信 リセット マスタが、リセットパルスを出します。
受信 存在パルス DS18B20は、存在パルスで応じます
送信 MATCH ROM [55h] マスターが、「MATCH ROM」コマンドを出します。
送信 64-bit ROMコード マスターは、DS18B20にROMコードを送ります。
送信 CONVERT T [44h] マスターは、「CONVERT T」コマンドを出します。
送信 DQ線を、強いプルアップで
[Hi]にします。
マスターは、変換(tCONV)の間、強いプルアップをDQに適用します。
送信 リセット マスタが、リセットパルスを出します。
受信 存在パルス DS18B20は、存在パルスで応じます。
送信 MATCH ROM [55h] マスターが、「MATCH ROM」コマンドを出します。
送信 64-bit ROM code マスターは、DS18B20にROMコードを送ります。
送信 READ SCRATCHPAD [BEh] マスターは、「READ SCRATCHPAD」コマンドを出します。
受信 9バイトのデータ マスターは、CRCを含む全てのスクラッチパッドを読みます。
マスターは、スクラッチパッドの先頭から8バイトのデータでCRCを
再計算し、計算されたCRCを、読み込まれたCRC[Byte 9]と比較
します。
それが一致する場合は、マスターは継続します。そうでなければ、
読み込み操作が繰り返されます。

 
DS18B20の操作例 (2)
 
・この例では、バスに1つのDS18B20だけがあり、それはパラサイト・パワーを使っています。
・マスターは、DS18B20のスクラッチパッドの、TH、TL、動作設定レジスターに書き込み、データを確認するために、スクラッチパッドの内容を読み込みCRCを再計算します。
・その後、マスターはEEPROMにスクラッチパッドの内容をコピーします。
 
マスター
モード
データ (LSBが最初) コ  メ  ン  ト
送信 リセット マスタが、リセットパルスを出します。
受信 存在パルス DS18B20は、存在パルスで応じます。
送信 SKIP ROM [CCh] マスターが、「SKIP ROM」コマンドを出します。
送信 WRITE SCRATCHPAD [4Eh] マスターが、「WRITE SCRATCHPAD」コマンドを出します。
送信 3バイトのデータ マスターは、スクラッチパッドに、3バイトのデータを送ります。
(TH、TL、動作設定)
送信 リセット マスタが、リセットパルスを出します。
受信 存在パルス DS18B20は、存在パルスで応じます。
送信 SKIP ROM [CCh] マスターが、「SKIP ROM」コマンドを出します。
送信 READ SCRATCHPAD [BEh] マスターは、「READ SCRATCHPAD」コマンドを出します。
受信 9バイトのデータ マスターは、CRCを含む全てのスクラッチパッドを読みます。
マスターは、スクラッチパッドの先頭から8バイトのデータでCRCを
再計算し、計算されたCRCを、読み込まれたCRC [Byte 9]と比較
します。
それが一致する場合は、マスターは継続します。そうでなければ、
読み込み操作が繰り返されます。
送信 リセット マスタが、リセットパルスを出します。
受信 存在パルス DS18B20は、存在パルスで応じます。
送信 SKIP ROM [CCh] マスターが、「SKIP ROM」コマンドを出します。
送信 COPY SCRATCHPAD [48h] マスターが、「COPY SCRATCHPAD」コマンドを出します。
送信 DQ線を、強いプルアップで
[Hi]にします。
マスターは、少なくとも10msの間、強いプルアップをDQに適用します。

 
絶対最大定格
 
 ピンの許容電圧(GNDを基準とした)・・・・・・・ −0.5V 〜 +6.0V
 動 作 温 度 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ −55℃ 〜 +125℃
 保 存 温 度 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ −55℃ 〜 +125℃
 はんだ温度 ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ IPC/JEDEC J-STD-020 仕様を参照してください。
 
 ※これらは重要な定格けだけです。そして仕様の操作部で示された、このデバイスのそれ以上の
   いかなる機能操作状態も含まれていません。
 ※長期間、絶対最大定格状態にすると、信頼性に影響が出る可能性があります。


  備 考
  1) すべての電圧は、GNDを基準とします。
  2) プルアップ電圧の仕様は、プルアップ・デバイスが理想的であると仮定します。したがって、プルアップの
    [Hi] レベルはVPUと等しいです。
    DS18B20の(VIH)仕様を満たすために、強いプルアップ・トランジスタでの実際の供給電圧は、
    トランジスタがオンになった時の、両端の電圧降下を含める必要があります。
       VPU_ACTUAL = VPU_IDEAL + VTRANSISTOR
  3) 図17で代表的特性曲線を参照して下さい。
  4) ロジックの [Low] 電圧は、4mAの入力(シンク)電流で規定されます。
  5) 低電圧パラサイト・パワーの条件で、存在パルスを保証するために、VILMAXは0.5V以下にする必要が
    あります。
  6) ロジック [Hi] 電圧は、1mAの出力(ソース)電流で規定されます。
  7) 待機時電流は、+70℃で規定されます。 待機時電流は標準値が、+125℃で3μAです。
  8)IDDSを最小にするために、DQは以下の範囲になければなりません。
       GND ≦ DQ ≦ GND+0.3V または VDD-0.3V ≦ DQ ≦ VDD
  9) 消費電流は、温度変換中またはEEPROMへの書き込み中の、供給電流を指します。
  10) DQ線は [Hi] です。("high-Z" 状態)。
  11) ドリフト・データは、VDD = 5.5V、+125℃で、1000時間のストレス試験に基づきます。
 

 

 備 考
  1) 図18のタイミング図を参照。
  2) パラサイト・パワーの場合、tRSTL > 960μsならば、パワーオンリセットが起こるかもしれません。




 改訂履歴
改訂日 改 訂 内 容 ページ
07/03/01 絶対最大定格の項目で、+220℃の再フロー・オーブン温度値を削除しました。参照に、JEDEC仕様の再フローは残ります。 19
07/10/12 「アラーム通知動作」の項目に、THアラーム条件の記述において、「または同等」を付け加えました。 5
「メモリー」の項目で、メモリーに関して記述した誤っている文章を削除しました。 7
「動作設定レジスター」の項目で、動作設定レジスターについて記述した誤っている文章を削除しました。 8
08/04/22 注文情報テーブルにおいて TO-92ストレート・リードパッケージおよびテープ・リールのTO-92パッケージを注文できると言う記載に、ストレート・リードーの形状が含まれていた。 2

・Maxim/Dallas Semiconductorは、Maxim/Dallas Semiconductor製品で、完全に具体化された回路以外に、どなような回路の使用に対する責任も負うことはできません。
・回路特許のライセンスは、含まれていません。
・Maxim/Dallas Semiconductorは、いつでも予告なしに回路と仕様を変える権利を保有します。
・Maxim Integrated Products, 120 San Gabriel Drive, Sunnyvale, CA 94086 408-737-7600(C)2008 Maxim Integrated Products.
・MaximのロゴはMaxim Integrated Products Inc.の登録商標です。
・DallasロゴはDallas Semiconductor Corporationの登録商標です。



   電子工作の部屋 Top へ 前のページへ戻る