Разработка и анализ перспектив развития предприятия

Загрузить архив:
Файл: prsprazv.zip (216kb [zip], Скачиваний: 50) скачать

                            - 47 -

                СОДЕРЖАНИЕ ТЕХНИЧЕСКОЙ ЧАСТИ

                                                         стр.

    

     1. Введение                                          48

     2. Последовательный асинхронный адаптер              49

       2.1. Аппаратная реализация                         49

       2.2. Программирование адаптера                     53

     3. Типы модемов                                      55

     4. Программирование модемов                          56

     5. Протоколы обмена данными                          62

       5.1. Протоколы коррекции ошибок нижнего уровня     62

       5.2. Протоколы передачи файлов                     64

     6. Телекоммуникационные программы                    66

     7. Использование модемов                             67

       7.1. Электронная доска объявлений                  67

       7.2. Факс-модемные платы                           69

       7.3. Электронная почта                             70

     8. Программа поиска оптимального маршрута71

       8.1. Разработка программы                          71

       8.2. Краткий экономический анализ                  72

внедрения программы

.

                            - 48 -

                          1. Введение

     В последнеевремя  модемыстановятся неотъемлемой частью

компьютера.Установив модем на свой компьютер,вы  фактически

открываете длясебя  новый мир.Ваш компьютер превращается из

обособленного компьютера в звено глобальной сети.

     Модем позволит вам,не выходя из дома,получить доступ к

базам данных, которые могут быть удалены от вас на многие тыся-

чи километров,разместитьсообщение на BBS (электронной доске

объявлений), доступной другим пользователям,  скопировать с той

же BBS интересующие вас файлы, интегрировать домашний компьютер

в сеть вашего офиса, при этом (не считая низкой скорости обмена

данными) создаетсяполное ощущение работы в сети офиса.Кроме

того, воспользовавшисьглобальнымисетями  (RelCom,FidoNet)

можно приниматьи посылать электронные письма не только внутри

города, но фактически в любой конецземногошара.  Глобальные

сети даютвозможность  нетолькообмениваться  почтой,но и

участвовать вовсевозможныхконференциях,  получать   новости

практически по любой интересующей вас тематике.

     Существует три основных способа соединения компьютеров для

обмена информацией:

     - непосредственная связь, через асинхронный порт;

    - связь с использованием модема;

     - связь через локальные сети.

     В работе рассматривается первые два типа соединений -не-

посредственное и соединение через модем.

.

                            - 49 -

2. Последовательный асинхронный адаптер

     Практически каждыйкомпьютер  оборудованхотябы  одним

последовательным асинхронным адаптером.Обычно он представляет

собой отдельную плату или же расположенпрямона  материнской

плате компьютера. Его полное название - RS-232-C. Каждый асинх-

ронный адаптер обычно содержит несколько портов,через которые

к компьютеру можно подключать внешние устройства. Каждому тако-

му порту соответствует несколько регистров, через которые прог-

рамма получаетк нему доступ,и определенная линия IRQ (линия

запроса прерывания) для сигнализации  компьютеруобизменении

состояния порта.Каждомупорту  присваиваетсялогическое имя

(COM1,COM2,и т.д.).

     Интерфейс RS-232-C разработан ассоциацией электронной про-

мышленности ( EIA ) как стандарт для соединения  компьютерови

различных последовательных периферийных устройств.

     Компьютер IBM PC поддерживает интерфейс RS-232-C не в пол-

ной мере; скорее разъем, обозначенный на корпусе компьютера как

порт последовательной передачи данных,  содержитнекоторыеиз

сигналов, входящих в интерфейс RS-232-C и имеющих соответствую-

щие этому стандарту уровни напряжения.

     В настоящеевремя  портпоследовательной передачи данных

используется очень широко. Вот далеко не полный список примене-

ний:

     - подключение мыши;

     - подключение графопостроителей,сканеров, принтеров, ди-

       гитайзеров;

     - связь  двух компьютеров через порты последовательной пе-

       редачи данных сиспользованиемспециального  кабеляи

       таких программ, как FastWire II или Norton Commander;

     - подключение модемов для передачиданных  потелефонным

       линиям;

     - подключение к сети персональных компьютеров;

     Последовательная передача данных означает,что данные пе-

редаются по единственной линии.При этом биты байта данных пе-

редаются по очереди с использованием одного провода.  Для синх-

ронизации группебитовданных обычно предшествует специальный

стартовый бит,после группы битов следуют бит проверки на чет-

ность и один или два стоповых бита. Иногда бит проверки на чет-

ность может отсутствовать.

     Использование битачетности,  стартовыхи стоповых битов

определяют формат передачи данных.Очевидно,что передатчик и

приемник должны использовать один и тот же формат данных, иначе

обмен не возможен.

     Другая важнаяхарактеристика- скорость передачи данных.

Она также должна быть одинаковой для передатчика и приемника.

     Скорость передачиданных  обычноизмеряется в бодах ( по

фамилии французского изобретателя телеграфного  аппаратаEmile

Baudot - Э.Бодо). Боды определяют количество передаваемых битов

в секунду.При этом учитываются и старт/стопные биты,а также

бит четности.

                  2.1. Аппаратная реализация

     Компьютер можетбыть  оснащеноднимили  двумяпортами

последовательной передачи данных. Эти порты расположены либо на

материнской плате, либо на отдельной плате, вставляемой в слоты


                            - 50 -

расширения материнской платы.

     Бывают такжеплаты,  содержащиечетыре или восемь портов

последовательной передачи данных. Их часто используют для подк-

лючения несколькихкомпьютеров или терминалов к одному,цент-

ральному компьютеру. Эти платы имеют название "мультипорт".

     В основе  последовательногопортапередачи  данных лежит

микросхема INTEL8250или  еесовременныеаналоги  -INTEL

16450,16550,16550A. Эта   микросхема   является   универсальным

асинхронным приемопередатчиком ( UART - Universal Asynchronous

Receiver Transmitter). Микросхема содержит несколько внутренних

регистров, доступных через команды ввода/вывода.

     Микросхема 8250содержит регистры передатчика и приемника

данных. При передаче байта он записывается в  буферныйрегистр

передатчика, откудазатемпереписываетсяв сдвиговый регистр

передатчика. Байт "выдвигается" из сдвигового регистра по битам.

     Программа имеет доступ только к буферным регистрам,копи-

рование информации в сдвиговые регистры и процесс сдвига выпол-

няется микросхемойUART автоматически.

     К внешним устройствамасинхронный  последовательныйпорт

подключается через специальный разъем. Существует два стандарта

на разъемы интерфейса RS-232-C,это DB-25 и DB-9. Первый имеет

25, а второй 9 выводов.

                     Разводка разъема DB25

---------------------------------------------------------------

Номер   |           Назначение контакта| Вход или

контакта |         (со стороны компьютера)          |  выход

---------------------------------------------------------------

1       Защитное заземление (Frame Ground,FG)          -

2       Передаваемые данные (Transmitted Data,TD)    Выход

3       Принимаемые данные (Received Data,RD)        Вход

4       Запрос для передачи (Request to send,RTS)    Выход

5       Сброс для передачи (Clear to Send,CTS)       Вход

6       Готовность данных (Data Set Ready,DSR)       Вход

7       Сигнальное заземление (Signal Ground,SG)       -

8       Детектор принимаемого с линии сигнала

          (Data Carrier Detect,DCD)                    Вход

9-19     Не используются

20      Готовность выходных данных

          (Data Terminal Ready,DTR)                    Выход

21      Не используется

22      Индикатор вызова (Ring Indicator,RI)         Вход

23-25    Не используются

                     Разводка разъема DB9

---------------------------------------------------------------

Номер   |           Назначение контакта| Вход или

контакта |         (со стороны компьютера)          |  выход

---------------------------------------------------------------

1       Детектор принимаемого с линии сигнала

          (Data Carrier Detect,DCD)                    Вход

2      Принимаемые данные (Received Data,RD)        Вход

3       Передаваемые данные (Transmitted Data,TD)    Выход

4       Готовность выходных данных

          (Data Terminal Ready,DTR)                    Выход

5       Сигнальное заземление (Signal Ground,SG)       -

6       Готовность данных (Data Set Ready,DSR)       Вход


                            - 51 -

7       Запрос для передачи (Request to send,RTS)    Выход

8       Сброс для передачи (Clear to Send,CTS)       Вход

9       Индикатор вызова (Ring Indicator,RI)         Вход

     Интерфейс RS-232-Cопределяет  обменмеждуустройствами

двух типов:DTE (Data Terminal Equipment - терминальное уст-

ройство) и DCE (Data Communication Equipment - устройство  свя-

зи). Вбольшинстве случаев,но не всегда,  компьютер является

терминальным устройством.Модемы,принтеры,  графопостроители

всегда являются устройствами связи.

                  Сигналы интерфейса RS-232-C

     Входы TD  и RD используются устройствами DTE и DCE по-раз-

ному. Устройство DTE использует вход TD для передачи данных,  а

вход RD для приема данных. И наоборот, устройство DCE использу-

ет вход TD для приема,а вход RD для передачи данных.Поэтому

для соединениятерминального устройства и устройства связи вы-

воды их разъемов необходимо соединить напрямую.

                      Подтверждение связи

     Рассмотрим процесс подтверждения связи между компьютером и

