Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial Internet of Things >> Встроенный

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен

UART (Universal Asynchronous Receiver-Transmitter) остаётся наиболее широко принятым аппаратным протоколом для точечно-точечной коммуникации. Это руководство проведёт вас через конфигурацию UART, понимание его формата пакета и реализацию безопасных протоколов фреймов, которые необходимы при разработке продукта.

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

Мы рассмотрим основы UART — передачу пакетов, стандартный формат фрейма и кастомизированные фреймы, добавляющие ценность безопасности и соответствия. Статья также предлагает практические шаги для интерпретации даташитов и конфигурации периферии UART.

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

«Единственная крупнейшая проблема в коммуникации — иллюзия, что она состоялась».

— Джордж Бернард Шоу

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

В отличие от шинных протоколов, UART требует только линию передачи (Tx) и приём (Rx), упрощая дизайн платы и снижая потребление энергии.

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

Асинхронная последовательная коммуникация означает отсутствие общей линии тактирования; вместо этого передатчик и приёмник полагаются на согласованный бод-рейт для синхронизации.

Интерфейс

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 1. Два UART, напрямую общающиеся.

Каждый UART выставляет два выделенных пина:

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 2. UART, интерфейсный с шиной данных.

В этом расположении передающий UART преобразует параллельные данные от шины в последовательный битовый поток на своей линии Tx. Приёмный UART сэмплирует этот поток, реассемблируя биты в параллельные данные для локальной шины.

Обе стороны должны работать на одном бод-рейте — скорости в битах в секунду. Несоответствие может привести к ошибкам фрейминга; типичные UART терпят до 10% отклонения бод-рейта.

Таблица 1 суммирует ключевые атрибуты UART.

Таблица 1. Краткая сводка UART

Провода2
Поддерживаемые бод-рейты9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1 000 000, 1 500 000
Метод передачиАсинхронный
Макс. мастеров1
Макс. слейвов1

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

Передача данных

Каждый UART пакет содержит:

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 3. Структура пакета UART.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 4. Иллюстрация старт-бита.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 5. Пример дата-фрейма.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 6. Использование бита чётности.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 7. Иллюстрация стоп-бита.

Поток передачи

1. Параллельный ввод: Передатчик получает параллельные данные от шины.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 8. Шина данных питает передатчик.

2. Сборка фрейма: Передатчик добавляет старт-бит, добавляет биты чётности и стоп-биты, формируя полный пакет.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 9. UART пакет на передатчике.

3. Последовательная передача: Пакет отправляется бит-за-битом на сконфигурированном бод-рейте.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 10. Непрерывная UART передача.

4. Приём: Приёмник отбрасывает фрейминговые биты и восстанавливает оригинальные данные.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 11. Пакет на приёмнике.

5. Параллельный вывод: Приёмник конвертирует последовательные данные обратно в параллельные и передаёт их на локальную шину.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 12. Поток данных к приёмной шине.

Кастомные протоколы фреймов

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

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

Рисунок 13 показывает типичный кастомный фрейм:

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 13. Пример протокола UART фрейма.

Фрейм обычно содержит:

Обе стороны должны использовать идентичные правила фрейминга; иначе пакеты будут отвергнуты.

Шаги конфигурации UART

1. Изучите даташит для понимания интерфейса UART и назначения пинов.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 14. Фрагмент даташита микроконтроллера.

2. Проверьте карту памяти для регистров UART и адресов.

Мастерство UART: универсальный асинхронный приёмник/передатчик подробно объяснен
Рисунок 15. Карта памяти микроконтроллера.

3. Определите параметры UART порта — биты данных, чётность, стоп-биты, режим работы. Пример описания:

• 5–8 бит данных
• 1, 1½ или 2 стоп-бита
• Нет, чётная или нечётная чётность
• Полнодуплексный, DMA-enabled, асинхронный трансфер

4. Вычислите бод-рейт используя периферийный такт (PCLK) и регистры оверсэмплирования и делителя МК. Общая формула:

Baud rate = PCLK / ((M + N/2048) × 2OSR + 2 × DIV)

где:
OSR — коэффициент оверсэмплирования (0–3)
DIV — делитель бод-рейта (1–65535)
M — старшая часть дробного делителя (1–3)
N — младшая часть дробного делителя (0–2047)

Примерные таблицы ниже иллюстрируют настройки бод-рейта для PCLK 26 МГц и 16 МГц.

Таблица 2. Пример бод-рейта на базе 26 МГц PCLK

Baud RateOSRDIVDIVMDIVN
960032431078
1152003411563

Таблица 3. Пример бод-рейта на базе 16 МГц PCLK

Baud RateOSRDIVDIVMDIVN
960031731078
115200322348

5. Настройте регистры UART согласно даташиту. Ключевые регистры включают:

Таблица 4. Описание регистров UART

ИмяОписание
UART_DIVДелитель бод-рейта
UART_FIBRУправление дробным бод-рейтом
UART_LCR2Регистр управления линией (OSR, стоп-биты, чётность)

После программирования регистров UART может надежно передавать и принимать данные.

Почему UART важен

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

Частые сценарии использования

Ссылки

«Basics of UART Communication.» Electronics Hub, July 2017.
Campbell, Scott. «Basics of UART Communication.» Circuit Basics. Keim, Robert.
«Back to Basics: The Universal Asynchronous Receiver/Transmitter.» All About Circuits, December 2016.
«What Is UART Protocol? UART Communication Explained.» Arrow.

Встроенный

  1. Экспертное производство валов: точные процессы и индивидуальные решения
  2. Почему облачная культура движет бизнес-успехом: практическое руководство
  3. Как предиктивное обслуживание повышает эффективность и сокращает простой
  4. Фрезерные станки 101: полное руководство по функциям, компонентам и применению
  5. Линии поперечной раскройки (Cut-to-Length): ключевые концепции и применения
  6. Остаточные напряжения в материалах: типы, причины и практические применения
  7. Принцип работы амортизаторов: обеспечение баланса и комфорта автомобиля
  8. Течение жидкостей: виды, поведение и применение
  9. Муфты: функции, виды и применение в промышленном оборудовании
  10. Гибкость материалов: как эластичность определяет производительность