Basic/기초 전자 회로

UART 통신

Elect-M 2021. 8. 15. 10:00
728x90
반응형
SMALL

UART / USRT / RS-232 통신 이란?

내용 출처 : https://ko.wikipedia.org/wiki/UART

 

UART(범용 비동기화 송수신기: Universal asynchronous receiver/transmitter)는 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종이다.

(컴퓨터에 부착된 직렬 장치들로 향하는 인터페이스를 제어하는 프로그램이 들어 있는 장치)

 

UART는 일반적으로 EIA RS-232, RS-422, RS-485와 같은 통신 표준과 함께 사용한다.

(UART 통신은 시리얼 기반의 통신 방식으로 일반적으로 RS232 프로토콜을 통해 원격지와 통신을 지원하는 방식)

 

UART는 컴퓨터에게 RS-232C DTE 인터페이스를 제공함으로써, 모뎀이나 기타 다른 직렬 장치들과 통신하거나 데이터를 주고받을 수 있게 한다. 

 

통신 데이터는 메모리 또는 레지스터에 들어 있어 이것을 차례로 읽어 직렬화 하여 통신하며 최대 8비트가 기본 단위이다.

UART는 일반적으로 컴퓨터나 주변 기기의 일종으로 병렬 데이터를 직렬화 하여 통신하는 개별 집적 회로이다.

비동기 통신이므로 동기 신호가 전달되지 않아 수신 쪽에서 동기신호를 찾아내 데이터의 시작과 끝을 시간적으로 알아 처리할 수 있도록 약속되어 있다.

 

USRT(범용 동기화 송수신기: Universal synchronous receiver/transmitter)는 자체의 클럭 신호를 추가로 사용하여 정해진 속도로 수신 데이터로부터 비트 구간을 구분하고 그 비트의 논리 상태를 결정하여 데이터 통신한다.

 

UART 통신은 보통 마이컴에 포함되어있는데 요새 나오는 집적 회로(IC)는 동기화 통신인 USRT도 함께 지원한다.

이러한 장치들은 USARTs(범용 동기화/비동기화 송수신기: universal synchronous/asynchronous receiver/transmitter) 또는 'USART/UART' 라고 불린다.

 

UART 통신이 하는 일은?

 

1. 컴퓨터로부터 병렬 회로를 통해 받은 바이트들을, 외부에 전달하기 위해 하나의 단일 직렬 비트 스트림으로 변환

 

2. 내부로 전송할 때에는 직렬 비트 스트림을 컴퓨터가 처리할 수 있도록 바이트로 변환 

 

3. 외부 전송을 위해 패리티 비트를 추가하며, 수신되는 바이트들의 패리티를 확인하고, 패리티 비트를 제거 

 

4. 데이터를 외부로 내보낼 때에는 시작 비트와 정지 비트를 추가하고, 수신되는 데이터에서는 추가된 비트를 제거 

 

5. 키보드나 마우스로부터 들어오는 인터럽트 처리 

 

6. 다른 종류의 인터럽트 처리와 컴퓨터의 동작 속도를 장치의 속도와 동등하게 맞추도록 요구하는 장치를 관리

 

7. 일정량의 데이터 버퍼링을 제공함으로써, 컴퓨터와 직렬 장치들의 데이터 스트림이 대등하도록 맞춤. 

 

UART 통신 방법?

내용 출처 : https://shek.tistory.com/41

 

UART 통신은 전이중 방식(Full duplx) 통신으로 송신과 수신을 동시에 할 수 있으며, 2개의 범용 입출력핀이 필요하다.

 

 

그림과 같이 직렬 통신은 1개의 입출력 핀을 통해 8개이 비트를 한번에 전송하는 방식이다.

UART 에서는 TX 와 RX 에서 데이터를 보내는 속도를 Baud Rate(보율) 로 정하고 있다.

 

전이중 방식 통신의 특징이 Master 와 Slave  양쪽에 송신 및 수신 핀 모두 가지고 있다.

 

그래서 송신측(TX) 는 필요한 경우에만 데이터를 보내기 때문에 수신측(RX) 은 언제 데이터를 보내는지 확인할 방법이 필요하다.

또한, 어느 쪽이서 TX 데이터를 보낼 것인지 감별하는 방법이 필요한데 이를 위해 필요한 것이 시작비트와 정지비트이다.

 

UART 에서는 패리티 비트를 사용하지 않을 경우시작비트 = '0' , 정지비트 = '1' 를 사용해 10비트 데이터를 전송하는 것이 일반적이다.

수신되는 데이터에서는 시작, 정지 비트를 제거한다.

 

컴퓨터와 ATMEGA128 혹은 RF KIT 등에 연결하는 경우에 RS-232 통신 프로토콜을 사용한다.

RS-232 의 신호 레벨은 UART 신호레벨(TTL) 과 달라 별도의 변환 장치를 사용해 레벨을 변화시켜 사용한다.

신호 레벨 변환을 위해 별도의 I.C 가 필요한데 보통 MAX232, FT232 I.C 를 사용한다.

 

자세한 내용은 RS-232 포스트에서 다뤄보겠다.

 

728x90
반응형
SMALL

'Basic > 기초 전자 회로' 카테고리의 다른 글

MOSFET 증폭기 간단 정리  (0) 2023.05.17
차동 증폭기와 전력 증폭기 간단 정리  (0) 2023.05.16
RF 수동 소자  (0) 2022.02.10
정류회로 간단 정리  (0) 2021.08.14
I2C 통신  (0) 2021.07.21