임베디드 시스템 설계와 프로세서 선택

임베디드 시스템의 구성, 분류, 설계 제약과 MCU·MPU·DSP·SoC의 특성, 개발 도구와 운영 과제를 정리한다.

2026-08-14 · 최초 발행 2026-01-12

제품 안의 전용 컴퓨터가 갖는 조건

임베디드 시스템은 특정 기능을 수행하도록 만든 전용 컴퓨터 시스템이다. 마이크로컨트롤러(MCU) 또는 마이크로프로세서(MPU)를 중심으로 메모리, 입출력 인터페이스, 센서, 액추에이터를 묶어 제품 안에 넣는다.

자동차의 ECU, 스마트폰, 세탁기, 의료 기기, IoT 디바이스, 산업용 로봇이 대표적인 대상이다. 사용자는 이를 일반적인 컴퓨터로 인식하지 않는 경우가 많지만, 내부에서는 제어와 데이터 처리가 계속 수행된다. 이 시스템은 제한된 메모리와 CPU, 실시간 응답, 저전력, 높은 안정성이라는 조건을 동시에 맞춰야 한다.

임베디드 시스템은 범용 작업을 폭넓게 처리하는 PC나 서버와 다르다. 특정 작업에 맞춘 기능을 제공하는 대신 유연성은 제한되며, 사용자 인터페이스는 제한적이거나 없을 수 있다. 대량 생산을 전제로 가격을 낮출 수 있지만, 배포 뒤 업그레이드는 일반 컴퓨터보다 어렵다. 실시간성도 대부분의 임베디드 시스템에서 중요한 요구 사항이다.

특성 임베디드 시스템 일반 컴퓨터(PC, 서버)
목적 특정 기능 수행 범용 작업
자원 제한적 풍부
실시간성 필수(대부분) 선택적
사용자 인터페이스 제한적 또는 없음 GUI 풍부
업그레이드 어려움 쉬움
가격 저렴(대량 생산) 상대적으로 비쌈
임베디드 시스템 구조MCU 내부CPU센서(입력)MCU/MPU(프로세서)액추에이터(출력)전원RAMFlash(ROM)주변장치(GPIO, UART, SPI)

하드웨어와 소프트웨어가 만나는 지점

하드웨어는 처리 장치, 메모리, 입출력, 주변장치, 전원으로 구성된다. 프로세서에는 ARM Cortex-M, AVR, PIC 기반 MCU와 ARM Cortex-A, x86 기반 MPU, 신호 처리를 위한 DSP가 사용될 수 있다.

메모리는 데이터 저장용 RAM, 프로그램 저장용 ROM/Flash, 설정을 보관하는 EEPROM으로 나뉜다. 외부 장치와의 연결에는 GPIO, UART, SPI, I2C가 쓰이며, ADC는 아날로그 신호 변환을, PWM은 모터 제어를 맡는다. 온도·압력·가속도·조도를 읽는 센서와 모터·릴레이·LED·부저 같은 액추에이터, Wi-Fi·Bluetooth·LoRa·Cellular 통신 모듈도 여기에 포함된다. 전원은 배터리 또는 DC 전원 공급 장치로 제공된다.

소프트웨어 계층에서는 RTOS(FreeRTOS, VxWorks, QNX), Embedded Linux, Bare-Metal 방식 중 하나를 선택할 수 있다. 응용 프로그램은 제어 알고리즘, 데이터 처리, 사용자 인터페이스를 담당한다. 펌웨어는 하드웨어를 제어하며 ROM/Flash에 저장되고, 디바이스 드라이버와 HAL(Hardware Abstraction Layer)은 하드웨어 접근을 추상화한다.

연결 방식과 응답 요구가 나누는 유형

독립형 시스템은 네트워크에 연결하지 않고 단일 기능을 수행한다. 디지털 카메라, 전자계산기, MP3 플레이어가 이에 해당한다.

실시간 시스템에서는 결과뿐 아니라 응답 시점도 요구 사항이다. Hard Real-Time은 데드라인을 반드시 지켜야 하며 자동차 브레이크 시스템과 항공기 제어가 예다. Soft Real-Time은 데드라인 준수가 바람직하지만 간헐적인 지연을 허용하며, 멀티미디어 스트리밍이 이에 속한다.

네트워크 연결형 시스템은 인터넷 또는 네트워크를 통해 원격 제어와 데이터 전송을 수행한다. 스마트 홈 디바이스, 네트워크 라우터, IP 카메라가 대표적이다. 모바일 임베디드 시스템은 이동성, 배터리 구동, 무선 통신을 함께 요구하며 스마트폰, 태블릿, 스마트워치 같은 웨어러블 디바이스, 드론에서 사용된다.

자동차부터 위성까지의 적용 영역

자동차에서는 ECU가 엔진을 제어하고, ABS를 포함한 브레이크 시스템과 에어백을 다룬다. 내비게이션과 오디오 시스템으로 구성되는 인포테인먼트, 자율 주행·차선 유지·충돌 방지를 지원하는 ADAS도 임베디드 시스템의 적용 대상이다.

의료 분야에서는 심전도(ECG), 혈압 측정기 같은 환자 모니터링 장비와 인슐린 펌프, 인공 심장 박동기 같은 치료 기기에서 쓰인다. MRI와 CT 스캐너도 진단 기기의 사례다.

