cs:i2c_avr_usb
Rozdíly
Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.
Následující verze | Předchozí verzeNásledující verzeObě strany příští revize | ||
cs:i2c_avr_usb [2013/10/05 16:38] – vytvořeno kaklik | cs:i2c_avr_usb [2014/02/13 20:01] – kaklik | ||
---|---|---|---|
Řádek 1: | Řádek 1: | ||
====== Převodník I²C na USB s AVR ====== | ====== Převodník I²C na USB s AVR ====== | ||
+ | |||
+ | Alias 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, | 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, | ||
+ | |||
+ | |||
+ | ===== Konstrukce | ||
+ | |||
+ | ==== Zapojení ==== | ||
+ | |||
+ | Principiální zapojení převodníku je následující: | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Reálně je však v provedení MLABu zařízení složeno z několika modulů. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Firmware ==== | ||
+ | |||
+ | Firmware je dostupný v [[http:// | ||
+ | |||
+ | ===== Funkce ===== | ||
+ | |||
+ | |||
+ | |||
+ | $ sudo lsusb -v -d 0403:c631 | ||
+ | | ||
+ | Bus 003 Device 018: ID 0403:c631 Future Technology Devices International, | ||
+ | Device Descriptor: | ||
+ | bLength | ||
+ | bDescriptorType | ||
+ | bcdUSB | ||
+ | bDeviceClass | ||
+ | bDeviceSubClass | ||
+ | bDeviceProtocol | ||
+ | bMaxPacketSize0 | ||
+ | idVendor | ||
+ | idProduct | ||
+ | bcdDevice | ||
+ | iManufacturer | ||
+ | iProduct | ||
+ | iSerial | ||
+ | bNumConfigurations | ||
+ | Configuration Descriptor: | ||
+ | bLength | ||
+ | bDescriptorType | ||
+ | wTotalLength | ||
+ | bNumInterfaces | ||
+ | bConfigurationValue | ||
+ | iConfiguration | ||
+ | bmAttributes | ||
+ | (Bus Powered) | ||
+ | MaxPower | ||
+ | Interface Descriptor: | ||
+ | bLength | ||
+ | bDescriptorType | ||
+ | bInterfaceNumber | ||
+ | bAlternateSetting | ||
+ | bNumEndpoints | ||
+ | bInterfaceClass | ||
+ | bInterfaceSubClass | ||
+ | bInterfaceProtocol | ||
+ | iInterface | ||
+ | Device Status: | ||
+ | (Bus Powered) | ||
+ | |||
+ | |||
+ | ==== 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, | ||
+ | [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: | ||
+ | [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í zarí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 zařízení v počítači. | ||
+ | |||
+ | $ sudo i2cdetect -l | ||
+ | i2c-0 i2c | ||
+ | i2c-1 i2c | ||
+ | i2c-2 i2c | ||
+ | i2c-3 i2c | ||
+ | i2c-4 i2c | ||
+ | i2c-5 i2c | ||
+ | i2c-6 i2c | ||
+ | i2c-7 i2c | ||
+ | i2c-8 i2c | ||
+ | |||
+ | |||
+ | ===== Související stránky ===== | ||
+ | |||
+ | * [[cs: | ||
+ | * [[cs: | ||
+ | * [[cs: | ||
cs/i2c_avr_usb.txt · Poslední úprava: 2014/12/12 23:44 (upraveno mimo DokuWiki)