модемом. Вначале сеанса связи компьютер должен удостоверится,

что модем может произвести вызов (находится в  рабочемсостоя-

нии). Затем,после  вызоваабонента,модем  долженсообщить

компьютеру, чтоон  произвелсоединениес  удаленнойсисте-

мой. Подробнее это происходит следующим образом.

     Компьютер подает сигнал по линии DTR, чтобы показать моде-

му, что он готов к проведению сеанса связи. В ответ модем пода-

ет сигнал по линии DSR.Когда модем произвел соединение с дру-

гим, удаленныммодемом,он подает сигнал по линии DCD,чтобы

сообщить об этом компьютеру.

     Если напряжение на линии DTR падает,это сообщает модему,

что компьютер не может далее продолжать сеанссвязи,например

из-за того, что выключено питание компьютера. В этом случае мо-

дем прервет связь.Если напряжение на линииDCD  падает,это

сообщает компьютеру,что модем потерял связь и не может больше

продолжать соединение.В этом случае эти сигналы дают ответ на

наличие связи между модемом и компьютером.

     Существует более высокий уровень, который используется для

управления скоростьюобменаданными,  но он также реализуется

аппаратно. Практически управление скоростью обмена данными (уп-

равление потоком) необходимо,если производится передача боль-

ших объемов данных с высокой скоростью.Когда одна система пы-

тается передать данные с большей скоростью,чем они могут быть

обработаны принимающей системой, результатом может стать потеря

части передаваемых данных. Чтобы предотвратить передачу больше-

го числа данных, чем то, которое может быть обработано, исполь-

зуют управление связью, называемое "управление потоком".

     Стандарт RS-232-C определяет возможность управленияпото-

ком только для полудуплексного соединения, при котором в каждый

момент времени данные могут передаваться только в одну сторону.

     Фактически этотмеханизм  используетсяидля дуплексных

соединений, когда данные передаются по линии связи одновременно

в двух направлениях.

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


                            - 52 -

     В полудуплексныхсоединениях устройство DTE подает сигнал

RTS, когда оно желает передать данные. DCE отвечает сигналом по

линии CTS, когда оно готово, и DTE начинает передачу данных. До

тех пор,пока оба сигнала RTS и CTS не примут активное состоя-

ние, только DCE может передавать данные.

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

противоположные тем,которые они имели для полудуплексных сое-

динений.

     Когда DTE может принять данные,он подает сигнал по линии

RTS. Если при этом DCE готово для принятия данных,оно возвра-

щает сигнал CTS. Если напряжение на линиях RTS и CTS падает, то

это сообщает передающей системе,что получающая система не го-

това для приема данных.

     Однако на практике не все так просто.Соединить компьютер

и модемне составляет труда,т.к.  интерфейс RS-232-C как раз

для этого и предназначен.Но если вы захотитесвязать  вместе

два компьютера при помощи такого же кабеля,который вы исполь-

зовали для связи модема и компьютера,то у вас возникнут проб-

лемы. Длясоединения двух терминальных устройств - двух компь-

ютеров - как минимум необходимо перекрестное  соединениелиний

TR и RD.Однако часто этого недостаточно,т.к.  для устройств

DTE и DCE функции,выполняемые линиями DSR, DTR, DCD, CTS, RTS

асимметричны.

     Устройство DTE подает сигнал DTR и ожидает получениясиг-

налов DSR и DCD.В свою очередь, устройство DCE подает сигналы

DSR, DCD и ожидает получения сигнала DTR.Таким образом,если

соединить вместе два устройства DTE кабелем, который вы исполь-

зовали для соединения устройств DTE и DCE, то они не смогут до-

говориться друг с другом.

     Теперь перейдем к сигналам RTS и CTS,управления  потоком

данных. иногда для соединения двух устройств DTE эти линии сое-

диняют вместе на каждом конце кабеля. В результате получаем то,

что другое устройство всегда готово для получения данных.  Поэ-

тому, если при большой скорости передачи принимающее устройство

не успеваетпринимать  и обрабатывать данные,возможна потеря

данных.

     Чтобы решитьвсе  этипроблемыдля соединения двух уст-

ройств типа DTE используется специальный кабель,в обиходе на-

зываемый нуль-модемом.

           Технические параметры интерфейса RS-232-C

     При передачеданных на большие расстояния без использова-

ния специальной аппаратуры из-за помех,наводимыхэлектромаг-

нитными полями, возможно возникновение ошибок. Вследствие этого

накладываются ограничения на длину соединительного кабеля между

устройствами DTR-DTR и DTR-DCE.

     Официальное ограничение по длине для соединительного кабе-

ля постандарту  RS-232-Cсоставляет15,24 метра.  Однако на

практике это расстояние может быть значительно больше.  Оно не-

посредственно зависит от скорости передачи данных.

     110бод - 1524м/ 914,4м

     300бод - 1524м/ 914,4м

    1200бод - 914,4м / 914,4м

    2400бод - 304,8м / 152,4м

    4800бод - 304,8м /76,2м


                            - 53 -

    9600бод -  76,2м /76,2м

     Первое значение - скоростьпередачи  вбодах,второе  -

максимальная длина для экранированного кабеля,третье - макси-

мальная длина для не экранированного кабеля.

     Уровни напряженияна  линиях разъема составляют для логи-

ческого нуля -15..-3 вольта,длялогической  единицы+3..+15

вольт. Промежутокот -3 до +3 вольт соответствует неопределен-

ному значению.

                2.2. Программирование адаптера

                  Порты асинхронного адаптера

      На этапе инициализации системы, модуль POST BIOS тестиру-

ет имеющиеся асинхронные порты RS-232-C и инициализирует их.  В

зависимости отверсии BIOS инициализируются первые два или че-

тыре порта.Их базовые адреса располагаются вобласти  данных

BIOS начиная с адреса 0000:0400h.

     Первый адаптер COM1 имеет базовый адрес3F8hи  занимает

диапазон адресов от 3F8h до 3FFh. Второй адаптер COM2 имеет ба-

зовый адрес 2F8h и занимает адреса 2F8h..2FFh.

     Асинхронные адаптеры могут вырабатывать прерывания:

     COM1,COM3 - IRQ4

     COM2,COM4 - IRQ3

     Имеется 7 основных регистров для управления портами:

     а) Регистр данных

     Регистр данныхрасположен непосредственно по базовому ад-

ресу порта RS-232-C и используется для обмена данными и для за-

дания скорости обмена.

     Для передачи данных в этот регистр необходимо записать пе-

редаваемый байтданных.После  приема данных от внешнего уст-

ройства принятый байт можно прочитать из этого же регистра.

     В зависимостиот состояния старшего бита управляющего ре-

гистра ( расположенногопоадресу  base_adr+3,гдеbase_adr

соответствует базовомуадресу порта RS-232-C) назначение этого

регистра может изменяться. Если старший бит равен нулю, регистр

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

бит равен единице,регистриспользуется  длявводазначения

младшего байтаделителя частоты тактового генератора.Изменяя

содержимое делителя,можно изменять скорость передачиданных.

Старший байтделителя записывается в регистр управления преры-

ваниями по адресу base_adr+1.

     Максимальная скоростьобмена  информацией,которую можно

достичь прииспользовании  асинхронногоадаптера,   достигает

115200 бод, что примерно соответствует 14 Кбайт в секунду.

     б) Регистр управления прерываниями

     Этот регистр используется либо для управления прерываниями

от асинхронного адаптера,либо (после вывода в управляющий ре-

гистр байтас установленным в 1 старшим битом) для вывода зна-

чения старшего байта делителя частоты тактового генератора.

     в) Регистр идентификации прерывания

     Считывая его содержимое, программа может определить причи-

ну прерывания


                            - 54 -

     г) Управляющий регистр

     Управляющий регистр доступен по записи и чтению.Этот ре-

гистр управляет различными характеристикамиUART:  скоростью

передачи данных,контролем четности,передачей сигнала BREAK,

длиной передаваемых слов(символов).

     д) Регистр управления модемом

     Регистр управлениямодемом  управляет состоянием выходных

линий DTR,RTS и линий,  специфических для модемов-OUT1и

OUT2, а также запуском диагностики при соединенных вместе входе

и выходе асинхронного адаптера.

     е) Регистр состояния линии

     Регистр состояния линии определяет причину ошибок, которые

могут возникнуть при передаче данных между компьютером  имик-

росхемой UART.

     ж) Регистр состояния модема

     Регистр состояния модема определяет состояниеуправляющих

сигналов, передаваемых модемом асинхронному порту компьютера.

              Инициализация асинхронного адаптера

     Первое, что должна сделать программа,работающая с асинх-

ронным адаптером - установить формат и скорость  передачидан-

ных. Послезагрузки операционной системы для асинхронных адап-

теров устанавливается скорость 2400 бод, не выполняется провер-

ка на четность, используются один стоповый и восьмибитовая дли-

на передаваемого символа.Можно изменить этотрежим  командой

MS-DOS MODE.

     Выполнив ввод из управляющегорегистра,  программаможет

получить текущийрежимадаптера.  Для установки нового режима

измените нужные вам поля и запишите новый байт режима обратно в

управляющий регистр.

     Если вам надо задать новое значение скорости обмена данны-

ми, передзаписью  байтарежимаустановите старший бит этого

