UART
통신

UART

UART란

 

UART는 범용 비동기 송수신기( Universal Asynchronous Receiver / Transmitter)의 약자로 두 장치 간에 직렬 데이터를 교환하기 위한 프로토콜 또는 규정을 정의합니다. UART는 매우 간단하며 양방향으로 데이터를 송신 및 수신하기 위해 송신기와 수신기 사이에 두 개의 와이어만 사용합니다. 또한 와이어 양 끝단은 접지 연결이 되어 있습니다. UART를 사용한 통신은 데이터가 한 방향으로만 전송되는 단방향 통신(simplex), 양쪽으로 모두 통신할 수 있으나 한 번에 한 방향으로만 전송이 가능한 반이중 통신(half-duplex) 또는 동시에 양방향으로 전송이 가능한 전이중 통신(full-duplex) 방식이 있습니다.
 

 

출처: https://www.rohde-schwarz.com/kr/products/test-and-measurement /oscilloscopes/educational-content/understanding-uart_254524.html#gallery-6

 

동기 통신과 비동기 통신

먼저 비동기화란 별도의 클럭을 사용하지 않고 데이터를 사용한다는 뜻이다, 그렇기 때문에 동일한 데이터 전송 속도(Baud rate)로 맞추어야 통신을 할 수 있다. 뿐만 아니라 Start bit와 Stop bit를 통해 데이터의 시작과 끝을 알 수 있게 해야한다. 오류를 검사하기 위해 추가로 패리티 비트를 설정할 수 있다. 하지만 비동기 시리얼 통신은 클럭이 아닌 속도에 맞춰 통신하기 때문에 2진 데이터 신호가 사라지거나 잘못된 신호가 전송될 수 있다.

※ Baud Rate : 이론적인 통신 단위로 초당 신호(Signal) 요소의 수를 나타낸다.

 

이어서 동기란 반대로 데이터를 동기화 하기 위해 별도의 클럭 신호를 전송한다.
비동기 모드와 달리 start bit와 stop bit를 사용하지 않기 때문에 전송효율을 높여 빠르게 전송할 수 있고 클럭을 사용하므로 오류가 적지만, 클럭 핀을 추가로 사용해야하는 단점이 있다. 클럭을 요구하는 동기 모드의 시리얼 통신을 USART(Universal Synchronus Receiver Transmit)라고 한다.

UART 통신은 일반적으로 9600 bps, 최대 115200 bps의 데이터 전송속도를 가진다. 송신 UART와 수신 UART는 거의 동일한 Baud Rate로 작동해야 한다. 송신, 수신 UART 사이의 Baud Rate는 약 10%의 오차만 허용될 수 있다. 또한 2개의 UART 모두 동일한 데이터 패킷 구조를 전송하고 수신하도록 구성되어야 한다

 

장점

  • 하드웨어가 간단해서 거의 모든 장치에서 UART를 지원하는 범용성이 크다.
  • 송신과 수신 동시에 가능한 전이중(full-duplex) 방식이다.
  • 두 개의 와이어만 사용한다.
  • 송신기와 수신기가 공통 클럭 신호를 공유하지 않는다.

단점

  • 1:1 통신만을 지원하기 때문에 여러 개의 주변장치를 연결하기 위해서는 많은 핀이 필요하다.
  • 서로 동일한 속도를 맞추고 시작해야 한다.
  • Voltage level이 동일해야 한다.

'통신' 카테고리의 다른 글

SPI  (0) 2022.02.16
LoRa  (0) 2022.02.15
WIFI  (0) 2022.02.14
Bluetooth  (0) 2022.02.14
I2C  (0) 2022.02.11