Uživatelské nástroje

Nástroje pro tento web


cs:i2c_avr_usb

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Následující verze
Předchozí verze
cs:i2c_avr_usb [2013/10/05 16:38] – vytvořeno kaklikcs:i2c_avr_usb [Unknown date] (aktuální) – upraveno mimo DokuWiki (Unknown date) 127.0.0.1
Řádek 1: Řádek 1:
-====== Převodník I²C na USB s AVR ======+====== Převodník I²C na USB s AVR (známý jako i2c-tiny-usb) ======
  
-Cílem této konstrukce je vyřešit častý problém přípojení I2C nebo SMB čidla k počítači. Klasické řešení je připojení čidla k některému mikrokontroleru a pak následně k nadřazenému systému, Jednou z hlavních nevýhod tohoto řešení je, že musí být do předu známá konfigurace čidel připojených k mikroprocesoru a zároveň čtení čidel je vázáno na firmware v mikroprocesoru. Je proto žádoucí nechat při dnešním výpočetním výkonu, který je k dispozici čtení čidel přímo na nadřazeném systému v počítači, tak aby konfigurace čidel mohla být libovolně změněna i za běhu a nebyla vázána na fixní firmware v MCU. +Cílem této konstrukce je vyřešit častý problém přípojení I2C nebo SMBus zařízení, nebo čidla k počítači. Klasické řešení tohoto problému je připojení čidla k některému mikrokontroléru a pak následně k nadřazenému systému, Jednou z hlavních nevýhod tohoto přístupu je, že musí být dopředu známá konfigurace čidel připojených k mikroprocesoru a zároveň čtení čidel je vázáno na firmware v mikroprocesoru. Je proto žádoucí nechat při dnešním výpočetním výkonu, který je k dispozici čtení čidel přímo na nadřazeném systému v počítači, tak aby konfigurace čidel a verze driveru čidla mohla být libovolně změněna i za běhu a nebyla vázána na fixní firmware v MCU.  
 + 
 + 
 +===== Konstrukce  převodníku ===== 
 + 
 +==== Zapojení ==== 
 + 
 +Principiální zapojení převodníku je následující: 
 + 
 +{{ :cs:designs:tools:original_schematic.png?direct&400 |}} 
 + 
 +Reálně je však v provedení MLABu zařízení složeno z několika modulů. 
 + 
 +{{ :cs:designs:tools:i2c-avr-usb_top_big.jpg?direct&500 |}} 
 + 
 +==== Firmware ==== 
 + 
 +Firmware je dostupný v [[http://www.mlab.cz/WebSVN/listing.php?repname=MLAB&path=%2FDesigns%2FTools%2Fi2c_AVR_USB%2FSW%2F#_Designs_Tools_i2c_AVR_USB_SW_|dokumentační složce MLAB]] 
 + 
 +===== Funkce ===== 
 + 
 +Po připojení konstrukce k počítači můžeme na USB nalézt následující zařízení.  
 + 
 +  $ sudo lsusb -v  -d 0403:c631 
 +   
 +  Bus 003 Device 018: ID 0403:c631 Future Technology Devices International, Ltd i2c-tiny-usb interface 
 +  Device Descriptor: 
 +    bLength                18 
 +    bDescriptorType         1 
 +    bcdUSB               1.10 
 +    bDeviceClass          255 Vendor Specific Class 
 +    bDeviceSubClass         0  
 +    bDeviceProtocol         0  
 +    bMaxPacketSize0         8 
 +    idVendor           0x0403 Future Technology Devices International, Ltd 
 +    idProduct          0xc631 i2c-tiny-usb interface 
 +    bcdDevice            1.05 
 +    iManufacturer           1 Till Harbaum 
 +    iProduct                2 i2c-tiny-usb 
 +    iSerial                 0  
 +    bNumConfigurations      1 
 +    Configuration Descriptor: 
 +      bLength                 9 
 +      bDescriptorType         2 
 +      wTotalLength           18 
 +      bNumInterfaces          1  
 +      bConfigurationValue     1 
 +      iConfiguration          0  
 +      bmAttributes         0x80 
 +        (Bus Powered) 
 +      MaxPower               10mA 
 +      Interface Descriptor: 
 +        bLength                 9 
 +        bDescriptorType         4 
 +        bInterfaceNumber        0 
 +        bAlternateSetting       0 
 +        bNumEndpoints           0 
 +        bInterfaceClass         0 (Defined at Interface level) 
 +        bInterfaceSubClass      0  
 +        bInterfaceProtocol      0  
 +        iInterface              0  
 +  Device Status:     0x0000 
 +      (Bus Powered) 
 + 
 +Toto zařízení je pak automaticity enumerováno a rozpoznáno jako I2C rozhraní.  
 + 
 +==== Enumerace na USB ==== 
 + 
 +  [38601.270471] usb 3-3.1: new low-speed USB device number 18 using xhci_hcd 
 +  [38601.292607] usb 3-3.1: New USB device found, idVendor=0403, idProduct=c631 
 +  [38601.292613] usb 3-3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0 
 +  [38601.292616] usb 3-3.1: Product: i2c-tiny-usb 
 +  [38601.292618] usb 3-3.1: Manufacturer: Till Harbaum 
 +  [38601.312318] i2c-tiny-usb 3-3.1:1.0: version 1.05 found at bus 003 address 018 
 +  [38601.332450] i2c i2c-8: connected i2c-tiny-usb device 
 +  [38601.332473] usbcore: registered new interface driver i2c-tiny-usb 
 + 
 +Obvykle je ale pro vytvoření zařízení /dev/i2c-8 do kernelu nahrát ještě modul i2c-dev. 
 + 
 +  $ sudo modprobe i2c-dev 
 + 
 +Pak již vidíme všechna I2C a SMB rozhraní v počítači. 
 + 
 +  $ sudo i2cdetect -l 
 +  i2c-0 i2c        i915 gmbus ssc                  I2C adapter 
 +  i2c-1 i2c        i915 gmbus vga                  I2C adapter 
 +  i2c-2 i2c        i915 gmbus panel                I2C adapter 
 +  i2c-3 i2c        i915 gmbus dpc                  I2C adapter 
 +  i2c-4 i2c        i915 gmbus dpb                  I2C adapter 
 +  i2c-5 i2c        i915 gmbus dpd                  I2C adapter 
 +  i2c-6 i2c        DPDDC-C                          I2C adapter 
 +  i2c-7 i2c        DPDDC-D                          I2C adapter 
 +  i2c-8 i2c        i2c-tiny-usb at bus 003 device 018 I2C adapter 
 + 
 + 
 +===== Související stránky ===== 
 + 
 +  * [[cs:usbi2c|USBI2C]] - modernější modul určený k přímému převodu I2C na USB 
 +  * [[cs:i2c-pic-usb|Konvertor I²C na USB s PIC]] 
 +  * [[cs:i2c|Sběrnice I²C ve stavebnici MLAB]]
  
  
cs/i2c_avr_usb.1380991124.txt.gz · Poslední úprava: 2013/10/05 16:38 (upraveno mimo DokuWiki)