байта в 1,при  этомрегистрданных  иуправляющийрегистр

используются для задания скорости обмена. Затем последовательно

двумя командами ввода загрузите делитель частоты тактового  ге-

нератора. Младший байт запишите в регистр данных, а старший - в

регистр управления прерываниями.

     Перед началомработы необходимо также проинициализировать

регистр управления прерываниями, даже если в вашей программе не

используютсяпрерывания  отасинхронного адаптера.Для этого

сначала надо перевести регистр данных и регистр управления пре-

рываниями в обычный режим, записав ноль в старший бит управляю-

щего регистра.Затем можноустанавливать  региструправления

прерываниями.Если  прерываниявам не нужны,запишите в этот

порт нулевое значение.

                  Современные микросхемы UART

     Фактически микросхема UART 8250 в ее исходном виде исполь-

зовалась только в старых моделях компьютеров IBM PC.  Современ-

ные микросхемы - UART 16450, 16550, 16550A изготовленные по но-

вой технологии, позволяют достичь более высокой скорости обмена

данными, а также обладают новыми аппаратными возможностями.


                            - 55 -

     Основные возможности различных микросхем UART:

   - 8250 (8250-B) : Использовался на первых моделях IBM PC

   - 16450  (8250-A) :Эта микросхема имеет большую производи-

тельность по сравнению с 8250. Фактически это 8250, но изготов-

ленный с использованием новой технологии.  Микросхема дополнена

регистром расширения (scratch register). Устранены ошибки в ре-

гистре разрешенияпрерыванийи добавлена возможность перевода

линии OUT2 в высокоимпедансное состояниевовремя  проведения

тестов, когда выход данных замкнут на вход.

     - 16550 :  Фактически соответствует 16450.  Добавлена воз-

можность внутренней буферизации передаваемых и принимаемых дан-

ных. Буфера выполнены по схеме FIFO (First In First OUT -  пер-

вый вошел,первым  вышел)или,другими словами в виде очере-

ди.При использованиибуферизациивозможно  заметноуменьшить

число прерываний,вырабатываемыхасинхронным  портом.Однако

из-за ошибки в микросхеме эту возможность лучше не использовать

- можнопотерять отдельные символы.В общем случае микросхема

16550 более быстрая,чем 16450.Дополнительно 16550 дает воз-

можность использоватьнесколькоканалов прямого доступа ( DMA

channels).

     - 16550A (16550AN) Соответствует 16550,исправлены ошибки

реализации FIFO.Эта микросхема дает возможность использования

программисту несколькихканалов прямого доступа.16550А,  как

правило, используется в компьютерах с процессорами 80386/486и

в компьютерахс RISC-архитектурой.Если вы хотите работать на

скоростях больших, чем 9600 бод, желательно использовать именно

эту микросхему.

                        3. Типы модемов

     В настоящеевремя выпускается огромное количество всевоз-

можных модемов,начиная от простейших, обеспечивающих скорость

передачи около 300 бит/сек, до сложных факс-модемных плат, поз-

воляющих вам послать свашегокомпьютера  факсилизвуковое

письмо в любую точку мира.

     В работе будет рассказанотолько  отакназываемых  ha-

yes-совместимых модемов.Эти модемы поддерживают разработанный

фирмой Hayes набор АТ-команд управления модемами.  Внастоящее

времятакие  модемы широко используются во всем мире для связи

персональных компьютеров IBM PC/XT/AT,PS/2через  телефонные

линии.

     Аппаратно модемывыполнены  либокакотдельная   плата,

вставляемая в слот на материнской плате компьютера, либо в виде

отдельного корпуса с блокомпитания,который  подключаетсяк

последовательному асинхронному порту компьютера.Первый из низ

называется внутренним модемом, а второй - внешним.

     Типичный модем содержит следующие компоненты:специализи-

рованный микропроцессор,управляющий работой модема, оператив-

ную память,хранящую  значения регистров модема и буферизующие

входную/выходную информацию, постоянную память, динамик, позво-

ляющий выполнять звуковой контроль связи,а также другие вспо-

могательные элементы ( трансформатор,резисторы, конденсаторы,

разъемы). Если у вас достаточно современный модем, то он скорее

всего дополнительно содержитэлектрически перепрограммируемую

постоянную память,в которой может быть сохранена конфигурация

модема даже при выключении питания.

     Чтобы модемы могли обмениваться друг с другом информацией,

надо, чтобы они использовали одинаковые способы передачи данных


                            - 56 -

по телефонным линиям. Для разработки стандартов передачи данных

был создан специальный международный консультативный комитет по

телеграфиии  телефонии (CCITT) и приняты следующие рекоменда-

ции:

     CCITT V.21 - 300 bps. Модем, регламентированный данной ре-

комендацией, предназначен для передачи данных по  выделенными

коммутируемым линиям.

     Он работает в асинхронном дуплексном режиме.Для передачи

и приема данных используется способ частотной модуляции.

     CCITT V.22 - 1200 bps.Модем, работающий в соответствии с

данной рекомендацией,   используетасинхронно-синхронныйдуп-

лексный режим передачи.Асинхронно-синхронный режимозначает,

что компьютер передает модему данные в асинхронном режиме.  Мо-

дем удаляет из потока данных компьютерастартовыеи  стоповые

биты. Иуже в синхронном виде передает их удаленному компьюте-

ру. Для модуляции передаваемого сигнала применяется метод  диф-

ференциальной фазовой модуляции.

     CCITT V.22bis - 2400 bps.Дуплексный модем,со скоростью

передачи данных2400bps.  При передаче со скоростью 2400 bps

используется метод квадратурной модуляции,а при скорости 1200

- методдифференциальнойфазовой модуляции.На скорости 1200

bps модем CCITT V.22bis совместим с CCITT V.22.

     CCITT V.23 - 600/1200 bps. Асинхронный модем, использующий

метод частотной модуляции.Модем может работатьв  дуплексном

режиме со   скоростью  передачиданныхпо  прямомуканалу-

600/1200 bps,а по обратной - только 75 bps.Этот стандарт не

совместим с CCITT V.21, V.22, V.22bis.

     Bell 103 - 300 bps, Bell 212A - 1200 bps.

     Bell - это американский стандарт,не совместимый со стан-

дартами CCITT.

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

     После выпускаамериканской  фирмойHayesмодемов  серии

Smartmodem, система команд,использованная в ней,стала неким

стандартом, которого придерживаются остальные фирмы - разработ-

чики модемов. Система команд, применяемая в этих модемах, носит

название hayes-команд, или AT-команд.

     Со времени выпуска первых AT-совместимых модемов наборих

команд несколькорасширился,но все основные команды остались

без изменения.

     Все команды,передаваемые компьютером модему,надо начи-

нать префиксом AT (ATtention - внимание) и заканчивать символом

возврата каретки ( ).Только команда А/ и Escape-последо-

вательность "+++" не требуют для себя префикса AT.

     После префиксаAT могут идти одна или сразу несколько ко-

манд. Для ясности эти команды могут быть отделены друг от друга

символами пробела, тире, скобками. В большинстве случаев коман-

ды могут быть написаны как заглавными, так и строчными буквами.

     При передачемодему команд они сначала заносятся во внут-

ренний буфер,который,как правило, имеет размер 40 символов.

Команды, записанные в буфер модема, исполняются после поступле-

ния символа возврата каретки. Вследствие ограниченности размера

буферане  следует передавать модему слишком длинные команды (

больше размера буфера).Длинныекоманды  можноразбиватьна

частии передавать в несколько заходов.При этом каждая часть

должна начинаться префиксом АТ и заканчиваться символом возвра-


                            - 57 -

та каретки.

     Если вы допустили ошибку при наборе команды,то ееможно

исправить, используя клавишу BackSpace.

     После выполнения каждойкоманды  модемпосылаетобратно

компьютеру ответв виде числа или слова.Этот ответ означает,

выполнена ли команда или произошла ошибка.

     Если у  вас внешний модем,то на его лицевой панели нахо-

дится восемь световых индикаторов. Хотя их расположение на раз-

личных моделяхможетменяться,  их обозначения являются стан-

дартными:

     MR Modem  Ready - Модем готов к обмену данными.  Если этот

индикатор не горит, то надо проверить линию питания модема.

     TR Terminal Ready - Компьютер готов к обмену данными с мо-

демом. Этот индикатор горит,когда модем получил от компьютера

сигнал DTR.

     CD Carrier Detect - Индикатор зажигается,когда модем об-

наружил несущуючастотуна линии.  Индикатор должен гореть на

протяжении всего сеанса связи и гаснуть,когда один из модемов

освободит линию.

     SD Send Data - Индикатор мигает, когда модем получает дан-

ные от компьютера.

     RD Receave Data - Индикатор мигает,когда модем  передает

данные к компьютеру

     HS High Speed - Модем работаетна  максимальновозможной

для него скорости.

     AA Auto Answer - Модем находится в режимеавтоответа.То

есть модемавтоматически  будет отвечать на приходящие звонки.

Когда модем обнаружит звонок на телефонной линии,  этот индика-

тор замигает.

     OH Off-Hook - Этот индикатор горит, когда модем снял труб-

ку ( занимает линию).

                    Основные команды модема

     AT - Начало (префикс) командной строки. После получения этой

команды модем автоматически подстраиваетскоростьпередачи  и

