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

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
cs:i2c_avr_usb [2013/10/05 18:46] – [Enumerace na USB] 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í převodníku =====+==== Zapojení ====
  
 Principiální zapojení převodníku je následující: Principiální zapojení převodníku je následující:
Řádek 12: Řádek 13:
  
 Reálně je však v provedení MLABu zařízení složeno z několika modulů. 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 ===== ===== 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         
 +    bDeviceProtocol         
 +    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                 
 +    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 ==== ==== Enumerace na USB ====
Řádek 26: Řádek 78:
   [38601.332473] usbcore: registered new interface driver i2c-tiny-usb   [38601.332473] usbcore: registered new interface driver i2c-tiny-usb
  
-Obvykle je ale pro vytvoření zarízení /dev/i2c-8 do kernelu nahrát ještě modul i2c-dev.+Obvykle je ale pro vytvoření zařízení /dev/i2c-8 do kernelu nahrát ještě modul i2c-dev.
  
   $ sudo modprobe i2c-dev   $ sudo modprobe i2c-dev
  
-Pak již vidíme všechna I2C a SMB zařízení v počítači.+Pak již vidíme všechna I2C a SMB rozhraní v počítači.
  
   $ sudo i2cdetect -l   $ sudo i2cdetect -l
Řádek 42: Řádek 94:
   i2c-7 i2c        DPDDC-D                          I2C adapter   i2c-7 i2c        DPDDC-D                          I2C adapter
   i2c-8 i2c        i2c-tiny-usb at bus 003 device 018 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.1380998807.txt.gz · Poslední úprava: 2013/10/05 18:46 (upraveno mimo DokuWiki)