Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.243.020 Times

i2c-tiny-usb 2007-01-05

  Date Added: November 22, 2010  |  Visits: 1.703

i2c-tiny-usb

Report Broken Link
Printer Friendly Version


Product Homepage
Download (174 downloads)



i2c-tiny-usb is a open source/open hardware project. Attach any I2C client chip (thermo sensors, AD converter, displays, relais driver, ...) to your PC via USB ... quick, easy and cheap! Drivers for Linux, Windows and MacOS available. The i2c-tiny-usb project is an open source/open hardware project. The goal of i2c-tiny-usb is to provide a cheap generic i2c interface to be attached to the usb. It is meant as a replacement for those simple and cheap printer port to i2c adapters. A USB solution has several advantages incl. the built-in power supply and a more future proof interface. Furthermore no cpu intense bitbanging is required on the host side. This USB solution even requires less parts than some printer port solutions. While the i2c-tiny-usb was developed under and for Linux it also works under Windows and MacOS X. A windows demo driver and demo application is included to get you started immediately. The i2c-tiny-usb project is based on: The Linux USB project and the Linux i2c implementation The windows driver and test application are based on the libusb-win32 AVR-USB, a pure software implementation of USB for the AVR platform USBtiny, another software usb implementation for the AVR The hardware of the i2c-tiny-usb interface consists of the Atmel AVR ATtiny45 CPU, a cheap and easy to obtain microcontroller with 4 KBytes flash (of which ~2k are used in this application) and 256 Bytes RAM. The processor is surrounded by few other parts. The USB interface The USB interface of the i2c-tiny-usb interface is based on a pure software implementation and uses two pins of the AVR (PB0 and PB2). This software implementation supports low speed USB only which is signalled to the PC by resistor R1. The I2C interface is implemented using a bitbanging approach. The hardware supported twi interface of the attiny45 is bound to hardware pins at the chip that are required for USB operation and can thus not be used for I2C. The bitbanging I2C interface being used instead may not be fully I2C compatible and thus not every I2C client chip may function correctly at this bus. No incompatibilities have been reported so far. The i2c-tiny-usb provides a software adjustable i2c clock delay allowing to configure the i2c clock. The default delay is 10us. Due to additional delays in the i2c bitbanging code this results in a i2c clock of about 50kHz. For simplicity reasons all USB transfers are done via the control endpoint. Since the avr usb library does only support low speed devices it cannot use bulk transfers which are specified for high and full speed devices only. Low speed devices support so called interrupt transfers which are limited to a preset bandwidth while control transfers can use any free bandwidth (if theres any at all). The device therefore uses control transfers for all of its communication. This requires some additional limitation to prevent multiple driver software (e.g. the kernel driver and the libusb based test application) to access the device at the same time. Under Linux this can be achieved by selecting certain access request types. This kind of access control may not be possible under other operating systems. Power consumption The whole device is a so called bus powered device. This means that the complete device is powered directly from USB. Therefore the AVR and one or more I2C client chips are powered from the USB VBUS signal. The adapter itself draws less than 10mA and reports this to the host via its USB descriptors. The device is able to power I2C client chips as well. But since these chips vary in power consumption it is not possible to correctly include their demands into the device descriptors. Its your responsibility to keep an eye on the total power supply and especially to make sure that the entire device does not exceed the total USB limit of 500mA. It is planned for future firmware versions to make the reported power consumption software configurable so the value can easily be adopted to the real power demands of the entire device. Kernel driver The i2c-tiny-usb is meant to be used with Linux. It comes with a Linux kernel driver that bridges between the USB and I2C subsystems in the Linux kernel. The driver then attaches to the USB device and make the i2c bus available to the i2c subsystem. Thus the entire setup is transparent to client applications like the lm_sensors framework and no special client chip drivers are required. Instead the drivers already present in the linux kernel are used with the i2c-tiny-usb as well. With e.g. the ds1621 temperature sensors used in the prototype the output of sensors may e.g. look like this: ds1621-i2c-2-48 Adapter: i2c-tiny-usb at bus 003 device 017 temp: +21.50°C (low = +15.0°C, high = +10.0°C) ALARM (HIGH).

Requirements: No special requirements
Platforms: Linux
Keyword: Avr Device Driver Hardware Interface Kernels Linux System Usb
Users rating: 0/10

License: Freeware Size: 204.8 KB
USER REVIEWS
More Reviews or Write Review


I2C-TINY-USB RELATED
Automation Tools  -  Linux X10 universal device driver 2.1.4
Linux X10 universal device driver (also known as Project WiSH) provides a /dev interface to an X10 network through a combination of Linux kernel modules and daemons. It is intended to provide a standard interface and syntax to shell script...
102.4 KB  
Development Editors  -  GNU/Linux System Architect Toolkit 0.20
The GNU/Linux System Architect Toolkit is designed to help people build systems. The toolkit consists of three basic elements. Build scripts called blueprints that easily and consistently turn source code into binary packages A...
40.96 KB  
Utilities  -  PCMate Free Driver Backup 6.6.4
PCMate Free Driver Backup is a device driver backup utility designed to backup driver of system for safekeeping in case of system crash or reinstallation of Windows. This free driver backup program identifies all the hardware in the system,...
3.47 MB  
Utilities  -  DKMS 2.0.13
DKMS comes from Dynamic Kernel Module Support and is a framework where device driver source can reside outside the kernel source tree so that it is very easy to rebuild modules as you upgrade kernels. This allows Linux vendors to provide driver...
71.68 KB  
Utilities  -  Linux Mobile System 1.0
Linux Mobile System project (LMS) is a full Linux system whose support is the new USB Flash Memory Drives. The intention is to boot any PC with USB support with our system and therefore we will have every administration and analysis applications...
3.9 MB  
Audio Tools  -  MMUSBAUDIO 2006.05.31
MMUSBAUDIO (formerly known as USBUA100) is a Linux kernel module device driver for the Roland / Edirol desktop audio devices. It works with next devices: UA-1EX UM-1 UA-5 UA-100 SC-8850 The Advanced Linux Sound Architecture (ALSA)...
21.5 KB  
Utilities  -  cwfloppy 0.5.2
cwfloppy is a Linux device driver for the Catweasel Advanced Floppy Controller manufactured by Individual Computers. The Catweasel is a versatile Shugart bus controller, i.e., it can control floppy drives. It is extremely flexible and can be...
84.99 KB  
Libraries  -  G15Daemon 1.9.0 pre 2.0
G15daemon takes control of the Logitech G15 keyboard, allowing the use of all keys through the Linux kernel input device driver. It also controls the use of the keyboards LCD display, allows multiple client applications to connect, and gives the...
276.48 KB  
Utilities  -  SabayonLinux 3.4e
Sabayon Linux is a live DVD designed to transform a computer into a powerful Gentoo Linux system in less than 5 minutes. Gentoo Linux is a Linux distribution powered by a software install manager engine called "Portage". Besides functioning as a...
 
Audio Tools  -  lisodsp 0.5.0
lisodsp is an OSS device driver that handles a virtual dsp device. This virtual device accepts multi-open which means that it allows to hear simultaneous sounds. lisodsp is made to be used with lisodspd which forwards sound data to a real dsp...
81.92 KB  
NEW DOWNLOADS IN LINUX SOFTWARE, UTILITIES
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Linux Software  -  Skeith mod_log_sql Analyzer 2.10beta2
Skeith is a php based front end for analyzing logs for Apache using mod_log_sql.
47.5 KB  
Utilities  -  Nessconnect 1.0.2
Nessconnect is a GUI, CLI and API client for Nessus and Nessus compatible servers. With an improved user interface, it provides local session management, scan templates, report generation through XSLT, charts and graphs, and vulnerability trending.
819.2 KB  
Utilities  -  Dynamic Power Management 2.6.16
The Dynamic Power Management (DPM) project explores technologies to improve power conservation capabilities of platforms based on open source software. Of particular interest are techniques applicable to running systems, adjusting power parameters...
30.72 KB  
Utilities  -  Ethernet bridge tables 2.4.37.9
Ethernet bridge tables - Linux Ethernet filter for the Linux bridge. The 2.4-ebtables-brnf package contains the ebtables+bridge-nf patch. Be sure to check out the ebtables hp. This site also contains the arptables userspace tool.
40.96 KB  
Utilities  -  SaraB 1.0.0
SaraB works with DAR (Disk ARchive) to schedule and rotate backups on random-access media (i.e. hard drives, CDs, DVDs, Zip, etc. Basically anything except magnetic tapes.) This reduces hassle for the administrator by providing an automatic backup...
20.48 KB  
Utilities  -  Command Not Found 0.2.41
Command Not Found is a program that uses a cache of existing programs and their associated packages to aid users in their day-to-day command-line work. Usage: command-not-found [options] Options: ...
30.72 KB