формат данных к параметрам компьютера.

     A - Автоответ.Если режим автоматического ответа выключен

(S0=0), команда используется для ответа на звонок от удаленного

модема. Команда заставляет модем снять трубку ( подключиться  к

линии ) и установить связь с удаленным модемом.

    A/ - Модем повторяет последнюю введеннуюкоманду.Команда

передается намодем  без префикса AT и исполняется модемом не-

медленно, не ожидая прихода символа возврата каретки.  Есливы

передадите модему строку AT A/ ,то модем укажет на ошибку

и вернет слово ERROR.

     Bn - Команда производит выбор стандарта, согласно которому

будет происходить обмен данными междумодемами.При  скорости

передачи 300бит/с происходит выбор между стандартами BELL 103

и CCITT V.21,при скорости 1200 bps - между BELL 212A иCCITT

V.22bis. Прискорости  2400bpsэта  командаигнорируется и

используется стандарт CCITTV.22.Если  n=0,устанавливаются

стандарты CCITT V.21/V.22, а если n=1 - стандарты BELL 103/212A.

     Ds - Команда используется для набора номера. После получе-

ния этой команды модем начинает набор номера и при установлении

связи переходит в режим передачиданных.Команда  состоитиз

префикса AT,символа D и телефонного номера, в состав которого

могут входить следующие управляющие модификаторы:P или T. Эти


                            - 58 -

модификаторы производят выбор между импульсной и тоновой систе-

мой набора ( в нашей стране используется импульсная система).

     , - Символ запятой вызывает паузу при наборе номера.Дли-

тельность паузы определяется содержимым регистра S8.

     ; - Символ точки с запятой,если он находится в конце ко-

мандной строки, переводит модем после набора номера в командный

режим.

     @ - Модем ожидает пятисекундной тишины на линии втечение

заданного промежутка времени. Промежуток времени, в течение ко-

торого модем ожидает тишины, задается в регистре S7. Если в те-

чение этоговремени паузы тишины не было,модем отключается и

отвечает NO ANSWER.

     ! - Если знак ! стоит перед знаками последовательности на-

бора, модем переходит в состояние ON HOOK  (кладеттрубку)на

1/2 секунды,а  затемсновапереходит в состояние OFF HOOK (

снимает трубку).

     S - Модем набирает телефонный номер,записанный в его па-

мяти. Этакоманда  выполняетсятолькодля  модемов,имеющих

встроенную энергонезависимуюпамять и возможность записи в нее

номеров телефонов.

     R -  После набора номера переводит модем в режим автоотве-

та. Этот модификатор должен находиться в конце набираемогоно-

мера.

     W - Перед дальнейшим набором телефонного номера модем ожи-

дает длинный гудок из линии. Причем время ожидания гудка содер-

жится в регистре S7. Если в отведенное время гудок не появился,

модем прекращает   набор   номера  ивозвращаетсообщение  NO

DIALTONE. Этот параметр может быть полезен при наборе  междуго-

родных номеров.

     En - Управление эхо-выводом команд,передаваемых  модему.

После командыЕ1модем  возвращает каждый знак,  передаваемый

ему, обратно компьютеру,что позволяетузнать,  какработает

связь модема и компьютера. Команда Е0 запрещает эхо-вывод.

     Fn - Переключение между дуплексным/полудуплекснымрежима-

ми. При n=0 переход в полудуплексный режим,а при n=1 - в дуп-

лексный.

     Hn -  Этакомандаиспользуется для управления телефонной

линией. Если n=0,то происходит отключениемодема  отлинии,

если n=1, модем подключается к линии.

     In - Выдает идентификационныйкод  модемаиконтрольную

сумму содержимого памяти модема.Если n=0, модем сообщает свой

идентификационный код, если n=1,модем проводит подсчет конт-

рольной суммы EPROM и передает ее компьютеру,n=2 - модем про-

веряет состояние внутренней памяти ROM ивозвращаетсообщение

OK или CHECKSUM ERROR (ошибка контрольной суммы). При n=3 выда-

ется состояние модема.

     Ln -  Установкагромкостисигнала  внутреннего динамика:

n=0,1 соответствует низкой громкости,n=2 - среднейиn=3-

максимальной.

     Mn - Управление внутренним динамиком. При n=0 динамик вык-

лючен. Приn=1 динамик включен только во время набора номера и

выключен после обнаружения несущей. При n=2 динамик включен все

время. Приn=3 динамик включается после набора последней цифры

номера и выключается после обнаружения несущей отвечающегомо-

дема.

     Qn - Управление ответом модема на AT-команды.При n=0 от-

вет разрешен,при n=1 ответ запрещен.Независимо от состояния

Q0 или Q1 модем всегда сообщаетсодержаниеS-регистров,  свой


                            - 59 -

идентификационный код,контрольнуюсумму  памяти и результаты

теста.

     On -  Команда переводит модем из командного режима в режим

передачи данных.При этом модем отвечает CONNECT.Команда О и

О0 переводятмодем  врежим передачи данных без инициирования

последовательности сигналов проверки линиисвязи.Команда  О1

переводит модемв режим передачи данных и заставляет модем пе-

редать последовательности сигналов проверки линии  связи,т.е.

производить повторное квитирование с удаленным модемом.

     Sr? - Чтение содержимого регистра модема, имеющего номер r.

     Sr=n - Запись в регистр модема с номером r числа n.Число

n может иметь значения от 0 до 255.Всекоманды  модифицируют

содержимое одногоили более S-регистров.Некоторые S-регистры

содержат временные параметры, которые можно поменять только ко-

мандой S.

     Vn - Производит выбор вида ответамодема  наAT-команды.

При n=0 ответ происходит цифровым кодом,а при n=1 модем отве-

чает в символьном виде на английском языке.Использование циф-

ровой формыответа  облегчает обработку результатов выполнения

команды при написании собственных программ управления модемом.

               Стандартный набор ответов модема

     OK           0 Модем выполнил команду без ошибок

     CONNECT      1 Модем установил связь со скоростью 300 bps

     RING         2 Модем обнаружил сигнал звонка

     NO CARRIER   3 Модем потерял несущую частоту

     ERROR        4 Ошибка в командной строке

     CONNECT 1200 5 Модем установил связь со скоростью 1200 bps

     NO DIALTONE6 Отсутствие сигнала станции при снятии трубки

     BUSY         7 Модем обнаружил сигнал "занято"

     NO ANSWER    8 Нет ответа после ожидания сигнала

     CONNECT 6009 Модем установил связь со скоростью 600 bps

     CONNECT 2400 10 Модем установил связь со скоростью 2400 bps

     Yn -  Способотключениямодема от линии.Существуют два

способа отключения модема от линии:  стандартный,когдамодем

получает неактивный сигнал DTR от компьютера, и принудительный,

когда модемполучает  отудаленногомодема  сигналперерыва

BREAK. Команда ATH0 направляет удаленному модему сигнал прерыва

BREAK, который длится 4с. При n=0 модем отключается стандартно,

при n=1модем  отключаетсяпослеполучения  из линии сигнала

BREAK.

     Z -  Сбрасываетконфигурацию модема.При этом во все ре-

гистры загружаются значения,принятые поумолчанию.  Значения

регистров, принятыепоумолчанию берутся из энергонезависимой

памяти модема или,если модем такой памяти не имеет, из посто-

янной памяти или определяется исходя из переключателей на плате

модема.

     +++ - Escape-последовательность, используемая для перехода

в командный режим работы модема.Благодаря этой командеможно

перейти из режима передачи данных модемом в командный режим ра-

боты без разрыва связи. Модем требует тишины перед и после нап-

равления этой Escape-последовательности.Величина этого проме-

жутка тишины определена в регистре S12.

     &Cn -   Данная   команда   управляет  сигналомDCDпорта

RS-232-C. При n=0 сигнал DCD всегда активен,а при n=1сигнал

DCD устанавливаетсятолькотогда,  когдамодемобнаруживает

несущую частоту от удаленного модема.


                            - 60 -

     &Dn -  Управлениесигналом DTR.При n=0 модем игнорирует

DTR, n=1 - при потере сигнала DTR модем переходит  вкомандный

режим работы,n=2-  припотере сигнала DTR модем прекращает

связь, отключается от линии, отключает режим автоответа и пере-

ходит вкомандный  режим работы,n=3 - при потере сигнала DTR

автоматически сбрасывается конфигурация модема,как при выпол-

нении команды ATZ.Модем обнаруживает потерю сигнала DTR, если

сигнал DTR отсутствует дольше времени, определенного в регистре

модема S25.

     &F - модем устанавливает конфигурацию, записанную в посто-

янную память.

     &Gn - Включение/выключение защитной частоты.n=0 - защит-

ная частота выключена,n=1 - модем генерирует защитную частоту

550 Hz,n=2 -  модемгенерируетзащитную  частоту1800Hz.

Использование данной команды зависит от особенностей телефонной

линии.

     &Ln - Вид линии связи. При n=0 передача по обычным (комму-

тируемым) линиям связи, n=1 передача по выделенным каналам.

     &Mn - Установка асинхронно/синхронного режима работы.При

n=0 устанавливается асинхронный режим, при n=1,2,3 устанавлива-

ется синхронный режим.

     &Pn - Установка импульсного коэффициента набораномерав

