・1-Wireの通信規定は、「ダラス・セミコンダクター」によって開発され、現在は「マキシム」に吸収されています。
・基本的には「電源・GND・データ」の3本の線を使い、双方向通信を行います。
・また、データ線から電力を得る「パラサイト・パワー」モードでは、「データ・GND」の2本の線だけでデバイスが制御できてしまします。
・もちろん、デバイス付近に別電源を用意することもできます。
(この場合も、「データ・GND」の2本の線だけで通信ができます)
・マスター装置は、バス上に1台だけ存在できます。
・データバスには、オープンドレインまたは3-ステートで接続され、4.7KΩ(基本)の抵抗器でプルアップします。
・これにより、同じバス上に複数のデバイスがワイヤードOR形式で接続できます。
・プルアップ抵抗器により、データバスのアイドル状態は[Hi]レベルです。
・まず、マスターはデータバスを480μS(最低)の間[Low]レベルにして、全てのデバイスにバスのリセット信号を送ります。
・全ての通信は、このリセット動作から始められます。
・バス上のデバイスは、リセット信号を受けると、「存在パルス」を送り返します。(全てのデバイスが同時に返します)
・この時点で、バス上に何らかのデバイスがいくつか存在していることがわかります。
・バス上に、1つのデバイスしかないことがわかっていれば、そのままそのデバイスと通信ができます。
・複数のデバイスがある場合は、デバイスごとに内蔵されているシリアル番号を調べます。
・シリアル番号は64bit(実質56bit)もあるので、1番から順に検索するには膨大な時間がかります。
・この調べ方がユニークで、番号を1ビットずつ送信し、そのビットと自分の番号が合っているデバイスだけが反応していき、反応が無くなった時点で排他的に番号を絞り込むと言う作業を繰り返し、調査します。
・これにより、バス上のデバイス数とシリアル番号がわかるので、それ以降は番号指定することにより、特定のデバイスと通信ができるようになります。
・通信速度は遅くなりますが、用途によっては便利な通信方式です。
・「パラサイト・パワー」モードでは、データ線から電力を供給できますが、4.7KΩ(基本)の抵抗器に依存するため、消費電力が大きいデバイスは動作できません。
・そこで、温度変換などの電力が必要になる期間だけ、MOSFETなどによりデータ線に電力を供給することができます。
・AVRマイコンは、[Hi]レベルのソース電流も多く出せるので、DS1820を5個接続できるという報告があります。
(これは同時変換の場合なので、個々に変換動作をさせれば、より多くのセンサーが接続できます)
・また、ツイストペア線などのノイズ対策をすれば、センサーとの距離を100m以上延ばすテスト結果も出ています。
・常時多くの電力を消費するデバイスの場合は、デバイス付近に別電源を用意します。
|