65 lines
2.2 KiB
Markdown
65 lines
2.2 KiB
Markdown
---
|
|
id: 시리얼 통신(Serial Communication) 20260504
|
|
created: 2026-05-04 09:22
|
|
tags:
|
|
aliases:
|
|
- 직렬통신
|
|
---
|
|
## 💡 생각
|
|
구식 통신연결방식이다 생각하면 됨. 옛날꺼니까 단점이 많음
|
|
이미 serial로 연결해서 사용중이던 장비를 다뤄야 하는 경우에나 보게되거나 사용하게 됨.
|
|
[[RS-232]]는 생각보다 꽤 범용적으로 사용했던거라 아직까지도 남아있는 경우가 있음
|
|
|
|
---
|
|
## 📑 개념
|
|
데이터를 하나의 선(Channel)을 통해 **한 번에 1비트씩 순차적으로 전송**하는 방식입니다.
|
|
현대의 USB, 이더넷, 그리고 임베디드 시스템에서 널리 쓰이는 RS-232, RS-485 등이 모두 여기에 속합니다.
|
|
|
|
---
|
|
|
|
## 1. 핵심 개념: 직렬 vs 병렬
|
|
|
|
데이터를 보낼 때 여러 개의 선을 사용하는 병렬 통신과 달리, 시리얼 통신은 최소한의 선으로 데이터를 보냅니다.
|
|
|
|
- **직렬(Serial):** 한 줄로 서서 차례대로 이동 (비용 저렴, 장거리 유리)
|
|
|
|
- **병렬(Parallel):** 여러 줄로 동시에 이동 (단거리 고속, 케이블 복잡)
|
|
|
|
## 2. 주요 통신 방식 (동기 vs 비동기)
|
|
|
|
### 비동기식 통신 (Asynchronous)
|
|
|
|
클럭(Clock) 신호를 공유하지 않고, 데이터 앞뒤에 **Start Bit**와 **Stop Bit**를 붙여 데이터의 시작과 끝을 구분합니다.
|
|
|
|
- **대표 사례:** UART (RS-232, RS-485)
|
|
|
|
- **장점:** 선의 개수가 적음
|
|
|
|
- **단점:** 통신 속도(Baud Rate)가 양쪽 모두 일치해야 함
|
|
|
|
|
|
### [[동기(Synchronous)]]식 통신
|
|
|
|
별도의 **클럭 신호선**을 사용하여 송수신 타이밍을 맞춥니다.
|
|
|
|
- **대표 사례:** SPI, I2C
|
|
|
|
- **장점:** 데이터 전송 효율이 높고 속도가 빠름
|
|
|
|
- **단점:** 클럭을 위한 추가 선이 필요함
|
|
|
|
|
|
## 주요 설정 파라미터 (UART 기준)
|
|
|
|
시리얼 통신을 설정할 때 반드시 맞춰야 하는 4가지 요소입니다.
|
|
|
|
1. **Baud Rate (보오율):** 초당 전송되는 비트 수 (예: 9600, 115200)
|
|
|
|
2. **Data Bits:** 한 번에 보낼 데이터의 길이 (보통 8비트)
|
|
|
|
3. **Parity Bit:** 오류 검출을 위한 비트 (None, Even, Odd)
|
|
|
|
4. **Stop Bits:** 데이터의 끝을 알리는 비트 (1 또는 2)
|
|
|
|
---
|