соответствии сразличнымистандартами.  При n=0 - коэффициент

заполнения замыкание/интервал 39/61 (Америка),при n=1 - 33/67

(Англия).

     &Rn - Управление сигналом CTS:n=0 - сигнал  переходитв

активное состояние после получения сигнала RTS. Данные, переда-

ваемые модему до поступления сигналаRTS,игнорируются.  Если

n=1 модем игнорирует RTS.

     &Sn - Управление сигналом DSR порта RS-232-C. При n=0 сиг-

нал DSRактивен  всегда,апри n=1 сигнал DSR активизируется

только после окончания этапа установления связи между модемами.

     &Tn - Тестирование модема. От n зависит вид теста.

     &V - Модем показывает свою текущую конфигурацию и телефон-

ные номера, записанные в энергонезависимой памяти.

     &W - Модем записывает свою текущую конфигурацию вэнерго-

независимую память.Присбросе  модема будет загружена именно

эта конфигурация.

     &Zn - Используется для записи телефонного номера в энерго-

независимую память модема.Количество телефонов зависит от мо-

дели модема.

          Основные принципы программирования модемов

     Доступ к  модемупроисходит через последовательный асинх-

ронный порт.При этом для передачи модему команд их необходимо

просто записатьврегистр данных COM-порта,на котором нахо-

дится модем.Ответ от модема также поступает черезпоследова-

тельный порт.Передавая модему команды, его можно проинициализи-

ровать, перевести в режим автоответа или заставить набрать  но-

мер.

     Когда модем наберет номер удаленногоабонента  иликогда

модему в режиме автоответа придет вызов,он попытается устано-

вить связь с удаленным модемом.После установления связи модем

передает компьютеручерез COM-порт специальное сообщение и пе-

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

этого данные,передаваемые модему, перестают восприниматься им

как команды и сразу передаются по телефонной линии на удаленный


                            - 61 -

модем.

     Итак, после установления связи с удаленным модемом, комму-

никационная программа может начинать обмен данными.  Обмен дан-

ными также,  какипередача  команд,осуществляетсячерез

COM-порт. Затемприпомощи  специальной Escape-последователь-

ности можно переключить модем из режима передачи данных обратно

в командный режим и положить трубку, разорвав связь с удаленным

модемом.

     Последовательность действий для установления связи

     а)Инициализация COM-порта

     Проводим инициализацию COM-порта, к которому подключен мо-

дем. Для этого программируем регистры микросхемы UART,  задавая

формат данных и скорость обмена.Заметим, что модем будет про-

водить соединение с удаленным модемом как раз на этой скорости.

Чем скорость выше,тем быстрее будет происходить обмен данными

с удаленным модемом.

     Однако при увеличении скорости на плохих телефонных линиях

сильно возрастает количество ошибок.

     б)Инициализация модема

     Передавая модему AT-команды через СОМ-порт, производим его

инициализацию. При помощи АТ-команд можно установить  различные

режимы работы модема - выбрать протокол обмена,  установить на-

бор диагностических сообщений модема и т.д.

     в)Соединение с удаленным модемом

     Передаем модему команду набора номера (ATD). В этом случае

модем набирает номер и пытается установитьсвязьс  удаленным

модемом. Или передаем модему команду AT S0=1 для перевода его в

режим автоответа. После этого модем ожидает звонка от удаленно-

го модема, а когда он приходит, пытается установить с ним связь.

     г)Ожидаем ответ от модема

     В зависимости от режима, в котором находится модем, он мо-

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

модем производит вызов удаленного модема (АТ-команда  ATD),то

модем может выдать следующие сообщения:

     CONNECT       Успешное соединение

     BUSY          Номер занят

     NO DIALTONE   На линии отсутствует сигнал коммутатора

     NO ANSWER     Абонент не отвечает

     NO CARRIER    Неудачная попытка установить связь

     Когда приходит звонок, модем передает компьютеру сообщение

RING, если регистр модема S0 равен нулю.В этом случае для от-

вета на звонок надо послать модему команду АТА.Если модем на-

ходится в режиме автоответа и регистр модема S0 не равен  нулю,

то модемавтоматически пытается ответить на звонок и может вы-

дать следующие сообщения:

     CONNECT       Успешное соединение

     NO DIALTONE   Нет несущей частоты удаленного модема

     NO CARRIER    Неудачная попытка установить связь

     Если модем передал компьютеру сообщениеCONNECT,значит,

он успешно произвел соединение и теперь работает в режиме пере-

дачи данных.Теперь все данные,которые вы передадитемодему

через СОМ-порт,будут преобразованы модемом в форму, пригодную

для передачи по телефонным линиям,и переданы удаленному моде-


                            - 62 -

му. И наоборот,данные,принятые модемом по телефонной линии,

переводятся в цифровуюформуи  могутбытьпрочитаны  через

СОМ-порт, к которому подключен модем.

     Если модем передал компьютеру сообщения BUSY, NO DIALTONE,

NO ANSWER, NO CARRIER значит, произвести соединение с удаленным

модемом не удалось и надо попытаться повторить соединение.

     д)Подключение модема в командный режим

     После окончанияработы  коммуникационная программа должна

перевести модем в командный режим и передать ему команду  поло-

жить трубку (ATH0). Для перевода модема в командный режим можно

воспользоваться Escape-последовательностью  "+++".Послетого

как модем перешел в командный режим, можно опять передавать ему

АТ-команды.

     е)Сбрасываем сигналы на линиях DTR и RTS

     Низкий уровеньсигналов DTRи RTS сообщает модему,что

компьютер не готов к приему данных через COM-порт.

     При работе с асинхронным последовательным адаптером вы мо-

жете использовать механизм прерываний. Так как передача и прием

данных модемом представляют собой длительный процесс, то приме-

нение прерываний от порта позволяетиспользоватьпроцессорное

время для других нужд.

                  5.Протоколы обмена данными

         5.1.Протоколы коррекции ошибок нижнего уровня

     При передаче данных по зашумленным телефонным линиям всег-

да существует вероятность,что данные, передаваемые одним моде-

мом, будут приняты другим модемом в искаженном виде.  Например,

некоторые передаваемыебайтымогут изменить свое значение или

даже просто исчезнуть.

   Для того, чтобы пользователь имел гарантии, что его данные

переданы без ошибок, используются протоколы коррекции ошибок.

     Общая формапередачи  данныхпопротоколам с коррекцией

ошибок следующая: данные передаются отдельными блоками (пакета-

ми) по 16-20000 байт,в зависимости от качества связи.Каждый

блок снабжается заголовком,в котором указана проверочнаяин-

формация, например контрольная сумма блока.  Принимающий компь-

ютер самостоятельно подсчитывает контрольную сумму каждого бло-

ка исравнивает  еесконтрольной суммой из заголовка блока.

Если эти две контрольный суммы совпали,  принимающаяпрограмма

считает, что блок передан без ошибок. В противном случае прини-

мающий компьютер передает передающему запрос на повторную пере-

дачу этого блока.

     Протоколы коррекцииошибок  могут быть реализованы как на

аппаратном уровне, так и на программном. Аппаратный уровень ре-

ализации более эффективен. Быстродействие аппаратной реализации

протокола MNP примерно на 30% выше, чем программной.

     MNP-протоколы

     MNP (Microcom Network Protocols) -серия  наиболеерасп-

ространенных аппаратныхпротоколов,впервые  реализованная на

модемах фирмы Microcom.Эти протоколыобеспечивают  автомати-

ческую коррекцию ошибок и компрессию передаваемых данных.

     Сейчас известны 10 протоколов:


                            - 63 -

     MNP1. Протокол коррекции ошибок,использующий асинхронный

полудуплексный метод передачи данных. Это самый простой из про-

токолов MNP.

     MNP2. Протокол коррекции ошибок,использующий асинхронный

дуплексный метод передачи данных.

     MNP3. Протокол коррекции ошибок,использующий  синхронный

дуплексный методпередачи данных между модемами (интерфейс мо-

дем - компьютер остается асинхронным).

     Так как  приасинхронной передаче используется десять бит

на байт - восемь бит данных,стартовый бит и стоповыйбит,а

при синхроннойтольковосемь,  тов этом кроется возможность

ускорить обмен данными на 20%.

     MNP4. Протокол,использующий  синхронныйметод передачи,

обеспечивает оптимизацию фазы данных, которая несколько улучша-

ет неэффективность протоколов MNP2 и MNP3.  Кроме того, при из-

менениичисла ошибок на линии соответственно меняется и размер

блоков передаваемых данных.При увеличении числа ошибок размер

блоков уменьшается,увеличивая вероятность успешного прохожде-

ния отдельных блоков.

     Эффективность этого метода составляет около 20% по сравне-

нию с простой передачей данных.

     MNP5. Дополнительно к методам MNP4,MNP5 часто использует

простой методсжатияпередаваемой  информации.Символы часто

встречающиеся в передаваемом блоке кодируются  цепочкамибитов

меньшей длины,чем редко встречающиеся символы.Дополнительно

кодируются длинные цепочки одинаковых символов. Обычно при этом

текстовые файлы сжимаются до 35% своей исходной длины. Вместе с

20% MNP4 это дает повышение эффективности до 50%.

     Заметим, что если вы передаете уже сжатые файлы, а в боль-

шинстве это так и есть,дополнительногоувеличения  эффектив-

