SPI - последовательный периферийный интерфейс
SPI означает последовательный периферийный интерфейс. С помощью SPI вы можете молниеносно обмениваться данными между двумя устройствами. При этом вам понадобится всего четыре провода.
Характеристики SPI
Последовательный периферийный интерфейс - это синхронный интерфейс связи на коротких расстояниях. Синхронный означает, что данные отправляются в виде блоков или кадров, а два устройства синхронизируются с помощью часов. Это последовательный интерфейс, поэтому устройства передают по одному биту за раз (в отличие от параллельной связи). Одно из устройств является "ведущим" и диктует тактовый цикл. Другое устройство является "ведомым". Обычно связь осуществляется в полнодуплексном режиме. Таким образом, оба устройства могут передавать данные даже одновременно.
Проводка
Для подключения требуется всего четыре провода, поэтому его очень легко настроить.
Для подключения SPI необходимы четыре контакта: последовательный тактовый генератор (SCL или SCLK), ведущий выходной ведомый вход (MOSI), ведущий входной ведомый выход (MISO) и контакт выбора микросхемы или ведомого устройства (CS или SS).
Подключите соответствующие контакты на ведущем и ведомом устройствах.
Одно ведущее устройство может подключаться к нескольким ведомым устройствам, если у него достаточно выводов выбора микросхемы. Ведущее устройство управляет тем, какое ведомое устройство получает данные, устанавливая соответствующий вывод выбора микросхемы в положение LOW или HIGH.
Raspberry Pi 4 имеет 7 шин SPI. Если вы хотите узнать, как получить доступ к шинам SPI с 1 по 6, оставьте комментарий ниже.
Давайте посмотрим на Шина SPI 0.
Как вы можете видеть в график распиновки над выводом 23 находится вывод SCLK на Raspberry Pi. MISO - это контакт 21, а MOSI - контакт 19. Шина 0 имеет два контакта CS - это контакты 24 и 26.
Если вы хотите использовать шину 0, сначала включите ее.
Выполните команду
sudo raspi-config
Затем выберите 3 Варианты интерфейса и нажмите I4 SPI. Наконец, нажмите Да и Хорошо для включения SPI.
Режимы SPI
Существует четыре различных режима передачи данных, о которых вы должны знать. Они различаются полярностью и фазой синхронизации.
Оба значения могут быть либо 0, либо 1. Что касается полярности тактового генератора, то 0 означает низкий уровень холостого хода, а 1 - высокий уровень холостого хода. Тактовая фаза 0 означает, что данные отправляются по падающему фронту, а 1 означает, что данные отправляются по нарастающему фронту. Перед отправкой данных ведущий и ведомый должны согласовать один из четырех режимов.
Преимущества
Самые большие преимущества - это высокая скорость, простота настройки аппаратного и программного обеспечения и низкое энергопотребление.
Недостатки
Последовательный периферийный интерфейс не является действительно расширяемым по диапазону и количеству устройств, так как Master должен иметь пин выбора микросхемы для каждого устройства. Также отсутствует аппаратное подтверждение Slave, поэтому Master не знает, получены ли данные кем-либо.
Примеры использования
Большинство устройств SPI являются встроенными устройствами или ЖК-дисплеи. Как правило, он используется в тех областях, где требуется небольшое количество устройств и быстрая передача данных.
Это позволяет Raspberry Pi взаимодействовать со всеми видами датчики и устройства. Почти все совместимые с Raspberry Pi устройства используют интерфейс SPI или I2C.
Карты SD также используют интерфейс SPI, поэтому даже устройство чтения карт SD на Raspberry Pi имеет некоторые внутренние выводы MISO и MOSI.
[...] Если вы, кстати, хотите узнать больше о SPI, то у нас есть статья об этом здесь. [...]
[...] SPI - последовательный периферийный интерфейс [...]
[...] Навин объясняет, что связь между Nano и TFT-дисплеем осуществляется на основе последовательного периферийного интерфейса (SPI). При этом джойстик и кнопки подключаются через шину Inter-Integrated Circuit Bus [...].
[...] SPI - последовательный периферийный интерфейс [...]
[...] Anzahl der Geräte nicht wirklich erweiterbar, da der Master für jedes Gerät einen Chip Select Pin [...]
Существует возможность повторного использования всех устройств в цепи Daisy-Chain. Для этого требуется только один Chip-Select. При этом человек должен знать, что многие устройства в каком-либо регистре SPI ангешлоссированы, так что человек может передавать данные как поток. При этом MISO предыдущего устройства должен быть переключен на MOSI последующего устройства. После этого MISO последних Geräts будет соединен с Master-Gerät. Благодаря этой технологии данные всех Geräte будут переданы на один путь, если после отправки потоков данных Chip-Select будет активен.