SPI Simulator

SPI ( Serial Peripheral Interface ) - jest to synchroniczny szeregowy interfejs czteroprzewodowy opracowany przez firmę Motorola, w celu dwukierunkowej komunikacji lokalnej pomiędzy układami scalonymi. W systemie jeden układ musi pracować jako układ sterujący przepływem danych – układ nadrzędny (master), a inne układy odbierające i wysyłające dane pracują jako układy podrzędne (slave). Interfejs ten umożliwia pracę dupleksową, to znaczy że jest możliwa dwukierunkowa jednoczesna wymiana danych pomiędzy masterem a układem slave. Układy pracujące w standardzie SPI nie posiadają adresów identyfikacyjnych, dlatego też podłączenie kilku układów slave jest możliwe po zastosowaniu dodatkowego dekodera generującego sygnały selekcyjne /SS dla każdego układu slave.

Typowe podłączenie kilku układów podrzędnych do magistrali SPI:


źródło: en.wikipedia.org

Opis sygnałów:

SCK – sygnał zegarowy generowany przez master
MISO – master input slave output – wejście mastera / wyjście układu slave
MOSI – master output slave input – wyjście mastera / wejście układu slave
/SS – zanegowany sygnał zezwolenia, aktywny stan niski!

Najbardziej rozpowszechnione interfejsy przesyłają dane 8 i 16 bitowe, przy czym dla sterowania 16 bitowego można wybrać, który bajt danych jest wysyłany jako pierwszy. Poszczególne bajty są wyprowadzane zawsze w kolejności od bitu najbardziej znaczącego.

Prędkość gwarantowana przez standard wynosi 2.1Mbd, jednak często można spotkać układy poprawnie pracujące przy szybkościach do 10Mbd.

Interfejs SPI może pracować w jednym z czterech trybów pracy:

  1. Mode 0:

    - stan spoczynkowy sygnału zegarowego – niski
    - próbkowanie MISO na narastającym zboczu sygnału zegarowego
    - ustawianie MOSI na opadającym zboczu sygnału zegarowego
  2. Mode 1:

    - stan spoczynkowy sygnału zegarowego – niski
    - próbkowanie MISO na opadającym zboczu sygnału zegarowego
    - ustawianie MOSI na narastającym zboczu sygnału zegarowego
  3. Mode 2:

    - stan spoczynkowy sygnału zegarowego – wysoki
    - próbkowanie MISO na opadającym zboczu sygnału zegarowego
    - ustawianie MOSI na narastającym zboczu sygnału zegarowego
  4. Mode 3:

    - stan spoczynkowy sygnału zegarowego – wysoki
    - próbkowanie MISO na narastającym zboczu sygnału zegarowego
    - ustawianie MOSI na opadającym zboczu sygnału zegarowego

Poniższy aplet pozwoli rozwiać wszelkie wątpliwości związane z przesyłem danych poprzez magistralę SPI. W celu bardziej szczegółowej analizy funkcjonowania interfejsu SPI (parametry czasowe, implementacje w mikrokontrolerach itd.) proszę sięgnąć do literatury, np. do książki 'Lokalne interfejsy szeregowe w systemach cyfrowych' – Jacek Bogusz, BTC, Warszawa 2004, na podstawie której powstał powyższy opis.

Your browser is ignoring the <APPLET> tag!

Przemysław Ksel