ности за счет сжатия данных модемом этого не происходит.

     MNP6. Дополнительно к методам протокола MNP5 автоматически

переключается междудуплексным и полудуплексным методами пере-

дачи в зависимости оттипаинформации.  ПротоколMNP6также

обеспечивает совместимость с протоколом V.29.

     MNP7. По сравнению с ранними протоколами используетболее

эффективный метод сжатия данных.

     MNP9. Использует протокол V.32 и соответствующий метод ра-

боты, обеспечивающий совместимость с низкоскоростными модемами.

     MNP10. Предназначен для обеспечения связи на сильно зашум-

ленных линиях,таких,как линии сотовой связи, междугородными

линиями, сельские линии.Это достигается при помощиследующих

методов:

     - многократного повторения попытки установить связь

     - измененияразмера  пакетовв соответствии с изменением

уровня помех на линии

     - динамического изменения скорости передачи в соответствии

с уровнем помех линии

     Все протоколы MNP совместимы между собой снизу вверх.При

установлении связипроисходитустановка наивысшего возможного

уровня MNP-протокола.Если же один из связывающихся модемов не

поддерживает протокол MNP, то MNP-модем работает без MNP-прото-

кола.

     Режимы MNP-модемов.

     MNP-модем обеспечивает следующие режимы передачи данных:

     - Стандартный режим.Обеспечивает буферизацию данных, что


                            - 64 -

позволяет работать с различными скоростями передачи данных меж-

ду компьютером и модемом и между двумя модемами.Врезультате

для повышенияэффективностипередачи данных вы можете устано-

вить скорость обмена компьютер-модем выше,чем модем-модем.В

стандартном режиме работы модем не выполняет аппаратной коррек-

ции ошибок.

     - Режим прямой передачи.Данный режим соответствует обыч-

ному модему,не поддерживающему MNP-протокол. Буферизация дан-

ных непроизводится  и аппаратная коррекция ошибок не выполня-

ется.

     - Режим с коррекцией ошибок и буферизацией.Это стандарт-

ный режим работы при связи двух MNP-модемов. Если удаленный мо-

дем не поддерживает протокол MNP, связь не устанавливается.

     - Режим с коррекцией ошибок иавтоматическойнастройкой.

Режим используется,когда заранее не известно, поддерживает ли

удаленный модем протокол MNP. В начале сеанса связи после опре-

деления режимаудаленногомодема устанавливается один из трех

других режимов.

     Протоколы V.42 и V.42bis.

     Протокол с  коррекциейошибок и преобразованием асинхрон-

ный-синхронный. Протокол использует метод компрессии, при кото-

ром определяется частота появления отдельных символьных строк и

происходит их заменанапоследовательностисимволов  меньшей

длины. Этот метод компрессии носит название Lempel-Ziv.  Данный

метод компрессииобеспечивает50%  сжатиетекстовыхфайлов.

Вместе с 20% выигрышем от синхронного преобразования это увели-

чивает эффективность на 60%.

                5.2. Протоколы передачи файлов

     В отличие  отпротоколовнижнего уровня данные протоколы

позволяют организовать прием и передачу файлов.

     ASCII.

     Этот протокол работает без коррекции ошибок.В результате

при передаче файлов по телефонным каналам из-за  шумапринятый

файл сильно отличается от передаваемого.Если вы передаете вы-

полняемый файл,то ошибки при передаче могут стать роковыми-

полученная программане будет работать.Если вы передаете ко-

роткие текстовые сообщения,то ошибки легко могут быть исправ-

лены.

     XModem.

     Наиболее распространены три разновидности протокола XModem:

     - оригинальный протокол Xmodem

     - Xmodem c CRC

     - 1K Xmodem

     Оригинальный протокол Xmodemразработал  ВардКристенсен

(Ward Christensen)в1977 году.  Вард Кристенсен был одним из

первых специалистов по протоколам обмена данными.  В честь него

этот протокол иногда называют также протоколом Кристенсена.

     При передаче файлов спомощью  протоколовXmodemформат

данных должен быть следующим:8-битовые данные,один стоповый

бит и отсутствие проверки на четность.Для передачииспользу-

ется полудуплексныйметод,т.е.  данныемогут передаваться в

каждый момент времени только в одном направлении.


                            - 65 -

     Протокол XmodemCheksum  передаетданные пакетами по 128

байт. Вместе с пакетом передается егоконтрольнаясумма.  При

получении пакетаконтрольная сумма вычисляется снова и сравни-

вается с суммой,вычисленной на передающей машине. Пакет пере-

дан без ошибок, если суммы совпадают.

     Этот метод  обеспечивает достаточно хорошую защиту от оши-

бок. Только один из 256 пакетов можетсодержатьошибки,  даже

если контрольная сумма правильная.

     Xmodem c CRC. Более защищенным от ошибок является протокол

Xmodem CRC (Cyclic Redundancy Check).Xmodem CRC - протоколс

проверкой циклическимизбыточным кодом.В нем 8-битовая конт-

рольная сумма замененана16-битовый  циклическийизбыточный

код. Этотпротокол гарантирует вероятность обнаружения ошибок,

равную 99,9984%.Только один из 700 биллионовплохихпакетов

будет иметь правильный CRC-код. Протокол Xmodem CRC также пере-

дает данные пакетами по 128 байт.

     1K Xmodem.  Если передача идетбезошибок,  протокол1К

Xmodem увеличивает размер пакета с 128 до 1024 байт. При увели-

чении числа ошибок размер пакета снова уменьшается. Такое изме-

нение длиныпакета  позволяет увеличить скорость передачи фай-

лов. В остальном протокол1KXmodem  совпадаетспротоколом

Xmodem CRC.

     Ymodem.

     Протокол Ymodem разработал Чак Форсберг в 1984-1985 годах.

Протокол Ymodem похож на протокол 1K Xmodem,но имеет одно от-

личие:протокол Ymodem может передавать или принимать заодин

заход несколько файлов.

     Существует модификация протокола Ymodem - Ymodem G. Прото-

кол Ymodem G предназначен для использования с модемами, автома-

тически осуществляющими коррекцию ошибок на аппаратном  уровне.

Например, MNP-модемы с аппаратной реализацией MNP.  В этом про-

токоле упрощена защита от ошибок,т.к. ее выполняет сам модем.

Не используетеэтотпротокол,  если ваш модем не осуществляет

аппаратную коррекцию ошибок.

     Другой особенностьюпротокола  Ymodemявляетсято,  что

вместе с файлом передаются все его атрибуты.В результатекак

минимум имя файла и дата остаются неизменными.

     Zmodem.

     Zmodem - это быстрый протокол передачи данных,использую-

щий окна.Zmodem  осуществляетпередачуданных  пакетамипо

несколько штук в окне. При этом принимающий данные компьютер не

передает сигналподтверждения или сигнал переспроса неправиль-

ного пакета, пока не получит все пакеты в окне.

     Протокол Zmodem,также как и протокол 1K Xmodem,может

изменять длину пакета (блока) от 64 до 1024 байт в  зависимости

от качества линии.

     Кроме того,протокол обладает следующей полезнойособен-

ностью: если при передаче файла произошел сбой на линии и вы не

успели передать весь файл, то в следующий раз при передаче это-

го же файла он автоматически начнет передавать с того же места,

где произошел обрыв связи.Таким образом,очень большие файлы

вы можете передавать по частям.

     Из всех протоколов верхнего уровня,описанных выше,этот

протокол самый быстрый и удобный.


                           - 66 -

     BiModem.

     Особенностью протокола Bimodem является возможность однов-

ременной передачи двух файлов в разных направлениях.Кроме то-

го, одновременно с передачей файлов выможетепобеседовать  с

оператором удаленного компьютера при помощи клавиатуры.

     Kermit.

     Широко известны две разновидности протокола Kermit - стан-

дартный иSuper Kermit.  Этот протокол был разработан в Колум-

бийском университете в 1981 году для связи между различными ти-

пами компьютеров, включая большие компьютеры, мини-компьютеры и

персональные компьютеры.Вотличие  отпротоколовXmodem  и

Zmodem он использует для передачи данных пакеты переменной дли-

ны и максимальным размером 94 байт.

     Так же как и Ymodem,протокол Kermit может передавать или

принимать несколько файлов за один сеанс.

     Протокол SuperKermit предназначен специально для исполь-

зования в сетях типа TeleNet или TymNet.Эти сети имеюточень

большие задержки при передаче данных.Так что если ждать подт-

верждения для каждого пакета, это может привести к резкому сни-

жению скоростиобмена.В  протоколе Super Kermit эта проблема

решается следующим способом.Несколько пакетовпередаетсяза

один раз.Все  действия по контролю над ошибками остаются,за

исключением того,что принимающий данные компьютер не передает

сигнал подтвержденияили сигнал на переспрос неправильного па-

кета, пока не получит все пакеты в окне.

     В результатеиспользования  такогомеханизма происходит

резкое сокращение времени задержки. Окно может содержать от од-

ного до 31 пакета.

     В дополнение Kermit использует также предварительную комп-

рессию данных для увеличения эффективной скорости обмена данны-

ми.

               6.Телекоммуникационные программы

     Существует огромное множество различных телекоммуникацион-

ных программ, предоставляющих пользователю удобное средство ра-

