Железо - подробное описание модемов.

Amazing #02
(C) 1998 by Евграфов Слава

Music by Ironman

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



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


       1. Алгоритм коррекции/сжатия


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

   В данный момент для нас в этих протоко-
лах  существенно  то, что при передаче ин-
формации  с  использованием протокола кор-
рекции  (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...


               2. Lock Port


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

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



           2.1 Настройка модема


   Основное:

AT\J0  (Disable  baud  rate  adjust - если
сказать AT\J1, то модем после соединения с
другим      модемом      перепрограммирует
коммуникационный  порт  на ту скорость, на
какой  произошло  соединение. AT\J0 запре-
щает это.)

AT\G1  (Enable  modem  port flow control -
поскольку    модем    после   отбрасывания
старт/стопных   бит  начинает  работать  в
синхронном  режиме (биты передаются подряд
без  промежутков),  то  необходим механизм
управления  этим потоком - на случай, если
необходимо остановить или продолжить пере-
дачу.  Данной командой мы разрешаем управ-
лять потоком данных.)

AT\Q3    (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
надо  повесить телефонную трубку и перейти
в состояние ожидания команд)

AT\E0  (Disable  data echo - не знаю, кому
надо data echo, но лучше подстраховаться и
выключить)

AT\N3 (Set operating mode to auto-reliable
-  разрешить MNP4. Для v.42-модемов бывает
и AT\N6 - я так понимаю, что в данном слу-
чае чем больше, тем лучше :-)

AT%C1 (Enable compression - разрешить MNP5
(сжатие данных)



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