html Стартовые биты, стоповые биты и выборка UART: объяснение — FCTELE
                                   +8618758069661 [email protected]
Поиск продукции Подсказка: пробел = И, | = ИЛИ, ! = НЕ

Как UART определяет границы каждого байта? Стартовые биты, стоповые биты и выборка

Есть вопросы? Позвоните нам сегодня!

+8618758069661

Или оставьте нам сообщение

Онлайн-сообщение

Как UART определяет границы каждого байта? Стартовые биты, стоповые биты и выборка

Просмотры: 11 +11Оригинальный материал FCTELEАвтор: техническая команда FCTELE

ВРЕМЕННЫЕ ПАРАМЕТРЫ СИМВОЛА UART

Как UART принимает данные без общего тактового сигнала?

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

01

Старт

A valid start event establishes the local timing reference.Find the start

Корректное стартовое событие задаёт локальную временную привязку.

02

Выборка

Sampling within stable bit intervals helps avoid transitions.Sample stable state

Выборка внутри стабильных битовых интервалов помогает избежать попадания на переходы.

03

Стоп

A low at the expected stop position can flag a framing error.Check expected high

Низкий уровень в ожидаемой стоповой позиции может вызвать индикацию ошибки кадрирования.

01 Согласование

Зафиксируйте скорость в бодах, число битов данных, чётность и число стоповых битов на обоих концах.

02 Наблюдение

Сопоставьте временные параметры логического сигнала и ошибки приёма в ходе разрешённого испытания.

03 Испытайте

Проверьте фактические байты приложения и интерпретацию сообщений.

Контрольный список выбора и проверки — развернуть
Проверка Что подтвердить Как проверить
Интерфейс Электрическая совместимость Изучите документацию модели
Символ Согласованность временных параметров и формата Сравните обе конфигурации
Применение Корректность байтов и сообщений Сохраняйте результаты испытаний с известными тестовыми последовательностями

У последовательных устройств нет отдельной общей линии тактового сигнала. Как же приёмник выделяет байт в изменяющемся сигнале? Ответ дают стартовые и стоповые биты, а также собственная временная база каждого устройства. Понимание этого процесса объясняет, почему небольшое различие настроек может привести к искажению символов или ошибкам кадрирования и почему наличие Ethernet-соединения не доказывает правильность приёма последовательных данных.

Позиции кадра 8N1 и передача из сдвигового регистра UART в буфер байтов
Рисунок 1: логические состояния и позиции полей, а не фиксированная форма сигнала данных. N означает отсутствие контроля чётности.

Отделяйте электрический интерфейс от формата символа

Промышленное оборудование может подключаться к серверам последовательных устройств или оптическим приёмопередатчикам данных через RS232 или RS485. Интерфейсный приёмопередатчик преобразует сигналы линии в логические сигналы, которые может обрабатывать микросхема. UART обрабатывает отдельные биты в соответствии с выбранным форматом символа. UART означает универсальный асинхронный приёмопередатчик; при асинхронной работе обычно отсутствует общая линия синхронизирующего тактового сигнала.

Высокий и низкий уровни на этих иллюстрациях обозначают логические состояния UART, а не фактические напряжения на разъёме RS232 или напряжение любого из проводников RS485 относительно земли. Тип интерфейса, опорная земля, дифференциальное подключение и ограничения устройства требуют отдельной проверки. Логическая диаграмма не является руководством по подключению, а выводы TTL нельзя напрямую подключать к несовместимому интерфейсу.

Тракт приёма можно упрощённо представить как линейный приёмопередатчик, логику приёма UART, буфер байтов и приложение. Передача сигнала между этапами не подтверждает, что приложение получило корректную запись прикладных данных. Приём символов должен работать правильно ещё до поступления данных в сеть.

Какие части кадра не являются данными приложения?

В распространённом формате 8N1 значение 8 указывает на восемь битов данных, N означает отсутствие контроля чётности, а 1 — один стоповый бит. Символ также содержит стартовый бит, поэтому восемь битов данных приложения — это не вся передача по линии. Стартовые и стоповые биты организуют символы; их нельзя добавлять к данным приложения в виде дополнительных значений.

В распространённом неинвертированном логическом представлении состоянию покоя соответствует высокий уровень, стартовому биту — низкий, а на стоповом бите уровень возвращается к высокому. Данные обычно передаются младшим битом вперёд, однако возможности периферийных устройств различаются, и документация обоих устройств должна подтверждать одинаковый порядок. Обозначения от D0 до D7 указывают позиции, а не фиксированный байт или обязательные переходы между соседними битами.

Последовательные биты данных с одинаковым значением могут сохранять одно и то же состояние линии. Приёмник не может отсчитать восемь битов, подсчитывая переходы. Для определения последовательных битовых интервалов он опирается на временную привязку после стартового события. Именно поэтому важно согласовать настройки скорости в бодах.

Как начинается приём из состояния покоя?

UART отслеживает свой вход. Обнаружив возможный стартовый переход, он проверяет низкий уровень на соответствие условиям старта, предусмотренным его реализацией, и назначает моменты выборки данных. Короткий импульс помехи не считается автоматически полноценным стартовым битом. Фильтрация и проверка старта различаются у разных периферийных устройств; нельзя предполагать, что оборудование использует одинаковую внутреннюю логику.

