要約
1-Wireバスは、単一のラインを使ってホストデバイスとスレーブデバイスの間に通信と電力の両方を供給します。一部の1-Wireデバイスは、EEPROM、温度測定、およびSHA-1エンジンを含む拡張機能を提供しています。これらの特別な機能の動作には追加の電力が必要になる可能性があるため、1-Wireデバイスのプルアップ抵抗(RPUP)の大きさをそれに応じて決める必要があります。
はじめに
1-Wireバスは、マスタコントローラと1個または複数のスレーブ間で半二重の双方向通信を行う単純な信号方式であり、すべてのデバイスが共通のデータラインを共有します。給電とデータ通信の両方が、この単一のライン上で行われます。ほとんどの1-Wireデバイスは、動作と通信に数十µA程度の非常にわずかな電力しか使用しません。しかし、一部の1-Wireデバイスは、EEPROMの書込みやデバイス固有の計算/測定など、特定の動作中にこれより大きな電力を必要とします。このような電力要件の増大期間について、1-Wireバス上の電圧がデバイスの最小動作プルアップ電圧(VPUP)を下回らないようにすることが重要になります。ほとんどの寄生給電型1-Wireデバイスの場合、最小動作電圧(VPUP)は2.8Vです。
追加の電力を必要とする1-Wireデバイス
表1は、追加の電力を必要とする特別な機能を備えた1-Wireデバイスの一部をリストにしたものです。
Part | EEPROM | SHA-1 | Temperature | ADC |
DS18B20 | ![]() |
![]() |
||
DS1920 | ![]() |
![]() |
||
DS1961S | ![]() |
![]() |
||
DS1971 | ![]() |
|||
DS1972 | ![]() |
|||
DS1973 | ![]() |
|||
DS1977 | ![]() |
|||
DS2431 | ![]() |
|||
DS2432 | ![]() |
![]() |
||
DS2450 | ![]() |
|||
DS28E01-100 | ![]() |
![]() |
||
DS28E04-100 | ![]() |
|||
DS28EA00 | ![]() |
![]() |
||
DS28EC20 | ![]() |
ECの表で追加の電力要件を識別する方法
デバイスに追加の電力要件が存在する場合は、データシートの電気的特性(EC)の表に様々な形で記載されています(表2)。ECの表のプルアップ抵抗の仕様(RPUP)は1-Wireの通信のみに関するものであり、特別な動作のための追加の電力要件は含まれていません。
Parameter Description | Symbol | 1-Wire Device |
Programming Current | IPROG | DS1961S, DS1972, DS2431, DS28E01, DS28E04, DS28E00 |
Programming Current | ILPROG | DS1973, DS1977, DS2432 |
Programming Current | IP | DS1971 (DS2430A) |
SHA Computation Current | ILCSHA | DS1961S, DS28E01 |
Active Current | IDD, IDQA | DS1920, DS18B20, DS18B20-PAR |
Conversion Current | ICONV | DS28EA00 |
Operating Current | ICC | DS2450 |
図1. DS28EA00のECの表の例
利用可能な電力
特定のVPUPとRPUPに対して、VPUPと1-WireデバイスのVPUPminの電圧差によって、特別な機能に利用可能な電流が決まります。利用可能な電流は、IAVAIL = (VPUP - VPUPmin)/RPUPで計算することができます。計算例を示します。
VPUP = 5V
RPUP = 2kΩ
VPUPmin = 2.8V、結果はIAVAIL = 1.1mA
すなわちこの例の場合、1-Wire電圧が下限のVPUPを下回るまでに利用可能な電流は1.1mAになります。利用可能な電流がアプリケーションにとって不十分な場合は、より小さなプルアップ抵抗か、またはプルアップ抵抗に対するローインピーダンスのバイパスが必要になります。
適正なプルアップ(RPUP)の判別
利用可能な電流は、公称VPUPから最小VPUPへの潜在的な電圧降下をプルアップ抵抗(RPUP)で除算することによって計算可能です。図2は、最小VPUPが2.8Vのデバイスについて、VPUPが5Vという条件に基づいてこの計算をグラフ化したものです。プルアップ電圧が5Vの場合、2.2kΩ以下のプルアップ抵抗によって少なくとも1mAがサポートされます。
図2. VPUP = 5Vの場合の利用可能な電流
同様に、図3はVPUPが3.3Vという条件に基づいて利用可能な電流を示したものです。プルアップ抵抗での許容電圧降下が0.5Vしかないため、利用可能な電流は非常にわずかです。恐らく別の手段によって追加の電流を供給する必要があると思われます(この後の「ローインピーダンスバイパス」の項をご覧ください)。
図3. VPUP = 3.3Vの場合の利用可能な電流
高度な考慮
非常に低いプルアップ抵抗値を選択することで、特別な機能を実行するために必要となる電力が提供されます。しかし、この構成では1-Wireバス上でロジック0を表す電圧が上昇します。VOLのレベルが1-Wireスレーブまたは1-Wireマスタについて規定されているローの最低入力電圧(VIL)を満たさない場合、信頼性のある通信は不可能になります。1-Wireデバイスの最も一般的なVOLの仕様は、4mAで最大0.4Vです。この値は、1-Wireデバイスがロジック0の応答を返す場合の、最大インピーダンス100Ωに相当します。VILは、1-Wireデバイスによって0.3V~0.8Vの幅があります。複数の1-Wireデバイスがバス上に存在する場合、最も低いVILによって限度が決まります。ロジック0の要件を満たすプルアップ抵抗値は、RPUPmin = 100Ω × (VPUP/VILmax - 1)で計算することができます。
(注:等式の最初の項である100Ωの代わりに、VOL/4mAとすることも可能です。)
したがって、VILの最大値を0.4Vとすると結果は次のようになります。
VPUP = 5Vの場合:1150Ω
VPUP = 3.3Vの場合:725Ω
VILの最大値を0.3Vとすると結果は次のようになります。
VPUP = 5Vの場合:1567Ω
VPUP = 3.3Vの場合:1000Ω
適切なプルアップを選択する際には、プルアップ抵抗と電源の公差についても考慮する必要があります。これらの公差には相関性がなく、すなわちどちらかの(正/負)側に加算される場合と、互いに相殺される場合があります。電圧が上限値で抵抗が下限値(すなわちVOLが最大)、および電圧が下限値で抵抗が上限値(すなわち利用可能な追加の電流が最小)という、最悪の組合せについて常に確認を行ってください。
ローインピーダンスバイパス
VOLとVILの要件を満たすために要求されるプルアップ抵抗では必要な電流を供給することができない場合は、他の手段によって追加の電流を供給する必要があります。これには次の2種類の方法があります。
- 大電流が要求される間のみ作動するディスクリートのローインピーダンスバイパス(強プルアップとも呼ばるもの)を実装する。
- 強プルアップを内蔵した1-Wireインタフェースデバイスを利用する。
ディスクリートの強プルアップを使用する1-Wireマスタの例は、アプリケーションノート4206 「組込みアプリケーション用の正しい1-Wire®マスタの選択」またはアプリケーションノート244 「高度1-Wireネットワークドライバ」をご覧ください。図4に、追加のIO端子によって制御される強プルアップを示します。
図4. 強プルアップ用の回路(点線)を追加可能な双方向ポート端子
強プルアップ機能が組み込まれた1-Wireインタフェースチップは3種類あります(表3)。DS2482-100は、追加のディスクリート、特強プルアップの駆動に使用することができる外部制御信号も備えています。
Device | Interface | Features |
DS2480B | Serial | Strong pullup, active pullup |
DS2482-100 | I²C | Single 1-Wire channel with built in strong pullup, optional active pullup, control signal for extra-strong pullup |
DS2482-800 | I²C | Eight 1-Wire channels with built in strong pullup, optional active pullup |
結論
温度変換、EEPROM、またはSHA-1エンジンなどの拡張機能が1-Wireデバイスの中で適正に動作するためには、1-Wireが最小電圧プルアップ(VPUP)を下回らないという条件で1-Wireマスタからそれらのデバイスに十分な電流を供給する必要があります。したがって、アプリケーションの必要に応じてこの電流を供給するように1-Wireプルアップ抵抗(RPUP)の大きさを決める必要があります。アプリケーションの要求によって、適正な大きさのプルアップ抵抗が許されない場合には、ディスクリートの強プルアップ回路またはDS2480BやDS2482などの1-Wireインタフェースチップを使用して電流を供給することが可能です。
この記事に関して
製品
SHA-1エンジン付き、1Kb保護1-Wire EEPROM
SHA-1エンジン付き、iButton 1Kb EEPROM
1024ビット、1-Wire EEPROM
1-WireクワッドA/Dコンバータ
エコノ1-Wireデジタルサーモメータ
シーケンス検出およびPIO付き、1-Wireデジタル温度計
1-Wire寄生電力デジタルサーモメータ
1-Wire寄生電力デジタルサーモメータ
寄生電源デジタルサーモメータ
1-Wire周囲温度センサー
1-Wire寄生電源、周囲温度センサー
プログラマブル分解能1-Wireデジタルサーモメータ
iButton温度ロガー
1-Wire EEPROM
iButton 32KB EEPROM
20Kb 1-Wire EEPROM
SHA-1エンジン内蔵、1Kb保護1-Wire EEPROM
PIO付き、4096ビットアドレス指定可能1-Wire EEPROM
iButton 256ビットEEPROM
iButton 4Kb EEPROM
iButton 1024ビットEEPROM
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}