SPI. Последовательный периферийный интерфейс

Итак, последовательный периферийный интерфейс — последовательный синхронный режим передачи данных. SPI на ряду с I2C является одним из самых часто используемых. Сейчас уже наверное нет системы в которой отсутствует данный тип передачи данных. Очень удобно всего по четырём проводам передавать данные с высокой скоростью.  Тем более что в сейчас уже даже хорошие цифровые датчики стоят не так то и дорого.

Вот она схема:

схема spi

В ней два блока. Мастер — ведущее устройство (оно инициирует передачу данных) и slave — ведомое. Имеется линия «часов» по которой передаётся тактовый сигнал (SCLK), SS — выбор кристала (дело в том, что удобно к одному SPI порту контроллера подключать несколько устройств (см изображение ниже), при помощи SS выбираем то, с которым намерены общаться сейчас) и две линии передачи данных MOSI и MISO.

Немного подробнее о них.

  • MOSI или SI — выход ведущего, вход ведомого (англ. Master Out Slave In). Служит для передачи данных от ведущего устройства ведомому.
  • MISO или SO — вход ведущего, выход ведомого (англ. Master In Slave Out). Служит для передачи данных от ведомого устройства ведущему.

Я уже писал о передаче данных по SPI в микроконтроллерах STM32 на примере работы с платой STM32F4 DISCOVERY. Пример передачи данных из SPI1 в SPI2.

На практике это оказывается не сложнее чем на бумаге, так что дерзайте.

 

Похожий код:

Фото аватара
Алексей Петров

Программист, разработчик с 5 летним опытом работы. Учусь на разработчика игр на Unity и разработчика VR&AR реальности (виртуальной реальности). Основные языки программирования: C#, C++.

Оцените автора
Бла, бла код
Добавить комментарий