Стартовый стоп-символ
Стартовый стоп-символ — это специальный управляющий символ в кодировках цифровых данных, который обозначает начало или конец блока передаваемой информации. В системах передачи данных и хранения информации стартовые и стоповые символы выполняют функцию синхронизации: они позволяют приёмнику определить момент начала и окончания кадра данных (пакета), что критически важно для корректного декодирования последовательного потока битов в условиях асинхронной или синхронной передачи. Термин часто используется в контексте последовательных интерфейсов, таких как RS-232, UART, а также в протоколах канального уровня, например HDLC или Ethernet.
История и происхождение
Концепция стартового и стопового символа возникла с развитием телеграфной и телетайпной связи в XIX — начале XX века. В первых электромеханических системах передачи данных (например, код Бодо) использовались фиксированные стартовые и стоповые импульсы для синхронизации механических принтеров. С переходом к цифровым системам в середине XX века, особенно с появлением асинхронных последовательных интерфейсов, стартовый стоп-символ стал стандартным элементом протоколов, таких как RS-232 (EIA-232), принятый в 1962 году.
Классификация и виды
Стартовые стоп-символы можно классифицировать по типу передачи данных и роли в кадре.
По типу передачи
- Асинхронная передача — стартовый и стоповый бит добавляются к каждому байту данных. Стартовый бит (обычно логический 0) указывает на начало байта, стоповый бит (логическая 1) — на конец. Используется в UART, RS-232.
- Синхронная передача — данные передаются непрерывным потоком, а стартовые и стоповые символы могут быть частью кадра (например, флаги в HDLC — 01111110) или выделяться специальными кодами.
- Квазисинхронная передача — комбинирует элементы обоих подходов, например в USB или CAN.
По роли в кадре
- Стартовый символ — обозначает начало кадра (например, преамбула в Ethernet или байт 0x7E в HDLC).
- Стоповый символ — обозначает конец кадра (например, постфикс или стоповый бит в асинхронной передаче).
- Комбинированный символ — в некоторых протоколах один символ может выполнять обе функции (например, в SLIP — Serial Line Internet Protocol).
Устройство и характеристики
В асинхронной последовательной передаче (например, UART) кадр данных имеет следующую структуру:
- Стартовый бит — один бит, обычно логический 0 (низкий уровень сигнала). Он синхронизирует тактовый генератор приёмника с передатчиком.
- Биты данных — от 5 до 9 бит (чаще 8), представляющие полезную информацию.
- Бит чётности (опционально) — для контроля ошибок.
- Стоповый бит — один или два бита, обычно логическая 1 (высокий уровень). Указывает на конец кадра и даёт время для подготовки к приёму следующего.
В синхронных протоколах стартовый стоп-символ может быть многобайтовым. Например, в Ethernet кадр начинается с преамбулы (7 байт 0xAA) и стартового разделителя (1 байт 0xAB), а заканчивается контрольной суммой (FCS) и межкадровым интервалом.
Параметры
- Длина — от 1 бита (асинхронная передача) до нескольких байт (синхронная).
- Кодировка — часто используется манчестерское кодирование или NRZ (Non-Return to Zero).
- Скорость передачи — от 110 бит/с (старые телетайпы) до 10 Гбит/с (современные Ethernet).
Применение
Стартовые стоп-символы широко используются в различных областях цифровой связи и хранения данных.
В последовательных интерфейсах
- RS-232 — стандартный интерфейс для подключения модемов, принтеров и промышленного оборудования. Каждый байт сопровождается стартовым и стоповым битом.
- UART — универсальный асинхронный приёмопередатчик, встроенный в микроконтроллеры (например, Arduino, STM32). Используется для связи с датчиками, GPS-модулями, Bluetooth-адаптерами.
- I²C — синхронный интерфейс, где стартовый и стоповый сигналы задаются изменением состояния линий SDA и SCL.
В сетевых протоколах
- Ethernet — кадр начинается с преамбулы и стартового разделителя, что позволяет приёмнику синхронизироваться.
- HDLC — кадр обрамляется флагами 0x7E, которые выполняют роль стартового и стопового символа.
- USB — пакет начинается с синхропоследовательности (SYNC) и заканчивается сигналом EOP (End of Packet).
В системах хранения данных
- Жёсткие диски — при записи данных на магнитный носитель используются преамбулы для синхронизации головки чтения.
- CD/DVD — на дорожке записываются синхронизирующие биты, указывающие начало сектора.
В телекоммуникациях
- GSM/3G/4G — в радиоканале кадры данных содержат стартовые и стоповые последовательности для синхронизации базовой станции и мобильного устройства.
- Спутниковая связь — используется для компенсации задержек и джиттера сигнала.
Примеры
- Асинхронная передача через RS-232:
- Стартовый бит: 0
- Данные: 8 бит (например, 01010101)
- Стоповый бит: 1
- Полный кадр: 0 01010101 1
- Кадр Ethernet:
- Преамбула: 7 байт 0xAA
- Стартовый разделитель: 1 байт 0xAB
- MAC-адреса, данные, FCS
- Межкадровый интервал: 96 бит времени
- Протокол SLIP:
- Стартовый/стоповый символ: 0xC0 (END)
- Если данные содержат 0xC0, используется escape-последовательность 0xDB 0xDC
Критика и ограничения
Использование стартовых стоп-символов имеет ряд недостатков:
- Накладные расходы — в асинхронной передаче каждый байт требует дополнительных 2-3 бита, что снижает эффективную скорость передачи (например, при 8 битах данных и 2 стоповых битах накладные расходы составляют 27%).
- Синхронизация — при длинных кадрах в асинхронной передаче возможен дрейф тактовых генераторов, что приводит к ошибкам. Для компенсации используются более точные кварцевые резонаторы или ресинхронизация.
- Устойчивость к помехам — в условиях сильных электромагнитных помех стартовый бит может быть ошибочно интерпретирован, что приводит к потере кадра. Для защиты применяются контрольные суммы (CRC) и биты чётности.
- Сложность реализации — в синхронных протоколах требуется аппаратная поддержка для обнаружения флагов и обработки escape-последовательностей (например, в HDLC).
Интересные факты
- В старых телетайпах (например, модели Teletype Model 33) стартовый и стоповый биты были необходимы для механической синхронизации вращающегося барабана с принтером.
- В протоколе MIDI (Musical Instrument Digital Interface) стартовый бит отсутствует, а стоповый заменяется битом чётности, что связано с низкой скоростью передачи (31,25 кбит/с).
- В космической связи (например, NASA Deep Space Network) стартовые стоп-символы заменяются на специальные коды, устойчивые к многолетним задержкам сигнала.
Источники
- Таненбаум Э., Уэзеролл Д. Компьютерные сети. — 5-е изд. — СПб.: Питер, 2012. — 960 с.
- Хоровиц П., Хилл У. Искусство схемотехники. — 7-е изд. — М.: Мир, 2003. — 704 с.
- Столлингс В. Компьютерные системы передачи данных. — 6-е изд. — М.: Вильямс, 2004. — 928 с.
- Спецификация RS-232 (EIA-232). Electronic Industries Alliance, 1962.
- IEEE 802.3-2022 — Standard for Ethernet. IEEE, 2022.
- ISO/IEC 13239:2002 — Information technology — Telecommunications and information exchange between systems — High-level data link control (HDLC) procedures. ISO, 2002.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →