6.2. Программирование модемов
Программирование модемов имеет целью создание алгоритмов и программ по формированию и передаче модему команд через регистры последовательного порта. Все команды, передаваемые компьютером модему, начинаются префиксом AT (ATtention - внимание) и заканчиваются символом возврата каретки ( <CR> ). Только команда А/ и Escape-последовательность "+++" не требуют для себя префикса AT. После префикса AT могут идти одна или сразу несколько команд. Для ясности эти команды могут быть отделены друг от друга символами пробела, тире, скобками. В большинстве случаев команды могут быть написаны как заглавными, так и строчными буквами.
При передаче модему команд они сначала заносятся во внутренний буфер, который, как правило, имеет размер 40 символов. Команды, записанные в буфер модема, исполняются после поступления символа возврата каретки. Вследствие ограниченности размера буфера не следует передавать модему слишком длинные команды (больше размера буфера). Длинные команды можно разбивать на части и передавать в несколько заходов. При этом каждая часть должна начинаться префиксом АТ и заканчиваться символом возврата каретки. Параметры команд предварительно заносятся в регистры последовательного порта.
Если допущена ошибка при наборе команды, то ее можно исправить, используя клавишу BackSpace. После выполнения каждой команды модем посылает обратно компьютеру ответ в виде числа или слова. Этот ответ означает, выполнена ли команда или произошла ошибка.
Основные команды модема:
AT - Начало (префикс) командной строки. После получения этой команды модем автоматически подстраивает скорость передачи и формат данных к параметрам компьютера.
A - Автоответ. Если режим автоматического ответа выключен (S0=0), команда используется для ответа на звонок от удаленного модема. Команда заставляет модем снять трубку ( подключиться к линии ) и установить связь с удаленным модемом.
A/ - Модем повторяет последнюю введенную команду. Команда передается на модем без префикса AT и исполняется модемом немедленно, не ожидая прихода символа возврата каретки. Если вы передадите модему строку AT A/ <CR>, то модем укажет на ошибку и вернет слово ERROR.
Bn - Команда производит выбор стандарта, согласно которому будет происходить обмен данными между модемами. При скорости передачи 300 бит/с происходит выбор между стандартами BELL 103 и CCITT V.21, при скорости 1200 bps - между BELL 212A и CCITT V.22bis. При скорости 2400 bps эта команда игнорируется и используется стандарт CCITT V.22. Если n=0, устанавливаются стандарты CCITT V.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 модем отвечает в символьном виде на английском языке. Использование цифровой формы ответа облегчает обработку результатов выполнения команды при написании собственных программ управления модемом. Стандартный набор ответов модема приведен в нижеследующей таблице.
Табл.6.2.
Имя ответа | Номер и содержание ответа |
OK | 0 Модем выполнил команду без ошибок |
CONNECT | 1Модем установил связь со скоростью 300 bps |
RING | 2 Модем обнаружил сигнал звонка |
NO CARRIER | 3 Модем потерял несущую частоту |
ERROR | 4 Ошибка в командной строке |
CONNECT 1200 | 5 Модем установил связь со скоростью 1200 bps |
NO DIALTONE | 6 Отсутствие сигнала станции при снятии трубки |
BUSY | 7 Модем обнаружил сигнал "занято" |
NO ANSWER | 8 Нет ответа после ожидания сигнала |
CONNECT 600 | 9 Модем установил связь со скоростью 600 bps |
CONNECT 2400 | 10 Модем установил связь со скоростью 2400 bps |
Наиболее эффективное и полное использование команд модема может обеспечить драйвер фирмы-производителя, так как стандартизо-ваны не все команды.
- Введение.
- Общие принципы построения эвм и вычислительных систем.
- 2. Клавиатура и манипуляторы.
- 2.1. Взаимодействие клавиатуры с эвм.
- 2.2. Устройство и программирование манипулятора "мышь".
- 3. Видеосистемы.
- 3.1. Структура видеосистем.
- 3.2. Программирование видеосистем с помощью рограммных прерываний.
- 3.3. Прямое программирование видеосистем.
- 3.4. Мониторы.
- 4. Накопители информации на магнитных дисках
- 4.1. Структура накопителей информации на магнитных дисках
- 4.2. Физические принципы магнитной записи.
- Конструкция магнитных дисков.
- 4.4. Кодирование и сжатие записываемой информации
- 4.5. Программирование работы дисковых накопителей
- 5. Накопители цифровой информации типа cd-rom.
- 5.1. Общие сведения о накопителях цифровой информации типа cd-rom.
- 5.2. Структура каналов записи и чтения в системе cd.
- 5.3. Конструкция оптического блока.
- 5.4. Многофункциональные цифровые оптические
- 6. Модемы
- 6.2. Программирование модемов
- 7. Сетевые устройства.
- 7.1. Основные элементы сетей эвм
- Сетевые адаптеры
- Сетевое программное обеспечение.
- 8. Звуковые платы.
- 8.1. Структура зуковых плат
- 8.2. Программирование звуковых плат.
- 9. Устройства ввода изображений в эмв.
- Сканеры.
- 9.2. Программное обеспечение сканеров.
- 9.3. Фотокамеры и видеокамеры.
- 10. Принтеры.
- Устройство и принципы работы принтеров.
- Программирование принтеров.
- Многофункциональные измерительные платы.
- 11.1. Характеристики и структура измерительных плат.
- 11.2. Аналого-цифровые преобразователи.
- 11.3. Цифро-аналоговые преобразователи.
- 12. Цифровые системы связи и навигации.
- 12.1. Системы цифровой подвижной связи
- 12.2. Спутниковые системы связи
- 12.3. Спутниковые навигационные системы.
- Литература.