боты с модемом - MTE, Telix, Comit, Bitcom и т.д.

     Основные параметры по которым оцениваются коммуникационные

программы являются:программная эмуляцияпротоколов  коррекции

ошибок (MNP),наличие разнообразных протоколов обмена файлами,

интерфейс с пользователем.

     MTE.

     Широко распространенная коммуникационнаяпрограммафирмы

MagicSoft Inc. В MTE версии 2.10 программно реализован протокол

MNP.Поэтому,  есливашмодем не имеет аппаратной реализации

протокола MNP,использование МТЕ позволяет установить устойчи-

вую связь с MNP-модемами.

     МТЕ имеет следующие встроенные протоколыобменафайлами:

ASCII, Xmodem CRC, Ymodem, Ymodem-G, Zmodem, Kermit.

     Telix.

     Telix, версия 3.12 - удобнаякоммуникационнаяпрограмма,

поддерживающая много протоколов обмена файлами.В Telix реали-

зованы следующие протоколы:Kermit,Modem7,  SEAlink, Telink,

Xmodem, Xmodem-1k, Ymodem, ymodem-G, Zmodem, HSlink, MobyTurbo,


                            - 67 -

ASCII.

     Однако Telix имеет один большой недостаток:эта программа

не поддерживает программной эмуляции MNP.Вследствие этогоее

невозможноиспользовать на сильно зашумленных линиях с модема-

ми, не обеспечивающими аппаратную коррекцию ошибок.

     Comit.

     Comit, версии1.27b - удобная коммуникационная программа,

часто поставляется в комплекте с модемами, не имеющими аппарат-

ной реализацииMNP.Выполняет программную эмуляцию протоколов

MNP2, MNP4, MNP5, MNP7.

     К сожалению,эта  коммуникационнаяпрограмма имеет очень

бедный набор протоколов для обмена файлами. Поддерживаются про-

токолы Xmodem, Xmodem CRC, Ymodem, Ymodem-G, ASCII.

     Bitcom.

     Bitcom, версии 3.584 - коммуникационнаяпрограмма,часто

поставляемая в комплекте с модемами, не имеющими аппаратной ре-

ализации MNP. Выполняет программную эмуляцию протоколов MNP (до

MNP5 включительно).

     Bitcom поддерживает следующие протоколы обмена файлами:

ASCII, Xmodem CRC, Ymodem, Ymodem-G, Kermit, CompuServe Plus.

     Следует также отметить,что в Bitcom неудачнореализован

интерфейс с пользователем.

                   7. Использование модемов

               7.1. Электронная доска объявлений

     BBS ( Bulletin Board System ) - это компьютер,снабженный

одним илинесколькими модемами,на котором выполняется специ-

альная программа.Этапрограмма  даетвозможностьудаленным

пользователям связыватьсясней по телефонным линиям и выпол-

нять обмен файлами и сообщениями.

     Большинство операторовстанций BBS также являются членами

сети FidoNet. Сеть FidoNet представляет собой международную не-

коммерческую сетьпользователейкомпьютеров многих стран.Не

надо путать BBS и FidoNet.СтанцииBBS  могутневходить  в

FidoNet, и в свою очередь,узлы FidoNet могут не иметь BBS,а

использоваться только для пересылки почты.

     Если вы успешно установили модем на своем компьютере,то

у вас возникнет естественное желание куда-нибудь позвонить. Для

этого вы   можете  воспользоватьсялюбойтелекоммуникационной

программой - MTE,COMIT, BITCOM. Если ваш модем не имеет аппа-

ратной коррекцииошибок,  то лучше использовать MTE или другую

программу, имеющую возможность эмуляции MNP (например COMIT).

     Хотя различныеBBS используют различные программы для ор-

ганизации своей работы-  TPBoard,Allan'sKakboard,  Remote

Access, Opus, Phoenix, Maximus и т.д., фактически все они имеют

одинаковый наборкоманд.Здесь  мырассмотримстанции  BBS,

использующие программу Maximus.

     Maximus организует диалог с пользователем, позволяет поль-

зователю получить   адресованные ему сообщения (почту),отпра-

вить почту другим пользователям даннойстанцииBBS  илисети

FidoNet (если данная станция входит в эту сеть).

     Пользователь BBS получает возможность просматривать архивы

файлов BBS,переписывать себе интересующие его файлы,переда-

вать на BBS свои файлы,которые могут кого-нибудьзаинтересо-


                            - 68 -

вать.

     Итак, вы звоните на BBS.В большинстве случаев после сое-

динения с BBS на вашем дисплее появится следующее сообщение:

     CONNECT 2400

     FrontDoor 2.02; Noncommercial version

     Press Escape twice for Maximus

     Maximus is being loaded

Оно означает,что станция является узлом какой-либо сети, нап-

ример FidoNet,и на ней выполняется специальная почтовая прог-

рамма FrontDoor.Вампредлагается  нажать два раза на клавишу

ESC для загрузки программы Maximus,которая и будет далее под-

держивать диалог с вами.

     Если в это время станция работает только для обмена почтой

в сети, то на экране появится другое сообщение:

     CONNECT 2400

     FrontDoor 2.02; Noncommercial version

     Mail-only system. Please hang up.

     Если BBS  работает,точерез  некоторое время на ней за-

пустится программа Maximus или аналогичная и  навашемэкране

появится заставка-информация  оданной BBS,которая может

включать номера телефонов, расписание работы, фамилию системно-

го оператора.

     Затем BBS попросит ввести вас свое имя и фамилию.Если вы

входите наBBS  первый раз,то у вас будут запрошены истинные

имя и фамилия,рабочий и домашний телефоны,тип используемого

вами терминала.

     Под типом терминала понимается возможность распознавать те

или иные управляющие символы.Обычно вам предоставляется выбор

из двух возможных типов терминалов - TTY и ANSI.

     TTY представляет собой наиболее простой тип терминала.Он

не позволяет управлять цветом символов,выводимых наэкран  и

устанавливать курсор в заданную позицию.

     ANSI - это наиболее универсальный тип терминала.Онпод-

держивает управление положением курсора,а также цветом симво-

лов и фоном символов.Управление цветом иположением  курсора

обеспечивается специальными Escape-последовательностями.

     После такой процедуры регистрации вас попросят выбрать се-

бе парольивы автоматически становитесь пользователем данной

BBS. При последующих входах на эту BBS используйте то же имяи

фамилию, чтои первый раз.  Программа на BBS отыщет ваше имя в

списке пользователей и предложит вам ввести пароль,  определен-

ный при первом вхождении в систему.

                       Главное меню BBS

     Когда система наконец признает в вас своегопользователя,

на экран будет выведено основное меню:

     MAIN:

     M)essage Areas       F)ile Areas        S)tatistics

     C)hange Setup        W)ho is on         /)Chat Menu

     Y)ell for Sysop      R)egistration      G)oodbye

   Рассмотрим каждую из команд меню:

     Message Areas

     Выбрав этотэлемент  основного меню,вы переходите в об-


                            - 69 -

ласть сообщений. На экране отобразится меню работы с сообщения-

ми, изкоторого  высможете просмотреть,послать или принять

сообщения.

     File Areas

     Переход в  файловуюобласть BBS.На экране появится меню

для работы с файлами.Из него высможете  просмотретьсписок

файлов, имеющихся на BBS, принять или передать на BBS файлы.

     Statistics

     Эта команда отображает на экране статистику вашей работы с

BBS: время, отведенное на этот сеанс, время которое вы уже про-

работали с этой системой и оставшеесявремя.Также  выводится

информация о размерах принятой и переданной вами информации,  а

также сколько еще килобайт вы можете перекачать себе сегодня.

     Change Setup

     При выборе  этогоэлементаменю вы сможете изменить ваше

имя, пароль,номера  телефонов,типтерминала,  который   вы

используете.

     Who is on

     Система сообщит вам, о том, кто еще подключился к BBS (ес-

ли BBS имеет несколько телефонных линий).

    Chat Menu

     Если система имеет несколько телефонных линий,то вы смо-

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

этой BBS.

     Yell for Sysop

     При помощи  этой команды можно попробовать вызвать систем-

ного оператора,если он находится поблизости от BBS и пожелает

вступить в переговоры.Если вам повезет,вы сможете с помощью

клавиатуры передать ему сообщение и получить ответ.

     Registration

     Система начнетзадавать вам вопросы для вашей регистрации

на BBS.

     Goodbye

     С помощью этой команды вы разорвете связь с BBS.

                   7.2. Факс-модемные платы

     В последнеевремя на рынке появилось множество факсимиль-

ных и факс-модемных плат. Если вы подключите эту плату к вашему

компьютеру, то вы получите факсимильный аппарат. Благодаря этим

платам вы можете передать факс налюбойфаксимильный  аппарат

или на любую факс-модемную плату в мире.

     Факс-модемные платы можно использовать и как обычные моде-

мы.

     Программное обеспечение,обслуживающее факс-модемные пла-

ты,позволяет  преобразовыватьданныев различных форматах к

формату факсимильных аппаратов.Например, программа Quick Link

II Fax позволяет передавать на факс-машины и другие факс-модемы

следующие данные:текст,файлы в форматах TIFF, IMG подготов-

ленныепрограммой  GEMArtline или Ventura Pablisher,BMP из


                            - 70 -

