i2c-tiny-usb

Software screenshot:
i2c-tiny-usb
Dettagli del software:
Versione: 2009-02-10 Aggiornato
Data di caricamento: 7 Mar 16
Sviluppatore: Till Harbaum
Licenza: Libero
Popolarità: 114

Rating: 3.0/5 (Total Votes: 2)

I2C-tiny-USB è un progetto / hardware open source.
Allegare qualsiasi circuito integrato cliente I2C (termo sensori, convertitore AD, display, driver di relais, ...) al PC tramite USB ... rapido, facile ed economico! Driver per Linux, Windows e MacOS disponibile.
Il progetto di I2C-tiny-USB è un progetto / hardware open source. L'obiettivo di I2C-tiny-USB è quello di fornire un buon un'interfaccia I2C generica per essere collegato alla porta USB. È stato concepito come un sostituto per coloro semplice ed economico porta stampante agli adattatori I2C. Una soluzione USB ha diversi vantaggi incl. l'alimentatore incorporato e una interfaccia a prova più futuro.
Inoltre non cpu bitbanging intensa è richiesta sul lato host. Questa soluzione USB richiede anche meno parti di alcune soluzioni della porta della stampante.
Mentre il i2c-tiny-USB è stato sviluppato sotto e per Linux funziona anche sotto Windows e MacOS X. un driver per Windows demo e applicazione demo è incluso per iniziare subito.
Il progetto di I2C-tiny-USB si basa su:
Il progetto USB Linux e l'attuazione i2c Linux
Il driver di Windows e l'applicazione di test sono basati sul libusb-win32
AVR-USB, una implementazione software puro del USB per la piattaforma AVR
USBtiny, un'altra implementazione USB software per l'AVR
L'hardware dell'interfaccia di I2C-tiny-USB è costituito da Atmel AVR ATtiny45 CPU, un microcontrollore a basso costo e facile da ottenere con 4 KBytes flash (di cui ~ 2k sono utilizzati in questa applicazione) e 256 byte di RAM. Il processore è circondato da poche altre parti.
L'interfaccia USB
L'interfaccia USB dell'interfaccia di I2C-tiny-USB si basa su una implementazione software puro e utilizza due perni del AVR (PB0 e PB2). Questa implementazione software supporta USB a bassa velocità solo che viene segnalato al PC tramite resistore R1.
L'interfaccia I2C è implementata con un approccio bitbanging. L'hardware supportato interfaccia TWI del attiny45 è legato ai pin di hardware al chip che sono necessari per il funzionamento USB e può quindi non essere usato per I2C. L'interfaccia I2C bitbanging essere utilizzato al posto potrebbe non essere completamente compatibile I2C e quindi non tutti i chip di I2C cliente può funzionare correttamente a questo bus. Non incompatibilità sono stati segnalati finora. I2C-tiny-USB fornisce un software regolabile ritardo orologio I2C permette di configurare l'orologio I2C. Il ritardo di default è 10US. A causa di ulteriori ritardi nel codice I2C bitbanging questo si traduce in un orologio I2C di circa 50kHz.
Per ragioni di semplicità tutti i trasferimenti USB sono fatte tramite il punto finale di controllo. Dal momento che la libreria avr USB supporta solo i dispositivi a bassa velocità non può utilizzare i trasferimenti di massa che sono specificati solo per i dispositivi ad alta e piena velocità. dispositivi a bassa velocità supportano i cosiddetti trasferimenti di interrupt che si limitano a una larghezza di banda di preselezione mentre i trasferimenti di controllo possono utilizzare qualsiasi larghezza di banda libera (se c'è ne affatto).
Il dispositivo utilizza pertanto gli storni di controllo per tutta la sua comunicazione. Questo richiede qualche limitazione aggiuntiva per impedire più software driver (ad esempio il driver del kernel e l'applicazione di prova basata libusb) per accedere al dispositivo allo stesso tempo. Sotto Linux questo può essere ottenuto selezionando alcuni tipi di richiesta di accesso. Questo tipo di controllo di accesso non può essere possibile in altri sistemi operativi.
Consumo di energia
L'intero dispositivo è un cosiddetto dispositivo alimentato bus. Ciò significa che il dispositivo completo è alimentato direttamente dal USB. Pertanto, l'AVR e uno o più chip client I2C sono alimentati dal segnale VBUS USB.
L'adattatore si attira meno di 10 mA e fa rapporto a all'host tramite i suoi descrittori USB. Il dispositivo è in grado di chip client potere I2C pure. Ma poiché questi chip variano nel consumo di energia non è possibile inserire correttamente le loro richieste nelle descrittori dispositivo. E 'vostra responsabilità di tenere d'occhio l'alimentazione totale e soprattutto per fare in modo che l'intero dispositivo non superi il limite complessivo USB di 500 mA.
E 'previsto per le versioni del firmware futuri per rendere il software consumo energetico riportato configurabile in modo che il valore può essere facilmente adottata alle reali esigenze di alimentazione dell'intero dispositivo.
driver del kernel
I2C-tiny-USB è pensato per essere utilizzato con Linux. Viene fornito con un driver del kernel di Linux che fa da ponte tra i USB e I2C sottosistemi nel kernel di Linux. Il conducente attribuisce poi al dispositivo USB e rendere il bus I2C a disposizione del sottosistema I2C. Così l'intera impostazione è trasparente per le applicazioni client, come il quadro lm_sensors e non sono necessari driver speciali di chip cliente. Invece i driver già presenti nel kernel di Linux sono utilizzati con il i2c-tiny-USB. Con esempio i sensori di temperatura DS1621 utilizzati nel prototipo l'uscita dei sensori può E.G. Assomiglia a questo:
DS1621-i2c-2-48
Adattatore: i2c-tiny-USB al bus 003 dispositivo 017
temp: 21,50

Programmi simili

FR1
FR1

3 Jun 15

isaiah12345
isaiah12345

14 Apr 15

Altri software di sviluppo Till Harbaum

NanoVM
NanoVM

2 Jun 15

Commenti a i2c-tiny-usb

I commenti non trovato
Aggiungi commento
Accendere le immagini!