さまざまなシリアル通信プロトコルが電子デバイス間でデータを転送するために利用可能です。これには、マイクロコントローラがセンサーからデータを読み取る場合や、ストレージデバイスにデータを送信する場合などが含まれます。これは、一般的に使用されているより人気のあるプロトコルのいくつかをカバーする一連の記事のうちの1つです。シリーズの最後には、それぞれの利点と欠点の比較で締めくくります。
このシリーズが、シリアル通信バスを実装しようとしている次回に役立つ参考資料となることを目指しています。そうすることで、特定のアプリケーションに最適なオプションを選択できます。
この記事では、人気のある1-Wireプロトコルについて見ていきます。
1-Wireは、Dallas Semiconductor Corp.(現在のMaxim Integrated)によって開発された低速通信バスで、グラウンドを除く1本の信号データラインを使用します。これは、マスターまたはホストデバイスが単一のデータラインを介して1つ以上のスレーブデバイスに接続されるマスター-スレーブ通信システムです。各1-Wireスレーブデバイスには、そのデバイスのアドレスであるユニークな工場プログラム済みの64ビット識別番号(ID)があります。
1-Wireデバイスは通常、Maxim Integratedによってのみ製造され、典型的なトランジスタTO-92のようなさまざまなパッケージタイプで利用可能です。また、異なる統合回路もあります。非常に人気のある1-Wire通信デバイスはiButton(ダラスキーとしても知られています)。iButtonは、データロガー、温度および湿度センサー、LED、メモリデバイス、アダプターなどのアプリケーションに使用される小型のモジュラーデバイスです。iButtonは歴史的に1-Wireの非常に人気のある実装でしたが、今日ではMaxim Integratedから1-Wireプロトコルを実装する多くのセンサーが利用可能です。
原則として、iButtonはスマートカードに使用されるものと非常に似たマイクロチップです。違いは、マイクロチップが丸いステンレス鋼のボタンに収められ、厳しい環境での使用に設計されていることです。彼らは1-Wireバスとの接続に物理的な接触に依存しています。
デバイスが動作する典型的な1-Wire電圧範囲には:
1-Wireバスの最も興味深い特徴の一つは、外部電源を必要とせずに通信ライン上で電力を供給できることです。これにより、温度センサーなどの外部センサーをデータ線とグラウンド線のみで接続でき、センサーはデータバスからの寄生電力を通じて電源を供給されます。これは、このシリーズで調査した他のシリーズ通信プロトコルと比較して、かなりの複雑さと配線を節約できます。
典型的な1-Wireバスデバイス接続は、次の回路図で見ることができます:
上記の例では、1つのマスターデバイスが複数のスレーブデバイスを制御しています。
ほとんどの1-Wireデバイスは非常に低い電力を必要とし、電源供給ピンを必要としません。これらのデバイスは、寄生電源として知られる1-Wireデータラインから動作に必要なエネルギーを抽出します。
典型的な1-Wireデバイスの寄生電力構成は、以下の回路図で見ることができます:
様々な1-Wireデバイスがあり、温度センシング、識別、時間記録、EEPROMまたはEPROM(ワンタイムプログラマブル)、セキュア認証などのアプリケーションに使用でき、識別、消耗品の認証、PCBおよびコンピュータアクセサリー、IP保護、ガードツアーシステムへのアクセス制御、電子マネー、出勤時間、食品の温度監視、または医薬品の安全性など、アプリケーションが異なるデバイスの作成を可能にします。
1-Wire接続に必要なプルアップ抵抗の値は、デバイスに十分な電流を供給できるほど低くなければならず、また、スレーブデバイスがデータラインを論理レベル0に正常に引き下げることができないほど低すぎてはなりません。
1-Wire接続の典型的なプルアップ抵抗値は、1 kΩから4.7 kΩの間です。これにより、5 Vの電源からの電流が5 mAから1.06 mAの間に設定されます。例として、DS2480Bデバイスは、通常3 mAで動作するために、1.5 mAから5 mAの間の電流値を必要とします。
1-Wireバスでは、常に全体を統括するマスターが1台存在し、これはパーソナルコンピュータまたはマイクロコントローラーである可能性があります。マスターは常にバス上での活動を開始し、送信の衝突を避けます。マスターデバイスは、複数のスレーブデバイスによる同時送信からの衝突を検出し、管理する責任があります。
デバイスは、データを表すために短いパルスと長いローパルスを使用して送信します。1~15 µsのローパルスは論理レベル1に相当し、60 µsのローパルスは論理レベル0に相当します。パルスの下降(負)エッジは、スレーブデバイスがパルス幅を聞くために使用されます。彼らは非常に基本的な単安定マルチバイブレータを使用してその持続時間を測定します。マスターはリセットパルスを送信した後に8ビットのコマンドを送信し、その後データは8ビットのグループで送受信されます。エラー検出は、単純な8ビットの巡回冗長検査(CRC)を使用して実装されます。
この記事では、人気のある1-Wireプロトコルのいくつかの特徴と、その利点および実装の詳細について説明しました。このシリーズの他の記事では、利用可能な他のシリアル通信プロトコルについて見ていきます。
次のPCB設計でAltium Designer®がどのように役立つかもっと知りたいですか?Altiumの専門家に相談してください。