Uživatelské nástroje

Nástroje pro tento web

Překlady této stránky?:

cs:i2cspi

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.

Zdroj

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.

Připojení SPI verze senzoru ALTIMET na sběrnici I²C.

cs/i2cspi.txt · Poslední úprava: 2017/06/05 12:09 (upraveno mimo DokuWiki)