|
|
|
•
•
•
|

|


|
 |
 |
 |
 |
|
|
 |

| アプリケーションノート1097
|
白書2:1-Wire®パブリックドメインキットの使用 |
要約:このアプリケーションノートでは、1-Wireパブリックドメイン(PD)キットの使用方法について説明します。キットは、シリアルから1-WireへのラインドライバDS2480B、またはカスタム1-Wireインタフェースを使用して1-Wireマスタを構成するための、完全オープンソース、ポータブルCライブラリです。また、キットには数々の1-WireおよびiButton®デバイスをカバーする多数のアプリケーション例が含まれています。このアプリケーションノートでは、キットのファイルを組み合わせて、サポートおよび未サポートのオペレーティングシステムでアプリケーションを構成する方法について説明します。
はじめに
このアプリケーションノートでは、1-Wireパブリックドメイン(PD)キットの使用方法について説明します。キットはマキシムの1-Wireデバイスを使用するアプリケーションを作成する開発者を支援するために構築されました。また、キットは1-Wireネットワークとの通信方法を理解するための学習ツールでもあります。
このアプリケーションノートでは、キットのファイルを組み合わせてアプリケーションを構成する方法について説明します。また、異なるOSプラットフォームに対応する(それが未対応のOSプラットフォームの場合でも)カスタムアプリケーションを生成する方法についても示します。
1-Wire PDキットのソースコードは「C」で記述されています。この言語はもっとも一般的なプログラミング言語であり、また異なるオペレーティングシステムに対する移植性にも優れた言語であるため選択しました。アプリケーションノート155、「1-Wire®ソフトウェアリソースガイドデバイス説明」では、1-WireのPDキットおよびその他利用可能なソフトウェア開発キットについて説明しています。
API機能のグループ分類
1-Wire PDキットのAPIソフトウェア機能は、目的に応じてグループ(通常は個別ファイル)に分類されます。
- Sessionグループは1-Wireの排他的な使用権を獲得および開放するため、その他のアプリケーションは通信を妨げることができません。
- Linkグループは1-Wire通信機器の基本セットで、これにはリセット、ビットの読出し/書込み、EPROMプログラミングパルス、および給電が含まれています。これらのリンク機能はプラットフォームに依存しています。
- Network機能グループはデバイスの検出と選択を行います。各1-Wireデバイスは、各選択に対して1-Wireネットワークアドレスを持ちます。
- Transportグループはブロック通信およびメモリの読出し/書込みの基本機能を実行しますが、これには1-Wireデバイスに対するパケットの読出し/書込み機能が含まれます。
- Fileグループには1-Wireファイル構造を使用するメモリレベル機能が含まれています(アプリケーションノート114、「1-Wire File Structure」)。Fileグループは複数のメモリページを備えた1-Wireデバイスで使用することができます。
- Deviceグループは上記の機能グループを使用して1-Wireデバイス上の特定の動作を実行します。これらの動作には、SHAの動作、温度の読取り、電圧の読取り、およびスイッチ状態の設定などが含まれます。
ソースファイルの構成
1-Wire PDキットのプラットフォームの特定コードは、他のプラットフォームへの移植性を高めるために、いくつかのファイル(TODOテンプレート)で構成されています。これらのファイルは、ハードウェアに依存するAPIの最低位レベルを指します。これらのファイルが正しくコード化されていれば、残りのAPI (およびサンプルアプリケーション)は正常にコンパイルされ動作するはずです。
特定のプラットフォーム用APIの最低位レベルを構築するには、3つの一般的な方法があります。最初の方法は「general」、2つ目は「userial」と呼ばれています。一般的な構築方法では、開発者はLinkレベルの 1-Wireの基本通信機能を使用する必要があります。詳細はアプリケーションノート126、「ソフトウェアを介した1-Wire通信」を参照してください。userial構築方法は、RS-232シリアルポートでの使用に限定されるもので、開発者はマキシムのユニバーサルシリアル1-WireラインドライバマスタであるDS2480Bを使用することを前提としています。userialプラットフォームの構築で使用する唯一のソフトウェア機能は、シリアルボートの基本読込み/書出しです。詳細は、アプリケーションノート192、「DS2480Bシリアル1-Wireラインドライバの使用」を参照してください。マキシムでは、DS9097U-009、DS9097U-S09、DS9097U-E25、DS1411-009、およびDS1411-S09など、DS2480Bをベースとした数種のPCシリアルアダプタを販売しています。
3つ目の「その他」の使用分野では、標準1-Wire PDキットの基本APIを提供していますが、特定のシステムまたはアダプタ機能を利用することによってAPIの使用範囲が広がります。例として、DS9490Rなどの1-WireのUSBアダプタを使用するAPIの使用は、この分野がUSBポートおよびアダプタに内蔵された特別な機能を利用することが求められます。
図1はキットを最大限に活用する方法を決定する手順のフローチャートです。
図1. 1-Wire PDキットの使用法フローチャート
アプリケーションの作成方法
キットのファイルは複数のサブディレクトリにまとめられています。
- \appsディレクトリにあるファイルは、\commonディレクトリにあるファイルとともに使用してポートまたはプラットフォームのアプリケーションのベースを形成することができます。
- lib\generalおよびlib\userialにあるファイルは、前述した移植可能なソースファイルの2セットです。
- アプリケーションをまとめた最後の部分はLinkファイルで、\lib\userial\linkまたは\lib\general\linkのいずれかにあります。リンクファイルが対象プラットフォームに存在しない場合は、キットで提供されているソースコードのテンプレートファイル(例:「userial」構成用のTODO.Cファイル)を完成させる必要があります。これらのリンクファイルは、1-WireのPDキットを動作させるために正確に記入する必要のあるポートとプラットフォーム機能を備えています。図2は、既存のLinkファイルにすべてのファイルを集めたものです。

