Перейти к содержанию
    

Модем и устройство-терминал

День добрый.

 

Подскажите плиз, как терминальной программе (на своём оборудовании, не PC-машине) определить, что модем перешёл из режима комманд в режим данных и наоборот. Насколько я знаю, один из признаков - модем отвечает что-то типа

<CR><LF>CONNECT 28800<CR><LF>

И сразу же ли после этого ответа модем уже находится в режиме передачи данных, или должны быть ещё какие-то команды?

Какие есть ещё признаки (может, из дополнительных сигналов на COM-шнуре)?

 

И такой ещё вопрос: как обычно происходит защита процесса передачи информации от возникновения среди данных комбинации "+++"?

 

А если кто покажет на хорошую статью по этому поводу, буду очень благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть в COM-порту линия DCD, на которой появляется активный уровень, когда модемы соединились (обнаружена несущая). Собственно, от момента "CONNECT" до момента "NO CARRIER" или "ATH" можно считать, что передаются данные.

 

Защита от "+++" -- модем после получения этого слова из 3-х букв еще ~1 секунду паузы выдерживает, и только если в течение этого времени ничего другого не получено, выходит в командный режим. Если сразу за "+++" идет еще что-то, игнорирует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Epikur, cмотрите соответствующую главу в библиотеке Фроловых

 

и еще кто-то уже давал вот эту ссылку

http://book.itep.ru/10/at_109.htm

BSP04.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

GrayCat

А если точнее? Мне нужно знать точно момент перехода из состояния команд в данные. Насколько я понимаю, что когда терминал принимает CONNECT, модем уже находится в режиме данных, и терминал уже может передавать данные, без дополнительных комманд, а заканчивается этот режим по комбинации "+++", либо потери несущей - признак линии DSR.

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

 

Vic1

Спасибо, почитаю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пожалуйста, еще возьмите.

Это 16 том БСП Фроловых. Во 2-й главе (2.5) - более подробнее (чем в 4-ом томе) описание управления модемами (AT-команды и регистры). Последнее наверно даже интереснее, т.к. указываются и стандартные установки в этих регистрах.

Например

Регистр S7

Определяет время в секундах после набора номера, в течение которого модем должен выполнить соединение (обнаружить несущую частоту от удаленного модема). По умолчанию регистр содержит значение 30. Если в течение этого времени модем установит связь, он выдает сообщение CONNECT согласно команде ATX. Если связь не будет установлена, модем отвечает NO CARRIER. В энергонезависимой памяти значение регистра не сохраняется.

Регистр S9

Определяет время, в течение которого модем должен принимать несущую частоту от удаленного модема. Если несущая принималась в течение этого времени, модем передает компьютеру сигнал DCD. Содержимое регистра задает время в десятых долях секунды. По умолчанию для установки DCD модем должен принимать несущую 0,6 секунды, то есть регистр содержит число 6. В энергонезависимой памяти значение регистра не сохраняется.

Регистр S10

Определяет промежуток времени, в течение которого может отсутствовать несущая от удаленного модема и при этом не происходит разрыв связи.

Содержимое регистра задает время в десятых долях секунды. По умолчанию несущая частота может отсутствовать 0,7 секунды, то есть регистр содержит число 7. В энергонезависимой памяти значение регистра не сохраняется. Заметим, что значение регистра S10 должно быть больше значения регистра S9, иначе связь будет невозможно установить.

 

и т.д. Т.е. книжку могут использовать не только "системные программисты MS DOS и Windows" :)

BSP16.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все просто:

От момента подачи команды ATDxxx (или, при ответе, ATA) до появления сигнала DCD модем все еще находится в режиме команд и любой символ, переданный из компьютера, прерывает процесс установления связи. С момента появления DCD модем находится в режиме данных. Снятие DCD означает переход в режим команд. Именно так работают с модемом Винды (знаю не понаслышке - сам писал когда-то hays-совместимый радиомодем...).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ага, всем спасибо.

Прочитал архив BSP04.zip, приложенный Vic1 чуть выше, и все недополнимания исчезли. Пойду ваять :).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...