비동기 전송은 개별 문자가 한 번에 하나씩 전송되는 데이터 전송 방법으로, 송신자와 수신자는 각자의 독립적인 클록을 사용하여 각 비트의 타이밍을 결정합니다. 동기 전송과 달리 송신자와 수신자 간의 동기화된 타이밍을 요구하지 않고, 시작 비트, 데이터 비트, 오류 검사용 선택적 패리티 비트, 그리고 정지 비트로 구성된 프레임으로 데이터를 전송합니다.
비동기 전송에서는 데이터가 프레임으로 나누어지며, 각 프레임에는 시작 비트, 데이터 비트(일반적으로 7 또는 8), 선택적 패리티 비트, 정지 비트가 포함됩니다. 이 요소들은 데이터 전송과 수신의 성공을 보장하기 위해 함께 작동합니다:
시작 비트: 시작 비트는 새로운 문자의 시작을 알리며 수신자의 클록을 송신자의 클록과 동기화합니다. 항상 낮은 신호(0)로 설정되어 수신자가 내부 클록을 송신자의 클록에 맞출 수 있게 돕습니다.
데이터 비트: 데이터 비트는 실제로 전송되는 정보를 담고 있습니다. 인코딩 방식에 따라 문자당 7 또는 8비트 길이일 수 있습니다. 정확한 비트 수는 문자 집합과 특정 프로토콜에 의해 결정됩니다.
패리티 비트: 비동기 전송에서 오류 검사를 위해 선택적으로 패리티 비트가 포함될 수 있습니다. 사전에 정한 규칙(홀수 또는 짝수 패리티)에 따라 설정되며, 수신자가 전송 중 발생할 수 있는 오류를 감지할 수 있게 합니다. 수신자가 패리티 비트에서 오류를 감지하면 데이터를 재전송할 것을 요청할 수 있습니다.
정지 비트: 정지 비트는 동기화를 위해 사용되며 데이터 프레임의 끝을 표시합니다. 항상 높은 신호(1)로 설정되며, 수신자가 다음 문자를 받을 준비가 되어 있음을 보장하고 데이터가 겹치는 것을 방지합니다.
비동기 전송은 데이터 통신에서 여러 가지 장점을 제공합니다:
유연성: 비동기 전송은 불규칙한 간격으로 데이터를 전송할 수 있어 전송 시간이 변할 수 있는 애플리케이션에 적합합니다. 동기 전송처럼 고정된 클록 속도에 의존하지 않습니다.
효율성: 비동기 전송은 데이터 전송에 한 가닥의 선만 필요하며, 송신자와 수신자 간의 지속적인 동기화가 필요하지 않습니다.
오류 감지: 비동기 전송에서의 패리티 비트 추가로 오류 감지가 가능하여 데이터의 무결성을 향상시킵니다.
호환성: 비동기 전송은 다양한 기기와 프로토콜에 사용될 수 있어 매우 높은 호환성을 가집니다.
장점에도 불구하고, 비동기 전송에는 몇 가지 제한사항이 있습니다:
속도 저하: 시작, 정지 및 선택적 패리티에 필요한 추가 비트로 인해 비동기 전송은 일반적으로 동기 전송보다 느립니다.
오버헤드 증가: 각 프레임에 포함된 시작, 정지 및 패리티 비트를 포함하면 전송에 추가 오버헤드가 발생하여 전체 효율성이 감소합니다.
오류 감지, 수정은 아님: 비동기 전송은 패리티 비트를 사용하여 오류를 감지하지만, 오류를 수정할 수 있는 기능은 없습니다. 오류가 감지되면 수신자는 일반적으로 데이터의 재전송을 요청합니다.
비동기 전송은 다양한 애플리케이션과 산업에서 흔히 사용됩니다. 몇 가지 예시는 다음과 같습니다:
1. 직렬 통신: 비동기 전송은 RS-232와 같은 직렬 통신 인터페이스에서 기기 간 데이터를 전송하는 데 널리 사용됩니다.
2. 키보드 및 마우스 통신: 비동기 전송은 키보드 및 마우스 인터페이스에서 키 입력과 커서 이동을 컴퓨터로 전송하는 데 사용됩니다.
3. 모뎀 통신: 전화선을 통해 데이터를 전송하기 위해 모뎀 통신에 비동기 전송이 활용됩니다.
4. 터미널 에뮬레이션: 비동기 전송은 전통적인 직렬 터미널의 동작을 에뮬레이션하는 터미널 에뮬레이션 애플리케이션에 사용됩니다.
비동기 전송은 데이터를 하나씩 전송하며, 송신자와 수신자가 각자의 클록으로 각 비트의 타이밍을 파악하는 데이터 전송 방법입니다. 유연성, 오류 감지, 호환성을 제공하지만, 일반적으로 동기 전송에 비해 느리고 더 많은 오버헤드를 가집니다. 비동기 전송은 직렬 통신, 키보드 및 마우스 인터페이스, 모뎀 통신, 터미널 에뮬레이션 등 다양한 산업에서 응용됩니다. 비동기 전송의 원리와 응용을 이해함으로써, 우리는 현대 데이터 통신의 중요한 측면을 더 잘 이해하고 활용할 수 있습니다.
관련 용어