Uživatelské nástroje

Nástroje pro tento web


cs:spi

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.


Předchozí verze
cs:spi [2020/03/26 21:17] (aktuální) – [Z USB] kaklik
Řádek 1: Řádek 1:
 +====== Sběrnice SPI ve stavebnici MLAB ======
  
 +[[https://cs.wikipedia.org/wiki/Serial_Peripheral_Interface|SPI]] je vedle [[cs:i2c|I²C]] dalším velmi používaným rozhraním. Jeho výhodou je jednoduchá obsluha, vysoké přenosové rychlosti a full-duplexní obousměrný přenos. 
 +
 +===== Obsluha rozhraní v Python =====
 +
 +Pro použití SPI z Python programu existuje [[https://pypi.python.org/pypi/spidev|hotová knihovna]]. V Linuxu ji lze nainstalovat z příkazového řádku. 
 +
 +  sudo apt-get install python-pip
 +  sudo pip install spidev
 +
 +[[http://tightdev.net/SpiDev_Doc.pdf|Dokumentace ke knihovně.]]
 +
 +===== Možnosti připojení zařízení na SPI =====
 +
 +==== Nativní SPI rozhraní ====
 +
 +Značná část komerčně dostupných mikrokontrolerů má SPI rozhraní jako jednu z periferií. 
 +
 +==== Rozhraní vytvořené konverzí ====
 +
 +SPI interface lze vytvořit i konverzí z jiných standardních sběrnic.
 +
 +=== Z I²C ===
 +
 +Pokud není podstatná datová rychlost přenosu, tak lze SPI rozhraní vytvořit z I²C sběrnice například modulem [[cs:i2cspi|I2CSPI01A]]. Ten umožňuje připojit i více SPI slave zařízení. 
 +
 +=== Z USB ===
 +
 +V případě že je důležitá datová rychlost přenosu, tak je vhodnější použít sběrnici s vyšší šířkou přenosového pásma. Takový požadavek splňuje například sběrnice USB. Pro vytvoření SPI rozhraní pak existují specifické integrované obvody, které se liší především SW podporou. 
 +
 +
 +  * [[https://www.microchip.com/wwwproducts/en/MCP2210|MCP2210]] [[https://github.com/daniel-santos/mcp2210-linux|out-of-tree driver]]
 +  * [[https://www.ftdichip.com/Products/ICs/FT4222H.html|FT4222H]] - HID driver?
 +  * [[http://www.silabs.com/products/interface/usbtouart/Pages/usb-to-spi-bridge.aspx|CP2130]]
 +  * [[cs:xvc_ft220x|FTDI FT220]] možný kandidát při napsání HID driveru. 
 +
 +Problematika připojení těchto čipů do operačního systému je poměrně [[https://christian.amsuess.com/idea-incubator/ftdi-kernel-support/|komplikovaná]]. Nicméně jako nejlepší řešení se [[https://archive.fosdem.org/2018/schedule/event/rapid_spi_over_usb/attachments/audio/2461/export/events/attachments/rapid_spi_over_usb/audio/2461/USB_SPI_FOSDEM_2018.pdf|zdá být]] použití MCP2210 na novém modulu MLAB.
 +
 +
 +
 +
 +===== Související stránky =====
 + 
 +  * [[cs:hbstep|Budič krokových motorů]]
 +  * [[cs:i2cspi|]]