Управление потоком последовательного порта UART (Управление потоком) «Рекомендуемый сбор»
Управление потоком последовательного порта UART (Управление потоком) «Рекомендуемый сбор»

Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.

Обычно при последовательной связи на некоторых хост-компьютерах мы видим опции RTS/CTS, DTR/DSR и XON/XOFF. Это опции управления конвекцией. Они обычно применяются к интерфейсу RS232 и используются для обработки данных модема.

1. Роль управления потоком

Что здесь упомянуто "поток",Относится к потоку данных при передаче данных;,контроль потокаЭто процесс управления скоростью передачи данных между двумя узлами,Чтобы предотвратить переполнение буфера данных на принимающей стороне,Отправитель все еще продолжает отправлять данные,что приводит к потере данных

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

Когда буфер данных принимающей стороны заполнен и не может обработать данные, он отправляет сигнал «больше не принимает», и отправляющая сторона прекращает отправку данных до тех пор, пока отправляющая сторона не получит сигнал «можно продолжать отправлять» перед отправкой данных. В компьютерах обычно используются два типа управления потоком: аппаратное управление потоком (RTS/CTS, DTR/DSR и т. д.) и программное управление потоком (XON/XOFF).

3. Определение контакта RS232.

RS-232 изначально был разработан для подключения к модемам для передачи, поэтому значения его контактов обычно связаны с передачей через модем. Оборудование RS-232 можно разделить на две категории: терминальное оборудование данных (DTE, терминальное оборудование данных, например ПК) и оборудование передачи данных (DCE, оборудование передачи данных). Эта классификация определяет различные линии для отправки и получения сигнала. Вообще говоря, компьютеры и терминальное оборудование имеют разъемы DTE, а модемы и принтеры — разъемы DCE. Но это не всегда строго правильно. Для проверки соединения используйте ответвитель или методом проб и ошибок определите, исправен ли кабель. Часто приходится обращаться к соответствующей документации.

RS-232 в настоящее время имеет разъемы типа DB-25 и DB-9, чаще используется интерфейс типа DB-9.

Назначение контактов типа DB-9 в RS-232:

Язык кода:javascript
копировать
         DB-9 Male(Pin Side)                   DB-9 Female (Pin Side)
             -------------                          -------------
             \ 1 2 3 4 5 /                          \ 5 4 3 2 1 /
              \ 6 7 8 9 /                            \ 9 8 7 6 /
               ---------                              ---------

Описание сигнального контакта:

положение ног

аббревиатура

значение

Сигнал

иллюстрировать

Pin1

DCD

Data Carrier Detect

Обнаружение носителя данных (DCD)

Модем уведомляет компьютер об обнаружении несущей.

Pin2

RXD

Receiver

Принять данные (RD, RXD)

Получите данные.

Pin3

TXD

Transmit

Отправка данных (TD, TXD)

Отправить данные.

Pin4

DTR

Data Terminal Ready

Подготовка терминала данных (DTR)

Компьютер сообщает модему, что передача доступна.

Pin5

GND

Ground

точки соприкосновения

Заземляющий провод.

Pin6

DSR

Data Set Ready

Готовность данных (DSR)

Модем сообщает компьютеру, что все готово.

Pin7

RTS

Request To Send

Запрос на отправку (RTS)

Компьютер запрашивает модем отправить данные.

Pin8

CTS

Clear To Send

Ясно для отправки (CTS)

Модем уведомляет компьютер о возможности передачи данных.

Pin9

RI

Ring Indicator

Индикация звонка (RI)

Модем уведомляет компьютер о входящем вызове.

4. Аппаратное управление потоком данных (в основном RTS/CTS)

RTS/CTS изначально был разработан для полудуплексной совместной связи между телетайпами и модемами, что позволяло одновременно использовать только один модем. Отправить данные Терминал должен отправить запрос на отправку Сигнала, а затем дождаться, пока модем ответит четкой отправкой Сигнала. хотя RTS /CTS обеспечивает подтверждение связи аппаратно, но у него есть свои преимущества.

