승코딩당당당
[임베디드] 임베디드 시스템의 인터페이스 이해 본문
임베디드 시스템은 하드웨어와 소프트웨어가 긴밀하게 연결된 구조를 가지며, 그 중심에는 센서와 액츄에이터, 그리고 이들을 연결하는 다양한 인터페이스가 존재한다.
이 글에서는 임베디드 시스템의 기본적인 하드웨어 구조부터 입력 센서와 출력 액츄에이터의 역할을 살펴보고, 아날로그·디지털 신호의 차이와 신호 변환 과정에 대해 정리한다.
또한 MCU와 주변 장치 간 통신을 가능하게 하는 인터페이스 개념을 중심으로 ADC, GPIO, UART, I2C, SPI와 같은 대표적인 통신 방식의 특징을 비교하며 이해한다.
통신의 방향성과 데이터 전송 방식, 데이터율(Baud rate, Bit rate)의 개념까지 함께 다루어 임베디드 시스템에서 인터페이스가 왜 중요한지를 흐름 있게 설명한다.
마지막으로 UART 기반 시리얼 통신을 중심으로 실제 임베디드 개발에서 가장 자주 사용되는 통신 방식의 기본 원리를 정리하며, 이후 실습 및 코드 구현으로 확장하기 위한 이론적 기반을 마련한다.
임베디드 시스템 HW 구조
- 메인 프로세서: 사람의 두뇌에 해당하며, 센서의 입출력 동작을 관리
- 입력 센서: 현재 상황을 인지하기 위해 사용되는 입력 장치들
- 출력 액츄에이터: 로봇의 실제 움직이는 동작에 관여하는 출력 장치들
입력 센서 & 출력 Actuator 종류
- 입력 센서와 Actuator
- 입력 센서(Sensor): 온도, 습도, 미세먼지, 마이크, 카메라, …
- 출력 센서(Actuator): LED, 부저, 스피커, LCD, 모터, …
- 아날로그 센서와 디지털 센서
- 연속 신호와 이산 신호
- 동작 범위와 정밀도
- MEMS란?
- Micro Electro Mechanical System
- 소형화, 경량화, 대량 생산
Sensor / Actuator 인터페이스
- 인터페이스
- MCU와 센서간 통신
- 인터페이스 유형
- Analog
- ADC
- DAC
- Digital
- 범용 GPIO
- 통신 인터페이스
- UART
- I2C
- SPI
- …
- Analog
아날로그 신호와 디지털 신호
- 통신의 신호
- 아날로그 신호: 시간 및 값(진폭) 모두에서 연속적인 신호
- 디지털 신호: 시간 및 값 모두 이산적인 신호
- 신호의 변환
- 아날로그를 디지털로 변환하기
- 표본화, 양자화, 부호화의 단계를 거쳐서 아날로그가 디지털 신호로 변경됨
ADC (Analog to Digital Converter)
- 3bit ADC
- Vref = 8V
- 3Bit ADC Convert

통신이란
- 통신의 주체: 송신자와 수신자
- 통신의 방법
- 송수신 방향:
- Simplex (단방향)
- Half Duplex (말하는 얘가 다 말할 때까지 기다리다가 끝나고 대답)
- 데이터라인이 하나 있을 때
- Full Duplex
- 라인이 각각 따로 있음
- Half보다 더 빠름
- Half Duplex처럼 동작도 가능함
- 송수신 숫자:
- Unicast
- 1:다 or 다:다
- Multicast
- 1:다 or 다:다
- 그룹을 나눔
- 해당 그룹에게만
- Broadcast
- 1:다
- 알림성
- Unicast
- 송수신 방향:
데이터 전송 방식
- 데이터 전송 방식
- 직렬 전송
- 병렬 전송
- 여러 개의 데이터라인
- Synchronous:
- Data line
- Clock line
- Asynchronous:
- Data line
- Data rate
- Data bits
- Synchronization bits (Start / Stop bits)
- Parity bits
- Data line
통신 속도
- 데이터율 (Data Rate)
- 데이터(비트, 심볼, 패킷 등)가 전송되는 속도(비트율, 심볼률 등)을 총칭
- 비트율 bps (bit per second)
- 1초 동안 전송할 수 있는 bit
- 심볼율 sps (symbols/sec)
- 1초 동안 전송할 수 있는 심볼수
- 심볼: 하나의 심볼은 n개의 비트를 하나로 모아 놓은 단위
- Baud rate
- 단위 시간 당 변조된 신호 상태의 변화율 = 변조 속도 (= 심볼율)
- 컴퓨터와 주변기기 연결 시 자주 언급되는 용어임
U(S)ART
- Universal (Synchronous) Asynchronous Receiver/Transmitter

I2C
- 클럭(SCL)과 데이터(SDA)
- Master와 Slave
- Slave는 개별

SPI
- 빠른 통신을 지원
- Master와 Slave 구조로 이루어짐
- SCK - Clock
- MOSI - Master out / slave in
- MISO - Master
- SS - Slave sel

'개발 > 임베디드' 카테고리의 다른 글
| [STM32] VDDA 보정 기반 LM35 온도 측정 (ADC+AT Command) (1) | 2026.02.08 |
|---|---|
| [STM32] UART 통신 확인 실습 (PuTTY) (0) | 2026.02.06 |
| [STM32] HAL 기반 GPIO 제어 – LED Blinking (1) | 2026.02.05 |
| [임베디드] 임베디드 C 프로그래밍 기초 (2) | 2026.02.03 |
| [임베디드] 임베디드 소프트웨어 개발 기초 (0) | 2026.02.03 |