본문 바로가기

용어 정리

동기(Synchronous)와 비동기(Asynchronous) 방식

비동기(Asynchronous) 방식

송신 측과 수신 측의 clock에 상관없이 시간을 쪼개서 서로 송수신 속도를 Baud rate을 정해서 맞춘다. 이때 한 번에 한 문자씩 송수신하며 아래 그림1과 같이 데이터 길이, 시작 비트, 정지 비트를 포함하여 보내는 방법을 사용한다.

그림1

시작 비트와 정지 비트 사이의 간격이 가변적이므로 불규칙적인 전송에 적합하며, 필요한 접속장치와 기기들이 간단하므로 동기 방식보다 장비가 싸다.

비동기 방식 사용 예는 UART가 있다.

 

※ Baud rate

Clock을 사용하지 않는 대신에 시간을 동기화(시간을 맞춘다)한다. 그래서 시간을 정확하게 쪼개서 데이터의 송수신 속도를 Baud rate으로 정한다. 만약 정보의 기본 단위가 bit이고 Baud rate115200이면 1초를 115200으로 쪼개서 그 안에 1bit를 보낸다는 개념이다.

그림2

위 그림2처럼 시간을 쪼개서 그 안에 보냈다고 하면 1100으로 데이터를 처리한다.

자세한 내용은 아래 참고

https://powerdeng.tistory.com/203

 

Baud rate과 Bit rate

1. 개념 Baud rate 초당 얼마나 많은 심볼(의미 있는 데이터 묶음)을 전송할 수 있는가? Bit rate 초당 얼마나 많은 데이터 비트를 전송할 수 있는가? 2. 정보의 기본 단위에 따른 예시 1) 정보의 기본 단

powerdeng.tistory.com

※ UART(Universal Asynchronous Receiver Transmit)

비동기 방식으로 사용되는 시리얼 통신

 

동기(Synchronous) 방식

한 문자 단위가 아니라 미리 정해진 수만큼 문자열을 한 묶음으로 만들어서 한 번에 전송한다. 이렇게 전송 단위로 취급되는 데이터를 프레임이라고 한다. 프레임은 시작을 알리는 부분, 프레임의 길이와 수신 측 주소 등의 정보를 갖는 제어부분, 사용자 데이터를 담는 부분, 프레임의 끝을 알리는 부분으로 구성된다.

데이터와는 별도로 송신 측과 수신 측이 하나의 기준 clock으로 동기신호를 맞춰 동작한다. 따라서 clock을 보냄과 동시에 데이터를 같이 보내며, 아래 그림3처럼 clock을 기준으로 데이터를 처리한다.

그림3

동기 방식을 사용하면 클럭이 조금 흔들려도 상관없다. 즉 아래의 그림4처럼 시간 간격이 완전히 일치하지 않아도 통신이 가능하다. 그 이유는 클럭을 기준으로 하기 때문이다. 실제로 1초 걸리고 0.6초 걸렸다고 하더라도 구간을 통해서 데이터를 주고 받기 때문에 크게 흔들리는 경우가 아니면 영향이 없다.

그림4

동기 방식 사용 예는 USART, SPI가 있다.

 

※ USART(Universal Synchronous and Asynchronous Receiver Transmit)

범용 동기화/비동기화 송수신기로 동기화가 추가된 UART이며, 동기 모드로서 사용되는 시리얼 통신이다.


<참고 자료>

https://velog.io/@welchs1423/%EB%8F%99%EA%B8%B0%ED%86%B5%EC%8B%A0-%EB%B9%84%EB%8F%99%EA%B8%B0%ED%86%B5%EC%8B%A0-%EC%B0%A8%EC%9D%B4%EC%A0%90

 

동기통신, 비동기통신 차이점

컴퓨터가 통신하는 방법은 크게 직렬 통신/병렬 통신, 동기 통신/비동기통신으로 구분이 된다.병렬 통신은 우리가 PC메인보드에 CPU를 보면 근거리에 있는 주변장치들과 수많은 라인으로 연결되

velog.io

 

'용어 정리' 카테고리의 다른 글

DMA(Direct Memory Access)  (1) 2023.11.22
ADC  (1) 2023.11.18
RS-485 통신  (1) 2023.11.18
클럭과 주파수  (1) 2023.11.18
Baud rate과 Bit rate  (0) 2023.11.16