Obsah
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 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 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í i2c-tiny-usb.
Pymlab
Modul zle ovládat z Pythonu pomocí knihovny Pymlab. Pro připojení modulu pak lze použít převodník 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 barometrickým modulem ALTIMET, který obsahuje SPI variantu senzoru MPL115A1.