ALSA(Advanced Linux Sound Architecture)를 리눅스 오디오 데이터 경로의 표준 기반으로 심층 분석합니다. PCM 재생·녹음 파이프라인과 ring buffer/period 모델, control 인터페이스와 mixer 토폴로지, MIDI/타이머 서브시스템, HD Audio·USB Audio·SOF 아키텍처 차이, DPCM과 compress offload 활용, DMA 기반 저지연 스트리밍, xrun 복구와 clock drift 대응, 전원관리 및 suspend/resume 안정화, 사용자 공간(PulseAudio/PipeWire) 연계 포인트까지 실전 오디오 드라이버 운영에 필요한 핵심을 다룹니다.
문서 구조 재정렬: 이 문서는 ALSA 코어 흐름 중심으로 유지합니다. 플랫폼별 심화는 ASoC & DAPM, USB 서브시스템 문서를 함께 참고하세요.

1. Intro
전제 조건: 디바이스 드라이버와 DMA 문서를 먼저 읽으세요. 멀티미디어/가속기 경로는 대용량 버퍼 이동과 동기화가 성능의 핵심이므로, 메모리 경로와 큐 모델을 먼저 파악해야 합니다.
일상 비유: 이 주제는 영상 제작 파이프라인과 비슷합니다. 촬영·편집·인코딩 단계가 끊기지 않아야 결과가 나오듯이, 버퍼 큐와 하드웨어 스케줄링의 연속성이 중요합니다.
1.1 핵심 요약
초기화 순서 — 탐색, 바인딩, 자원 등록 순서를 점검합니다.
제어/데이터 분리 — 빠른 경로와 설정 경로를 분리 설계합니다.
IRQ/작업 분할 — 즉시 처리와 지연 처리를 구분합니다.
안전 한계 — 전원/열/타이밍 임계값을 함께 관리합니다.
운영 복구 — 오류 시 재초기화와 롤백 경로를 준비합니다.
1.2 단계별 이해
장치 수명주기 확인
probe부터 remove까지 흐름을 점검합니다.
비동기 경로 설계
IRQ, 워크큐, 타이머 역할을 분리합니다.
자원 정합성 검증
DMA/클록/전원 참조를 교차 확인합니다.
현장 조건 테스트
연결 끊김/복구/부하 상황을 재현합니다.
관련 표준 및 사양:
- Intel HD Audio Specification: 고품질 오디오 버스 표준
- USB Audio Class (UAC) 1.0/2.0/3.0: USB 오디오 디바이스 프로토콜
- I2S/TDM/PDM: 디지털 오디오 인터페이스 프로토콜
- AC'97/I2C/SPI: 코덱 제어 버스
- Device Tree Bindings: ASoC 디바이스 설정
'Embedded : : Linux > : : ALSA' 카테고리의 다른 글
| [ALSA] 5. MIDI & Raw MIDI (0) | 2026.03.11 |
|---|---|
| [ALSA] 4. Control (Mixer) 인터페이스 (0) | 2026.03.10 |
| [ALSA] 3. PCM 서브시스템 (0) | 2026.03.10 |
| [ALSA] ALSA 아키텍처 개요 (0) | 2026.03.09 |
| ALSA (Advanced Linux Sound Architecture) 심화 (0) | 2025.02.26 |