m09-05 теория 6 мин

Что выбрать: таблица решений

Три интерфейса закрывают почти всё, и выбор между ними — вопрос задачи, а не вкуса.

UART: две линии, точка-точка, без тактирования, скорости 9600–921600. Просто, дёшево, но только один собеседник. Хорош для отладочного вывода, GPS, Bluetooth-модулей, связи двух плат.

I2C: две линии, до 127 устройств, адресация, 100–400 кГц. Медленно, но экономно по пинам. Хорош для датчиков, экранов, EEPROM, часов реального времени.

SPI: четыре линии (плюс CS на устройство), до десятков МГц, полный дуплекс. Быстро, но много пинов. Хорош для SD-карт, дисплеев, flash, быстрых АЦП, радиомодулей.

Правила выбора:

— Нужна скорость — SPI.
— Нужно много устройств на двух проводах — I2C.
— Один собеседник и простота — UART.
— Нужна помехоустойчивость на расстоянии — RS-485 или CAN, не эти три.
— Нужна гальваническая развязка — оптопара или цифровой изолятор.

Практические сочетания: дисплей на SPI + датчики на I2C + отладка по UART — типичная архитектура любительского устройства. Это нормально: интерфейсы не конкурируют, а дополняют.

Что ещё учитывать: у ESP32 можно назначить UART/I2C/SPI почти на любые пины (матрица GPIO), у AVR — фиксированные. Число аппаратных интерфейсов ограничено, остальные делают программно (bit-bang), но это медленнее и грузит процессор.

И самое частое: не хватает пинов. Тогда берут расширитель (74HC595, PCF8574) или переходят на I2C-версии модулей.

Зачем

Правильный выбор интерфейса экономит пины, провода и недели отладки.

Сделай сейчас

Нарисуй таблицу для своего проекта: устройство → интерфейс → скорость → пины. Станет видно, чего не хватает.

Проверь себя

У вас три датчика и экран, а свободных пинов мало. Что выбрать?

Датчики на I2C (две линии на всех, если адреса разные), экран — тоже I2C, если позволяет скорость. Если экран только SPI — он занимает 4–5 пинов, остальное на I2C.

Пройти тест 5 заданий
0 из 102 · 0%
Источники
  1. Wikipedia: Universal asynchronous receiver-transmitter
    сравнение с I2C/SPI
  2. Wikipedia: Serial Peripheral Interface
    скорости и линии