데이터 캐리어 탐지

Data Carrier Detect

DCD로 약칭되거나 CD로 약칭되는 Carrier Detect는 컴퓨터와 모뎀과 같은 다른 장치 사이를 오가는 RS-232 시리얼 통신 케이블 안에 존재하는 제어 신호다.이 신호는 "DCE에서 DTE로" 또는 일반적인 시나리오에서 주변장치에서 컴퓨터로 전송되는 단순한 "하이/로우" 상태 비트다.9핀(DE9) 직렬 포트의 핀 1 또는 25핀(DB25) 포트의 핀 8 등 사실상 모든 PC 직렬 포트에 존재한다.그 목적은 연결된 장치에 따라 다르지만, 가장 일반적인 의미는 모뎀이 전화선을 통해 다른 원격 모뎀에 연결되었을 때를 나타내는 것이다.

캐리어(carrier)라는 단어는 모뎀에 의해 생성되는 아날로그 캐리어 신호를 가리키는 말로, 데이터를 전달하기 위해 변조된다.데이터 모뎀에서 통신사 상실은 연결의 종료를 의미한다.

PC 직렬 포트의 링 인디케이터 신호와 마찬가지로 DCD 신호 상태에 대한 변경은 DCD 신호가 상태를 변경할 때마다 프로세서가 캡처할 수 있는 하드웨어 인터럽트를 발생시킬 수 있으므로 PC가 핀을 지속적으로 폴링할 필요가 없도록 한다.

모뎀에 사용되는 경우

DCD는 모뎀이 원격 호스트와의 연결이 끊겼음을 알아내는 컴퓨터의 일차적인 방법이기 때문에 모뎀에서 매우 중요하다.고의적인 단절을 제외하고 모뎀은 전화선이 끊기는 등 예기치 않게 다양한 이유로 인해 연결이 끊길 수 있다.DCD 신호 없이 모뎀을 사용하는 것은 가능하지만, 컴퓨터가 연결이 끊겼다는 것을 알 수 있는 유일한 방법은 모뎀이 데이터 회선을 통해 "NO CARIER"라는 단어를 전송하는 것이다.「NO CARERY」라는 말 또한 정상적인 데이터 세션의 맥락에서 나타날 수 있는 메시지이기 때문에(예를 들어, 리모컨의 사람이 입력하는 경우), 컴퓨터 프로그램이 연결을 통해 송신되는 단어를 모뎀과 구별할 수 있는 긍정적인 방법은 없다.

LED 상태등이 있는 외장 모뎀에는 대개 "CD"(반송기 감지 장치)라는 라벨이 붙어 있다.이 상태 표시등은 모뎀이 DCD 회선을 보내는 것과 직접 연결된다.

기본적으로 모뎀이 켜지면 DCD 신호는 저장되지 않는다.모뎀이 발신 전화를 걸거나, 수신 전화를 받고, 다른 쪽 끝의 데이터 모뎀과 연결될 때까지 단언되지 않는다.신호는 모뎀이 CONNECT 메시지를 보고함과 동시에 어설션되며, 통화가 끊어질 때까지 어설션 상태를 유지한다(의도적이거나 회선의 결함 때문에).어느 쪽이 연결을 시작했든 상관없이 로컬 모뎀이 더 이상 원격 모뎀으로부터 캐리어를 수신하지 않으면 DCD가 제거된다.DCD 신호가 높은 한 컴퓨터는 모뎀에서 나오는 데이터가 원격에서 전송되었다고 가정할 수 있다.

DCD 신호의 동작을 구성할 수 있는 거의 모든 신형 모뎀.이용 가능한 대표적인 옵션으로는 "항상 DCD 주장", "연결된 경우에만 DCD 승인", "단절을 감지한 직후를 제외하고 항상 DCD 주장" 등이 있다.

DCD의 의미는 모뎀이 팩스음성 모드에 있을 때 다르다.이러한 모드에서는 그것의 중요성이 감소한다.[how?]

