--- 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) ---