Как включить SPI / I2C на Raspberry Pi (и для чего их использовать)

Raspberry Pi можно использовать практически для чего угодно. Можно с уверенностью сказать, что Pi и аналогичные одноплатные компьютеры становятся повсеместными.

Когда вы начинаете экспериментировать с выводами GPIO на Raspberry Pi, все становится еще интереснее. Мы уже рассмотрели, что делают все эти контакты, поэтому теперь давайте посмотрим, как включить протоколы SPI и I2C на вашем Pi и почему вы можете захотеть.

Что такое SPI на Raspberry Pi?

Перед погружением давайте кратко рассмотрим, что делают эти два протокола.

SPI (или последовательный периферийный интерфейс) позволяет микроконтроллеру, такому как Pi, обмениваться данными с более чем 100 периферийными компонентами одновременно. Микроконтроллер действует как «ведущий» для всех «подчиненных» компонентов и может связываться с ними с высокой скоростью. Эта схема описывает простое соединение SPI:

SPI и I2C на Raspberry PiИзображение предоставлено: Cburnett / wikipedia.org

Если вы впервые читаете об SPI, это может показаться пугающим, но продолжайте в том же духе! SCLK это тактовая частота, установленная мастером, которая определяет скорость обмена информацией между устройствами.

В каждом цикле (или «тике») часов и ведущий, и ведомый отправляют и получают один бит информации. Это то, что MOSI (Master Out Slave In) и MISO (Master In Slave Out) контакты для.

SS или Slave Select pin (отмеченный CE0 или CE1 на Pi) используется, чтобы сообщить подчиненному устройству об обмене данными с ведущим устройством — или нет — в любой момент времени. В большинстве случаев каждое подчиненное устройство требует свой собственный вывод SS, но может иметь общие выводы SCLK, MOSI и MISO.

Некоторые устройства могут быть «последовательно соединены», чтобы разделить вывод SS, при этом общее количество используемых выводов будет равно четырем, плюс два для питания и заземления. SPI известен своей невероятной быстротой и обычно используется в сдвиговых регистрах или АЦП (аналого-цифровых преобразователях) для передачи данных между устройствами.

На расширенном стартапе на канале YouTube есть простой учебник для SPI, объясняющий протокол далее:

Как включить SPI на Raspberry Pi

Чтобы включить SPI на Raspberry Pi, откройте raspi-конфигурации из терминала, введя:

sudo raspi-config

Перейдите к Варианты интерфейса, и в следующем меню выберите P4 SPI Включить / отключить автоматическую загрузку модуля ядра SPI. Выбрать да в окне подсказки. SPI теперь включен!

SPI и I2C на Raspberry Pi

Кроме того, вы можете включить SPI из /boot/config.txt файл. Откройте окно терминала и введите:

sudo nano /boot/config.txt

Ищите строку, которая гласит # Dtparam = СПИ = на и удалите # условное обозначение. Каким бы способом вы не включили SPI, перезагрузите Pi и SPI.

Что вы можете сделать с SPI на Raspberry Pi?

Несмотря на то, что существуют сотни различных проектов, в которых используется множество различных периферийных устройств SPI, хорошим начальным проектом является программирование собственного считывателя RFID.

Мы использовали считыватель MFRC-522 в нашем уроке «Умный замок своими руками» с Arduino и RFID

, Чтобы познакомиться с RFID-ароматизацией Raspberry Pi, ознакомьтесь с инструкцией piddlerintheroot.

Этот вид установки не только для электроники хобби также. В нашей коллекции лучших проектов Raspberry Pi

Мы представили полномасштабную систему MES, которая работает с использованием Raspberry Pi и RFID, как часть крупномасштабной работы завода в Европе.

Что такое I2C на Raspberry Pi?

I2C — это коммуникационный протокол, созданный Phillips Electronics, который получил широкое распространение в хобби-проектах на основе микроконтроллеров. Причина этого очевидна — он использует только два провода вместо четырех минимальных SPI. Это также хорошо поддерживается пользовательскими библиотеками. Есть много компонентов, предназначенных для использования с I2C на Raspberry Pi. Хотя он медленнее SPI, он все еще работает достаточно быстро для большинства повседневных задач.

Во многом как SPI, протокол имеет мастер устройство, такое как пи, и рабыня устройство, например экран, сдвиговый регистр или драйвер двигателя.

Первое соединение между устройствами SCL (Serial Clock), который задается мастером для синхронизации передачи данных. Вторая строка SDA (Serial Data), который передает данные туда и обратно между всеми устройствами на шине I2C.

Ведущее устройство начинает связь с Начните немного, и семибитный шестнадцатеричный адрес. Это должно соответствовать ведомому устройству, чтобы они могли общаться. Вот так много устройств можно использовать только с двумя проводами.

Ведущее устройство затем указывает, хочет ли оно читать или писать (R / W) раб, прежде чем получить подтверждение или ACK назад.

Простой и понятный взгляд на I2C снова предоставлен расширенными стартапами YouTuber:

Как включить I2C на Raspberry Pi

I2C также включен на Pi через raspi-конфигурации меню. Откройте терминал и введите:

sudo raspi-config

Используйте клавиши со стрелками для выбора Варианты интерфейса, с последующим P5 I2C Включить / отключить автоматическую загрузку модуля ядра I2C. Подтвердите, что вы хотите включить протокол, и вы должны увидеть экран подтверждения.

SPI и I2C на Raspberry Pi

Как и в случае с SPI, вы также можете включить I2C, изменив файл config.txt. Откройте терминал и введите:

sudo nano /boot/config.txt

Изменить #dtparam = i2c_arm = на, удаление # условное обозначение.

SPI и I2C на Raspberry Pi

Перезагрузите свой Pi, и I2C готов к работе!

Что вы можете сделать с I2C на Raspberry Pi?

I2C отлично подходит для любого проекта, который требует большого количества выходов. Типичное использование для ЖК-экранов, которые требуют до 16 контактов. I2C сводит это только к двум для связи и двум для питания и земли.

Многие ЖК-экраны поставляются с I2C «рюкзак» подключенный, что делает их намного проще в настройке и освобождает остальные контакты Pi для других датчиков и периферийных устройств.

TheRaspberryPiGuy имеет подробное руководство на YouTube по настройке и использованию ЖК-экрана с I2C на Raspberry Pi

Использование SPI и I2C сохраняет контакты!

SPI и I2C на Raspberry Pi, конечно, не для начинающих любителей электроники, но они также не должны бояться.

Перед тем, как окунуться в мир, неплохо было бы изучить руководство для начинающих по Raspberry Pi, чтобы изучить основы.

Работа над примерами проектов — лучший способ учиться, и мы с нетерпением ждем того, что вы придумали! Кто знает, какие странные и замечательные творения Raspberry Pi

ты сделаешь?

Ссылка на основную публикацию
Adblock
detector