Null 모뎀과 함께 사용

직렬 포트의 빈번한 사용은 컴퓨터 대 컴퓨터 직접 연결을 위한 것이다.이를 위해서는 null 모뎀이라 불리는 어댑터가 필요한데, 이는 사실상 전통적인 의미에서 모뎀이 아니라 단순히 양쪽이 통신할 수 있도록 두 직렬 포트의 보완 핀을 교차하는 커넥터 플러그가 필요하다.null 모뎀은 일반적으로 각 컴퓨터의 DTR 출력을 다른 컴퓨터의 DCD와 DSR 입력 모두에 연결한다.

이 시나리오에서 사용될 때, DCD는 세션을 시작하기 위한 상대편의 존재 및/또는 준비 상태를 단순히 감지하는 데 사용된다.예를 들어 Windows를 실행하는 PC에서는 직렬 포트에 액세스하고 DTR 신호를 하이로 올리는 일부 프로그램이 실행될 때까지 DTR 출력이 낮게 유지된다.DCD 입력이 높아지면서 리모컨이 이를 감지하게 된다.일부 장비는 전환만으로 세션의 시작임을 인식할 것이다.다른 장비(라우터의 콘솔 포트 등)는 문자 전송을 기대할 수 있지만,[clarification needed] DCD 신호 하이는 여전히 모든 통신의 전제 조건이다.[clarification needed]

PPS(초당 펄스 수) 타이밍 사용

직렬 DCD 핀은 RFC 2783에 설명된 대로 PPS 신호를 정확하게 감지하는 데 사용할 수 있다.[1]

컴퓨터 시스템에 PPS 신호를 제공하는 한 가지 편리한 방법은 그 신호를 직렬 회선 인터페이스의 모뎀 제어 핀에 컴퓨터에 연결하는 것이다.DCD(Data Carrier Detect) 핀은 이러한 목적으로 자주 사용된다.일반적으로 시간 소스의 시간 코드 출력은 동일한 직렬 회선을 통해 컴퓨터로 전송된다.컴퓨터는 보통 인터럽트를 수신하여 DCD 핀에서 신호 전환을 감지하고 가능한 한 빨리 타임스탬프를 기록한다.

다른 하드웨어와 함께 사용됨

Linux에서 각 직렬 포트는 두 개의 장치 이름(첫 번째 직렬 포트의 경우)에서 참조된다./dev/ttyS0/dev/cua0이 두 가지가 모두 동일한 물리적 포트를 참조하지만, Linux가 이 두 장치 이름을 처리하는 방법 사이의 중요한 차이점은 DCD 라인과 관련이 있다.시스템 호출에서 ttyS0을 대기할 때 Linux는 이 장치가 전화를 받기 위한 것이므로 DCD가 낮은 한 할 일이 없다고 판단하여 수면을 취할 으로 가정한다.cua0이 사용될 때 - 전화를 걸 때 처럼 - 리눅스는 DCD가 낮은 상태에서 소프트웨어가 포트에 접근할 필요가 있는 것으로 가정하여, 이 차단 동작은 존재하지 않는다.그럼에도 불구하고 실제로 이 동작을 활성화하거나 비활성화하는 CLOCAL이라는 제어 모드 플래그가 있으며, 기본적으로 이 플래그는 cua0에 대해 설정되지만 ttyS0에 대해서는 설정되지 않는다.tty 포트 대 cua 포트 사용을 고집하는 어플리케이션은 DCD가 제대로 작동하기 위해 점퍼 와이어를 높여야 하는 어플리케이션의 예다.[2]

참조

  1. ^ Mogul, J.; Mills, D.; Brittenson, J.; Stone, J.; Windl, U. (March 2000). "Introduction". Pulse-Per-Second API for UNIX-like Operating Systems. IETF. p. 3. doi:10.17487/RFC2783. RFC 2783.
  2. ^ GNU/리눅스의 Coldwell, Charles 터미널 개념 2008-04-29 Wayback Machine보관

참고 항목