세탁기, 냉장고, 전자레인지, 오븐 같은 스마트 가전과 스마트 TV, 게임 콘솔에도 전용 시스템이 들어간다. 산업 현장에서는 PLC가 공장 자동화와 조립 라인 제어를 맡고, 산업용 로봇과 협동 로봇(Cobot)이 동작한다. 온도·압력을 모니터링하는 센서 네트워크는 예측 유지보수에도 사용된다.

IoT에서는 스마트 온도계, 조명, 보안 카메라로 스마트 홈을 구성하고, 피트니스 트래커와 스마트워치로 웨어러블 기능을 제공한다. 스마트 관개 시스템과 토양 센서는 농업 분야의 적용 사례다. 항공우주 및 국방에서는 비행 제어와 항법 시스템, 통신 위성·관측 위성, 미사일 유도와 레이더 같은 무기 시스템에 사용된다.

제약 조건에서 시작하는 설계

설계는 필요한 기능을 정의하는 요구사항 분석에서 출발한다. 처리 속도와 응답 시간, 하드웨어 및 개발 비용, 크기와 무게, 배터리 수명과 전력 소비, MTBF(Mean Time Between Failures)를 함께 검토해야 한다.

시스템 설계 단계에서는 아키텍처를 정하고 하드웨어와 소프트웨어의 역할을 나눈다. 이어서 프로세서·메모리·주변장치를 선택하고 회로와 PCB를 설계한다. 소프트웨어 쪽에서는 알고리즘을 개발하고 펌웨어를 작성한 뒤, 하드웨어와 소프트웨어를 통합해 기능 및 성능을 테스트한다. 검증과 배포 단계에서는 CE, FCC 인증과 양산이 이어진다.

하드웨어-소프트웨어 협업 설계(Co-Design)는 두 영역을 동시에 설계해 최적화를 노리는 방식이다. 성능과 전력 효율이 우선인 기능은 하드웨어 구현을 선택할 수 있고, 유연성과 비용이 더 중요한 기능은 소프트웨어 구현으로 분할할 수 있다.

처리 장치의 통합 범위와 역할

MCU는 CPU, RAM, Flash를 단일 칩에 통합하며 GPIO, UART, SPI, I2C, ADC, Timer 같은 주변장치를 내장한다. 저전력·저비용 특성 때문에 단순 제어, IoT 디바이스, 센서 노드에 적합하다. ARM Cortex-M 계열의 STM32와 NXP Kinetis, AVR 기반 Arduino, PIC(Microchip), Wi-Fi와 Bluetooth를 내장한 ESP32가 예시다.

MPU는 CPU를 중심으로 하며 외부 메모리와 주변장치가 필요하다. 고성능 처리와 MMU(Memory Management Unit)를 지원하므로 복잡한 응용 프로그램과 Embedded Linux에 사용된다. ARM Cortex-A 기반 Raspberry Pi, Intel Atom, RISC-V가 예다.

DSP(Digital Signal Processor)는 신호 처리에 최적화된 프로세서다. MAC(Multiply-Accumulate) 연산을 고속으로 수행하며 오디오·비디오 처리와 통신 시스템에 쓰인다.

SoC(System on Chip)는 CPU, GPU, 메모리, 통신 모듈을 단일 칩에 통합한 고집적 구조다. Qualcomm Snapdragon, Apple A-series와 M-series, Raspberry Pi SoC가 사례이며 스마트폰, 태블릿, 임베디드 비전에 사용된다.

개발과 관측에 쓰는 도구

개발 환경으로는 Keil MDK, IAR Embedded Workbench, STM32CubeIDE, Arduino IDE, Eclipse가 사용된다. ARM GCC와 AVR GCC는 크로스 컴파일러이며, Make와 CMake, Embedded Linux용 Yocto는 빌드 시스템에 속한다.

JTAG/SWD는 브레이크포인트와 메모리 검사를 지원하는 하드웨어 디버거다. GDB는 원격 디버깅에 사용할 수 있으며, 로직 애널라이저는 디지털 신호를 분석하고 오실로스코프는 아날로그 신호를 측정한다. QEMU는 타겟 하드웨어 없이 테스트할 수 있는 임베디드 시스템 에뮬레이터이고, Proteus는 MCU 시뮬레이션을 지원하는 회로 시뮬레이터다.

운영 중에도 남는 제약

메모리 제약은 코드 크기 최소화와 메모리 효율적인 알고리즘을 요구한다. CPU 성능이 제한될 때는 최적화와 하드웨어 가속을 검토하게 된다.

실시간 시스템에서는 RTOS와 우선순위 스케줄링으로 데드라인을 보장해야 하며, 인터럽트에도 빠르게 응답해야 한다. 전력 측면에서는 Sleep 모드와 동적 전압/주파수 조정(DVFS), 전력 프로파일링을 통해 배터리 수명과 전력 소비를 다룬다.

보안은 펌웨어와 통신, 물리적 접근을 모두 포함한다. 펌웨어에는 Secure Boot와 암호화를 적용하고, 통신에는 TLS/SSL과 인증을 고려한다. 물리적 공격에는 Tamper Detection이 대응 수단이 될 수 있다.

임베디드 시스템MCURTOS펌웨어SoC