В последнее время модемы становятся неотъемлемой частью компьютера.Установив
модем на свой компьютер, вы фактически открываете длясебя новый мир.Ваш
компьютер превращается из обособленного компьютера в звено глобальной сети.
Модем позволит вам, не выходя из дома, получить доступ к базам данных, которые
могут быть удалены от вас на многие тысячи километров,разместить сообщение на
BBS (электронной доске обьявлений), доступной другим пользователям, скопировать
с той же BBS интересующие вас файлы, интегрироватьдомашний компьютер в сеть
вашего офиса, при этом (не считая низкой скорости обмена данными) создается
полное ощущение работы в сети офиса. Кроме того,воспользовавшись глобальными
сетями (RelCom, FidoNet) можно принимать и посылать электронные письма не только
внутри города, но фактически в любойконец земного шара. Глобальные сети дают
возможность не только обмениваться почтой, но и участвовать во всевозможных
конференциях, получать новостипрактически по любой интересующей вас тематике.
Существует три основных способа соединения компьютеров для обмена информацией:
- непосредственная связь, через асинхронный порт;
- связь с использованием модема;
- связь через локальные сети.
В реферате рассматривается первые два типа соединений - непосредственное и
соединение через модем.
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. Аппаратная реализация
Компьютер может быть оснащен одним или двумя портами последовательной передачи
данных. Эти порты расположены либо на материнскойплате, либо на отдельной плате,
вставляемой в слоты расширения материнской платы.
Бывают также платы, содержащие четыре или восемь портов последовательной
передачи данных. Их часто используют для подключениянескольких компьютеров или
терминалов к одному, центральному компьютеру. Эти платы имеют название
"мультипорт".
В основе последовательного порта передачи данных лежит микросхема INTEL 8250 или
ее современные аналоги - INTEL 16450,16550,16550A.Эта микросхема является
универсальным асинхронным приемопередатчиком ( UART - Universal Asynchronous
Receiver Transmitter). Микросхема содержит несколько внутренних регистров,
доступных через команды ввода/вывода.
Микросхема 8250 содержит регистры передатчика и приемника данных. При передаче
байта он записывается в буферный регистр передатчика,откуда затем переписывается
в сдвиговый регистр передатчика. Байт "выдвигается" из сдвигового регистра по
битам.
Программа имеет доступ только к буферным регистрам, копирование информации в
сдвиговые регистры и процесс сдвига выполняется микросхемой UARTавтоматически.
К внешним устройствам асинхронный последовательный порт подключается через
специальный разьем. Существует два стандарта на разьемыинтерфейса RS-232-C, это
DB-25 и DB-9. Первый имеет 25, а второй 9 выводов.
Разводка разъема DB25
Номер контакта Назначение контакта (со стороны компьютера) Вход или выход
1 2 3 4 5 6 7 8 9-19 20 21 22 23-25 Защитное заземление (Frame Ground,FG)
Передаваемые данные (Transmitted Data,TD) Принимаемые данные (Received
Data,RD) Запрос для передачи (Request to send,RTS) Сброс для передачи
(Clear to Send,CTS) Готовность данных (Data Set Ready,DSR) Сигнальное
заземление (Signal Ground,SG) Детектор принимаемого с линии сигнала (Data
Carrier Detect,DCD) Не используются Готовность выходных данных (Data
Terminal Ready,DTR) Не используется Индикатор вызова (Ring Indicator,RI)
Не используются Разводка разъема DB9 - Выход Вход Выход Вход Вход - Вход
Выход Вход
Номер контакта Назначение контакта (со стороны компьютера) Вход или выход
1 2 3 4 5 6 7 8 9 Детектор принимаемого с линии сигнала (Data Carrier
Detect,DCD) Принимаемые данные (Received Data,RD) Передаваемые данные
(Transmitted Data,TD) Готовность выходных данных (Data Terminal Ready,DTR)
Сигнальное заземление (Signal Ground,SG) Готовность данных (Data Set
Ready,DSR) Запрос для передачи (Request to send,RTS) Сброс для передачи
(Clear to Send,CTS) Индикатор вызова (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 определяет возможность управления потоком только для
полудуплексного соединения, при котором в каждый момент времениданные могут
передаваться только в одну сторону.
Фактически этот механизм используется и для дуплексных соединений, когда данные
передаются по линии связи одновременно в двухнаправлениях.
Управление потоком
В полудуплексных соединениях устройство 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м 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
старшим битом) для вывода значения старшего байта делителя частоты тактового
генератора.
в) Регистр идентификации прерывания
Считывая его содержимое, программа может определить причину прерывания
г) Управляющий регистр
Управляющий регистр доступен по записи и чтению. Этот регистр управляет
различными характеристиками UART : скоростью передачи данных,контролем четности,
передачей сигнала BREAK, длиной передаваемых слов(символов).
д) Регистр управления модемом
Регистр управления модемом управляет состоянием выходных линий DTR, RTS и линий,
специфических для модемов - OUT1 и OUT2, а такжезапуском диагностики при
соединенных вместе входе и выходе асинхронного адаптера.
е) Регистр состояния линии
Регистр состояния линии определяет причину ошибок, которые могут возникнуть при
передаче данных между компьютером и микросхемой UART.
ж) Регистр состояния модема
Регистр состояния модема определяет состояние управляющих сигналов, передаваемых
модемом асинхронному порту компьютера.
Инициализация асинхронного адаптера
Первое, что должна сделать программа, работающая с асинхронным адаптером -
установить формат и скорость передачи данных. После загрузкиоперационной
системы для асинхронных адаптеровустанавливается скорость 2400 бод, не
выполняется проверка на четность, используются один стоповый ивосьмибитовая
длина передаваемого символа. Можно изменить этот режим командой MS-DOS MODE.
Выполнив ввод из управляющего регистра, программа может получить текущий режим
адаптера. Для установки нового режима измените нужныевам поля и запишите новый
байт режима обратно в управляющий регистр.
Если вам надо задать новое значение скорости обмена данными, перед записью
байта режима установите старший бит этого байта в 1, при этомрегистр данных и
управляющий регистр используются для задания скорости обмена. Затем
последовательно двумя командами ввода загрузите делитель частотытактового
генератора. Младший байт запишите в регистр данных, а старший - в регистр
управления прерываниями.
Перед началом работы необходимо также проинициализировать регистр управления
прерываниями, даже если в вашей программе не используютсяпрерывания от
асинхронного адаптера. Для этого сначала надо перевести регистр данных и регистр
управления прерываниями в обычный режим, записав ноль встарший бит
управляющего регистра. Затем можно устанавливать регистр управления
прерываниями. Если прерывания вам не нужны, запишите в этот портнулевое
значение.
Современные микросхемы UART
Фактически микросхема UART 8250 в ее исходном виде использовалась только в
старых моделях компьютеров IBM PC. Современные микросхемы - UART 16450, 16550,
16550A изготовленные по новой технологии, позволяют достичь более высокой
скорости обмена данными, а такжеобладают новыми аппаратными возможностями.
Основные возможности различных микросхем 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бит/сек, до сложных
факс-модемных плат, позволяющих вам послать с вашего компьютера факс или
звуковое письмо в любую точку мира.
В реферате будет рассказано только о так называемых hayes-совместимых модемов.
Эти модемы поддерживают разработанный фирмой Hayesнабор АТ-команд управления
модемами. В настоящее время такие модемы широко используются во всем мире для
связи персональных компьютеров IBM PC/XT/AT, PS/2через телефонные линии.
Аппаратно модемы выполнены либо как отдельная плата, вставляемая в слот на
материнской плате компьютера, либо в виде отдельногокорпуса с блоком питания,
который подключается к последовательному асинхронному порту компьютера. Первый
из низ называется внутренним модемом, а второй -внешним.
Типичный модем содержит следующие компоненты: специализированный
микропроцессор, управляющий работой модема, оперативную память,
хранящуюзначения регистров модема и буферизующие входную/выходную информацию,
постоянную память, динамик, позволяющий выполнять звуковой контроль связи,
атакже другие вспомогательные элементы ( трансформатор, резисторы,
конденсаторы, разьемы). Если у вас достаточно современный модем, то он
скореевсего дополнительно содержит электрически перепрограммируемую постоянную
память, в которой может быть сохранена конфигурация модема даже при
выключениипитания.
Чтобы модемы могли обмениваться друг с другом информацией, надо, чтобы они
использовали одинаковые способы передачи данных по телефоннымлиниям. Для
разработки стандартов передачи данных был создан специальный международный
консультативный комитет по телеграфии и телефонии (CCITT) иприняты следующие
рекомендации:
CCITT V.21 - 300 bps. Модем, регламентированный данной рекомендацией,
предназначен для передачи данных по выделенным и коммутируемым линиям.
Он работает в асинхронном дуплексном режиме. Для передачи и приема данных
используетсяспособ частотной модуляции.
CCITT V.22 - 1200 bps. Модем, работающий в соответствии с данной рекомендацией,
использует асинхронно-синхронный дуплексный режимпередачи.
Асинхронно-синхронный режим означает, что компьютер передает модему данные в
асинхронном режиме. Модем удаляет из потока данных компьютерастартовые и
стоповые биты. И уже в синхронном виде передает их удаленному компьютеру. Для
модуляции передаваемого сигнала применяется метод дифференциальнойфазовой
модуляции.
CCITT V.22bis - 2400 bps. Дуплексный модем, со скоростью передачи данных 2400
bps. При передаче со скоростью 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 символов. Команды, записанные вбуфер модема,
исполняются после поступления символа возврата каретки. Вследствие
ограниченности размера буфера не следует передавать модему слишкомдлинные
команды ( больше размера буфера). Длинные команды можно разбивать на части и
передавать в несколько заходов. При этом каждая часть должна начинатьсяпрефиксом
АТ и заканчиваться символом возврата каретки.
Если вы допустили ошибку при наборе команды, то ее можно исправить, используя
клавишу 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. При скорости 2400 bps эта команда игнорируется и используется стандарт
CCITT V.22. Если n=0, устанавливаются стандарты CCITTV.21/V.22, а если n=1 -
стандарты BELL 103/212A.
Ds - Команда используется для набора номера. После получения этой команды модем
начинает набор номера и при установлении связи переходит врежим передачи данных.
Команда состоит из префикса AT, символа D и телефонного номера, в состав
которого могут входить следующие управляющие модификаторы: Pили T. Эти
модификаторы производят выбор между импульсной и тоновой системой набора ( в
нашей стране используется импульсная система).
, - Символ запятой вызывает паузу при наборе номера. Длительность паузы
определяется содержимымрегистра 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-регистров, свой идентификационный код, контрольную сумму памяти и
результаты теста.
On - Команда переводит модем из командного режима в режим передачи данных. При
этом модем отвечает CONNECT. Команда О и О0 переводятмодем в режим передачи
данных без инициирования последовательности сигналов проверки линии связи.
Команда О1 переводит модем в режим передачи данных изаставляет модем передать
последовательности сигналов проверки линии связи, т.е. производить повторное
квитирование с удаленным модемом.
Sr? - Чтение содержимого регистра модема, имеющего номер r.
Sr=n - Запись в регистр модема с номером r числа n. Число n может иметь значения
от 0 до 255. Все команды модифицируют содержимое одногоили более S-регистров.
Некоторые S-регистры содержат временные параметры, которые можно поменять только
командой S.
Vn - Производит выбор вида ответа модема на AT-команды. При n=0 ответ происходит
цифровым кодом, а при n=1 модем отвечает в символьномвиде на английском языке.
Использование цифровой формы ответа облегчает обработку результатов выполнения
команды при написании собственных программуправления модемом.
Стандартный набор ответов модема
OK0Модем выполнил команду без
ошибок
CONNECT1Модем установил связь со
скоростью 300 bps
RING2Модем обнаружил сигнал
звонка
NO CARRIER3Модем потерял несущую
частоту
ERROR4Ошибка в командной строке
CONNECT 12005Модем установил
связь со скоростью 1200 bps
NO DIALTONE6Отсутствие сигнала
станции при снятии трубки
BUSY7Модем обнаружил сигнал
"занято"
NO ANSWER8Нет ответа после
ожидания сигнала
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устанавливается только тогда, когда модем
обнаруживает несущую частоту от удаленного модема.
&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 - модем генерирует защитную
частоту 1800 Hz. Использование данной команды зависит от особенностей телефонной
линии.
&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