i2c-tiny-usb

Logiciel capture d'écran:
i2c-tiny-usb
Détails logiciels:
Version: 2009-02-10 Mise à jour
Date de transfert: 7 Mar 16
Développeur: Till Harbaum
Licence: Gratuit
Popularité: 46

Rating: 5.0/5 (Total Votes: 1)

i2c-tiny-usb est un / projet open hardware open source.
Joindre toute puce de client I2C (thermo capteurs, convertisseur AD, affiche, pilote de relais, ...) à votre PC via USB ... rapide, facile et pas cher! Pilotes pour Linux, Windows et MacOS disponible.
Le projet i2c-tiny-usb est / un projet open hardware open source. Le but de i2c-tiny-usb est de fournir une interface i2c générique pas cher pour être attaché à l'USB. Il est conçu comme un remplacement pour les ports simple et pas cher imprimante à des adaptateurs i2c. Une solution USB présente plusieurs avantages incl. l'alimentation intégrée et un avenir plus interface de preuve.
En outre, aucune cpu intense bitbanging est nécessaire sur le côté hôte. Cette solution USB nécessite encore moins de pièces que certaines solutions de port d'imprimante.
Alors que le i2c-tiny-usb a été développé sous Linux et il fonctionne également sous Windows et MacOS X. Un pilote fenêtres de démonstration et application de démonstration est inclus pour vous lancer immédiatement.
Le projet i2c-tiny-usb est basé sur:
Le projet USB Linux et la mise en œuvre i2c Linux
Le pilote Windows et l'application de test sont basés sur la libusb-win32
AVR-USB, une implémentation logicielle pure USB pour la plate-forme AVR
USBtiny, une autre implémentation USB du logiciel pour l'AVR
Le matériel de l'interface i2c-tiny-usb se compose de l'Atmel AVR ATtiny45 CPU, un microcontrôleur pas cher et facile à obtenir avec 4 Ko Flash (dont ~ 2k sont utilisés dans cette application) et 256 octets de RAM. Le processeur est entouré par quelques autres parties.
L'interface USB
L'interface USB de l'interface i2c-tiny-usb est basée sur une implémentation logicielle pure et utilise deux broches de l'AVR (PB0 et PB2). Cette mise en œuvre du logiciel prend en charge à faible vitesse USB seulement qui est signalé au PC par la résistance R1.
L'interface I2C est implémenté en utilisant une approche de bitbanging. L'interface twi de matériel pris en charge de l'attiny45 est lié à des broches de matériel à la puce qui sont nécessaires pour le fonctionnement USB et peut donc pas être utilisé pour I2C. L'interface I2C bitbanging étant utilisé à la place peut ne pas être entièrement compatible I2C et donc pas chaque puce client I2C peut fonctionner correctement à ce bus. Aucune incompatibilité n'a été signalé jusqu'à présent. Le i2c-tiny-usb fournit une temporisation réglable i2c d'horloge de logiciel permettant de configurer l'horloge i2c. Le délai par défaut est 10us. En raison des retards supplémentaires dans le code I2C bitbanging cela se traduit par une horloge I2C d'environ 50 kHz.
Pour des raisons de simplicité tous les transferts USB se font via le point de terminaison de commande. Depuis la bibliothèque USB avr ne supporte que les appareils à faible vitesse, il ne peut pas utiliser les transferts en vrac qui sont spécifiés pour les périphériques de vitesse élevée et complète seulement. dispositifs de vitesse faible soutien ainsi appelés transferts d'interruption qui sont limités à une bande passante prédéfinie alors que les transferts de contrôle peuvent utiliser toute la bande passante libre (s'il n'y a pas du tout).
Le dispositif utilise donc des transferts de contrôle pour l'ensemble de sa communication. Cela exige une certaine limitation supplémentaire pour empêcher les logiciels de pilote multiple (par exemple le pilote du noyau et de l'application de test à base de libusb) pour accéder à l'appareil en même temps. Sous Linux, ceci peut être réalisé en sélectionnant certains types de demande d'accès. Ce type de contrôle d'accès peut ne pas être possible dans le cadre d'autres systèmes d'exploitation.
Consommation d'énergie
L'ensemble du dispositif est un dispositif que l'on appelle de bus alimenté. Cela signifie que le dispositif complet est alimenté directement par USB. Par conséquent, l'AVR et une ou plusieurs puces clients I2C sont alimentés à partir du signal USB VBUS.
L'adaptateur lui-même consomme moins de 10mA et des rapports à cet hôte via ses descripteurs USB. Le dispositif est capable de puces clients puissance I2C ainsi. Mais étant donné que ces puces varient en consommation d'énergie, il est impossible d'inscrire correctement leurs exigences dans les descripteurs de l'appareil. Il est de votre responsabilité de garder un oeil sur l'alimentation totale et surtout de faire en sorte que l'ensemble du dispositif ne dépasse pas la limite USB total de 500mA.
Il est prévu pour les futures versions de firmware pour rendre le logiciel rapporté de la consommation d'énergie configurable de sorte que la valeur peut facilement être adopté aux exigences réelles de puissance de l'ensemble du dispositif.
pilote Kernel
Le i2c-tiny-usb est destiné à être utilisé avec Linux. Il est livré avec un pilote du noyau Linux qui relie entre les sous-systèmes USB et I2C dans le noyau Linux. Le conducteur attache ensuite le périphérique USB et rendre le bus i2c à la disposition du sous-système de i2c. Ainsi, l'ensemble de la configuration est transparente pour les applications clientes comme le cadre lm_sensors et aucun pilote spécial à puce du client sont nécessaires. Au lieu de cela les pilotes déjà présents dans le noyau Linux sont utilisés avec le i2c-tiny-usb ainsi. Par exemple, avec les capteurs de température DS1621 utilisés dans le prototype de la sortie de capteurs peut par exemple ressemble à ca:
DS1621-i2c-2-48
Adaptateur: i2c-tiny-usb au bus 003 périphérique 017
temp: 21,50

Logiciel similaire

ubnhd2
ubnhd2

19 Feb 15

Optimus Kernel
Optimus Kernel

14 Apr 15

BeRTOS
BeRTOS

11 May 15

CpuHog
CpuHog

2 Jun 15

D'autres logiciels de développeur Till Harbaum

NanoVM
NanoVM

2 Jun 15

Commentaires à i2c-tiny-usb

Commentaires non trouvées
Ajouter un commentaire
Tourner sur les images!