1. Инициализация COM-порта. Проводим инициализацию COM-порта, к которому подключен модем. Для этого программируем регистры микросхемы UART, задавая формат данных и скорость обмена. Заметим, что модем будет проводить соединение с удаленным модемом как раз на этой скорости. Чем скорость выше, тем быстрее будет происходить обмен данными с удаленным модемом.
Однако при увеличении скорости на плохих телефонных линиях сильно возрастает количество ошибок.
2. Инициализация модема. Передавая модему AT-команды через СОМ-порт, производим его инициализацию. При помощи АТ-команд можно установить различные режимы работы модема — выбрать протокол обмена, установить набор диагностических сообщений модема и т. д.
3. Соединение с удаленным модемом. Передаем модему команду набора номера (ATD). В этом случае модем набирает номер и пытается установить связь с удаленным модемом. Или передаем модему команду AT S0 = 1 для перевода его в режим автоответа. После этого модем ожидает звонка от удаленного модема, а когда он приходит, пытается установить с ним связь.
4. Ожидание ответа от модема. В зависимости от режима, в котором находится модем, он может передавать компьютеру различные сообщения. Например, если модем производит вызов удаленного модема (АТ-команда ATD), то модем может выдать следующие сообщения:
· CONNECT — Успешное соединение;
· BUSY — Номер занят;
· NO DIALTONE — На линии отсутствует сигнал коммутатора;
· NO ANSWER — Абонент не отвечает;
· NO CARRIER — Неудачная попытка установить связь.
Когда приходит звонок, модем передает компьютеру сообщение RING, если регистр модема S0 равен нулю. В этом случае для ответа на звонок надо послать модему команду АТА. Если модем находится в режиме автоответа и регистр модема S0 не равен нулю, то модем автоматически пытается ответить на звонок и может выдать следующие сообщения: CONNECT, NO DIALTONE, NO CARRIER.
Если модем передал компьютеру сообщение CONNECT, значит он успешно произвел соединение и теперь работает в режиме передачи данных. Теперь все данные, передаваемые модему через СОМ-порт, будут преобразованы модемом в форму, пригодную для передачи по телефонным линиям, и переданы удаленному модему. И наоборот, данные, принятые модемом по телефонной линии, переводятся в цифровую форму и могут быть прочитаны через СОМ-порт, к которому подключен модем.
Если модем передал компьютеру сообщения BUSY, NO DIALTONE, NO ANSWER, NO CARRIER — значит произвести соединение с удаленным модемом не удалось и надо попытаться повторить соединение.
5. Подключение модема в командный режим. После окончания работы коммуникационная программа должна перевести модем в командный режим и передать ему команду положить трубку (ATH0). Для перевода модема в командный режим можно воспользоваться Escape-последовательностью "+++". После того как модем перешел в командный режим, можно опять передавать ему АТ-команды.
6. Сброс сигналов на линиях DTR и RTS. Низкий уровень сигналов DTR и RTS сообщает модему, что компьютер не готов к приему данных через COM-порт. При работе с асинхронным последовательным адаптером вы можете использовать механизм прерываний. Так как передача и прием данных модемом представляют собой длительный процесс, то применение прерываний от порта позволяет использовать процессорное время для других нужд.
1. "Разработка настроечных и эксплуатационных норм на электрические параметры каналов связи телефонной сети общего пользования" Ч. 2. Проект норм и методик измерения. 1-я ред.: Отчет о НИР. Шифр 133/93-402. М.: ЦНИИ связи, 1995.
2. "Сравнительные испытания модемов в условиях коммутируемой телефонной сети общего пользования: Отчет о НИР", Кочеров А. В., Пасковатый А. О. 1996.
3. "Модемные протоколы физического уровня", А. Пасковатый. Сборник статей "Модемы: разработка и использование в России" под редакцией А. Пасковатого, Москва 1996.
4. "Анатомия модемного железа", И. Дианов. Сборник статей "Модемы: разработка и использование в России" под редакцией А. Пасковатого, Москва 1996.
5. "Конец эры модемов? ", Лес Фрид. Журнал "PC Magazine", 15 декабря 1998
6. "Идеальный модем", С. Андрианов, К. Яковлев. Журнал "Мир ПК" №06/99
7. "Долгожданный CONNECT", Д. Любивый, Журнал CHIP №2/98