UART(Universal Asynchronous Receiver-Transmitter)는 포인트투포인트 통신에 가장 널리 채택된 하드웨어 프로토콜로 남아 있습니다. 이 가이드는 UART 구성, 패킷 포맷 이해, 제품 개발 중 필수적인 보안 프레임 프로토콜 구현을 안내합니다.
올바르게 구성되면 UART는 단 두 개의 와이어만으로 다양한 직렬 데이터 스트림을 지원할 수 있습니다. 이 최소 배선은 비용과 복잡성을 줄여 임베디드 시스템, 마이크로컨트롤러, PC에 이상적입니다.
UART 기초(패킷 전송, 표준 프레임 포맷, 보안과 컴플라이언스 가치를 더하는 커스텀 프레임)를 다룹니다. 또한 데이터시트 해석과 UART 주변장치 구성 실무 단계를 제공합니다.
마지막까지 UART 표준을 탄탄히 이해하고 신제품 기능 향상에 활용하는 방법을 익히게 됩니다.
"커뮤니케이션에서 가장 큰 문제는 그것이 이루어졌다는 착각이다."
—George Bernard Shaw
통신 프로토콜은 기기 간 상호작용을 구조화합니다. 데이터가 신뢰성 있게 교환되도록 공통 언어를 정의합니다. 임베디드 세계에서 UART는 기기 간 하드웨어 통신의 사실상 표준입니다.
버스 기반 프로토콜과 달리 UART는 송신(Tx)과 수신(Rx) 라인만 필요하여 보드 설계를 단순화하고 전력 소비를 낮춥니다.
인기에도 불구하고 많은 구현이 적절한 프레임 설계를 간과하여 성능과 보안을 해칠 수 있습니다. 잘 정의된 프레임 프로토콜은 오류 없고 보호된 데이터 교환의 열쇠입니다.
비동기 직렬 통신은 공유 클럭 라인이 없으며, 대신 송신자와 수신자가 일치하는 보드레이트를 통해 동기화를 유지합니다.
인터페이스
그림 1. 두 UART가 직접 통신 중.
각 UART는 두 개의 전용 핀을 노출합니다:
송신기 (Tx)
수신기 (Rx)
그림 2. 데이터 버스와 인터페이스된 UART.
이 배치에서 송신 UART는 버스에서 병렬 데이터를 받아 Tx 라인에서 직렬 비트스트림으로 변환합니다. 수신 UART는 이 스트림을 샘플링하여 로컬 버스의 병렬 데이터로 재조립합니다.
양측은 동일한 보드레이트(초당 비트 수)에서 작동해야 합니다. 불일치는 프레임 에러를 유발할 수 있으며, 일반적인 UART는 최대 10% 보드레이트 편차까지 허용합니다.
여기서:
OSR – 오버샘플 레이트 (0~3)
DIV – 보드레이트 분주기 (1~65535)
M – 분수 분주기 MSB (1~3)
N – 분수 분주기 LSB (0~2047)
아래 예시 테이블은 26MHz와 16MHz PCLK 기준 보드레이트 설정을 보여줍니다.
표 2. 26MHz PCLK 기준 보드레이트 예시
보드레이트
OSR
DIV
DIVM
DIVN
9600
3
24
3
1078
115200
3
4
1
1563
표 3. 16MHz PCLK 기준 보드레이트 예시
보드레이트
OSR
DIV
DIVM
DIVN
9600
3
17
3
1078
115200
3
2
2
348
5. 데이터시트 따라 UART 레지스터 구성. 주요 레지스터:
표 4. UART 레지스터 설명
이름
설명
UART_DIV
보드레이트 분주기
UART_FIBR
분수 보드레이트 제어
UART_LCR2
라인 제어 레지스터 (OSR, 스톱 비트, 패리티)
레지스터가 프로그래밍되면 UART가 데이터를 신뢰성 있게 송수신할 수 있습니다.
UART가 중요한 이유
UART 이해는 견고하고 저비용, 고처리량 직렬 링크를 설계하는 엔지니어에게 필수적입니다. 프레이밍, 보드레이트 계산, 레지스터 구성 숙달은 데이터 무결성과 시스템 신뢰성을 보장합니다.
일반적인 사용 사례
디버깅 – 펌웨어 개발 중 로그 메시지.
제조 – 실시간 진단 및 추적 로그.
OTA 업데이트 – 임베디드 기기에 펌웨어 변경 전달.
검증 – 출하 전 기기 기능 검증.
참고문헌
"Basics of UART Communication." Electronics Hub, July 2017.
Campbell, Scott. "Basics of UART Communication." Circuit Basics. Keim, Robert.
"Back to Basics: The Universal Asynchronous Receiver/Transmitter." All About Circuits, December 2016.
"What Is UART Protocol? UART Communication Explained." Arrow.