산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial Internet of Things >> 임베디드

UART 마스터하기: 범용 비동기 송수신기 완벽 해설

UART(Universal Asynchronous Receiver-Transmitter)는 포인트투포인트 통신에 가장 널리 채택된 하드웨어 프로토콜로 남아 있습니다. 이 가이드는 UART 구성, 패킷 포맷 이해, 제품 개발 중 필수적인 보안 프레임 프로토콜 구현을 안내합니다.

올바르게 구성되면 UART는 단 두 개의 와이어만으로 다양한 직렬 데이터 스트림을 지원할 수 있습니다. 이 최소 배선은 비용과 복잡성을 줄여 임베디드 시스템, 마이크로컨트롤러, PC에 이상적입니다.

UART 기초(패킷 전송, 표준 프레임 포맷, 보안과 컴플라이언스 가치를 더하는 커스텀 프레임)를 다룹니다. 또한 데이터시트 해석과 UART 주변장치 구성 실무 단계를 제공합니다.

마지막까지 UART 표준을 탄탄히 이해하고 신제품 기능 향상에 활용하는 방법을 익히게 됩니다.

"커뮤니케이션에서 가장 큰 문제는 그것이 이루어졌다는 착각이다."

—George Bernard Shaw

통신 프로토콜은 기기 간 상호작용을 구조화합니다. 데이터가 신뢰성 있게 교환되도록 공통 언어를 정의합니다. 임베디드 세계에서 UART는 기기 간 하드웨어 통신의 사실상 표준입니다.

버스 기반 프로토콜과 달리 UART는 송신(Tx)과 수신(Rx) 라인만 필요하여 보드 설계를 단순화하고 전력 소비를 낮춥니다.

인기에도 불구하고 많은 구현이 적절한 프레임 설계를 간과하여 성능과 보안을 해칠 수 있습니다. 잘 정의된 프레임 프로토콜은 오류 없고 보호된 데이터 교환의 열쇠입니다.

비동기 직렬 통신은 공유 클럭 라인이 없으며, 대신 송신자와 수신자가 일치하는 보드레이트를 통해 동기화를 유지합니다.

인터페이스

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 1. 두 UART가 직접 통신 중.

각 UART는 두 개의 전용 핀을 노출합니다:

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 2. 데이터 버스와 인터페이스된 UART.

이 배치에서 송신 UART는 버스에서 병렬 데이터를 받아 Tx 라인에서 직렬 비트스트림으로 변환합니다. 수신 UART는 이 스트림을 샘플링하여 로컬 버스의 병렬 데이터로 재조립합니다.

양측은 동일한 보드레이트(초당 비트 수)에서 작동해야 합니다. 불일치는 프레임 에러를 유발할 수 있으며, 일반적인 UART는 최대 10% 보드레이트 편차까지 허용합니다.

표 1은 주요 UART 속성을 요약합니다.

표 1. UART 요약

와이어 수2
지원 보드레이트9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600, 1 000 000, 1 500 000
전송 방식비동기
최대 마스터1
최대 슬레이브1

UART가 비동기식이므로 송신자는 자체 클럭에 기반해 비트스트림을 구동하고, 수신자는 내부 클럭으로 들어오는 비트를 샘플링합니다. 스타트 비트, 데이터 프레임, 선택적 패리티, 스톱 비트가 패킷을 종합적으로 정의합니다.

데이터 전송

각 UART 패킷에는 다음이 포함됩니다:

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 3. UART 패킷 구조.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 4. 스타트 비트 예시.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 5. 데이터 프레임 예시.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 6. 패리티 비트 사용 예시.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 7. 스톱 비트 예시.

전송 흐름

1. 병렬 입력: 송신기가 버스에서 병렬 데이터를 수신합니다.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 8. 데이터 버스가 송신기에 공급 중.

2. 프레임 조립: 송신기가 스타트 비트를 앞에 추가하고 패리티와 스톱 비트를 뒤에 붙여 완전한 패킷을 만듭니다.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 9. 송신 측 UART 패킷.

3. 직렬 전송: 패킷이 설정된 보드레이트로 비트 단위 전송됩니다.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 10. 연속 UART 전송.

4. 수신: 수신기가 프레임 비트를 버리고 원본 데이터를 재구성합니다.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 11. 수신 측 패킷.

