Продукти

Serial Peripheral Interface (SPI)

Serial Peripheral Interface (SPI)
9 ноември 2021

SPI е комуникация използвана за къси разстояния. Типичните приложения включват SD карти , дисплей с течни кристали и др.

 

SPI устройствата използват архитектурата "master-slave" или главна и вторична. Главното устройство създава рамката за четене и писане.

 

Шината SPI определя четири логически сигнала:

 

- SCLK - сериен часовник(изход от главното устройство);

 

- MOSI - основен изход(извеждане на данни от главното устройство);

 

- MISO - основен вход(извеждане на данни от вторичното устройство);

 

- SS - избор на вторично устройство(изход от главното устройство).

 

SPI може да работи с едно главно и няколко подчинени устройства.

 

 

Предаване на данни:

 

За да започне комуникация, главната шина конфигурира часовника, като използва честота, поддържана от подчиненото устройство, обикновено до няколко MHz. След това главното устройство избира подчиненото устройство с логическо ниво 0 в избрания ред. Ако е необходим период на изчакване, като например за аналогово-цифрово преобразуване, "мастерът" трябва да изчака поне този период от време, преди да издава цикли на часовника.

 

По време на всеки цикъл на SPI часовник се извършва пълно дуплексно предаване на данни. Главното устройство изпраща данни по линията MOSI и вторичното устройство ги чете, докато "slave" изпраща данни по линията MISO и главният го чете. Тази последователност се поддържа дори когато е предвиден само еднопосочен трансфер на данни.

 

Предаването може да продължи за произволен брой цикли на часовника. Когато приключи, мастерът спира да превключва сигнала на часовника.

 

Предаванията често се състоят от осем битни думи. Въпреки това, други размери на думи също са често срещани например шестнадесет битни думи за контролери на сензорен екран или аудио кодеци.

 

Някои подчинени устройства са проектирани да игнорират всякакви SPI комуникации, в които броят на импулсите на тактовете е по-голям от посочения. На други не им пука, игнорирайки допълнителни входове и продължавайки да измествате същия изходен бит. Обичайно е различните устройства да използват SPI комуникации с различна дължина.

 

 

Прекъсванията не са обхванати от стандарта SPI; използването им не е нито забранено, нито определено от стандарта. С други думи, прекъсванията са извън обхвата на стандарта SPI и по желание се осъществяват независимо от него.Примерите включват прекъсвания:  термични предупреждения за ограничения от сензори за температура, аларми, издадени от чипове на часовник в реално време, вмъкване на жак за слушалки от звуковия кодек в мобилен телефон и др.

 

 

Приложения:

 

Програмируемите AVR контролери могат да бъдат програмирани чрез SPI интерфейс.

SPI се използва за обмен на данни с различни периферни устройства, като например:

- Сензори: температура, налягане, ADC и др.

- Устройства за управление: аудио кодеци , цифрови потенциометри, ЦАП и др.

- Обективи на камери;

- Комуникации: Ethernet , USB , USART , CAN и др.

- Памет: EEPROM и др.

- Часовници в реално време

- LCD , понякога дори за управление на данни от изображения

- Всяка MMC или SD карта (включително SDIO вариант)