i2c-tiny-usb

Screenshot der Software:
i2c-tiny-usb
Softwarebeschreibung:
Version: 2009-02-10 Aktualisiert
Upload-Datum: 7 Mar 16
Entwickler: Till Harbaum
Lizenz: Frei
Popularität: 46

Rating: 5.0/5 (Total Votes: 1)

i2c-tiny-usb ist ein Open-Source / Open Hardware-Projekt.
Bringen Sie jede I2C-Client-Chip (Thermosensoren, AD-Wandler, Displays, Relais-Treiber, ...) an den PC über USB ... schnell, einfach und günstig! Treiber für Linux, Windows und MacOS verfügbar.
Der i2c-tiny-usb-Projekt ist ein Open Source / Open Hardware-Projekt. Das Ziel der i2c-tiny-usb ist eine billige Generika I2C-Schnittstelle zur Verfügung zu stellen, um den USB angeschlossen werden. Es ist als Ersatz für jene einfachen und kostengünstigen Druckeranschluss i2c Adapter gemeint. Eine USB-Lösung hat mehrere Vorteile inkl. die eingebaute Stromversorgung und eine zukunftssichere Schnittstelle.
Weiterhin keine CPU intensive Bit-Banging auf der Host-Seite erforderlich. Dieser USB-Lösung erfordert auch weniger Teile als einige Druckerport-Lösungen.
Während die i2c-tiny-usb unter entwickelt und für Linux ist es funktioniert auch unter Windows und MacOS X. Ein Windows-Demo-Treiber und Demo-Anwendung enthalten, die Sie sofort den Start.
Der i2c-tiny-usb Projekt basiert auf:
Der Linux-USB-Projekt und der Linux i2c Implementierung
Der Windows-Treiber und Testanwendung basieren auf der libusb-win32
AVR-USB, eine reine Software-Implementierung von USB für die AVR-Plattform
USBtiny, eine andere Software usb-Implementierung für die AVR
Die Hardware des i2c-tiny-USB-Schnittstelle besteht aus dem Atmel AVR ATtiny45 CPU, eine billige und leicht zu erhalten Mikrocontroller mit 4 KBytes Flash (von denen ~ 2k in dieser Anmeldung verwendet werden) und 256 Bytes RAM. Der Prozessor wird von einigen anderen Teilen umgeben.
Die USB-Schnittstelle
Die USB-Schnittstelle des i2c-tiny-USB-Schnittstelle ist auf eine reine Software-Implementierung basiert und verwendet zwei Pins des AVR (PB0 und PB2). Diese Software-Implementierung unterstützt Low-Speed-USB nur die mit dem PC durch den Widerstand R1 signalisiert wird.
Die I2C-Schnittstelle implementiert, eine Bit-Banging Ansatz. Die Hardware unterstützt twi-Schnittstelle des ATtiny45 wird auf dem Chip zu Hardware-Pins gebunden, die für den USB-Betrieb erforderlich sind, und kann somit nicht für I2C verwendet werden. Die Bit-Banging I2C-Schnittstelle statt möglicherweise nicht vollständig kompatibel I2C verwendet wird und somit nicht jeder I2C-Client-Chip kann richtig an diesem Bus funktionieren. Es wurden keine Inkompatibilitäten bisher berichtet. Der i2c-tiny-usb bietet eine Software einstellbare i2c Taktverzögerung ermöglicht die i2c Uhr zu konfigurieren. Die Standardverzögerung ist 10us. Aufgrund zusätzlicher Verzögerungen bei der i2c Bit-Banging Code führt dies zu einer i2c Uhr von etwa 50 kHz.
Der Einfachheit halber alle USB-Übertragungen werden über die Steuer Endpunkt durchgeführt. Da die avr usb Bibliothek nur mit niedriger Geschwindigkeit Geräte nicht unterstützt, kann es nicht Bulk-Transfers verwendet werden, die nur für hohe und voller Speed-Geräte festgelegt sind. Low Speed-Geräte unterstützen so Interrupt-Transfers genannt, die auf eine vorgegebene Bandbreite begrenzt sind, während die Steuerung überträgt jede freie Bandbreite nutzen können (wenn es überhaupt welche gibt).
Das Gerät nutzt daher die Steuerung geht für alle seine Kommunikation. Dies erfordert einige zusätzliche Begrenzung mehrere Treibersoftware (beispielsweise der Kerntreiber und die libusb basierten Testanwendung) zu verhindern, dass die Vorrichtung zur gleichen Zeit zuzugreifen. Unter Linux kann dies durch die Auswahl bestimmter Zugriffsanforderung Arten erreicht werden. Diese Art der Zugriffskontrolle kann unter anderen Betriebssystemen nicht möglich.
Energieverbrauch
Die gesamte Vorrichtung ist eine so genannte Bus betriebenes Gerät. Dies bedeutet, dass das gesamte Gerät wird direkt vom USB mit Strom versorgt. Daher ist der AVR und ein oder mehrere I2C-Client-Chips werden aus dem USB VBUS-Signal versorgt.
Der Adapter selbst verbraucht weniger als 10 mA und meldet dies an den Host über den USB-Deskriptoren. Das Gerät ist auch an die Macht I2C-Client-Chips können. Aber da diese Chips in den Stromverbrauch variieren ist es nicht möglich, richtig ihre Forderungen in den Gerätebeschreibungen enthalten. Es ist Ihre Verantwortung, ein Auge auf die gesamte Stromversorgung zu halten und vor allem, um sicherzustellen, dass die gesamte Vorrichtung nicht die gesamte USB-Grenze von 500 mA nicht übersteigt.
Es ist für zukünftige Firmware-Versionen geplant die gemeldete Stromverbrauch Software konfigurierbar zu machen, so kann der Wert leicht auf die tatsächlichen Leistungsanforderungen der gesamten Einrichtung übernommen werden.
Kernel-Treiber
Der i2c-tiny-usb soll mit Linux verwendet werden. Es kommt mit einem Linux-Kernel-Treiber, der zwischen den USB und I2C-Subsysteme im Linux-Kernel überbrückt. Der Fahrer legt dann auf dem USB-Gerät und den I2C-Bus an den i2c-Subsystem zur Verfügung zu stellen. Dadurch ist die gesamte Einrichtung ist transparent für Client-Anwendungen wie die lm_sensors Rahmen und keine spezielle Client-Chip-Treiber erforderlich sind. Stattdessen bereits die Treiber in den Linux-Kernel vorhanden sind mit der i2c-tiny-usb verwendet als gut. Mit z.B. die DS1621 Temperatursensoren in dem Prototyp die Ausgabe von Sensoren verwendet werden, können z.B. sieht aus wie das:
DS1621-i2c-2-48
Adapter: i2c-tiny-usb an Bus 003 Gerät 017
Temp: 21,50

Ähnliche Software

VelsaOS
VelsaOS

19 Feb 15

NDT GINGER
NDT GINGER

15 Apr 15

GhostBSD Openbox
GhostBSD Openbox

20 Feb 15

FreeDOS
FreeDOS

11 May 15

Andere Software von Entwickler Till Harbaum

NanoVM
NanoVM

2 Jun 15

Kommentare zu i2c-tiny-usb

Kommentare nicht gefunden
Kommentar hinzufügen
Schalten Sie auf die Bilder!