Обнаружение носителя данных - Data Carrier Detect
Обнаружение носителя данных, сокращенно DCD, или поочередно Обнаружение несущей сокращенно CD, это управляющий сигнал присутствует внутри RS-232 кабель последовательной связи, соединяющий компьютер и другое устройство, например модем. Этот сигнал представляет собой простой статус "высокий / низкий". кусочек который отправляется «от DCE к DTE» или, как правило, с периферийного устройства на компьютер. Он присутствует практически на всех последовательных портах ПК - контакт 1 девятиконтактного (DE9 ) последовательный порт или контакт 8 через 25-контактный порт (DB25). Его назначение зависит от подключенного устройства, но наиболее типичным значением является указание, когда модем подключен к другому удаленному модему через телефонные линии.
Слово «перевозчик» относится к аналогу. перевозчик сигнал, генерируемый модемом, который модулированный переносить данные. В модеме для передачи данных потеря несущей приравнивается к разрыву соединения.
Как и Индикатор звонка сигнал, на последовательном порту ПК изменения в состоянии сигнала DCD могут генерировать аппаратное прерывание которые могут быть захвачены процессором в любое время, когда сигнал DCD меняет состояние, что избавляет ПК от необходимости постоянно опрашивать вывод.
Используется на модемах
DCD очень важен для модемов, так как это основной способ компьютера узнать, что модем потерял соединение с удаленным хостом. Помимо преднамеренного отключения, модемы могут неожиданно потерять соединение по ряду причин, например, при отключении телефонной линии. Можно использовать модем без сигнала DCD, однако единственный способ для компьютера узнать, что соединение разорвано, - это модем, передающий слова "НЕТ ПЕРЕВОЗЧИКА "над строками данных. Поскольку слова" NO CARRIER "также являются сообщением, которое может появиться в контексте обычного сеанса данных (например, если набрано человеком на удаленном конце), нет положительного способа для компьютерная программа, позволяющая различать слова, передаваемые через соединение, а не через модем.
Внешние модемы со светодиодными индикаторами состояния обычно имеют индикатор с надписью «CD» (обнаружение несущей). Этот индикатор состояния напрямую связан с тем, что модем передает в линию DCD.
По умолчанию, когда модем включен, сигнал DCD сбрасывается. Это не подтверждается до тех пор, пока модем либо не совершит исходящий вызов, либо не ответит на входящий вызов, а затем соединится с модемом данных на другом конце. Сигнал утверждается в то же время, когда модем сообщает о своем сообщении CONNECT, и остается подтвержденным до тех пор, пока вызов не будет отключен (намеренно или из-за неисправности линии). DCD сбрасывается, когда локальный модем больше не принимает несущую от удаленного модема, независимо от того, какая сторона инициировала отключение. Пока сигнал DCD высокий, компьютер может предполагать, что любые данные, поступающие от модема, были отправлены с удаленной стороны.
Практически все новые модемы позволяют настраивать поведение сигнала DCD. Типичные доступные варианты включают «всегда утверждать DCD», «утверждать DCD только при подключении» и «всегда утверждать DCD, кроме как сразу после обнаружения отключения».
Значение DCD отличается, когда модем находится в факс или же голос режимы. В этих режимах его важность снижается.[как? ]
Используется с нуль-модемами
Последовательный порт часто используется для прямого соединения компьютера с компьютером. Для этого требуется адаптер, называемый нуль-модем, который на самом деле не является модемом в традиционном понимании, а скорее штекером разъема, который просто пересекает дополнительные контакты на двух последовательных портах, чтобы две стороны могли общаться. Нулевой модем обычно соединяет выход DTR каждого компьютера с входами DCD и DSR другого компьютера.
При использовании в этом сценарии DCD используется просто для обнаружения присутствия и / или готовности другой стороны начать сеанс. Например, на ПК под управлением Windows выходной сигнал DTR остается низким до тех пор, пока не будет запущена какая-либо программа для доступа к последовательному порту и повышения уровня сигнала DTR. Удаленная сторона почувствует это, когда на входе DCD будет высокий уровень. Некоторое оборудование распознает только переход как начало сеанса. Другое оборудование (например, консольный порт маршрутизатор ) может ожидать передачи символов,[требуется разъяснение ] но высокий уровень сигнала DCD по-прежнему является необходимым условием для любого обмена данными.[требуется разъяснение ]
PPS (Импульс в секунду) использование времени
Последовательный вывод DCD можно использовать для точного обнаружения PPS сигнал, как описано в RFC 2783:[1]
Одним из удобных средств передачи сигнала PPS в компьютерную систему является подключение этого сигнала к контакту управления модемом на интерфейсе последовательной линии с компьютером. Для этой цели часто используется вывод Data Carrier Detect (DCD). Обычно выходной сигнал временного кода источника времени передается на компьютер по той же последовательной линии. Компьютер обнаруживает переход сигнала на выводе DCD, обычно получая прерывание, и записывает временную метку как можно скорее.
Используется с другим оборудованием
В Linux, на каждый последовательный порт ссылаются два имени устройства, одно из которых (для первого последовательного порта) / dev / ttyS0
против / dev / cua0
. Хотя оба они относятся к одному и тому же физическому порту, одно важное различие между тем, как Linux обрабатывает эти два имени устройств, связано со строкой DCD. Когда ttyS0 ожидается в системный вызов, Linux предполагает, что, поскольку это устройство предназначено для приема телефонных звонков, оно установит процесс к спать - полагая, что пока DCD низкий, делать нечего. Когда используется cua0 - как это происходит при телефонных звонках - Linux предполагает, что программному обеспечению требуется доступ к порту, в то время как DCD находится на низком уровне для набора номера, поэтому это блокировка поведения не существует. Тем не менее, есть режим управления флаг называется CLOCAL, что фактически активирует или деактивирует это поведение, и по умолчанию флаг установлен для cua0, но не для ttyS0. Приложение, которое настаивает на использовании порта "tty" вместо порта "cua", является примером того, для чего может потребоваться джемпер провод для принудительной установки DCD высокого уровня для правильной работы.[2]
Рекомендации
- ^ Mogul, J .; Миллс, Д .; Brittenson, J .; Stone, J .; Уиндл, У. (март 2000 г.). "Вступление". API-интерфейс Pulse-Per-Second для UNIX-подобных операционных систем. IETF. п. 3. Дои:10.17487 / RFC2783. RFC 2783.
- ^ Колдвелл, Чарльз Понятия терминала в GNU / Linux В архиве 2008-04-29 в Wayback Machine