Microsoft Windows, CUT из Dr.Halo и PCX из Paintbrush.

     Некоторые модемыпозволяют  даже послать звуковое письмо.

Они обеспечивают запись и последующее воспроизведение  речевого

сигнала спомощью встроенных аналогово-цифрового и цифроанало-

гового преобразователей.

                    7.3. Электронная почта

     Электронные доски объявлений BBS являются,пожалуй, самым

простым способомобменасообщениями  ифайлами.Значительно

больший интерес предоставляет использование глобальных сетей.

     Одной из возможностей использования глобальных сетей явля-

ется организация электронной почты.Если ваш компьютер подклю-

чен к глобальной сети и вы имеете специальное программное обес-

печение для обмена почтой,то вы можете отправлять черезсеть

письма другим пользователям сети.

     Само письмо представляет собойобычный  файл,содержащий

текст письма и специальный заголовок, в котором указано, от ко-

го письмо направлено,кому предназначено,какая тема письма и

дата отправления.

     В зависимости от используемой вами сети электронныйадрес

может иметь различный формат.

     Отправляя электронное письмо,надо знать только адрес по-

лучателя. Маршрут,по которому оно будет передаваться, опреде-

ляется самой системой электронной почты иможетизменяться  в

зависимости от загруженности отдельных линий.

     Таким образом,отправленное  вамиписьмо через несколько

минут или дней (в зависимости от расстоянияидругих  причин)

попадет на компьютер адресата. Когда у адресата будет время, он

сможет просмотреть пришедшую почтуив  случаенеобходимости

отправит вам ответ.

     Другой возможностьюиспользования  глобальных сетей явля-

ются телеконференции.   Использование   телеконференций   соот-

ветствует возможности обмена сообщениями на BBS,  но предпола-

гает больший сервис и круг пользователей.

     Телеконференции илиновости  обычно делятся в зависимости

от их тематики на несколько областей.Абонент сети может "под-

писаться" на интересующие его конференции. После этого он полу-

чает возможность отправлять свои сообщения по  тематикеданной

конференции иавтоматическиполучать  всеновые сообщения по

этой конференции, отправленные другими пользователями сети.

     В настоящеевремя в нашей стране самыми большими являются

сеть Relcom и FidoNet.Relcom является подмножеством сетиIn-

terNet.Обе  этисетипозволяют  передавать данные не только

внутри России, но и по всему миру.

     Сеть -  FidoNet - не является коммерческой.  Она действует

на добровольных началах и поддерживается,как правило,компь-

ютерными станциями,расположенными дома у членов этой сети. По

своим масштабам эта сеть самая крупная среди всех  коммерческих

инекоммерческихсетей,  существующие в мире.Происходит это

именно из-за ее некоммерческого назначения. Ее члены могут сами

решать всеорганизационныевопросы путем обсуждения их в эхо-

конференциях и проведения всеобщего голосования.

     Сеть Relcom - коммерческая сеть, характеризующаяся относи-

тельной дешевизной использования,большой скоростью обмена ин-

формацией, большим количеством пользователей во всем мире. При-

чем большинство сетей электронной почты имеют общие  узлы.Это

позволяет посылать письма из одной сети в другую. Таким образом


                            - 71 -

всю совокупность компьютерныхсетейможно  рассматриватькак

одно гигантское информационное поле.

     Рассмотрим подробнее, как же все-таки устроена сеть элект-

ронной почты. Если представить схематически ее структуру, то мы

увидим, что это ни что иное как обычный  ориентированныйграф.

Вершинами этогоорграфаявляются узлы и пользователи сети.С

точки зрения организации иерархии сети, можно выделить несколь-

ко уровней подчинения.Самый высокий уровень - это уровень го-

сударственный. Как правило в каждом государстве есть одна стан-

ция, являющаяся представителем этого государства, через которую

идет обмен информацией между пользователями этих государств.

     Следующий уровень - уровень городов. На этом уровне проис-

ходит обмен информацией между различными городами одного  госу-

дарства. В каждом городе,в свою очередь,есть подсеть узлов,

которые обеспечивают хождение почты внутри каждого города.

     Самым низким уровнем в этой классификации являются пользо-

ватели. Это основной источник доходовдляузлов  коммерческой

сети.

     В адресе каждогопользователя  заложенавсянеобходимая

информация о том, к какому узлу он прикреплен, в каком городе и

в какой стране находится этот узел.Например по Relcom'овскому

адресу "jim@jim.a2-link.msk.ru"можно точно сказать,что этот

пользователь находится в России.Его узел находится в Москве и

называетсяA2-LINK.  Терминал пользователя имеет название JIM.

Первое же слово в адресе,указывает имясамого  пользователя,

потомучто одним терминалом могут пользоваться несколько поль-

зователей.

           8. Программа поиска оптимального маршрута

                   8.1. Разработка программы

     В связи с тем,что электроннаясеть  представляетсобой

очень сложный орграф, бывает очень сложно определить, каким об-

разом наиболее экономично и быстро отправить письмо в адрес по-

лучателя.Исходя  из начальных правил построения сети,  письмо

отправленное пользователем,например в другуюстрану,  должно

сначала пройти через его узел,затем дойти до центрального го-

родского узла. После этого письмо направляется на станцию госу-

дарственного уровня, откуда пересылается на станцию государства

адресата. От туда письмо начинает спуск по иерархическому дере-

ву,сначала до уровня города, потом попадает на узел пользова-

теля,а затем на терминал, где его может прочитать получатель.

Как мы видим цепочка получается очень сложной и долгой.  Однако

даже при такой цепочке узлов время прохождения электронной поч-

ты по сети Relcom ограничивается одним или двумя днями. Поэтому

для увеличения прибыли от поддержанияузлаэлектронной  почты

Релком, нам необходимо сократить путь прохождения письма исходя

из критерия минимальной стоимости пересылки. При сокращении се-

бестоимостипересылки,  мысможемснизить  тарифную плату за

пользование нашим узлом, и тем самым привлечь большее количест-

во пользователей.А за счет этого,в свою очередь,увеличить

прибыль от содержания узла.Итак задача сводится кнахождению

минимального пути в нагруженном орграфе. Длиной дуги будем счи-

тать стоимость,необходимое для передачи единицы информации от

одногоузла к другому по данной дуге,т.е.  телефонной линии.

Эти величины устанавливаются экспериментально и они зависят  от

целого комплекса показателей, таких как стоимость минуты между-


                            - 72 -

городных переговоров,качество телефонной линии,максимальной

скорости модемов, загруженности узла, принимающего почту и даже

быстродействием компьютера, на котором находится узел электрон-

ной почты.

     Для построениямодели  фрагментасетиэлектронной почты

нужно также знать, что в России существует альтернативная теле-

фонная сеть называемая "Искра".Ее главное отличие отобычной

телефонной сети в том, что качество линий на порядок лучше, что

обеспечивает большую пропускную способность телефонного  канала

при том же техническом обеспечении.

     Поэтому, если два узла имеют выход на телефонсети"Иск-

ра", то мы будем считать этот канал связи единственным,  потому

что в этом случае упрощается решение задачи поиска минимального

пути, т.к. не будет двух дуг, соединяющих одни и те же узлы.

     Приступим к построению модели сети.Для простоты  возьмем

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

ня городов,т.к.  внутри города (вРоссии)продолжительность

разговора не оплачивается отдельно. Пронумеровав узлы по поряд-

ку, мы можем построить файл исходных данных (см. приложение).

     Таким образом   мы  получилиориентированныйнагруженный

граф, являющийся математическоймодельюинформационнойсети.

     8.2. Краткий экономический анализ внедрения программы

     Запустив разработанную мной программу,получаем файлре-

зультатов (см.приложение).Из результата работы программы мы

видим,что из узла 1 в узел 16 был найденпуть  стоимость17

тыс.руб, в то время как обычный путь стоил бы 48 тыс.руб и сос-

тоял бы из 5 переходов.

     Путь из 1 узла в 19 стоил 48 т.р.и состоял из 4перехо-

дов. В результате работы программы был найден путь из 5 перехо-

дов, но стоимостью 17 т.р.

     Путь из  1узла в 42 узел состоял из 3х элементов и стоил

27 т.р., хотя есть более дешевый путь стоимостью 21 т.р.

     Путь из  1узла в 30 узел состоял из 3х элементов и стоил

24 т.р. Программа нашла более дешевый путь стоимостью 22 т.р.

     В среднем общая стоимость передачи сократилась в 1.9 раза.

Посчитаем экономический эффект от внедрения программы.

     По статистическим данным за один день через один узел про-

ходит порядка 20 Мб информации.Из них 10%информации идет на

междугородные узлы.Таким образом стоимость пересылки информа-

ции в другие города за один день составляет

                20*0.1*147/4 = 73.5 тыс.руб.

     За один год затраты на междугородную почту составят

                  73.5*12*30 = 26460 тыс.руб.

     Таким образом мы получаем, что экономия от внедрения прог-

раммы за год составит

                  26460/1.9 = 13926 тыс.руб.

     Учитывая, чтовнедрение  программыи ее использование не

требует покупки дополнительного оборудования и каких-либо  дру-

гих расходов,так как настройкой программы и ее внедрением бу-

дут заниматься штатные работки узла,можно считать,что прог-


                            - 73 -

рамма окупает себя сразу после внедрения ее в действие.