5. 병렬 출력: 수신기가 직렬 데이터를 다시 병렬로 변환하여 로컬 버스로 전달합니다.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 12. 수신 버스로 데이터 흐름.

커스텀 프레임 프로토콜

표준 UART 프레임은 많은 유스케이스에 충분하지만, 커스텀 프레임 계층을 추가하면 보안을 강화하고 의도된 기기만 통신하도록 보장할 수 있습니다.

고유한 헤더, 트레일러, CRC를 임베드함으로써 각 기기는 패킷이 신뢰할 수 있는 소스에서 왔는지 검증할 수 있습니다. 이는 안전 중요한 또는 보안 환경에서 특히 가치가 있습니다.

그림 13은 일반적인 커스텀 프레임을 보여줍니다:

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 13. 샘플 UART 프레임 프로토콜.

프레임은 일반적으로 다음을 포함합니다:

양측은 동일한 프레이밍 규칙을 사용해야 하며, 그렇지 않으면 패킷이 거부됩니다.

UART 구성 단계

1. 데이터시트 검토하여 UART 인터페이스와 핀 할당 이해.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 14. 마이크로컨트롤러 데이터시트 발췌.

2. 메모리 맵 확인으로 UART 레지스터와 주소 파악.

UART 마스터하기: 범용 비동기 송수신기 완벽 해설
그림 15. 마이크로컨트롤러 메모리 맵.

3. UART 포트 파라미터 정의 – 데이터 비트, 패리티, 스톱 비트, 동작 모드. 예시 설명:

• 5~8 데이터 비트
• 1, 1½, 또는 2 스톱 비트
• 없음, 짝수, 홀수 패리티
• 풀듀플렉스, DMA 지원, 비동기 전송

4. 보드레이트 계산 – 주변장치 클럭(PCLK)과 MCU의 오버샘플링 및 분주 레지스터 사용. 일반 공식:

Baud rate = PCLK / ((M + N/2048) × 2OSR + 2 × DIV)

여기서:
OSR – 오버샘플 레이트 (0~3)
DIV – 보드레이트 분주기 (1~65535)
M – 분수 분주기 MSB (1~3)
N – 분수 분주기 LSB (0~2047)

아래 예시 테이블은 26MHz와 16MHz PCLK 기준 보드레이트 설정을 보여줍니다.

표 2. 26MHz PCLK 기준 보드레이트 예시

보드레이트OSRDIVDIVMDIVN
960032431078
1152003411563

표 3. 16MHz PCLK 기준 보드레이트 예시

보드레이트OSRDIVDIVMDIVN
960031731078
115200322348

5. 데이터시트 따라 UART 레지스터 구성. 주요 레지스터:

표 4. UART 레지스터 설명

이름설명
UART_DIV보드레이트 분주기
UART_FIBR분수 보드레이트 제어
UART_LCR2라인 제어 레지스터 (OSR, 스톱 비트, 패리티)

레지스터가 프로그래밍되면 UART가 데이터를 신뢰성 있게 송수신할 수 있습니다.

UART가 중요한 이유

UART 이해는 견고하고 저비용, 고처리량 직렬 링크를 설계하는 엔지니어에게 필수적입니다. 프레이밍, 보드레이트 계산, 레지스터 구성 숙달은 데이터 무결성과 시스템 신뢰성을 보장합니다.

일반적인 사용 사례

참고문헌

"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.

임베디드

  1. 전문 샤프트 제조: 정밀 공정 & 맞춤형 솔루션
  2. 클라우드 문화가 비즈니스 성공을 이끄는 이유: 실전 가이드
  3. 예지보전이 효율을 높이고 가동 중단을 줄이는 방법
  4. 밀링 머신 101: 기능, 구성요소, 용도에 대한 종합 가이드
  5. 컷투렌스(Cut-to-Length) 라인 마스터하기: 핵심 개념 및 적용
  6. 잔류 응력: 종류, 원인, 실무적 활용 완벽 가이드
  7. 쇽업소버(쇼크 업소버) 작동 원리: 차량 밸런스와 승차감 향상의 핵심
  8. 유체 흐름의 종류와 특성: 정상/비정상, 층류/난류, 압축성/비압축성 완벽 이해
  9. 커플링(Coupling) 완벽 가이드: 종류·선정·작동 원리·장단점
  10. 소재 유연성의 이해: 탄성이 성능을 결정하는 원리