Всем привет, мы снова встретились, я ваш друг Цюаньчжаньцзюнь.
Обычно при последовательной связи на некоторых хост-компьютерах мы видим опции RTS/CTS, DTR/DSR и XON/XOFF. Это опции управления конвекцией. Они обычно применяются к интерфейсу RS232 и используются для обработки данных модема.
Что здесь упомянуто "поток",Относится к потоку данных при передаче данных;,контроль потокаЭто процесс управления скоростью передачи данных между двумя узлами,Чтобы предотвратить переполнение буфера данных на принимающей стороне,Отправитель все еще продолжает отправлять данные,что приводит к потере данных
Когда буфер данных принимающей стороны заполнен и не может обработать данные, он отправляет сигнал «больше не принимает», и отправляющая сторона прекращает отправку данных до тех пор, пока отправляющая сторона не получит сигнал «можно продолжать отправлять» перед отправкой данных. В компьютерах обычно используются два типа управления потоком: аппаратное управление потоком (RTS/CTS, DTR/DSR и т. д.) и программное управление потоком (XON/XOFF).
RS-232 изначально был разработан для подключения к модемам для передачи, поэтому значения его контактов обычно связаны с передачей через модем. Оборудование RS-232 можно разделить на две категории: терминальное оборудование данных (DTE, терминальное оборудование данных, например ПК) и оборудование передачи данных (DCE, оборудование передачи данных). Эта классификация определяет различные линии для отправки и получения сигнала. Вообще говоря, компьютеры и терминальное оборудование имеют разъемы DTE, а модемы и принтеры — разъемы DCE. Но это не всегда строго правильно. Для проверки соединения используйте ответвитель или методом проб и ошибок определите, исправен ли кабель. Часто приходится обращаться к соответствующей документации.
RS-232 в настоящее время имеет разъемы типа DB-25 и DB-9, чаще используется интерфейс типа DB-9.
Назначение контактов типа DB-9 в RS-232:
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) | Модем уведомляет компьютер о входящем вызове. |
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 переключается на высокий уровень, а затем ожидает отправки данных, делая активным низкий уровень. .
Стоит отметить, что это не аппаратный контроль. поток просто опирается на аппаратное обеспечение, а также требует программного обеспечения для распознавания, потому что аппаратный контроль Поток дает только уровень сигнала. Реальное управление включением отправки зависит от обработки программного обеспечения.
Программное управление потока(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 выполняют замену и комбинацию специальных символов для обеспечения стабильной связи.
Как упоминалось выше, окончательная реализация аппаратного управления потоком по-прежнему зависит от программного обеспечения. Если вы пишете хост-компьютер с последовательным портом для управления, вы можете просмотреть ссылку ниже, чтобы узнать о соответствующих регистрах.
Связь:Принципы и применение последовательных портов
Издатель: Full stack программист и руководитель стека, укажите источник для перепечатки: https://javaforall.cn/134993.html Исходная ссылка: https://javaforall.cn