Программирование модемов

Управление потоком



Управление потоком

В полудуплексных соединениях устройство DTE подает сигнал RTS, когда оно желает передать данные. DCE отвечает сигналом по линии CTS, когда оно готово, и DTE начинает передачу данных. До тех пор, пока оба сигнала RTS и CTS не примут активное состояние, только DCE может передавать данные.

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

Когда DTE может принять данные, он подает сигнал по линии RTS. Если при этом DCE готово для принятия данных, оно возвращает сигнал CTS. Если напряжение на линиях RTS или CTS падает, то это сообщает передающей системе, что получающая система не готова для приема данных.

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



Управление потоком

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

На входе: AH = 0Fh;

AL = способ управления потоком:

7 6 5 4 3 2 1 0 --T-T-T-T-T-T-T-¬ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ LT+-+-+T+T+T+T+T- L==T==- ¦ ¦ ¦ L= Использование для управления ¦ ¦ ¦ ¦ передачей символов XON/XOFF ¦ ¦ ¦ ¦ ¦ ¦ ¦ L=== Использование для управления ¦ ¦ ¦ потоком сигналов CTS/RTS ¦ ¦ ¦ ¦ ¦ L===== Зарезервирован ¦ ¦ ¦ L======= Использование для управления ¦ приемом символов XON/XOFF ¦ L============ Зарезервированы

DX = номер порта: 0 - COM1, 1 - COM2, 2 - COM3, 3 - COM4 и т. д.

На выходе: не используется.

Вы можете выбрать тот или иной метод управления потоком, установив соответствующий бит регистра AL:

D0 - Использование для управления передачей символов XON(Ctrl-C)/XOFF(Ctrl-K). При установке данного бита FOSSIL драйвер будет приостанавливать дальнейшую передачу данных удаленному модему при получении символа XOFF. Для возобновления передачи необходимо передать драйверу символ XON.

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

D3 - Использование символов XON/XOFF для управления приемом данных. При установке данного бита FOSSIL драйвер будет передавать удаленному модему символ XOFF, когда буфер приемника драйвера заполнится на определенную величину. Когда программа считает символы из буфера приемника, удаленному модему будет передан символ XON, сигнализирующий, что передачу можно продолжить.



Содержание раздела