Базы данныхИнтернетКомпьютерыОперационные системыПрограммированиеСетиСвязьРазное
Поиск по сайту:
Подпишись на рассылку:

Назад в раздел

Как правильно использовать модем, реализующий протоколы коррекции/сжатия (MNP4/MNP5, v.42/v.42bis)

Как правильно использовать модем, реализующий протоколы коррекции/сжатия (MNP4/MNP5, v.42/v.42bis)

В этом тексте описывается, как правильно настроить модем и коммуникационный порт компьютера (COM-порт), если модем аппаратно реализует протоколы коррекции/сжатия (MNP4/MNP5, v.42/v.42bis). Алгоритм коррекции/сжатия Lock Port Настройка модема Настройка программ Настройка программы эмуляции терминала (Telemate, Telix и т.д.) Настройка FrontDoor 2.02NC Настройка FOSSIL'a (BNU, X00) Настройка FrontDoor Резюме Алгоритм коррекции/сжатия

Детальное описание протоколов коррекции/сжатия можно найти в соответствующих описаниях, а сейчас я попытаюсь самым приблизительным образом описать, что же это такое.

В данный момент для нас в этих протоколах существенно то, что при передаче информации с использованием протокола коррекции (MNP4, v.42) происходит обрезание 10 бит, полученных из компьютера, до 8-ми информационных (удаляются стартовый и стоповый биты) (10 бит = старт_бит + 8 информационных + стоп_бит - см. Асинхронный протокол RS232). И наоборот, при получении из линии 8-ми информационных бит модем их преобразует в 10 и передает в компьютер. Таким образом по линии идет информации меньше, чем модем получил из компьютера. Но это еще не все. При использовании протокола сжатия (MNP5, v.42bis) происходит еще и уменьшение объема полезной информации, так что от тех 10-ти бит, что модем получил от компьютера, в линию (и на удаленный модем) попадет от них только часть...

А теперь посмотрим, что из-за этого происходит... Пусть наш модем работает со скоростью 2400, что значит, что за одну секунду по линии передается 2400 бит (2400 bps - bit per second). Получив 2400 бит СЖАТЫХ данных модем их распаковывает и передает в компьютер... Но после распаковки данных стало БОЛЬШЕ и передавать в компьютер их надо быстрее, чем на скорости 2400 bps, чтобы успеть принять следующие данные! Поэтому скорость общения модема с компьютером для 2400-модемов должна составлять 9600 или 4800 bps. Но чтобы все правильно работало, нужно зафиксировать модем и программу на этой скорости, т.е. сделать Lock Port... Lock Port

Чтобы "залочить" порт нужно произвести настройку модема и программы. Примеры настройки коммуникационных программ я буду давать для FrontDoor 2.02NC и для Telemate 3.02. Примеры настройки модема - для Datatronics Discovery 2400CM - этот модем управляется набором команд Hayes (команды начинаются с AT) и аппаратно реализует протокол MNP5. Не переживайте, если у Вас другой модем - набор команд примерно одинаков... Главное, чтобы он умел аппаратно реализовать один из протоколов коррекции/сжатия.

Скорость, на которой надо зафиксировать порт для 2400-модема обычно 9600, но если модем не будет откликаться на этой скорости, то нормально поставить и 4800. Если и теперь модем не откликается, то либо у Вас модем без коррекции/сжатия либо Вы его не подключили в сеть...

Настройка модема
Основное:

ATJ0 Disable baud rate adjust - если сказать ATJ1, то модем после соединения с другим модемом перепрограммирует коммуникационный порт на ту скорость, на какой произошло соединение. ATJ0 запрещает это.
ATG1 Enable modem port flow control - поскольку модем после отбрасывания старт/стопных бит начинает работать в синхронном режиме (биты передаются подряд без промежутков), то необходим механизм управления этим потоком - на случай, если необходимо остановить или продолжить передачу. Данной командой мы разрешаем управлять потоком данных.
ATQ3 Bi-directional hardware flow control - существует несколько способов управления потоком данных между модемами. Данной командой мы выбрали один из них - еще он часто называется CTS/RTS modem flow control, т.к. передача по линии управляется сигналами коммуникационного порта CTS и RTS.

Не забудьте также:

AT&C1 Track CD - следить за состоянием соединения и при потере соединения сообщать компьютеру
AT&D2 Hang up and assume command state when DTR off - при отключении сигнала DTR надо повесить телефонную трубку и перейти в состояние ожидания команд
ATE0 Disable data echo - не знаю, кому надо data echo, но лучше подстраховаться и выключить
ATN3 Set operating mode to auto-reliable - разрешить MNP4. Для v.42-модемов бывает и ATN6 - я так понимаю, что в данном случае чем больше, тем лучше :-)
AT%C1 Enable compression - разрешить MNP5 (сжатие данных)

Есть вероятность, что среди оставшихся команд тоже есть полезные для Вас, т.ч. почитайте книжечку о Вашем модеме внимательно (если она у Вас есть).

Настройка программ
Я надеюсь, что сумел хоть что-то прояснить, поэтому продолжу.

Настройка программы эмуляции терминала (Telemate, Telix и т.д.)
Для Telemate надо в меню настройки (Alt-O) найти и установить: Auto Baud Detect отключить Flow Control RTS/CTS Baud rate 9600 Parity None Data 8 Stop 1 Для Telix'a - что-то похожее...

Настройка FrontDoor 2.02NC
Поскольку FrontDoor работает с портом через FOSSIL-драйвер, настраивать надо их обоих...

Настройка FOSSIL'a (BNU, X00)
Для BNU версии 1.7 надо дать следующую командную строку: bnu.com /m- /t=256 /r=4096 /l0=9600,8n1

Не забудьте, что BNU отсчитывает порты от нуля, т.е. если у Вас модем установлен на 3-й порт, то писать надо /l2=....
Для X00: x00.exe B,0,9600 E NOFIFO NOPOST T=256 R=8192

Настройка FrontDoor
А вот это - очень просто! Запустите FDSETUP и в меню Modem, Hardware укажите: Maximum baud rate9600 Lock port Yes Резюме

Ну вот. Теперь, если я все правильно объяснил и Вы меня правильно поняли и смогли проделать все, что я насоветовал - коммуникационный порт у Вас настроен правильно и не будет мешать передаче.

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

Если же вы почему-то (почему?) пользуетесь другими коммуникационными программами, а не Telemate или FrontDoor, то если Вы в Вашей любимой программе не найдете установок, аналогичных описанных - выбросите Вы эту программу...

В заключении хочу напомнить, что скорость передачи данных, сжатых с помощью ARJ, на правильно настроенном 2400-модеме должна быть около 250 cps (characters per second - байт в секунду).

Хорошей Вам связи!
Иван Синелобов,
Night Director BBS, 2:5020/104@fidonet.org


  • Главная
  • Новости
  • Новинки
  • Скрипты
  • Форум
  • Ссылки
  • О сайте




  • Emanual.ru – это сайт, посвящённый всем значимым событиям в IT-индустрии: новейшие разработки, уникальные методы и горячие новости! Тонны информации, полезной как для обычных пользователей, так и для самых продвинутых программистов! Интересные обсуждения на актуальные темы и огромная аудитория, которая может быть интересна широкому кругу рекламодателей. У нас вы узнаете всё о компьютерах, базах данных, операционных системах, сетях, инфраструктурах, связях и программированию на популярных языках!
     Copyright © 2001-2024
    Реклама на сайте