비동기식 전송
비동기식 전송
비동기식 전송Asynchronous Transmission)은 데이터 통신에서 널리 사용되는 전송 방식 중 하나로, 데이터를 일정한 시간 간격 없이 필요할 때마다 전송하는 기술. 이 방식 송신자와 수신자 간에 사전에 동기화된 클록 신호를 공유하지 않기 때문에, 각 데이터 단위(보통 문자 단위)를 독립적으로 전송하고 수신하는 구조를 가집니다. 주로 저속 통신 환경이나 간헐적인 데이터 전송이 필요한 시스템에서 활용되며, 초기 컴퓨터 통신, 직렬 포트 통신, 키보드 입력 등 다양한 분야에서 사용됩니다.
개요
비동기식 전송은 데이터를 전송할 때마다 시작 비트(start bit)와 정지 비트(stop bit)를 사용하여 각 문자의 전송 시점을 명확히 함으로써 송수신 장치 간의 시간 동기화를 유지합니다. 이 방식은 전송 속도가 느리고 오버헤드가 크다는 단점이 있지만, 구현이 간단하고 비용이 낮아 간단한 통신 시스템에 적합합니다.
비동기식 전송은 주로 직렬 통신(Serial Communication) 환경에서 사용되며, 전송되는 데이터는 바이트 단위로 나뉘어 전송됩니다. 각 바이트는 시작 비트로 시작하고, 데이터 비트(보통 7~8비트), 패리티 비트(선택 사항), 정지 비트로 구성됩니다.
비동기식 전송의 구조
비동기식 전송은 하나의 문자(또는 바이트)를 전송할 때 다음과 같은 프레임 구조를 사용합니다:
구성 요소 | 비트 수 | 설명 |
---|---|---|
시작 비트 | 1 | 데이터 전송의 시작을 알리는 신호. 보통 '0' |
데이터 비트 | 5~8 | 실제 전송할 데이터 (ASCII 코드 등) |
패리티 비트 | 0 또는 1 | 오류 검출을 위한 비트 (짝수/홀수 패리티) |
정지 비트 | 1~2 | 데이터 전송의 끝을 알리는 신호. 보통 '1' |
전송 예시
예를 들어, ASCII 문자 'A'(65, 이진수 1000001
)를 8비트 데이터, 짝수 패리티, 1비트 정지로 전송할 경우:
Start | Data (LSB first) | Parity | Stop
0 | 1 0 0 0 0 0 1 0 | 1 | 1
이처럼 각 문자는 독립적인 프레임으로 전송되며, 다음 문자는 이전 문자의 종료 후 임의의 시간 간격을 두고 전송될 수 있습니다.
동기식 전송과의 비교
비동기식 전송은 동기식 전송(Synchronous Transmission) 과 대조되는 개념입니다. 두 방식의 주요 차이점은 다음과 같습니다.
항목 | 비동기식 전송 | 동기식 전송 |
---|---|---|
클록 동기화 | 없음 (각 프레임 독립) | 있음 (공유 클록 또는 클록 신호 포함) |
전송 단위 | 문자 단위 | 블록 또는 프레임 단위 |
오버헤드 | 높음 (시작/정지 비트 포함) | 낮음 |
전송 속도 | 느림 | 빠름 |
구현 복잡도 | 낮음 | 높음 |
주요 사용처 | 키보드, 모뎀, 저속 직렬 통신 | 고속 네트워크, 디스크 I/O, 프로토콜(예: HDLC) |
비동기식 전송은 간단한 하드웨어로 구현 가능하지만, 반복되는 시작/정지 비트로 인해 전송 효율이 떨어집니다. 예를 들어, 8비트 데이터에 시작 1비트, 정지 1비트를 사용하면 8/10 = 80%의 효율만 달성됩니다.
장점과 단점
장점
- 구현이 간단함: 복잡한 클록 동기화 회로가 필요 없음.
- 비용 효율적: 저렴한 하드웨어로 구현 가능.
- 유연성: 데이터 전송 간격이 자유로우며, 간헐적인 통신에 적합.
단점
- 전송 효율 낮음: 시작/정지 비트로 인한 오버헤드 증가.
- 속도 제한: 고속 통신에는 부적합.
- 오류 발생 가능성: 클록 불일치로 인해 수신 오류가 발생할 수 있음 (패리티 비트로 일부 방지 가능).
주요 활용 분야
비동기식 전송은 다음 분야에서 널리 사용됩니다:
- 직렬 통신 포트 (RS-232): 컴퓨터와 외부 장치 간 통신에 사용.
- 키보드 및 마우스 입력: 사용자 입력 신호를 주기 없이 전송.
- 모뎀 통신: 초기 인터넷 접속 방식으로 사용.
- 임베디드 시스템: 마이크로컨트롤러 간 간단한 통신 (UART 기반).
특히 UART(Universal Asynchronous Receiver/Transmitter) 칩은 비동기식 전송을 위한 대표적인 하드웨어로, 많은 마이크로컨트롤러에 내장되어 있습니다.
관련 기술 및 프로토콜
- UART (Universal Asynchronous Receiver/Transmitter): 비동기식 직렬 통신을 위한 하드웨어 인터페이스.
- RS-232: 비동기식 전송을 기반으로 하는 직렬 통신 표준.
- ASCII 통신: 텍스트 기반 데이터 전송에서 주로 사용.
// 예: 간단한 UART 초기화 코드 (가상 예시)
void uart_init() {
UBRR = 103; // 9600bps 설정 (16MHz 클록 기준)
UCSR0B = (1 << RXEN0) | (1 << TXEN0); // 수신/전송 활성화
UCSR0C = (1 << UCSZ01) | (1 << UCSZ00); // 8비트 데이터
}
참고 자료
- Tanenbaum, A. S., & Wetherall, D. J. (2011). Computer Networks. Pearson Education.
- Stallings, W. (2017). Data and Computer Communications. Pearson.
- IEEE Standard for Serial Communications (RS-232-C)
- UART 통신 원리 - Embedded.com
비동기식 전송은 현대 고속 네트워크에서는 주로 동기식 방식이 사용되지만, 간단한 통신 인터페이스와 레거시 시스템에서 여전히 중요한 역할을 하고 있습니다.
이 문서는 AI 모델(qwen-3-235b-a22b-instruct-2507)에 의해 생성된 콘텐츠입니다.
주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.