📸 2025 · 实战体系
从驱动到HAL
Camera 数据通路构建实战
📘 30 章 · 从传感器到 HAL 完整链路
📁
30 个模块 · 源码级实战
01
Camera系统概述
📖 架构
从手机拍照到数据流,理解Camera整体架构。
02
硬件接口基础
🔌 MIPI
MIPI CSI-2协议详解,D-PHY物理层时序。
03
Sensor驱动核心
⚙️ I2C/SPI
I2C/SPI控制接口,寄存器读写实战。
04
V4L2框架入门
🐧 Linux
Video for Linux 2,设备节点与ioctl。
05
Sensor驱动注册
🔧 subdev
使用v4l2_subdev,实现probe/remove。
06
图像数据采集
⏱️ 同步
帧同步、VSYNC/HSYNC信号处理。
07
MIPI CSI-2接收
📡 D-PHY
D-PHY初始化,LP/HS模式切换。
08
数据格式配置
🎞️ RAW/YUV
RAW10/RAW12,JPEG,YUV格式协商。
09
时钟与电源管理
⚡ 时序
Sensor时钟树,AVDD/IOVDD/DVDD上电时序。
10
控制曝光与增益
🌞 AE/AGC
AE/AGC算法接口,寄存器映射。
11
白平衡与色彩
🎨 AWB
AWB算法,色彩校正矩阵(CCM)。
12
ISP Pipeline
🖼️ 图像处理
坏点校正、去噪、锐化、Gamma校正。
13
统计信息收集
📊 3A
3A统计(AE/AWB/AF)数据上报。
14
帧率控制
⏩ VTS/HTS
VTS/HTS调整,帧率计算公式。
15
多摄像头同步
📸📸 同步
硬件同步信号,软件时间戳对齐。
16
Camera HAL架构
🏗️ HAL3/1
HAL3 vs HAL1,核心接口对比。
17
HAL设备初始化
🚀 open/close
open()、close()、getCameraInfo()。
18
Stream配置
📦 BufferQueue
configureStreams(),BufferQueue管理。
19
Request与Result
📩 回调
processCaptureRequest(),回调机制。
20
Buffer管理
🧠 DMA-BUF
Gralloc分配,DMA-BUF,ION内存。
21
Metadata系统
🏷️ Tag
CameraMetadata,Tag定义与传递。
22
3A集成到HAL
🎯 状态机
AE/AWB/AF状态机,HAL回调。
23
数据通路调试
🔍 trace
打印关键节点,使用traceview。
24
性能优化
⚡ 零拷贝
减少拷贝,零拷贝技术,GPU/VPU加速。
25
功耗优化
🔋 动态帧率
Sensor standby,时钟门控,动态帧率。
26
异常处理
⚠️ 超时恢复
Sensor hang检测,超时恢复,错误上报。
27
兼容性测试
🧪 CTS/ITS
CTS/ITS测试项,常见失败原因。
28
驱动与HAL联调
🔗 完整链路
从ioctl到HAL callback的完整链路。
29
实战案例:移植新Sensor
📱 Android
移植一款新Sensor到Android平台。
30
课程总结
🧭 进阶路径
知识图谱,进阶学习路径推荐。