図2. アプリケーション構築に必要なファイル
表1はキットが現在サポートする数々のプラットフォームの一覧です。プラットフォームは1-Wireパブリックドメインキットのメインページからダウンロードできます。
表1. 1-Wire PDキットがサポートするソフトウェアプラットフォーム
| Platform |
Compiler |
Library |
Port |
Interface |
Name |
| Win32® |
MS Visual C |
other |
USB |
DS9490 + WinUSB |
winusb32vc |
| Win32 |
MS Visual C |
other |
USB |
DS9490 + libusb |
libusbw32vc |
| Win32 |
MS Visual C |
userial |
COM |
DS2480B |
uwin32vc |
| Win32 |
GNU C |
userial |
COM |
DS2480B |
uwin32gnu |
| Win32 |
MS Visual C |
general |
LPT |
DS1410E* |
gpw32vc |
| Win32 |
MS Visual C |
other |
USB COM LPT |
multiport |
multiw32vc |
| Win64 |
MS Visual C |
other |
USB |
DS9490 + WinUSB |
winusb64vc |
| Win64 |
MS Visual C |
other |
USB |
DS9490 + libusb |
libusbw64vc |
| Win64 |
MS Visual C |
userial |
COM |
DS2480B |
uwin64vc |
| Win64 |
MS Visual C |
general |
LPT |
DS1410E* |
gpw64vc |
| Win64 |
MS Visual C |
other |
USB COM LPT |
multiport |
multiw64vc |
| Mac OS® X |
GNU C |
other |
USB |
DS9490 + libusb |
libusbmacosx |
| Mac OS X |
GNU C |
userial |
COM |
DS2480B |
umacosxgnu |
| Linux® |
GNU C |
other |
USB |
DS9490 + libusb |
libusblinux |
| Linux |
GNU C |
userial |
COM |
DS2480B |
ulinuxgnu |
| DS550 |
Keil® |
general |
Micro |
Active pullup pin |
gds550keil |
| DS550 |
Keil |
userial |
Micro |
DS2480B |
uds550keil |
*DS1410Eは新規設計には推奨されていません。
1-WireはMaxim Integrated Products, Inc.の登録商標です。
iButtonはMaxim Integrated Products, Inc.の登録商標です。
Keil SoftwareはKeil Software, Inc.の登録商標です。
LinuxはLinus Torvaldsの登録商標です。
Mac OSはApple Inc.の登録商標です。
Win32はMicrosoft Corporationの登録商標です。
フィードバックをお寄せください。 内容に満足されましたか、あるいは満足されていませんか?もっと良いページにできると思いますか?あるいは、単なるコメントでも結構です。フィードバックをお待ちしています。—マキシムはお客様からいただく訂正、提案を元に改善していきます。
このページを評価し、フィードバックを送信する。
自動アップデート
お客様が関心のある分野でアプリケーションノートが新規に掲載された際に自動通知Eメールの受信を希望する場合は、EE-Mail™にご登録ください。
| その他の情報 | |
APP 1097: Jun 19, 2008
|
| DS1411-009 |
シリアルポートiButtonホルダ |
フルデータシート (PDF, 112kB)
|
|
| DS1411-S09 |
シリアルポートiButtonホルダ |
フルデータシート (PDF, 112kB)
|
|
| DS18S20 |
1-Wire寄生電力ディジタルサーモメータ |
フルデータシート (PDF, 188kB)
|
無料 サンプル
|
| DS18S20-PAR |
寄生電源ディジタルサーモメータ |
フルデータシート (PDF, 264kB)
|
|
| DS1920 |
温度用iButton® |
フルデータシート (PDF, 560kB)
|
|
| DS1963S |
SHA iButton |
|
|
| DS1971 |
256ビットEEPROM iButton® |
フルデータシート (PDF, 296kB)
|
無料 サンプル
|
| DS1973 |
4Kb EEPROM iButton® |
フルデータシート (PDF, 268kB)
|
無料 サンプル
|
| DS1982 |
1KbアドオンリーiButton® |
フルデータシート (PDF, 708kB)
|
無料 サンプル
|
| DS1985 |
16KbアドオンリーiButton® |
フルデータシート (PDF, 708kB)
|
無料 サンプル
|
| DS1986 |
64KbアドオンリーiButton® |
フルデータシート (PDF, 688kB)
|
|
| DS1990A |
シリアルナンバーiButton |
フルデータシート (PDF, 200kB)
|
無料 サンプル
|
| DS1992 |
1Kb/4KbメモリiButton® |
フルデータシート (PDF, 348kB)
|
無料 サンプル
|
| DS1993 |
1Kb/4KbメモリiButton® |
フルデータシート (PDF, 348kB)
|
無料 サンプル
|
| DS1995 |
16KビットメモリiButton® |
フルデータシート (PDF, 68kB)
|
|
| DS1996 |
64kビットメモリiButton® |
フルデータシート (PDF, 352kB)
|
|
| DS2401 |
シリコンシリアルナンバー |
フルデータシート (PDF, 288kB)
|
無料 サンプル
|
| DS2405 |
アドレス指定可能なスイッチ |
フルデータシート (PDF, 436kB)
|
無料 サンプル
|
| DS2406 |
1Kbメモリ付き、デュアル、アドレス指定可能なスイッチ |
フルデータシート (PDF, 264kB)
|
無料 サンプル
|
| DS2431 |
1024ビット、1-Wire EEPROM |
フルデータシート (PDF, 272kB)
|
無料 サンプル
|
| DS2432 |
SHA-1エンジン内蔵、1kビット保護1-Wire EEPROM |
要約版データシート (PDF, 408kB, English only)
|
|
| DS2433 |
4kb、1-Wire EEPROM |
フルデータシート (PDF, 700kB)
|
無料 サンプル
|
| DS2438 |
スマートバッテリモニタ |
フルデータシート (PDF, 376kB)
|
無料 サンプル
|
| DS2450 |
1-WireクワッドA/Dコンバータ |
フルデータシート (PDF, 360kB)
|
無料 サンプル
|
| DS2480B |
シリアルから1-Wireへのラインドライバ |
フルデータシート (PDF, 344kB)
|
無料 サンプル
|
| DS2490 |
USBから1-Wireへの変換チップ |
フルデータシート (PDF, 800kB)
|
無料 サンプル
|
| DS2502 |
1Kbアドオンリーメモリ |
フルデータシート (PDF, 648kB)
|
無料 サンプル
|
| DS2505 |
16Kbアドオンリーメモリ |
フルデータシート (PDF, 320kB)
|
無料 サンプル
|
| DS2506 |
64Kbアドオンリーメモリ |
フルデータシート (PDF, 900kB)
|
無料 サンプル
|
| DS9097U-009 |
ユニバーサル1-Wire COMポートアダプタ |
フルデータシート (PDF, 43kB)
|
|
| DS9097U-E25 |
ユニバーサル1-Wire COMポートアダプタ |
フルデータシート (PDF, 43kB)
|
|
| DS9097U-S09 |
ユニバーサル1-Wire COMポートアダプタ |
フルデータシート (PDF, 43kB)
|
|
|
|
ダウンロード、PDFフォーマット (190kB)
AN1097,
AN 1097,
APP1097,
Appnote1097,
Appnote 1097
|
|
|
 |
|
 |


|
プライバシーポリシー
•
法的お知らせ

Copyright © 2008 by Maxim Integrated Products, Dallas Semiconductor
|

|
|
|

|