Uživatelské nástroje

Nástroje pro tento web


cs:i2c

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
Následující verzeObě strany příští revize
cs:i2c [2014/05/16 10:11] – [Čtení] kaklikcs:i2c [2014/07/05 09:04] – [Použití I²C v systému Linux] kaklik
Řádek 7: Řádek 7:
 ===== Konvertory pro připojení I²C k PC ===== ===== Konvertory pro připojení I²C k PC =====
  
-I²C je velmi rozšířená sběrnice vhodná pro připojování nejrůznějších čidel na krátké vzdálenosti. Avšak není obvyklé, aby byla vyvedena na běžných počítačích a dostupná tak k přímému použití. (([[http://www.paintyourdragon.com/?p=43|Kromě vyvedení DDC z volného portu pro display.]])) Proprietární konstrukce jako: +I²C je velmi rozšířená sběrnice vhodná pro připojování nejrůznějších čidel na krátké vzdálenosti. Avšak není obvyklé, aby byla vyvedena na běžných počítačích a dostupná tak k přímému použití. (([[http://www.paintyourdragon.com/?p=43|Kromě vyvedení DDC z volného portu pro display.]])) 
 + 
 +==== USB rozhraní ==== 
 + 
 +Proprietární konstrukce jako: 
  
   * [[http://www.robot-electronics.co.uk/acatalog/USB_I2C.html|USB-I2C  USB to I2C Communications Module]]   * [[http://www.robot-electronics.co.uk/acatalog/USB_I2C.html|USB-I2C  USB to I2C Communications Module]]
Řádek 13: Řádek 17:
   * [[http://www.headfuzz.co.uk/?q=usbtoi2c|OpenServo interface]]   * [[http://www.headfuzz.co.uk/?q=usbtoi2c|OpenServo interface]]
  
-Mají společný problém s kvalitou driverů. Navíc i2c-tiny-usb nesplňuje úplně I²C specifikaci a už vůbec ne USB physical layer specifikaci a jeho nejvyšší komunikační rychlost je 50 Kbps. +Mají společný problém s kvalitou driverů. Navíc i2c-tiny-usb nesplňuje úplně I²C specifikaci a už vůbec ne USB physical layer specifikaci a jeho nejvyšší komunikační rychlost je 50 Kbps. Nicméně v MLABu jsou tyto konstrukce nahrazeny zařízením [[cs:i2c_avr_usb|I2C AVR USB]], což je ekvivalent konstrukce i2c-tiny-usb ale postavené modulů MLAB. Alternativou je také nedokončená konstrukce [[cs:i2c-pic-usb|Konvertor I²C na USB s PIC]].
  
-==== Integrované obvody ====+==== USB HID ====
  
-=== FTDI ===+Pro připojení bez nutnosti použití driverů určených pro specifický hadrware je možné použít specifikaci [[http://en.wikipedia.org/wiki/USB_human_interface_device_class|USB HID]]. V MLABu tuto specifikaci splňuje modul [[cs:usbi2c|USBI2C01A]], který lze ovládat například přes Python a HIDAPI. viz níže. 
  
-Firma FTDI navíc nevyrábí žádný obvod, který by umožňoval přímou komunikaci přes USB (jejich USB device obvody mají pouze I²C slave rozhraní) komunikace s I²C je u FTDI možná pouze za použití speciálního režimu (([[http://www.ftdichip.com/Products/ICs.htm|MPSSE]])), což umožňuje pouze několik obvodů v kombinaci s knihovnou [[http://code.google.com/p/libmpsse/|Libmpsse]] +==== UART/RS232 na I2C ====
- +
- +
-=== Silicon Labs === +
- +
-Vyrábí celou sérii převodníků [[http://www.silabs.com/products/interface/usbtouart/Pages/default.aspx|USB na něco jiného]] jedním z nich je i CP2112, který je převodníkem na SMbus. +
-=== NXP === +
- +
-NXP vyrábí [[http://www.nxp.com/products/interface_and_connectivity/bridges/uart_to_i2c_master_gpio_bridges/SC18IM700IPW.html|konvertor UART na I²C SC18IM700IPW]] +
- +
- +
-==== Možnosti řešení ==== +
- +
-  - Použití modulu s PIC18F4550 a firmwaru kompatibilního s i2c-tiny-usb.[[cs:i2c-pic-usb|Konvertor I²C na USB s PIC]] +
-  - Navržení nového modulu s některým z obvodů od Cypress +
-  - Použití modulu [[cs:usbi2c|USBI2C]] s obvodem [[http://www.silabs.com/products/interface/usbtouart/Pages/HID-USB-to-SMBus-Bridge.aspx|CP2112]]  +
-  - Konstrukce i2c-tiny-usb z modulů MLAB viz. [[cs:i2c_avr_usb|I2C AVR USB]]+
  
 +NXP vyrábí [[http://www.nxp.com/products/interface_and_connectivity/bridges/uart_to_i2c_master_gpio_bridges/SC18IM700IPW.html|konvertor UART na I²C SC18IM700IPW]]. Tento obvod by mohl být základem pro konstrukci dalšího konverzního modulu. 
  
 +==== Ethernet na I2C ====
  
 +Pomocí modulů [[cs:eth|ETH01A]] a [[cs:stm32f10xrxt|STM32F10xRxT01A]], lze zkonstruovat konvertor Ethernet - I²C. A ten následně ovládat softwarovým balíkem Pymlab. Viz Python níže. 
 ===== Použití I²C v systému Linux ===== ===== Použití I²C v systému Linux =====
  
Řádek 46: Řádek 37:
 Jádro však obvykle nemá instalovaný modul //i2c-dev// (([[https://i2c.wiki.kernel.org/index.php/Main_Page| Linux I²C Subsystem]])), přidáme jej proto do systému: Jádro však obvykle nemá instalovaný modul //i2c-dev// (([[https://i2c.wiki.kernel.org/index.php/Main_Page| Linux I²C Subsystem]])), přidáme jej proto do systému:
   sudo modprobe i2c-dev   sudo modprobe i2c-dev
-  + 
 +<WRAP tip>   
 +Příkaz modprobe přidá modul pouze do běžící instance jádra. Po rebootu nám tento modul pravděpodobně bude chybět. Pokud nechceme modprobe používat i po následujícím startu počítače, tak  do souboru /etc/modules přidáme řádek: 
 +  i2c-dev   
 +</WRAP> 
 Nyní již můžeme vypsat dostupné I²C sběrnice v systému: Nyní již můžeme vypsat dostupné I²C sběrnice v systému:
  
Řádek 103: Řádek 99:
  
  
-==== Ostatní operační systémy ====+===== Ostatní operační systémy =====
  
 +V jiných operačních systémech, jako Windows či MAC OS, kde nemůžeme nebo nechceme využít podporu I²C rozhraní v jádře, můžeme použít pro ovládaní I2C  prostředí jazyka Python, který je multiplatformní a běží na všech známých OS. 
 ==== MLAB I²C Python framework ==== ==== MLAB I²C Python framework ====
  
Řádek 132: Řádek 129:
  
 Jeho základní instalace se v Ubuntu provede instalací těchto balíků:  Jeho základní instalace se v Ubuntu provede instalací těchto balíků: 
-  sudo apt-get install ipython-notebook scipy numpy+  sudo apt-get install ipython-notebook python-scipy python-numpy
  
 Pak již můžeme iPython spustit z příkazového řádku Pak již můžeme iPython spustit z příkazového řádku
cs/i2c.txt · Poslední úprava: 2022/09/02 21:20 autor: kaklik