Представьте стартовый бит как сигнал готовности к началу перед каждым символом. Оба устройства согласуют приблизительный темп, после чего приёмник последовательно выполняет выборку по своему локальному таймеру. Эта аналогия не означает, что передаётся буквальная голосовая команда или что обычный UART автоматически распознаёт любую скорость в бодах. Совместимая конфигурация по-прежнему необходима.

Многие UART используют передискретизацию: за один битовый интервал их внутренний тактовый сигнал выборки выполняет несколько циклов, помогая подтвердить старт или определить момент выборки. Некоторые принимают решение по нескольким отсчётам. Это может помочь при определении положения фронтов и воздействии помех, но не обеспечивает устойчивость к неограниченным отклонениям. Коэффициент передискретизации одной микросхемы не является универсальной характеристикой изделий FCTELE.

Стартовые события UART заново выравнивают приём, а выборки попадают внутрь стабильных битовых интервалов
Рисунок 2: принципы обнаружения старта и выборки; упрощённые поля, а не измеренные осциллограммы.

Почему выборку выполняют ближе к середине бита?

Вблизи границы бита сигнал может находиться в переходном состоянии. Задержка распространения, скорость фронта и входные пороги влияют на то, когда приёмник определяет уровень как высокий или низкий. Выборка внутри стабильного интервала облегчает интерпретацию по сравнению с выборкой рядом с фронтом. Точки в середине поясняют принцип; они не означают, что реальная микросхема выполняет выборку только один раз или всегда точно в геометрическом центре.

Передатчик и приёмник используют отдельные локальные тактовые генераторы. Если их представления о длительности бита различаются, расчётные моменты выборки могут постепенно смещаться даже после выравнивания по старту. Различия временных параметров могут сильнее проявляться к концу символа, из-за чего выборка вблизи последнего бита данных или стопового бита может попасть в неверный интервал.

Эпизодически правильный приём коротких сообщений не доказывает надёжность конфигурации. Одни битовые последовательности могут скрывать проблему, а другие — выявлять её. Приёмочные испытания должны охватывать реальное содержимое приложения и длительную передачу, а не считать несколько читаемых символов в терминале достаточным доказательством.

Что может показать проверка стопового бита?

После настроенных битов данных и необязательного бита чётности приёмник проверяет стоповую позицию в соответствии со своей реализацией. Если там, где ожидается стоповое состояние, он видит низкий уровень, он может установить признак ошибки кадрирования. Ошибка кадрирования сообщает о неудачной проверке формата при приёме; она не определяет, какой провод неисправен.

Несогласованная скорость в бодах или формат символа, помехи и аномально длительный низкий уровень могут вызывать сходные симптомы. И наоборот, отсутствие ошибок кадрирования не доказывает правильность данных: ошибочная выборка может случайно обнаружить высокий уровень в стоповой позиции. Данные всё равно требуют проверки целостности или проверок на уровне приложения. Стоповый бит также не является маркером конца полного прикладного сообщения.

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

Сравнение нормальной стоповой выборки с высоким уровнем и стоповой выборки с низким уровнем и ошибкой кадрирования
Рисунок 3: проверка стоповой позиции и сообщение об ошибках зависят от реализации.

Как следующий кадр может восстановить временную привязку?

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

Посимвольная синхронизация не исправляет автоматически весь обмен. Если символ принят неправильно, протокол приложения всё равно должен обрабатывать пропущенные, повторённые или искажённые байты. Границы символов UART, границы сетевых пакетов сервера последовательных устройств и границы сообщений приложения различаются. Добавление стоповых битов не заменяет правильный разбор сообщений.

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

Сопоставляйте данные проверок на разных этапах

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

Серверы последовательных устройств и изделия для передачи данных FCTELE обеспечивают подключение промышленного оборудования. Фактические интерфейсы и возможности настройки зависят от документации соответствующей модели. Это руководство объясняет общие принципы приёма UART, а не внутреннюю схему или измеренные допустимые отклонения конкретного изделия, и не указывает неподтверждённую максимальную скорость. Подтверждающие материалы при сдаче должны включать конфигурации, условия испытаний, исходные осциллограммы и проверку на уровне приложения.

Источники

TI: обзор протокола UART и ошибок; Microchip: пример асинхронного приёмника; Информация о последовательных шлюзах FCTELE. Общие иллюстрации, а не схема изделия или результаты измерения допустимых отклонений.

Переведено с китайской технической статьи: Прочитать оригинальную статью на китайском языке.

Частые вопросы

Совпадают ли логические состояния UART с напряжениями RS232?

Нет. Линейный приёмопередатчик преобразует электрические сигналы; фактические напряжения интерфейса и подключение проводов проверяйте отдельно.

Доказывает ли отсутствие ошибок кадрирования правильность данных?

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

Завершает ли стоповый бит сообщение приложения?

Нет. Это часть формата символа; границы сообщений определяют протоколы приложения.

Область рассмотрения и дополнительные материалы

Общие временные принципы UART, а не схема конкретного устройства или измеренные допустимые отклонения.

Экранирование байтов и выделение границ сообщений при последовательной передаче · Пересылка Ethernet и техническое обслуживание

Поделиться статьёй