i2c-tiny-usb

Software skärmdump:
i2c-tiny-usb
Mjukvaruinformation:
Version: 2009-02-10 Uppdaterad
Ladda upp dagen: 7 Mar 16
Utvecklare: Till Harbaum
Licens: Gratis
Popularitet: 46

Rating: 5.0/5 (Total Votes: 1)

I2C-tiny-USB är en / öppen hårdvaruprojekt med öppen källkod.
Fästa någon I2C klient chip (termosensorer, AD-omvandlare, displayer, Relais förare, ...) till din dator via USB ... snabbt, enkelt och billigt! Drivrutiner för Linux, Windows och MacOS tillgängliga.
I2C-tiny-usb-projektet är en / öppen hårdvara projekt med öppen källkod. Målet med I2C-tiny-USB är att tillhandahålla en billig generisk I2C-gränssnitt för att fästas på usb. Det är tänkt som en ersättning för de enkla och billiga skrivarporten till I2C adaptrar. En USB-lösning har flera fördelar inkl. den inbyggda strömförsörjningen och en mer framtidssäker gränssnitt.
Dessutom krävs ingen cpu intensiv bitbanging på värdsidan. Denna USB lösning kräver ännu mindre delar än vissa skrivare portlösningar.
Medan I2C-tiny-usb utvecklades under och för Linux fungerar även under Windows och MacOS X. En Windows demo förare och demo ansökan ingår att komma igång omedelbart.
I2C-tiny-usb projektet bygger på:
Linux USB projektet och I2C genomförande Linux
Windows förare och testapplikation baseras på libusb-win32
AVR-USB, en ren programvaruimplementering av USB för AVR-plattformen
USBtiny, annan programvara usb genomförande av AVR
Hårdvaran i I2C-tiny-USB-gränssnitt består av Atmel AVR ATtiny45 CPU, en billig och lätt att få mikro med 4 kB flash (varav ~ 2k används i denna ansökan) och 256 Bytes RAM. Processorn är omgiven av några andra delar.
USB-gränssnittet
USB-gränssnittet för I2C-tiny-USB-gränssnitt är baserat på en implementering ren programvara och använder två pinnar av AVR (PB0 och PB2). Denna implementering programvara stöder låg hastighet endast USB som signaleras till datorn genom motståndet R1.
I2C-gränssnitt genomförs med hjälp av en bitbanging strategi. Den maskinvara som stöds twi gränssnittet för attiny45 är bunden till hårdvaru stift på chip som krävs för USB-drift och kan därför inte användas för I2C. Den bitbanging I2C-gränssnitt som används i stället kan inte vara helt I2C kompatibla och därmed inte varje I2C klient chip kan fungera korrekt på denna buss. Inga inkompatibiliteter har rapporterats hittills. I2C-tiny-USB ger en programvara justerbar I2C klocka fördröjning gör det möjligt att konfigurera I2C klocka. Standardfördröjningen är 10us. På grund av ytterligare förseningar i I2C bitbanging kod resulterar detta i en I2C klocka på ca 50 kHz.
För enkelhetens skull alla USB-överföringar sker via styr slutpunkt. Eftersom avr usb biblioteket stöder endast låga hastighet enheter inte kan använda bulköverföringar som anges endast hög och full hastighet enheter. Låg hastighet enheter kan så kallad avbrottsöverföringar som är begränsade till en förinställd bandbredd medan överföringar kontroll kan använda gratis bandbredd (om det finns någon alls).
Enheten använder därför överför kontroll för all sin kommunikation. Detta kräver en del ytterligare begränsning för att förhindra drivrutinen flera (t ex kärna föraren och libusb baserade test applikation) för att komma åt enheten samtidigt. Under Linux kan åstadkommas genom att välja vissa tillgång begäran typer. Denna typ av åtkomstkontroll får inte vara möjlig under andra operativsystem.
Energiförbrukning
Hela anordningen är en så kallad buss driven anordning. Detta innebär att hela enheten drivs direkt från USB. Därför AVR och en eller flera I2C klient chips drivs från USB VBUS signalen.
Adaptern i sig drar mindre än 10 mA och rapporterar till värden via USB deskriptorer. Enheten kan ström I2C klient chips också. Men eftersom dessa marker varierar i strömförbrukning är det inte möjligt att korrekt inkludera sina krav i enheten beskrivningar. Det är ditt ansvar att hålla ett öga på den totala strömförsörjningen och framför allt för att se till att hela enheten inte överstiger den totala USB gränsen 500 mA.
Det planeras för framtida versioner firmware för att göra den rapporterade strömförbrukningen programvara konfigureras så att värdet lätt kan anpassas till den verkliga makten krav hela anordningen.
kernel drivrutin
I2C-tiny-usb är tänkt att användas med Linux. Den levereras med en Linux-kärna förare som överbryggar mellan USB och I2C delsystem i Linuxkärnan. Föraren fäster sedan till USB-enheten och göra I2C-buss tillgänglig för I2C systemet. hela installationen är alltså transparent för klientapplikationer som ramen lm_sensors och inga speciella klient chip drivrutiner krävs. Istället förarna som redan finns i Linux-kärnan används med I2C-tiny-usb samt. Med t.ex. de DS1621 temperaturgivare som används i prototypen produktionen av sensorer kan t.ex. se ut så här:
DS1621-i2c-2-48
Adapter: I2C-tiny-usb på buss 003 enhet 017
temp: 21,50

Liknande mjukvara

Annan programvara för utvecklare Till Harbaum

NanoVM
NanoVM

2 Jun 15

Kommentarer till i2c-tiny-usb

Kommentarer hittades inte
Kommentar
Slå på bilder!