1. Стандартный метод подключения RS232.

когда После того, как устройство на стороне А готово, оно выдает Сигнал DTR (готовность устройства передачи данных), передано в сторона B РИ (Кольцо) и DSR (готовность устройства связи). Таким образом, пока Когда A готов (DTR), сторона B сгенерирует вызов (RI) и будет готова (DSR).

заметил RTS (запрос на отправку), CTS (разрешение отправки) и сторона B CD (обнаружение несущей), соединенный вместе, ноиллюстрировать Aодин раз Запрос на отправку (RTS) будет разрешено немедленно (CTS), и сделать Несущая сигнала (CD) обнаружена на терминале B. сторона А TXD и сторона B RXD подключен, A отправляет, а B получает.

2. Упрощенный метод подключения RS232.

Оказывается, RTS и CTS используются для запроса и ответа о возможности передачи данных. Но в этом методе соединения он просто сообщает другой стороне, может ли она общаться. В настоящее время для управления потоком данных можно использовать как RTS, так и DTR.

сторона А Выдан сигнал DTR (устройство передачи данных готово), когда После того, как сторона Б готова, сторону B DTR (устройство данных готово) для сторона А DSR (оборудование связи готово) выдал Сигнал. Тогда ты сможешь пройти РТС (запрос на отправку) и DTR (разрешить отправку) для управления связью.

3. Дальнейшее упрощение (то есть ориентация на RTS/CTS)

Как вы можете видеть из приведенного выше процесса, аппаратное управление потоком в основном контролируется RTS/CTS и DTR/DSR. Однако люди ленивы настолько, насколько могут, поэтому теперь часто они просто используют RTS/CTS, чтобы сообщить об этом другой стороне. могут ли они общаться, и напрямую пропускает определение состояния готовности DTR/DSR.

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

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

5. Программное управление потоком данных

