Главная / Без рубрики / Цифровые интерфейсы передачи данных: UART, SPI, I2C, 1‑Wire

Цифровые интерфейсы передачи данных: UART, SPI, I2C, 1‑Wire

1. Введение: зачем нужны цифровые интерфейсы

В современных электронных системах устройства постоянно обмениваются данными: микроконтроллеры общаются с датчиками, памятью, дисплеями, модулями связи. Для этого требуются стандартизированные интерфейсы — протоколы и физические линии, обеспечивающие:

  • надёжную передачу битов;
  • адресацию и выбор устройств;
  • синхронизацию отправителя и получателя;
  • контроль ошибок и управление потоком.

Ключевые параметры интерфейсов:

  • скорость передачи (бит/с);
  • топология (точка‑точка, шина, кольцо);
  • число проводов/контактов;
  • поддержка множественных ведомых устройств;
  • энергопотребление;
  • сложность реализации.

Ниже рассмотрены четыре широко распространённых интерфейса: UART, SPI, I²C, 1‑Wire.


2. UART (Universal Asynchronous Receiver/Transmitter)

2.1. Общее описание

UART — асинхронный интерфейс для последовательной передачи данных. Не требует отдельной линии синхронизации: отправитель и получатель согласовывают скорость заранее.

Области применения:

  • отладка и логгирование (вывод сообщений в терминал);
  • связь между микроконтроллерами;
  • подключение модулей GPS, GSM, Wi‑Fi;
  • программирование микроконтроллеров.

2.2. Физический уровень

  • TX (Transmit) — выход передатчика;
  • RX (Receive) — вход приёмника;
  • земля (GND) — общий провод.

Напряжение:

  • TTL (0 В / 5 В или 0 В / 3,3 В);
  • RS‑232 (±12 В) — требует преобразователя.

2.3. Формат кадра

Каждый байт передаётся в кадре:

  1. Стартовый бит (0) — сигнализирует о начале кадра.
  2. Данные (5–9 бит, обычно 8 бит, младший бит первым).
  3. Бит чётности (опционально: Even, Odd или отсутствует).
  4. Стоповые биты (1, 1.5 или 2 бита, значение 1).

Пример: 8‑N‑1 = 8 бит данных, без чётности, 1 стоповый бит.

2.4. Скорости передачи (бод)

Стандартные значения: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 бод.
Максимальная скорость зависит от длины линии и помех.

2.5. Синхронизация

Отправитель и получатель должны быть настроены на одинаковую скорость. Допустимое расхождение — обычно не более 2–5 %.

2.6. Преимущества и недостатки

Плюсы:

  • минимум проводов (2 линии + GND);
  • простота реализации;
  • широкая поддержка в микроконтроллерах.

Минусы:

  • нет адресации (только точка‑точка);
  • нет контроля потока на уровне протокола (используют RTS/CTS отдельно);
  • чувствительность к рассинхронизации при высоких скоростях.

2.7. Примеры реализаций

  • встроенные UART в STM32, AVR, ESP32;
  • конвертеры USB‑to‑UART (CP2102, FT232RL).

3. SPI (Serial Peripheral Interface)

3.1. Общее описание

SPI — синхронный последовательный интерфейс для связи микроконтроллера с периферийными устройствами (датчики, память, дисплеи).

Особенности:

  • высокая скорость (до десятков МГц);
  • полнодуплексная передача (одновременная отправка и приём);
  • простая логика, но много проводов.

3.2. Линии и сигналы

  • MOSI (Master Out Slave In) — данные от мастера к ведомому;
  • MISO (Master In Slave Out) — данные от ведомого к мастеру;
  • SCLK (Serial Clock) — тактовый сигнал от мастера;
  • CS (Chip Select, SS) — выбор ведомого (активный низкий).

Земля (GND) — общий провод.

3.3. Топология и адресация

  • Один мастер, несколько ведомых.
  • Каждое ведомое устройство имеет свой сигнал CS.
  • Одновременно активен только один ведомый (по сигналу CS).

3.4. Режимы работы (полярность и фазе такта)

Определяются комбинацией:

  • CPOL (Clock Polarity): уровень такта в покое (0 или 1);
  • CPHA (Clock Phase): момент выборки данных (на переднем или заднем фронте).

Четыре режима:

  • Mode 0: CPOL = 0, CPHA = 0;
  • Mode 1: CPOL = 0, CPHA = 1;
  • Mode 2: CPOL = 1, CPHA = 0;
  • Mode 3: CPOL = 1, CPHA = 1.

Устройство должно поддерживать один или несколько режимов.

3.5. Процесс передачи

  1. Мастер опускает CS выбранного ведомого.
  2. Мастер генерирует такты на SCLK.
  3. На каждом такте:
    • мастер выставляет бит на MOSI;
    • ведомый выставляет бит на MISO.
  4. После передачи байта мастер поднимает CS.

3.6. Преимущества и недостатки

Плюсы:

  • высокая скорость;
  • полнодуплекс;
  • простая логика (сдвиг регистров);
  • поддержка цепочечной передачи (daisy‑chain).

Минусы:

  • много проводов (4 + GND);
  • нет встроенной проверки ошибок;
  • только точка‑точка или звезда (не шина);
  • длина линии ограничена (обычно до десятков см).

3.7. Примеры устройств

  • датчики давления (BMP280);
  • Flash‑память (W25Q32);
  • OLED‑дисплеи;
  • АЦП/ЦАП.

4. I²C (Inter‑Integrated Circuit)

4.1. Общее описание

I²C — двухпроводной синхронный интерфейс для связи интегральных схем на одной плате. Разработан Philips (NXP).

Особенности:

  • шина (много мастеров и ведомых);
  • адресация устройств;
  • контроль ошибок (ACK/NACK);
  • низкая/средняя скорость (100 кбит/с, 400 кбит/с, 1 Мбит/с, 3,4 Мбит/с).

4.2. Линии

  • SDA (Serial Data) — двунаправленная линия данных;
  • SCL (Serial Clock) — линия тактового сигнала;
  • Земля (GND).

Обе линии подтянуты к питанию через резисторы (обычно 4,7 кОм).

4.3. Адресация

  • Каждое устройство имеет 7‑битный адрес (10‑битные — реже).
  • Адрес передаётся первым байтом после стартового условия.
  • Мастер инициирует передачу, указывая адрес ведомого.

4.4. Формат кадра

  1. Стартовое условие (START): SDA падает при SCL = 1.
  2. Адрес ведомого (7 бит) + бит направления (R/W: 0 — запись, 1 — чтение).
  3. ACK от ведомого (SDA = 0 на 9‑м такте).
  4. Данные (8 бит), после каждого — ACK/NACK.
  5. Стоповое условие (STOP): SDA поднимается при SCL = 1.

4.5. Режимы

  • Standard Mode: 100 кбит/с;
  • Fast Mode: 400 кбит/с;
  • Fast Mode Plus: 1 Мбит/с;
  • High‑Speed Mode: 3,4 Мбит/с.

4.6. Мультимастерность

  • Несколько мастеров могут управлять шиной.
  • Механизм арбитража предотвращает конфликты: если мастер видит, что SDA не соответствует его передаче, он отступает.

4.7. Преимущества и недостатки

Плюсы:

  • всего 2 провода + GND;
  • поддержка множества устройств на одной шине;
  • встроенная проверка (ACK);
  • горячая замена устройств (при соблюдении правил).

Минусы:

  • ограниченная скорость;
  • сложная логика (арбитраж, обработка START/STOP);
  • ограниченная длина линии (из‑за ёмкости и подтяжек);

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *