====== Konvertor z I²C na SPI - I2CSPI01A ====== Modul umožňuje ovládání SPI zařízení přes I2C sběrnici. Je tak možné ovládat SPI zařízení za použití knihovny [[cs:pymlab]]. ===== Základní vlastnosti ===== * I²C-bus slave interface operating up to 400 kHz * SPI master operating up to 1.8 Mbit/s * 200-byte data buffer * Up to four slave select outputs * Up to four programmable I/O pins * Operating supply voltage: 2.4 V to 3.6 V * Low power mode * Internal oscillator option * Active LOW interrupt output ===== Výběr I²C adresy ===== Modul umožňuje výběr několika I2C adres. Tyto adresy mohou být zvoleny jednak osazením rezistorů na PCB a dále konfigurací jumperu na modulu. V případě změny volby adresy se adresa modulu změní až po odpojení a připojení napájení. ===== Použití modulu ===== Modul se připojuje na sběrnici konektorem s MLAB standardním uspořádáním pinů. Modul by při správném zapojení měl být vidět na sběrnici. Podobně jako v tomto případě, kdy má zvolenou adresu 2E. odroid@odroid:~$ sudo i2cdetect -y 4 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- 2e -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: 70 -- -- -- -- -- -- -- odroid@odroid:~$ ==== Linux driver ==== Protože k integrovanému obvodu sc18is602 existuje driver v Linux kernelu spi-sc18is602, můžeme v systému přímo vytvořit SPI zařízení. sudo modprobe spi-sc18is602 echo sc18is602 0x28 > /sys/bus/i2c/devices/i2c-7/new_device Tím by mělo vzniknout nové zařízení na /sys/class/i2c-adapter/i2c-0/0-0028/spi_master/spi0 a nové systémové rozhraní /sys/class/spi_master/spi0/spi0.0 Tento driver bohužel ale nefunguje při použití modulu [[cs:usbi2c|USBI2C]], kdy nové SPI zařízení v systému nevznikne, neboť driver k tomuto modulu vyžaduje I2C budič. Postup ale funguje při použití rozhraní vytvořeného pomocí [[cs:i2c_avr_usb|i2c-tiny-usb]]. [[http://www.spinics.net/lists/lm-sensors/msg37023.html|Zdroj]] ==== Pymlab ==== Modul zle ovládat z Pythonu pomocí knihovny [[cs:pymlab|Pymlab]]. Pro připojení modulu pak lze použít převodník [[cs:usbi2c|USBI2C]] a ten ovládat z libovolného systému pomocí HIDAPI. Ve zdrojácích knihovny Pymlab je připraven příklad pro SPI komunikaci s [[cs:altimet|barometrickým modulem ALTIMET]], který obsahuje SPI variantu senzoru MPL115A1. {{ :cs:modules:altimet_i2c_spi_link.jpg?direct&400 |Připojení SPI verze senzoru ALTIMET na sběrnici I²C.}}