📷 摄像头驱动开发
图像采集精讲
🎯 30章 · 从入门到实战
01
摄像头驱动概述
工作原理
驱动架构
V4L2框架
02
硬件接口基础
MIPI CSI-2
DVP并行
USB协议
03
I2C/SPI控制总线
寄存器配置
I2C时序
SPI调试
04
V4L2核心数据结构
video_device
vb2_queue
v4l2_device
05
V4L2 ioctl框架
查询能力
格式协商
缓冲区管理
流控制
06
摄像头设备注册
platform_driver
设备树匹配
probe流程
07
图像传感器初始化
上电时序
时钟配置
寄存器序列
PLL
08
帧格式配置
分辨率切换
像素格式
帧率控制
裁剪缩放
09
DMA缓冲区管理
dma_alloc_coherent
SG表
物理连续
ION
10
videobuf2框架
队列操作
缓冲区状态机
内存类型
mmap
11
中断处理与帧同步
VSYNC中断
帧完成回调
软中断优化
12
图像数据流控制
start/stop_streaming
帧间隔
丢帧处理
13
MIPI CSI-2接收端驱动
DPHY配置
Lane数
ECC/CRC
14
ISP图像处理管线
Bayer格式
去马赛克
白平衡
色彩校正
15
摄像头控制接口
曝光/增益
白平衡
自动对焦
V4L2控制
16
多摄像头同步
硬件同步信号
软件时间戳
多路复用
17
电源管理
运行时PM
休眠/唤醒
上下电序列
18
调试与性能分析
tracepoint
ftrace
printk
帧率测量
19
用户空间测试工具
v4l2-ctl
media-ctl
yavta
gstreamer
20
常见传感器驱动分析
OV5640
IMX219
AR0234
21
USB摄像头驱动
UVC协议
urb传输
isoc模式
22
JPEG编码硬件加速
硬件编码器
M2M设备
V4L2编码接口
23
RAW图像采集
10/12bit RAW
打包解包
用户空间处理
24
摄像头热插拔
udev规则
动态注册
用户通知
25
安全与权限
SELinux策略
设备节点权限
camera权限
26
性能优化
双/三缓冲
缓存一致性
DMA延迟隐藏
27
兼容性测试
不同分辨率
帧率
格式交叉测试
28
驱动调试技巧
示波器抓MIPI
逻辑分析I2C
29
主流平台驱动案例
Qualcomm CAMSS
Rockchip ISP
Allwinner VIN
30
摄像头驱动开发趋势
MIPI A-PHY
车载摄像头
AI ISP融合