Открыть сервис

Стартовый бит

Стартовый бит (англ. start bit) — в асинхронной последовательной передаче данных это специальный бит, который предшествует передаче полезной нагрузки (байта данных) и сигнализирует приёмнику о начале новой посылки. Он является обязательным элементом протокола асинхронной связи, обеспечивая синхронизацию между передатчиком и приёмником без использования отдельного тактового сигнала.

История

Понятие стартового бита возникло с развитием телеграфии и ранних систем передачи данных. В телеграфных аппаратах, работающих по принципу старт-стопной передачи, стартовый бит служил для запуска механизма печати. В 1930-х годах этот принцип был стандартизирован в телетайпах (например, в системе Baudot), где каждая буква кодировалась 5 битами, а перед ними передавался стартовый бит, а после — стоповый бит.

С появлением цифровых вычислительных машин и последовательных интерфейсов (RS-232, UART) в 1960-х годах стартовый бит стал неотъемлемой частью асинхронного протокола. В 1970-х годах стандарт RS-232C закрепил использование стартового бита для синхронизации передачи данных на скоростях до 20 кбит/с. Впоследствии, с развитием микроконтроллеров и периферийных устройств, стартовый бит остался в таких протоколах, как I²C, SPI (в некоторых режимах) и CAN.

Принцип работы

Асинхронная передача

В асинхронной последовательной связи передатчик и приёмник не имеют общего тактового сигнала. Синхронизация осуществляется за счёт стартового бита. Каждая посылка (кадр) начинается с перехода линии из состояния «1» (пассивное, маркер) в состояние «0» (активное, пробел). Этот переход (спад сигнала) воспринимается приёмником как сигнал начала передачи.

Структура кадра

Типичный кадр асинхронной передачи включает:

  • Стартовый бит (всегда «0»).
  • Биты данных (обычно 5–9 бит, чаще всего 8 бит).
  • Бит чётности (опционально, для контроля ошибок).
  • Стоповый бит (всегда «1», длительностью 1, 1,5 или 2 бита).

После стопового бита линия возвращается в состояние «1» до следующего стартового бита. Длительность стартового бита равна длительности одного бита (определяется скоростью передачи, например, 9600 бит/с).

Обнаружение стартового бита

Приёмник непрерывно отслеживает линию данных. При обнаружении перехода из «1» в «0» он запускает внутренний таймер, который отсчитывает половину длительности бита. Если через половину бита линия всё ещё находится в «0», приёмник подтверждает, что это действительно стартовый бит, а не помеха. Затем он начинает считывать биты данных с заданной частотой (обычно в середине каждого бита).

Классификация

По типу протокола

  • Асинхронные протоколы (RS-232, UART, телетайп) — стартовый бит обязателен.
  • Синхронные протоколы (например, SPI, I²C в режиме с синхросигналом) — стартовый бит не используется, так как синхронизация обеспечивается отдельным тактовым сигналом.
  • Полусинхронные протоколы (например, CAN) — стартовый бит присутствует в виде бита начала кадра (SOF), но его функция аналогична.

По длительности

  • Стартовый бит всегда имеет длительность одного бита (1 битовый интервал). В некоторых специализированных протоколах (например, в LIN) допускается удлинение стартового бита для синхронизации с низкоскоростными устройствами.

Применение

Компьютерные интерфейсы

  • RS-232 — стандартный последовательный порт (COM-порт) на персональных компьютерах. Стартовый бит используется для передачи данных между компьютером и модемом, мышью, принтером или другим устройством.
  • UART (Universal Asynchronous Receiver/Transmitter) — аппаратный блок, реализующий асинхронную передачу. Встроен в микроконтроллеры (например, AVR, STM32) и используется для связи с датчиками, GPS-модулями, Bluetooth-адаптерами.

Промышленные сети

  • RS-485 — дифференциальный интерфейс, используемый в промышленных системах автоматизации (Modbus, Profibus). Стартовый бит обеспечивает синхронизацию в многоточечных линиях.
  • CAN (Controller Area Network) — протокол для автомобильной электроники. Стартовый бит (SOF) синхронизирует все узлы сети.

Телекоммуникации

  • Модемы — при передаче данных по телефонным линиям стартовый бит используется в протоколах V.21, V.22 и других.
  • Телетайпы — исторически стартовый бит применялся в телеграфных аппаратах (например, в системе «Бодо»).

Встраиваемые системы

  • 1-Wire — протокол для связи с датчиками температуры (DS18B20). Стартовый бит инициирует передачу команды.
  • I²C — в режиме быстрой передачи (Fast Mode) стартовый бит (S) сигнализирует о начале транзакции.

Характеристики

Скорость передачи

Стартовый бит не влияет на скорость передачи данных, но увеличивает накладные расходы. Например, при передаче 8 бит данных с одним стартовым и одним стоповым битом полезная скорость составляет 80% от полной (8 из 10 бит).

Надёжность

  • Стартовый бит обеспечивает устойчивость к помехам: приёмник может игнорировать ложные срабатывания, если переход не подтверждается через половину бита.
  • Отсутствие стартового бита (например, в синхронных протоколах) требует более сложной схемы синхронизации (PLL, фазовая автоподстройка частоты).

Ограничения

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

Примеры реализации

UART на микроконтроллере AVR

При настройке UART (например, в ATmega328) регистры UCSR0B и UCSR0C задают формат кадра: 8 бит данных, 1 стартовый бит, 1 стоповый бит. При передаче байта 0x55 (двоично: 01010101) последовательность на линии будет: 0 (старт), 1, 0, 1, 0, 1, 0, 1, 0 (данные), 1 (стоп).

RS-232 на компьютере

В операционной системе Windows настройка COM-порта (например, через терминальную программу) включает параметры: скорость (9600 бит/с), 8 бит данных, 1 стоповый бит, без чётности. Стартовый бит автоматически добавляется аппаратным обеспечением UART.

Критика и альтернативы

Недостатки

  • Накладные расходы: каждый байт данных требует дополнительных 2 бита (старт и стоп), что снижает эффективность пропускной способности на 20% (для 8-битных данных).
  • Зависимость от точности тактирования: приёмник и передатчик должны иметь близкие частоты (обычно допуск ±2–5%), иначе стартовый бит может быть неверно интерпретирован.

Альтернативы

  • Синхронная передача (например, SPI) — не требует стартового бита, так как синхронизация осуществляется по тактовому сигналу. Это увеличивает скорость передачи, но требует дополнительной линии.
  • Самосинхронизирующиеся коды (например, манчестерский код) — кодируют данные так, что синхронизация восстанавливается из самого сигнала, без стартового бита.
  • Протоколы с преамбулой (например, Ethernet) — используют длинную преамбулу для синхронизации, а не один стартовый бит.

Интересные факты

  • В телетайпах стартовый бит физически запускал механизм печати, что требовало точного времени.
  • В протоколе MIDI (Musical Instrument Digital Interface) стартовый бит используется для синхронизации музыкальных инструментов.
  • В некоторых реализациях UART стартовый бит может быть заменён на «бит начала кадра» в режиме с автоматическим обнаружением.

Источники

  • Стандарт EIA/TIA-232-F (RS-232) — интерфейс последовательной передачи данных.
  • Техническая документация микроконтроллеров Atmel AVR (раздел UART).
  • «Цифровая схемотехника» — учебное пособие по последовательным интерфейсам.
  • Спецификация протокола CAN (ISO 11898).
  • Книга «Computer Networks» (Andrew S. Tanenbaum) — описание асинхронной передачи.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →