Serial Peripheral Interface

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
SPI шина: один ведучий та один ведений
SPI шина: один ведучий, три незалежні (паралельні) ведені
SPI шина: один ведучий, три залежні (послідовні) ведені

SPI (англ. Serial Peripheral Interface, SPI bus — послідовний периферійний інтерфейс, шина SPI) — фактичний послідовний синхронний повнодуплексний стандарт передачі даних, розроблений фірмою Motorola для забезпечення простого сполучення мікроконтролерів та периферії. SPI також називають чотирьох-провідним (англ. four-wire) інтерфейсом.

На відміну від стандартного послідовного порту, SPI є синхронним інтерфейсом, в якому кожна передача синхронізована з тактовим сигналом, що генерується ведучим пристроєм (мікроконтролером). Периферійний пристрій синхронізує отримання бітової послідовності з тактовим сигналом. До одного послідовного периферійного інтерфейсу ведучого мікроконтролера можна під'єднати декілька мікросхем. Головний пристрій вибирає ведений пристрій, активуючи сигнал «вибір кристалу» (англ. chip select) на потрібній мікросхемі. Інші пристрої, не вибрані ведучим, не беруть участі в передачі по SPI.

Інтерфейс[ред. | ред. код]

Для передачі даних в інтерфейсі SPI використовуються чотири сигнали:

  • MOSI або SI — вихід ведучого, вхід веденого (англ. Master Out Slave In). Служить для передачі даних від ведучого пристрою до веденого.
  • MISO або SO — вхід ведучого, вихід веденого (англ. Master In Slave Out). Служить для передачі даних від веденого пристрою до ведучого.
  • SCLK або SCK — послідовний тактовий сигнал (англ. Serial Clock). Служить для передачі тактового сигналу для ведених пристроїв.
  • CS або SS[1] — сигнал початку/завершення сеансу зв'язку (вибору веденого пристрою для передачі/читання даних; англ. Chip Select, Slave Select). По завершенні обміну даних має бути знятий, що дасть змогу приймачу даних вийти з режиму читання/запису та перейти до режиму обробки даних.

Див. також[ред. | ред. код]

Примітки[ред. | ред. код]

  1. в окремих випадках іменується LOAD

Посилання[ред. | ред. код]