| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
| 29 | 30 | 31 |
- 프로그래머스
- 이분탐색
- Stack
- 다이나믹 프로그래밍
- level2
- 그리디
- dfs
- kotlin
- 코틀린
- 다이나믹프로그래밍
- 백준
- level3
- 자바
- 임베디드
- BFS
- dp
- JavaScript
- 누적합
- 컴퓨터비전
- 컴퓨터 비전
- 통신 인터페이스
- 2018 KAKAO BLIND RECRUITMENT
- 구현
- lv2
- cpp
- C
- 동적계획법
- java
- c++
- 우선순위큐
- Today
- Total
코드를 느껴바라
[네트워크] 임베디드 통신 개요 (Embedded Communication Overview) 본문
임베디드 시스템은 독립적으로 동작하는 장치가 아니다.
센서로부터 데이터를 수집하고, 외부 장치에 명령을 전달하며,
다른 마이크로컨트롤러나 모듈과 지속적으로 정보를 교환한다.
이러한 장치 간 데이터 교환의 모든 방식을 통틀어
임베디드 통신(Embedded Communication)이라 한다.
본 포스팅에서는 개별 통신 인터페이스를 다루기 전에,
임베디드 통신을 이해하기 위한 기본적인 분류 기준과 핵심 개념을 정리하고자 한다.
임베디드 통신의 정의
임베디드 통신이란,
임베디드 시스템이 정해진 규칙(프로토콜)에 따라
다른 하드웨어 장치와 데이터를 송수신하는 모든 과정을 의미한다.
일반적인 네트워크 통신과 비교했을 때, 임베디드 통신은 다음과 같은 특징을 가진다.
- 통신 대상은 사람이 아닌 하드웨어 장치
- 데이터 형식과 타이밍이 엄격하게 정의됨
- 처리 속도보다 신뢰성·정확성·동기성이 중요
즉, 임베디드 통신의 목적은
빠른 데이터 전송이 아니라 예측 가능한 동작과 안정성 확보에 있다.
송수신 방향에 따른 통신 방식
1 단방향 통신 (Simplex)
데이터가 한 방향으로만 전달되는 통신 방식이다.
송신 장치와 수신 장치의 역할이 고정되어 있다.
- 송신 → 수신 (역방향 없음)
- 구조가 단순하고 구현이 쉬움
주로 센서 출력이나 단순 제어 신호 전달에 사용된다.
2 반이중 통신 (Half-Duplex)
송신과 수신이 모두 가능하지만,
동시에 수행할 수는 없는 통신 방식이다.
- 하나의 선로를 공유
- 송신 중에는 수신 불가
버스 기반 통신에서 자주 사용되며,
충돌 방지 및 제어 로직이 필요하다.
예로 매우 유명한 CAN통신이 있다. (포스팅 참고하면 좋을듯)
https://sernan96.tistory.com/126
[네트워크] CAN 통신
CAN통신이란?CAN은 Controller Area Network의 약자이다.단순 통신 프로토콜이 아닌 전기적으로 동작하는 실시간 스케줄러라고 부르는데 그 이유를 알아보자. CAN통신은 버스 토폴로지 구조인데 버스 토
sernan96.tistory.com
3 전이중 통신 (Full-Duplex)
송신과 수신을 동시에 수행할 수 있는 통신 방식이다.
- 송신용(TX)과 수신용(RX) 라인이 분리됨
- 통신 효율이 높음
핀 수가 증가하지만, 데이터 처리 흐름이 명확하다.
송수신 장치 수에 따른 구분
1 1:1 통신 (Point-to-Point)
하나의 송신 장치와 하나의 수신 장치가 직접 연결되는 방식이다.
- 구조 단순
- 충돌 개념 없음
- 확장성 낮음
단일 장치 간 통신에 적합하다.
2 1:N 통신 (Bus / Multi-drop)
하나의 마스터 장치가
여러 개의 슬레이브 장치와 통신하는 방식이다.
- 주소(Address) 또는 선택 신호 필요
- 확장성 우수
- 중재 및 충돌 관리 필요
센서나 주변 장치가 많은 시스템에서 주로 사용된다.
데이터 전송 방식
1 병렬 통신 (Parallel Communication)
여러 비트를 동시에 전송하는 방식이다.
- 전송 속도 빠름
- 핀 수 많음
- 거리 증가 시 신호 왜곡 발생
외부 장치 통신보다는
CPU 내부 버스나 메모리 인터페이스에서 사용된다.
2 직렬 통신 (Serial Communication)
데이터를 1비트씩 순차적으로 전송하는 방식이다.
- 핀 수 최소화
- 노이즈에 강함
- 거리 확장 용이
임베디드 외부 통신의 대부분은 직렬 통신을 사용한다.
동기 통신과 비동기 통신
1 동기 통신 (Synchronous Communication)
송신자와 수신자가 공통 클럭 신호를 기준으로 동작한다.
- 데이터 타이밍이 명확
- 고속 통신 가능
- 클럭 라인 필요
클럭 신호를 통해 데이터 전송 시점을 직접 제어한다.
2 비동기 통신 (Asynchronous Communication)
공통 클럭 없이,
사전에 약속된 속도를 기준으로 통신한다.
- Start Bit / Stop Bit 사용
- 구조 단순
- 속도 제한 존재
초기 설정이 간단해 디버깅용 통신에 많이 사용된다.
통신 속도와 Baud Rate
1 Baud Rate의 의미
Baud Rate는
1초 동안 전송되는 신호 단위(Symbol)의 개수를 의미한다.
일반적인 비동기 통신에서는
1 Symbol이 1 Bit에 해당하므로
Baud Rate는 곧 Bit Rate로 해석된다.
2 Baud Rate가 중요한 이유
송신 장치와 수신 장치의 Baud Rate가 일치하지 않으면
- 비트 샘플링 시점 오류
- 프레이밍 에러 발생
- 데이터 왜곡
임베디드 통신에서 Baud Rate 설정은
선택 사항이 아니라 통신 성립의 전제 조건이다.
이후 포스팅 구성
이번 글에서는
임베디드 통신을 이해하기 위한 공통 개념과 분류 기준을 정리했다.
이후 포스팅에서는 다음 순서로
대표적인 임베디드 통신 인터페이스를 다룰 예정이다.
- UART / USART
- I2C
- SPI
각 통신 방식에 대해
구조, 신호 흐름, 타이밍, 실제 MCU 적용 관점에서 상세히 설명한다.
많.관.부

'개발 > 임베디드(Embedded)' 카테고리의 다른 글
| [네트워크] I2C 통신 인터페이스 개요 (2) | 2026.02.06 |
|---|---|
| [네트워크] U(S)ART 통신 인터페이스 (0) | 2026.02.06 |
| [임베디드] HAL의 정의, 필요성 (3) | 2026.02.04 |
| [임베디드] 임베디드 시스템 개요 (0) | 2026.02.03 |
| [임베디드] 엣지 감지 (with LED 토글) (2) | 2026.01.29 |
