i2c-tiny-usb

ソフトウェアのスクリーンショット:
i2c-tiny-usb
ソフトウェアの詳細:
バージョン: 2009-02-10 更新
日付のアップロード: 7 Mar 16
開発者: Till Harbaum
ライセンス: 無料
人気: 46

Rating: 5.0/5 (Total Votes: 1)

I2C-小さな-USBは、オープンソース/オープンハードウェアプロジェクトです。
USB経由でPCに任意のI2Cクライアントチップ(サーモセンサ、AD変換器、ディスプレイ、ルレドライバを、...)を取り付け...迅速、簡単かつ安価な! Linuxでは、WindowsやMacOSの利用できる用のドライバ。
I2C-小さな-USBプロジェクトは、オープンソース/オープンハードウェアプロジェクトです。 I2C-小さな-USBの目標は、USBに装着される安価なジェネリックI2Cインタフェースを提供することです。これは、I2Cアダプタにこれらの簡単で安価なプリンタポ​​ートの代替として意図されています。 USBソリューションは、いくつかの利点を含を有します。内蔵電源、より将来性のインタフェース。
また何のCPU強烈bitbangingは、ホスト側で必要とされません。このUSBソリューションは、さらにいくつかのプリンタポ​​ートのソリューションよりも少ない部品を必要とします。
I2C-小さな-USBは下に開発されたとLinuxのために、それはまた、WindowsやMacOSのXのAの下で機能しますが、Windowsのデモドライバとデモアプリケーションは、あなたがすぐに始めるために含まれています。
I2C-小さな-usbのプロジェクトが基づいています:
LinuxのUSBのプロジェクトとLinuxのi2c実装
Windowsドライバとテストアプリケーションは、libusbを-win32のに基づいています
AVR-USB、AVRプラットフォーム用のUSBの純粋なソフトウェア実装
USBtiny、AVRのための別のソフトウェアusbの実装
I2C-小さな-USBインターフェースのハードウェアは、AtmelのAVR ATtiny45 CPU、(〜2kのは、このアプリケーションで使用されている)4 Kバイトのフラッシュと256バイトのRAMを搭載した安価で入手が容易なマイクロコントローラで構成されています。プロセッサは、いくつかの他の部分によって囲まれています。
USBインターフェース
I2C-小さな-USBインタフェースのUSBインターフェースは、純粋なソフトウェア実装に基づいており、AVR(PB0とPB2)の2つのピンを使用します。このソフトウェアの実装では、抵抗R1によってPCに通知されるだけ低速USBをサポートしています。
I2Cインタフェースはbitbangingアプローチを使用して実装されます。 attiny45のハードウェアサポートTWIインターフェースは、USB動作のために必要とされるため、I2Cのために使用することはできませんチップでハードウェア・ピンに結合しています。 bitbanging I2Cインタフェースは、完全に、I2C互換性がない可能性が代わりに使用されているので、必ずしもすべてのI2Cクライアントチップはこのバスで正しく機能することができます。いいえ非互換性は、これまで報告されていません。 I2C-小さな-USBは、I2Cクロックを設定することを可能にするソフトウェア調整可能なI2Cクロック遅延を提供します。デフォルトの遅延は10USです。原因のi2c bitbangingコードで追加の遅延にこれは約50kHzののI2Cクロックになります。
単純化の理由から、すべてのUSB転送は、制御エンドポイントを介して行われています。 AVRのUSBライブラリのみ低速デバイスをサポートしていないので、それが高いとフルスピードデバイスのみに指定されているバルク転送を使用することはできません。低速デバイスがコントロール転送は(すべてで任意のがあるかどうか)任意の空き帯域幅を使用することができますしながら、プリセット帯域幅に制限されている、いわゆる割り込み転送をサポートしています。
したがって、デバイスは、その通信のすべてのコントロール転送を使用しています。これは同時に、デバイスにアクセスするために複数のドライバソフトウェア(例えば、カーネルドライバとのlibusbベースのテストアプリケーション)を防止するためにいくつかの追加の制約が必要となります。 Linuxでは、これは、特定のアクセス要求の種類を選択することによって達成することができます。アクセス制御のこの種のは、他のオペレーティングシステムの下にできない場合があります。
消費電力
装置全体は、いわゆるバスパワーデバイスです。これは、完全なデバイスはUSBから直接給電されていることを意味します。したがって、AVRと1つ以上のI2CクライアントチップはUSBのVBUS信号から電力が供給されます。
アダプタ自体は10mA以下とUSBディスクリプタを介してホストに報告、これを描画します。デバイスは、同様にI2Cクライアントチップに電力を供給することができます。これらのチップは、電力消費量が変化するので、正しく、デバイスディスクリプタに彼らの要求を含むことが可能ではありません。これは、総電力供給に目を維持するために、特に装置全体は500ミリアンペアの合計USBの制限を超えていないことを確認するためにあなたの責任です。
設定可能な報告消費電力ソフトウェアを作るために、将来のファームウェアバージョンのために計画されているので、値が簡単に装置全体の実際の電力需要に採用することができます。
カーネルドライバ
I2C-小さな-USBは、Linuxで使用されることを意味しています。これは、LinuxカーネルのUSBとI2Cサブシステム間の橋渡しのLinuxカーネルドライバが付属しています。ドライバは、USBデバイスに接続して、I2CサブシステムへのI2Cバスを利用できるようにします。したがって、全体のセットアップはlm_sensorsのフレームワークのようなクライアントアプリケーションに対して透過的で、特別なクライアントチップドライバは必要ありません。代わりに、Linuxカーネル内にすでに存在するドライバは、同様に、I2C-小さな-USBで使用されています。例えば、センサの出力は、例えばよいプロトタイプで使用されるDS1621温度センサ次のようになります。
DS1621-I2C-2-48
アダプタ:I2C-小さな-USBバスで003装置017
一時:21.50

同じようなソフトウェア

Linux 2.4-hf
Linux 2.4-hf

3 Jun 15

SphinUX OS
SphinUX OS

20 Feb 15

Frenzy
Frenzy

14 Apr 15

開発者の他のソフトウェア Till Harbaum

NanoVM
NanoVM

2 Jun 15

へのコメント i2c-tiny-usb

コメントが見つかりません
コメントを追加
画像をオンにする!