knigechka
Сайт содержит тексты редких методических пособий, лабораторных и контрольных работ. Вообщем, то что трудно найти в сети но очень нужно для подготовки к экзаменам, в частности на заочной форме обучения.
COM порт — Управление потоком данных
Для управления потоком данных (Flow Control) могут использоваться два варианта протокола — аппаратный и программный. Иногда управление потоком путают с квитированием. Квитирование (handshaking) подразумевает посылку уведомления о получении элемента, в то время как управление потоком предполагает посылку уведомления о возможности или невозможности последующего приема данных. Зачастую управление потоком основано на механизме квитирования.
Аппаратный протокол управления потоком RTS/CTS (hardware flow control) использует сигнал CIS, который позволяет остановить передачу данных, если приемник не готов к их приему (рис. 2.13). Передатчик «выпускает» очередной байт только при включенной линии CTS. Байт, который уже начал передаваться, задержать сигналом CTS невозможно (это гарантирует целостность посылки). Аппаратный протокол обеспечивает самую быструю реакцию передатчика на состояние приемника. Микросхемы асинхронных приемопередатчиков имеют не менее двух регистров в приемной части — сдвигающий, для приема очередной посылки, и хранящий, из которого считывается принятый байт. Это позволяет реализовать обмен по аппаратному протоколу без потери данных.
Рис. 2.13. Аппаратное управление потоком
Аппаратный протокол удобно использовать при подключении принтеров и плоттеров, если они его поддерживают. При непосредственном (без модемов) соединении двух компьютеров аппаратный протокол требует перекрестного соединения линий RTS — CTS.
При непосредственном соединении у передающего терминала должно быть обеспечено состояние «включено» на линии CTS (соединением собственных линий RTS — CTS), в противном случае передатчик будет «молчать».
Применяемые в IBM PC приемопередатчики 8250/16450/16550 сигнал CTS аппарат-но не отрабатывают, а только показывают его состояние в регистре MSR (см. п. 2.5). Реализация протокола RTS/CTS возлагается на драйвер BIOS Int 14h, и называть его «аппаратным» не совсем корректно. Если же программа, пользующаяся СОМ-портом, взаимодействует с UART на уровне регистров (а не через BIOS), то обработкой сигнала CTS для поддержки данного протокола она занимается сама. Ряд коммуникационных программ позволяет игнорировать сигнал CTS (если не используется модем), и для них не требуется соединение входа CTS с выходом даже своего сигнала RTS. Однако существуют и иные приемопередатчики (например, 8251), в которых сигнал CTS отрабатывается аппаратно. Для них, а также для «честных» программ, использование сигнала CTS на разъемах (а то и на кабелях) обязательно. Преимущество протокола RTS/CTS во времени реакции (по сравнению с программным методом XON/XOFF) остается лишь для буферированной (в режиме FIFO) передачи.
Программный протокол управления потоком XON/XOFF предполагает наличие двунаправленного канала передачи данных. Работает протокол следующим образом: если устройство, принимающее данные, обнаруживает причины, по которым оно не может их дальше принимать, оно по обратному последовательному каналу посылает байт-символ XOFF (13h). Противоположное устройство, приняв этот символ, приостанавливает передачу. Когда принимающее устройство снова становится готовым к приему данных, оно посылает символ XON (llh), приняв который противоположное устройство возобновляет передачу. Время реакции передатчика на изменение состояния приемника по сравнению с аппаратным протоколом увеличивается, по крайней мере, на время передачи символа (XON или XOFF) плюс время реакции программы передатчика на прием символа (рис. 2.14). Из этого следует, что данные без потерь могут приниматься только приемником, имеющим дополнительный буфер принимаемых данных и сигнализирующим о неготовности заблаговременно (имея в буфере свободное место).
Рис. 2.14. Программное управление потоком XON/XOFF
Преимущество программного протокола заключается в отсутствии необходимости передачи управляющих сигналов интерфейса — минимальный кабель для двустороннего обмена может иметь только 3 провода (см. рис. 2.5, а). Недостатком, помимо обязательного наличия буфера и большего времени реакции (снижающего общую производительность канала из-за ожидания сигнала XON), является сложность реализации полнодуплексного режима обмена. В этом случае из потока принимаемых данных должны выделяться (и обрабатываться) символы управления потоком, что ограничивает набор передаваемых символов.
Кроме этих двух распространенных стандартных протоколов, поддерживаемых и ПУ, и ОС, существуют и другие.
Литература:
ГукМ., Г93 Аппаратные интерфейсы ПК. Энциклопедия. — СПб.: Питер, 2002. — 528 с.: ил.
Русские Блоги
Управление последовательным потоком UART (управление потоком)
Как правило, при последовательной связи на некоторых компьютерах верхнего уровня мы увидим параметры RTS / CTS, DTR / DSR и XON / XOFF.Это параметр для управления потоком, который обычно применяется к интерфейсу RS232, который является данными от модема. Общение
1. Роль управления потоками
Упомянутый здесь «поток» относится к потоку данных; при передаче данныхУправление потокомЭто процесс управления скоростью передачи данных между двумя узлами для предотвращения заполнения буфера данных на принимающей стороне, в то время как отправляющая сторона продолжает отправлять данные, что приводит к потере данных.
2. Принцип работы
Когда буфер данных на принимающей стороне заполнен и данные не могут быть обработаны, он отправит сигнал «больше не принимает», а отправляющая сторона прекратит отправку, пока отправляющая сторона не получит сигнал «можно продолжить отправку» перед отправкой данных. В компьютерах обычно используются два типа управления потоком: аппаратное управление потоком (RTS / CTS, DTR / DSR и т. Д.) И программное управление потоком (XON / XOFF).
Три, определение контакта RS232
RS-232 изначально был разработан для подключения к модему для передачи, поэтому значение его контактов обычно связано с передачей модема. Оборудование RS-232 можно разделить на два типа: оконечное оборудование данных (DTE, оконечное оборудование данных, например, ПК) и оборудование передачи данных (DCE, оборудование передачи данных). Эта классификация определяет разные линии для передачи и приема. сигнал. Вообще говоря, компьютеры и оконечное оборудование имеют разъемы DTE, а модемы и принтеры — разъемы DCE. Но это не всегда строго правильно.Чтобы проверить соединение с разветвителем проводки или методом проб и ошибок определить, исправен ли кабель, часто необходимо обратиться к соответствующей документации.
RS-232 в настоящее время имеет разъемы типа DB-25 и DB-9, а интерфейсы типа DB-9 используются чаще.
Назначение контактов типа DB-9 в RS-232:
Описание его сигнального контакта:
Положение стопы | Стенография | значимость | сигнал | Описание |
---|---|---|---|---|
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
Когда оборудование на стороне A готово, сигнал DTR (оборудование для передачи данных готово) будет отправлен на RI (вызывной сигнал) и DSR (оборудование связи готово) на стороне B. Таким образом, пока A готов (DTR), B будет генерировать вызов (RI) и быть готовым (DSR).
Обратите внимание, что RTS (запрос на отправку), CTS (разрешена отправка) и CD (обнаружение несущей) на стороне B соединены вместе, что означает, что как только A запрашивает отправку (RTS), он будет немедленно разрешен (CTS) и сделает обнаружение B Несущий сигнал (CD). TXD терминала A соединен с RXD терминала B, и A отправляет, а B принимает.
2. Упрощенный способ подключения RS232.
Исходные RTS и CTS используются, чтобы спросить и ответить, можно ли передавать данные. Но в этом режиме соединения он просто сообщает другой стороне, могут ли они общаться. В настоящее время для управления потоком данных могут использоваться как RTS, так и DTR.
DTR (готовность устройства данных) на стороне A. Когда сторона B готова, DTR (готовность устройства данных) на стороне B отправляет сигнал DSR (устройство связи готово) на стороне A. Затем вы можете контролировать связь через RTS (запрос на отправку) и DTR (разрешить отправку).
3. Дальнейшее упрощение (то есть на основе RTS / CTS)
Как видно из вышеупомянутого процесса, аппаратное управление потоком в основном контролируется RTS / CTS и DTR / DSR, но люди ленивы и ленивы, поэтому теперь часто они просто используют RTS / CTS, чтобы сообщить другой стороне, могут ли они общаться. , И пропустить определение состояния готовности DTR / DSR напрямую
При использовании RTS / CTS они оба активны на низком уровне.Поэтому после открытия последовательного порта на главном компьютере RTS выберет высокий уровень, а затем дождется отправки данных, чтобы сделать низкий уровень действительным.
Стоит отметить, что аппаратное управление потоком данных зависит не только от оборудования, оно также требует программного обеспечения для обработки идентификации, поскольку аппаратное управление потоком данных дает только уровни сигналов, а реальный контроль разрешения отправки зависит от программной обработки.
Пять, программное управление потоком
Программный контроль потока(Программное управление потоком) — это метод управления потоком в канале компьютерных данных, особенно подходящий для последовательной связи RS-232; он использует специальные символы для передачи внутриполосной сигнализации, а также вызываются специальные кодированные символы.XOFFпротив XON(Соответственно расшифровываются "передача выключена" и "передача включена"). Поэтому его также называют «управление потоком XON / XOFF»;
Используйте набор символов ASCII, XOFF — обычно байтовое значение 19 (десятичное), XON — байтовое значение 17
Кодовое имя | смысл | ASCII | Десятичный | Шестнадцатеричный |
---|---|---|---|---|
XOFF | Приостановить передачу | DC3 | 19 | 13 |
XON | Возобновить передачу | DC1 | 17 | 11 |
Стоит отметить, что получатель отправляет отправителю сигналы XON / XOFF, чтобы контролировать, когда отправитель отправляет данные.Эти сигналы противоположны направлению передачи отправленных данных.
Его обработка в основном заключается в следующем: получатель использует сигнал XON, чтобы сообщить отправителю, что я готов принять больше данных, и использует сигнал XOFF, чтобы сказать отправителю прекратить отправку данных, пока получатель не отправит сигнал XON, чтобы сообщить отправителю, что я снова готов. .
XON / XOFF — это внутриполосный метод, который работает между терминалами, но оба конца должны поддерживать этот протокол, и при его внезапном запуске может возникнуть путаница; XON / XOFF может работать на 3-проводных интерфейсах.
Программное управление потоком широко используется в низкоскоростных устройствах, особенно в принтерах и немых терминалах, чтобы указать, что они временно приостанавливают получение данных; преимущество программного управления потоком данных состоит в том, что оно уменьшает количество проводников цепи между отправляющей и принимающей сторонами и при наличии общей цепи заземления, Для отправки и приема необходимы только две схемы, и никакой дополнительной конкретной аппаратной реализации не требуется; недостаток состоит в том, что для отправки XOFF требуется хотя бы один символ, и его необходимо обрабатывать после данных, которые получила другая сторона.
XON / XOFF, как правило, не рекомендуются. Рекомендуется заменить их потоком управления RTS / CTS. Потому что, если вы передаете двоичные данные, в отправляемых вами данных могут быть двоичные значения, соответствующие XON и XOFF, что может привести к неправильной работе. Это дефект программного управления потоком, и аппаратное управление потоком не будет иметь этой проблемы; конечно, вы Вы также можете избежать XON и XOFF
Шесть, управление нижним уровнем UART
Как упоминалось выше, окончательная реализация аппаратного управления потоком все еще связана с программным обеспечением. Если вы собираетесь написать управление хост-компьютером с последовательным портом, вы можете просмотреть ссылку ниже, чтобы понять соответствующие регистры
Управление потоком xon xoff что это
info@usriot.ru
- Что такое программное управление потоком Xon/Xoff?



Xon/Xoff — это программный механизм управления потоком.
Его можно использовать только в символьно-ориентированной передаче данных (не в двоичной передаче), поскольку он основан на использовании предварительно определенных символов Xon и Xoff. Основная идея проста: когда буфер приемника заполняется до такой степени, что он больше не может принимать данные, он выдает Xoff (отключение передачи) передатчику. Когда передатчик видит символ Xoff, он прекращает передачу. Он возобновится только после того, как увидит соответствующий Xon.
Недостатком такой системы является то, что если выданный символ будет поврежден при транспортировке, отправитель не предпримет никаких действий.