Open Source/Hardware I2C-Tiny-USB Device
|
|
 Overview The objective of the I2C-Tiny-USB project is to provide a cheap and generic I2C interface to be attached to the USB. Explanation The hardware of the I2C-Tiny-USB interface consists of the Atmel AVR ATtiny45 CPU which is cheap and easy to obtain microcontroller with 4K bytes of flash and 256 bytes of RAM. The USB interface is based on a pure software implementation with a bit banging approach and uses 2 pins of the AVR. The software implementation supports low speed USB only which is signaled to the PC by the resistor. All of the communication of the device uses control transfers which require some additional limitation to prevent multiple driver software to access the device at the same time. All USB transfers are done via the control endpoint for simplicity reasons. Low speed devices support the so called interrupt transfers which are limited to a preset bandwidth while control transfers can use any free bandwidth. The whole device can be considered as bus-powered device which means that the complete device is powered directly from USB. The AVR and one or more I2C client chips therefore are powered from the USB VBUS signal with 10mA. Rest of the project
|