본문 바로가기
Engineering/Network

UART

by Humaneer 2008. 12. 1.

UART (Universal Asynchronous Receiver/Transmitter)  범용 비동기화 송수신기

UART는 컴퓨터에 부착된 직렬 장치들로 향하는 인터페이스를 제어하는 프로그램이 들어 있는 마이크로칩이다. 명확하게 말하면, UART는 컴퓨터에게 RS-232C DTE 인터페이스를 제공함으로써, 모뎀이나 기타 다른 직렬장치들과 통신하거나 데이터를 주고받을 수 있게 한다. 이 인터페이스의 일부로서, UART는 또한 다음과 같은 일을 수행한다.

  • 컴퓨터로부터 병렬 회로를 통해 받은 바이트들을, 외부에 전달하기 위해 하나의 단일 직렬 비트 스트림으로 변환한다.
  • 내부로 전송할 때에는, 직렬 비트 스트림을 컴퓨터가 처리할 수 있도록 바이트로 변환한다.
  • 외부 전송을 위해 패리티 비트를 추가하며, 수신되는 바이트들의 패리티를 확인하고, 패리티 비트를 제거한다.
  • 데이터를 외부로 내보낼 때에는 시작 비트와 정지 비트를 추가하고, 수신되는 데이터에서는 그것들을 제거한다.
  • 키보드나 마우스로부터 들어오는 인터럽트를 처리한다.
  • 다른 종류의 인터럽트 처리와 컴퓨터의 동작 속도를 장치의 속도와 동등하게 맞추도록 요구하는 장치를 관리할 수 있다.

보다 진보된 UART들은 일정량의 데이터 버퍼링을 제공함으로써, 컴퓨터와 직렬 장치들의 데이터 스트림이 대등하도록 맞추어준다. 가장 최근의 UART인 16550은 16 바이트 버퍼를 가지고 있어서, 컴퓨터 프로세서가 처리하기 전에 데이터를 가지고 있을 수 있다. 원래의 UART는 8250이었다. 내장 모뎀을 살 때, 그 안에 16550 UART가 포함되어 있을 수 있다. 모뎀 제작회사인 US Robotics에 따르면, 외장 모뎀에는 UART가 포함되지 않는다고 한다. 만약 오래된 컴퓨터를 가지고 있다면, 외장 모뎀이 지원하지 않는 기능을 얻기 위해 내장 16550을 추가해야 할 경우도 있다. 

출처 : http://www.terms.co.kr/UART.htm