SPI SimulatorSPI ( 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:
Opis sygnałów: SCK – sygnał zegarowy generowany
przez master 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:
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.
Przemysław Ksel |