Step-by-Step
[Embedded] UART 본문
UART
- Universal Asynchronous Receiver & Transmitter
- 병렬 데이터의 형태를 직렬 방식으로 전환하여 데이터를 전송하는 컴퓨터 하드웨어의 일종
- UART의 U는 범용, 즉 자료 형태나 전송 속도를 직접 구성할 수 있고 실제 전기 신호 수준과 방식이 일반적으로 UART 밖의 특정한 드라이버 회로를 통해 관리를 받음
- 비동기 통신으로, 동기 신호가 전달되지 않기 때문에 수신 쪽에서 동기 신호를 찾아내 데이터의 시작과 끝을 시간적으로 알아 처리할 수 있도록 약속되어 있음
USART
- Universal Synch, Asynchronous Receiver & Transmitter
- UART 에서 USRT를 추가한 형태
- USRT(범용 동기화 송수신기) : 자체 클럭 신호를 추가로 사용하여 정해진 속도로 수신 데이터로부터 비트 구간을 구분하고 비트의 논리 상태를 결정하여 데이터 통신을 하는 것
데이터 송수신 형태

- 시작 비트 : 통신의 시작으로, 한 비트의 시간 길이만큼 유지
- 데이터 비트 : 5~8 비트의 데이터 전송을 진행. bit의 수는 해당 레지스터 설정에 따라 결정
- 패리티 비트 : 오류를 검증하기 위한 parity 값을 생선하여 송신하고, 수신쪽에서 오류 판단 (짝수/홀수/사용안함 중 선택)
- 종료 비트 : 통신 종료를 알림. 세 가지 정해진 비트 만큼 유지해야 한다. (1/1.5/2비트로 해당 레지스터 설정에 따라 결정)
RS232
UART를 이용한 가장 일반적인 비동기 통신 방식
RTS (Request to Send) | 송신 측에서 데이터를 보내기 전에 사용. 송신 장치가 수신 장치에 데이터를 보내기 위해 준비가 되었음을 알리는 신호. |
CTS(Clear to Send) | 수신 측에서 RTS 신호에 응답하는 신호. 송신 측에 데이터를 보낼 수 있음을 알림. 데이터 전송을 시작하기 전에 충돌을 방지하는데 도움이 됨. |
DSR(Data Set Ready) | 수신 장치가 준비되었음을 송신 장치에게 알리는 신호. 보통 모뎀과 같은 데이터 통신 장치에 사용됨. |
DTR(Data Terminal Ready) | 송신 장치가 데이터 통신을 시작할 준비가 되었음을 나타내는 신호. 수신 장치가 DTR 신호를 감지하면, 데이터 전송을 시작할 수 있음 |
해당 신호들은 주로 직렬 통신에서 데이터의 전송 상태를 제어하고, 충돌을 방지하기 위해 사용됨.
'임베디드 > Embedded C' 카테고리의 다른 글
[Embedded] DMA (0) | 2024.09.26 |
---|---|
[C] 매크로 #define (0) | 2024.09.24 |
[Embedded] 구조체 멤버 메모리 할당 #Pragma (0) | 2024.09.06 |