본문 바로가기
전자/통신

UART 통신

by Begi 2016. 3. 31.
반응형

UART(Universal Asynchronous Receiver / Transmitter, 유아트)는 비동기 시리얼 통신 방식으로 몇십년 전에 처음으로 사용된 후 지금까지도 사용되고 있는 통신방식이다. 오늘날에는 훨씬 빠르고 안정적이고 많은 기능을 가지고 있는 시리얼 통신 방식이 많지만, 아직도 사용되고 있는 이유는 비동기 시리얼 통신 방식 중 가장 단순한 방식 중 하나이기 때문에 가격이 싸고 사용하기 쉽기 때문이다. 가장 단순한 시리얼 통신 방식은 동기 통신 방식인 SPI이다.

 

임베디드 시스템의 모니터 프로그램들은 대부분 RS-232를 이용한 UART 방식을 사용하며 고가의 장비들은 이더넷이나 USB를 사용하지만 저가의 단순한 장비들은 RS-885나 RS-232를 이용한 UART 방식을 사용한다.

 

 

UART의 데이터 프레임 구조는 다음과 같다.

 

 

UART

 

UART의 데이터 프레임은 Data Bit 개수를 5~9개까지 선택하거나 Stop Bit 개수를 1~2개로 선택하거나 Data Bit 개수가 8개 이하일때는 Data Bit와 Stop Bit 사이에 Parity Bit를 추가할 수 있다. Parity Bit는 Data Bit의 오류 검출에 사용된다. 보통 많이 사용하는 UART 옵션은 8 Data Bit, No Parity, 1 Stop Bit 이다.

 

Start Bit는 항상 0 이고 Stop Bit는 항상 1 이다. 만약, 0 신호가 일정 시간 이상(보통 데이터 프레임 이상) 발생할 때를 Break Condition이라고 부른다. Break Condition은 통신선로의 이상일 수도 있고, 의도적으로 Break Condition을 발생시켜 특별한 용도로 사용될 수도 있다.

 

UART 수신부에서는 Start Bit의 Falling Edge가 검출되면 내부 Counter를 시작하고 일정시간 간격으로 Data Bit 신호를 읽어서 데이터를 수신한다. 최근의 UART IC에서는 한 비트에서 3 포인트를 읽어 노이즈에서도 안정적으로 통신하는 기능이 내장되기도 한다.

 

오늘날 많이 사용되는 CAN, Ethernet, USB 등의 고속 통신 방식은 성능은 좋지만 그 내부 구조가 매우 복잡하고 이해하기가 매우 어렵다. 하지만, UART는 매우 단순한 구조이기 때문에 내부 구조를 100% 이해할 수 있고 디버깅도 매우 쉽다.

 

16550 UART

16550 UART란 National Semiconductor에서 만든 UART IC를 의미한다. 16550은 기존에 사용하던 UART IC인 8250이나 16450보다 향상된 기능을 가지고 있다. 16550을 업그레이드한 16550A이 1987년이 나왔고 현재는 16550D까지 나와있다. National Semiconductor는 TI가 인수하여 16550D는 TI에서 나오고 있다.

 

기존의 UART IC보다 16550에서 향상된 기능은 다음과 같다.

     ○ 인터럽터 출력

     ○ FIFO 버퍼

     ○ 9600bps 이상에서도 안정적인 동작

 

 

반응형

'전자 > 통신' 카테고리의 다른 글

직비 (Zigbee) 통신  (0) 2019.05.18
변조 복조 종류  (0) 2018.12.16
CW 무선 전신  (0) 2018.10.21
이더캣(Ethercat) 통신 개요  (0) 2018.08.15
RS-485 칩이 자주 고장 나는 이유  (0) 2018.07.05

댓글