Embedded Systems & Controllers
특정 목적을 수행하기 위해 CPU, 메모리, 주변 장치를 한 칩에 집적한 MCU의 내부 물리 구조와 임베디드 특유의 제약 사항을 다루는 학습 노드입니다.
sys.entry
M
Me
hyunyoun's Blog
posts6 min read
1. Overview
임베디드 시스템 및 컨트롤러(Embedded Systems & Controllers, ESC)는 독립된 거대 컴퓨터가 아닌, 밥솥, 자동차, 로봇 등 사물 속에 스며들어 세상을 섬세하게 제어하는 '물리적인 혼(Spirit)'입니다.
임베디드 환경은 무한한 자원이 아닌 '수 킬로바이트의 램'과 '밀리암페어 단위의 전력'이라는 가혹한 제약 조건에서 승부합니다. 학습자는 연산 유닛뿐만 아니라 타이머, ADC, PWM 등 제어 전용 하드웨어가 한 칩에 집합된 **MCU(Micro Controller Unit)**의 물리적 생태계를 배웁니다. 또한, 전원이 켜지자마자 0.001초 만에 제어 준비를 마치는 **펌웨어(Firmware)**의 물리적 집적 기술을 익힙니다. 이를 통해 소프트웨어가 어떻게 실제 물리적 기계 장치의 속도와 힘을 정밀하게 조율하는지 임베디드 공학의 정수를 장악합니다.
2. Scope & Boundaries
In-Scope
- MCU/SoC Arch: Core, Static RAM, Flash, Peripherals의 단일 칩 물리 집적
- Control Peripherals: 타이머/카운터, PWM(모터 제어), ADC/DAC(아날로그 변환) 로직
- Power Physics: 슬립 모드(Sleep), 웨이크업(Wakeup) 이벤트 및 클록 게이팅 물리
- Firmware Footprint: 메모리 맵 최적화와 코드 크기 극소화 전략
Out-of-Scope
- 범용 PC 및 서버 아키텍처 (02-01 ~ 03 영역으로 위임)
- 고수준 제어 알고리즘(PID)의 수학적 상세 (08-01 PID 영역으로 위임)
Boundaries
- ESC vs. General CPU: 일반 CPU가 '범용 연산'을 지향한다면, ESC는 외부 핀을 통한 '물리적 주변 장치 제어'에 최적화된 하드웨어 구조를 가집니다.
3. Counterexample
- 단순히 "작은 컴퓨터다"라는 설명은 ESC 학습이 아닙니다. 왜 임베디드 시스템에서 Watchdog Timer가 없으면 하드웨어의 물리적 멈춤(Hang)을 감지하고 스스로 리셋(Self-recovery)할 수 없는지 생명 유지 기법을 지적할 수 있어야 하며, 12비트 ADC의 물리적 오차가 실세계 센서 데이터 신뢰도에 미치는 수리적 영향력을 분석하지 못한다면 ESC의 하드웨어적 깊이를 놓친 것입니다.
4. Prerequisites
- Bare-metal Memory Mapping (Basic): 레지스터 직접 제어 기초 지식이 필수입니다. (02-05-01 BMM)
- Interrupt Latency & Jitter Physics (Recommended): 실시간 응답 물리 이해가 권장됩니다. (02-05-03 ILJ)
5. Learning Map
- Integrated Ecosystem: 연산, 기억, 소통 장치가 칩 하나에 옹기종기 모인 물리 구조를 인식합니다.
- Clock Heartbeat: 시스템 각 부분에 서로 다른 속도의 심박수(Clock)를 분배하는 로직을 익힙니다.
- Control Arms: PWM으로 모터를 돌리고 ADC로 온도를 읽는 물리적 팔다리 기능을 배웁니다.
- Frugal Engineering: 최소한의 전기와 메모리로 수년을 버티게 하는 최적화 기술을 완성합니다.
6. Learning Topics
Basic
Core: MCU 구조와 내장 메모리 (MCU Architectures)
- Why to Learn: 외부에 부품을 주렁주렁 달지 않고도 독립적으로 작동하는 하드웨어의 자급자족 원리를 알기 위함입니다.
- What to Learn:
- Harvard vs Von Neumann: 임베디드에 하버드 구조가 유리한 물리적 이유
- Flash Memory: 코드가 구워지는 영구 저장소의 물리적 특성
- SRAM: 연산에 쓰이는 휘발성 공간의 제약
- How to Learn:
- 특정 MCU(예: ATmega328, STM32)의 내부 블록도를 보고 CPU 주변에 어떤 장치들이 소통하는지 경로 분석 실습
- 램 용량이 2KB일 때 변수를 선언할 때마다 줄어드는 가용 공간 체감 벤치마킹
- Implement: 현재 사용 가능한 힙(Heap)과 스택(Stack) 영역의 물리적 잔량을 체크하는 간단한 유틸리티
Recommended
Core: 시스템 클록과 전력 관리 (Power & Clock Physics)
- Why to Learn: 건전지 하나로 수개월을 버텨야 하는 임베디드 기기의 물리적 수명을 결정짓기 위해서입니다.
- What to Learn:
- 클록 트리(Clock Tree): 크리스탈 오실레이터부터 각 장치까지의 전압 신호 분배 로직
- Low Power Modes: 전기를 끄고 특정 핀의 전압 변화(Interrupt)만 감시하는 물리 상태
- 효율적인 웨이크업: 잠든 CPU를 0.0001초 만에 깨우는 하드웨어 트리거
- How to Learn:
- 클록 주파수를 100MHz에서 1MHz로 내렸을 때 전력 소모량이 수리적으로 어떻게 비례하여 감소하는지 분석 실습
- 딥 슬립(Deep Sleep) 모드에서 RAM 데이터를 유지하기 위해 필요한 최소 물리 전력 조사
- Implement: 주변 장치별로 클록을 끄고 켬으로써(Clock Gating) 전력 소모 시뮬레이션을 수행하는 리포트 도구
Practical
Core: 제어용 주변 장치 활용 (Timer, PWM & ADC)
- Why to Learn: 0과 1의 세계를 넘어 모터를 돌리고 센서 값을 읽는 물리적 통제력을 갖기 위해서입니다.
- What to Learn:
- Timer/Counter: 시간을 정확히 쪼개어 이벤트를 발생시키는 물리적 비트 연산기
- PWM (Pulse Width Modulation): 전압의 듀티 사이클(Duty Cycle)을 조절하여 평균 전력을 제어하는 기법
- ADC (Analog-to-Digital): 전압의 아날로그 변위를 디지털 계단으로 근사하는 물리
- How to Learn:
- ADC의 해상도(bit)와 샘플링 속도(Sps)에 따라 원래 신호를 복원할 수 있는 물리적 한계(나이퀴스트 등) 입증 실습
- PWM 주파수에 따른 모터의 고주파 소음 발생 원리 분석
- Implement: 특정 밝기를 내기 위한 PWM 듀티비를 계산하고 타이머 레지스터 설정값을 도출하는 코드
Advanced
Core: 신뢰성 설계 및 와치독 (Watchdog & Reliability)
- Why to Learn: 사람이 도달할 수 없는 오지나 우주에서도 하드웨어가 멈추지 않고 스스로 살아남게 하기 위함입니다.
- What to Learn:
- Watchdog Timer (WDT): CPU가 제때 '생존 신호(Kick)'를 주지 않으면 강제로 리셋 시키는 독립 하드웨어
- Brown-out Detect (BOD): 전압이 불안정할 때 데이터를 지키기 위해 시스템을 정지시키는 물리적 안전장치
- CRC 엔진: 통신이나 메모리 무결성을 하드웨어 가속으로 전수 검사하는 기술
- How to Learn:
- 무한 루프 버그가 발생했을 때 와치독이 시스템을 어떻게 물리적으로 재부팅(Hot reset)하는지 로그 분석 실습
- 전원 공급 장치의 노이즈가 CPU 레지스터를 뒤틀 때 하드웨어 무결성 체크가 이를 잡아내는 과정 분석
- Implement: 주기적으로 하드웨어 자가 진단(Built-in Self-test)을 수행하고 결과를 리포팅하는 펌웨어 뼈대 설계
7. Terminology
8. References
Primary
- [P1] CS2023 - AR/Embedded Systems — Main standard for controllers.
- [P2] SWEBOK v4.0 - Computing Foundations / Embedded Computing — Structural standards.
Secondary
- [Embedded Systems: Architecture, Programming and Design] Raj Kamal — The classic textbook.
- [An Embedded Software Primer] David Simon — Great introduction to firmware physics.
Industry
- [ARM Cortex-M Hardware Technical Reference Manuals] — Industry standard core.
- [Automotive Safety Integrity Level (ASIL) standards] — Reliability in practice.
9. Final Checklist
Primary
- '8비트 MCU'와 '32비트 MCU'가 데이터를 처리할 때의 물리적 산술 정밀도와 버스 대역폭 차이를 설명 가능한가? (P1)
- '하버드 아키텍처'가 명령과 데이터의 물리적 통로를 분리함으로써 임베디드 제어 성능을 왜 향상시키는지 입증할 수 있는 가? (P1)
Secondary
- 배터리 효율을 높이기 위해 'Interrupt-driven' 설계가 'Polling' 방식보다 전력 물리 관점에서 왜 우세한지 소통 가능한가?
- ADC 변환 과정에서 발생하는 'Quantization Error'가 실세계 정밀 제어 시스템에 어떤 수리적 한계를 가져오는지 분석 가능한가?
Industry
- 스마트 홈 기기 설계 시, 전력 부족으로 인한 데이터 오염을 막기 위한 'Brown-out Detect' 설정 임계값을 제안할 수 있는 가? (SFIA)
- 가전 제품의 안전 인증(IEC 60730 등) 획득을 위해 필요한 하드웨어 자가 진단(BIST) 시퀀스를 물리적 동작 단위로 기술할 수 있는 가?