i2c-tiny-usb

Software captura de pantalla:
i2c-tiny-usb
Detalles de software:
Versión: 2009-02-10 Actualizado
Fecha de carga: 7 Mar 16
Promotor: Till Harbaum
Licencia: Libre
Popularidad: 46

Rating: 5.0/5 (Total Votes: 1)

I2C-tiny-USB es un proyecto de hardware de código abierto / abierto.
Adjuntar cualquier chip cliente I2C (termo sensores, conversor AD, pantallas, conductor relais, ...) a su PC a través de USB ... rápido, fácil y barato! Controladores para Linux, Windows y MacOS disponible.
El proyecto I2C-tiny-USB es un proyecto de hardware de código abierto / abierto. El objetivo de I2C-tiny-USB es proporcionar una interfaz I2C genérico barato para ser conectado al USB. Se entiende como un reemplazo para aquellos simple y barato puerto de impresora a los adaptadores I2C. Una solución USB tiene varias ventajas incl. la fuente de alimentación integrada y una interfaz de prueba más futuro.
Además no se requiere CPU intensa bitbanging en el host. Esta solución USB, aún requiere menos piezas que algunas soluciones del puerto de impresora.
Mientras que el I2C-tiny-USB se desarrolló bajo y para Linux también funciona bajo Windows y MacOS X. Un conductor ventanas de demostración y aplicación de demostración está incluido para que pueda empezar inmediatamente.
El proyecto I2C-tiny-USB se basa en:
El proyecto Linux USB y la aplicación I2C Linux
El controlador de Windows y la aplicación de pruebas se basan en el libusb-win32
AVR-USB, una implementación de software puro del USB para la plataforma AVR
USBtiny, otra aplicación de software USB para el AVR
El hardware de la interfaz I2C-tiny-USB consiste en el Atmel AVR ATtiny45 CPU, un microcontrolador barato y fácil de obtener con 4 KBytes flash (de los cuales ~ 2K se utilizan en esta solicitud) y 256 Bytes RAM. El procesador está rodeado de algunas otras partes.
La interfaz USB
La interfaz USB de la interfaz I2C-tiny-USB se basa en una implementación de software puro y utiliza dos pines del AVR (PB0 y PB2). Esta aplicación de software sólo es compatible con USB de baja velocidad que se dio luz verde a la PC por la resistencia R1.
La interfaz I2C se implementa utilizando un enfoque bitbanging. La interfaz TWI hardware soportado de la attiny45 se une a los pines de hardware en el chip que se requiere para la operación USB y puede por lo tanto no ser utilizado para I2C. La interfaz I2C bitbanging que se utiliza en su lugar puede no ser totalmente compatible I2C y por lo tanto no todos los chips I2C cliente puede funcionar correctamente en este autobús. No hay incompatibilidades se han reportado hasta el momento. El I2C-tiny-USB proporciona un retardo de reloj I2C ajustable software que permite configurar el reloj I2C. El retardo predeterminado es de 10 us. Debido a los retrasos adicionales en el código I2C bitbanging esto resulta en un reloj I2C de aproximadamente 50 kHz.
Por razones de simplicidad todas las transferencias USB se realizan a través del punto final de control. Desde la biblioteca USB AVR solo soporta dispositivos de baja velocidad que no puede utilizar las transferencias a granel que se especifican sólo para dispositivos de alta velocidad y completa. dispositivos de baja velocidad de apoyo para denominan transferencias de interrupción que se limitan a un ancho de banda preestablecido mientras que las transferencias de control pueden utilizar cualquier ancho de banda libre (si hay alguna).
Por consiguiente, el dispositivo utiliza las transferencias de control para la totalidad de su comunicación. Esto requiere alguna limitación adicional para evitar que el software de controlador múltiple (por ejemplo, el controlador del núcleo y la aplicación de prueba basado libusb) para acceder al dispositivo al mismo tiempo. Bajo Linux esto se puede lograr mediante la selección de determinados tipos de petición de acceso. Este tipo de control de acceso puede no ser posible bajo otros sistemas operativos.
El consumo de energía
Todo el dispositivo es un dispositivo llamado alimentado por bus. Esto significa que el dispositivo completo se alimenta directamente de USB. Por lo tanto el AVR y una o más fichas de cliente I2C se alimentan de la señal VBUS USB.
El propio adaptador consume menos de 10 mA y informa de ello a la central a través de sus descriptores USB. El dispositivo es capaz de fichas de cliente I2C poder también. Pero puesto que estos chips varían en el consumo de energía no es posible incluir correctamente sus demandas en los descriptores de dispositivos. Es su responsabilidad mantener un ojo en el suministro de energía total y en especial para asegurarse de que todo el dispositivo no supera el límite total de 500 mA USB.
Está previsto que las futuras versiones de firmware para hacer que el software de consumo de energía informado configurable por lo que el valor puede ser fácilmente adoptada para las demandas de potencia reales de todo el dispositivo.
controlador del núcleo
El I2C-tiny-USB está destinado a ser usado con Linux. Viene con un controlador del núcleo de Linux que sirve de puente entre los subsistemas USB y I2C en el núcleo de Linux. El conductor se conecta al dispositivo USB y hacer que el bus I2C a disposición del subsistema de I2C. De este modo toda la configuración es transparente para las aplicaciones cliente como el marco lm_sensors y no se requieren controladores especiales de chips cliente. En cambio, los conductores que ya están presentes en el núcleo de Linux se utilizan con el I2C-tiny-USB también. Con, por ejemplo, los sensores de temperatura DS1621 utilizados en el prototipo de la salida de los sensores puede, por ejemplo se parece a esto:
DS1621-I2C-2-48
Adaptador: I2C-tiny-USB en el bus 003 del dispositivo 017
temp: 21.50

Programas parecidos

SailfishOS SDK
SailfishOS SDK

17 Feb 15

ktap
ktap

18 Feb 15

Perl OS
Perl OS

2 Jun 15

Seanster_GBaxe EX
Seanster_GBaxe EX

14 Apr 15

Otro software de desarrollador Till Harbaum

NanoVM
NanoVM

2 Jun 15

Comentarios a la i2c-tiny-usb

Comentarios que no se encuentran
Añadir comentario
A su vez en las imágenes!