SPI – sériová komunikace s vyššími rychlostmi

Sběrnice SPI se často používá pro přenos většího objemu dat, protože dosahuje vysokých přenosových rychlostí i u mikrokontrolérů a modulů.

 

Přenos dat u SPI je obousměrný (plný duplex) díky linkám MOSI (master out slave in) a MISO (master in slave out), po kterých se přenáší data synchronizované linkou CLK. Na lince CS (někdy uváděno SS) je pouze informace pro slave obvod, aby bylo rozlišeno, kterému obvodu jsou data určena. Datový rámec je zobrazen na obrázku 1, ze kterého je vidět jak jsou data závislá na synchronizačních pulsech. Na obrázku 2 je zobrazeno klasické zapojení mezi obvodem master a slave, které je použito v mé práci. Dále existují ještě dva způsoby propojení pro případ více slave obvodů řízených jedním masterem, který pak řídí celou komunikaci buď tím, že přiděluje jednotlivým slave zařízením vysílací čas, nebo si všechny obvody přeposílají data do kruhu.

spi

Obr. 1: Přenos jednoho 8bitového rámce oběma směry po sběrnici SPI

spi1

Obr. 2: Spojení dvou obvodů pomocí sběrnice SPI

Základní vlastnosti SPI u mikrokontroléru ATmega32

  • Plný duplex (schopnost současně přijímat i vysílat).
  • Třívodičový synchronní přenos dat.
  • Může pracovat jako master (řídicí obvod) nebo slave (řízený obvod).
  • 7 programovatelných rychlostí (tabulka 1).
  • Přenosová rychlost až 8 Mb/s.
  • Lze volit pořadí bitů (LSB až MSB nebo MSB až LSB).
  • Příznaky konce a kolize přenosu.
  • Schopnost procitnutí z režimu idle po příjmu dat v režimu slave.

Tabulka 1: Nastavení přenosové frakvence u SPI.

SPI2X SPR1 SPR0 Frekvence na SCK
0 0 0 fOSC/4
0 0 1 fOSC/16
0 1 0 fOSC/64
0 1 1 fOSC/128
1 0 0 fOSC/2
1 0 1 fOSC/8
1 1 0 fOSC/32
1 1 1 fOSC/64

Připravuje se:

  1. Knihovna SPI ke stažení pro ATMEL AVR
  2. Knihovna SPI ke stažení pro STM32F4 Discovery

Komentovat

Vaše e-mailová adresa nebude zveřejněna. Povinná pole jsou označena *

*

*