ПОСЛЕДОВАТЕЛЬНОСТЬ ДЕЙСТВИЙ ДЛЯ УСТАНОВЛЕНИЯ СВЯЗИ

ПОСЛЕДОВАТЕЛЬНОСТЬ ДЕЙСТВИЙ ДЛЯ УСТАНОВЛЕНИЯ СВЯЗИ. Инициализация 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.5