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
最近閲覧ソフト
Memory Optimizer 29 Oct 15
Squashfs 3 Jun 15
MSI PE70 2QE Synaptics Touchpad Driver 64-bit 16 Feb 16
OptiVec for Borland C/C++ (Win32) 12 Apr 18
SmartPurger (64-Bit) 3 May 15
Watch Folders for Outlook 2010 (64-bit) 22 Jan 15
Word 2003 to PDF 27 Jan 15
Autorun Inf Editor 28 Oct 15
Luxena dbExpress driver for Informix Pro 23 Sep 15
カテゴリから探す
人気のソフトウェア
Solus 2 Sep 17
ZeroShell 20 Feb 15
LinuxTLE 11 May 15
NAS4Free 2 Oct 17
BackBox Linux 16 Aug 18
Puppy Linux "Slacko" 28 Apr 17
W-Packager 20 Feb 15
i2c-tiny-usb
同じようなソフトウェア
開発者の他のソフトウェア Till Harbaum
NanoVM
2 Jun 15
へのコメント i2c-tiny-usb
最近閲覧ソフト
Memory Optimizer 29 Oct 15
Squashfs 3 Jun 15
MSI PE70 2QE Synaptics Touchpad Driver 64-bit 16 Feb 16
OptiVec for Borland C/C++ (Win32) 12 Apr 18
SmartPurger (64-Bit) 3 May 15
Watch Folders for Outlook 2010 (64-bit) 22 Jan 15
Word 2003 to PDF 27 Jan 15
Autorun Inf Editor 28 Oct 15
Luxena dbExpress driver for Informix Pro 23 Sep 15
カテゴリから探す
人気のソフトウェア
GTK VNC Viewer 2 Jun 15
Unity Linux 15 Apr 15
Damn Small Linux 17 Feb 15
Linpus Linux Lite 17 Feb 15
Cactus McCoy 2 20 Feb 15
Ubuntu MATE 16 Aug 18
Adobe Developer Connection Developer Desktop 3 Jun 15
コメントが見つかりません