Программное управление потока(Software flow control) — метод управления потоком данных в компьютерных каналах передачи данных, особенно подходящий для Последовательная связь RS-232; для передачи внутриполосной сигнализации используются специальные кодированные символы. XOFFи XON(Соответственно “transmit off” и “transmit on"). Поэтому его еще называют “XON /XOFF управление потоком";

Используя набор символов ASCII, XOFF обычно представляет собой байтовое значение 19 (десятичное), а XON — байтовое значение 17.

кодовое имя

значение

ASCII

десятичный

шестнадцатеричный

XOFF

Приостановить передачу

DC3

19

13

XON

Возобновить передачу

DC1

17

11

Стоит отметить, что: он является получателем

Его основная обработка: получатель использует Сигнал XON сообщает отправителю, что я готов получить больше данных, используйте Сигнал XOFF сообщает отправителю прекратить отправку данных до тех пор, пока получатель не отправит их. XONСигнал сообщает отправителю, что я снова готов.

XON /XOFF — это внутриполосный метод, который работает между терминалами, но оба конца должны поддерживать этот протокол, и при внезапном запуске может возникнуть путаница; XON /XOFF может работать на 3-проводном интерфейсе;

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

XON Использование /XOFF обычно не рекомендуется и не рекомендуется. RTS /CTS поток управления вместо них. Поскольку последовательный порт передает двоичные данные, некоторые из них могут содержаться в отправляемых вами данных. Появляются двоичные значения, соответствующие XON и XOFF, что приводит к неправильной работе. Это программный контроль. поток Дефекты аппаратного контроля Однако у потока не будет этой проблемы; XON и XOFF выполняют замену и комбинацию специальных символов для обеспечения стабильной связи.

6. Базовый контроль UART

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

Связь:Принципы и применение последовательных портов

Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/134993.html Исходная ссылка: https://javaforall.cn

boy illustration
Углубленный анализ переполнения памяти CUDA: OutOfMemoryError: CUDA не хватает памяти. Попыталась выделить 3,21 Ги Б (GPU 0; всего 8,00 Ги Б).
boy illustration
[Решено] ошибка установки conda. Среда решения: не удалось выполнить первоначальное зависание. Повторная попытка с помощью файла (графическое руководство).
boy illustration
Прочитайте нейросетевую модель Трансформера в одной статье
boy illustration
.ART Теплые зимние предложения уже открыты
boy illustration
Сравнительная таблица описания кодов ошибок Amap
boy illustration
Уведомление о последних правилах Points Mall в декабре 2022 года.
boy illustration
Даже новички могут быстро приступить к работе с легким сервером приложений.
boy illustration
Взгляд на RSAC 2024|Защита конфиденциальности в эпоху больших моделей
boy illustration
Вы используете ИИ каждый день и до сих пор не знаете, как ИИ дает обратную связь? Одна статья для понимания реализации в коде Python общих функций потерь генеративных моделей + анализ принципов расчета.
boy illustration
Используйте (внутренний) почтовый ящик для образовательных учреждений, чтобы использовать Microsoft Family Bucket (1T дискового пространства на одном диске и версию Office 365 для образовательных учреждений)
boy illustration
Руководство по началу работы с оперативным проектом (7) Практическое сочетание оперативного письма — оперативного письма на основе интеллектуальной системы вопросов и ответов службы поддержки клиентов
boy illustration
[docker] Версия сервера «Чтение 3» — создайте свою собственную программу чтения веб-текста
boy illustration
Обзор Cloud-init и этапы создания в рамках PVE
boy illustration
Корпоративные пользователи используют пакет регистрационных ресурсов для регистрации ICP для веб-сайта и активации оплаты WeChat H5 (с кодом платежного узла версии API V3)
boy illustration
Подробное объяснение таких показателей производительности с высоким уровнем параллелизма, как QPS, TPS, RT и пропускная способность.
boy illustration
Удачи в конкурсе Python Essay Challenge, станьте первым, кто испытает новую функцию сообщества [Запускать блоки кода онлайн] и выиграйте множество изысканных подарков!
boy illustration
[Техническая посадка травы] Кровавая рвота и отделка позволяют вам необычным образом ощипывать гусиные перья! Не распространяйте информацию! ! !
boy illustration
[Официальное ограниченное по времени мероприятие] Сейчас ноябрь, напишите и получите приз
boy illustration
Прочтите это в одной статье: Учебник для няни по созданию сервера Huanshou Parlu на базе CVM-сервера.
boy illustration
Cloud Native | Что такое CRD (настраиваемые определения ресурсов) в K8s?
boy illustration
Как использовать Cloudflare CDN для настройки узла (CF самостоятельно выбирает IP) Гонконг, Китай/Азия узел/сводка и рекомендации внутреннего высокоскоростного IP-сегмента
boy illustration
Дополнительные правила вознаграждения амбассадоров акции в марте 2023 г.
boy illustration
Можно ли открыть частный сервер Phantom Beast Palu одним щелчком мыши? Супер простой урок для начинающих! (Прилагается метод обновления сервера)
boy illustration
[Играйте с Phantom Beast Palu] Обновите игровой сервер Phantom Beast Pallu одним щелчком мыши
boy illustration
Maotouhu делится: последний доступный внутри страны адрес склада исходного образа Docker 2024 года (обновлено 1 декабря)
boy illustration
Кодирование Base64 в MultipartFile
boy illustration
5 точек расширения SpringBoot, супер практично!
boy illustration
Глубокое понимание сопоставления индексов Elasticsearch.
boy illustration
15 рекомендуемых платформ разработки с нулевым кодом корпоративного уровня. Всегда найдется та, которая вам понравится.
boy illustration
Аннотация EasyExcel позволяет экспортировать с сохранением двух десятичных знаков.