文章目录
-
- 1、preface
- 2、camera影像原理
- 3、主流两类方案
- 4、USB接口的camera(低复杂度)
-
- [1)USB camera规范](#1)USB camera规范)
- [2)舜鑫, SX-M003M-V1.0(USB)](#2)舜鑫, SX-M003M-V1.0(USB))
- [3)USB camera的逻辑框图](#3)USB camera的逻辑框图)
- 5、MIPI-CSI-2接口的camera(高复杂度)
-
- 1)MIPI协议介绍
- [2)MIPI-CSI-2 camera硬件结构](#2)MIPI-CSI-2 camera硬件结构)
- [3)RK3568 camera方案](#3)RK3568 camera方案)
-
- 1)整体框架
- 2)主控端ISP2.1
- [3)MI(Memory Interface)](#3)MI(Memory Interface))
- [4)全志V853 camera方案](#4)全志V853 camera方案)
- 6、多camera方案
1、preface
1)摄像头在一个嵌入式设备里成本占比比较大,在极致降本的科技时代,摄像头的封装/接口必然呈现多种类型(类似TV中的屏幕),实际产品研发中,在成本与性能之间权衡选用合适的方案;
2)camera与显示类似,是一个复合类模块,包含很多模块组成一个子系统!
3)都是图像输入,与TV/HDMI这些的差异?
1、摄像头需要控制输入端 生成图像 -- 类似GUI构造,先生成图像,再进行图像传输;
2、TV/HDMI这类仅仅是图像数据传输;
4)有时摄像头也叫sensor,准确而言sensor只是个部件单元,注意不要混淆;
2、camera影像原理
相机(Camera) 成像原理详解: https://blog.csdn.net/m0_66890670/article/details/144409018
摄像头原理: https://blog.csdn.net/qq_40732350/article/details/88541417
1)成像原理

1、利用透镜即镜头的光圈(小孔成像原理)收集目标的影像(倒影);
2、谁来记录这些光影数据?使用sensor(CCD/CMOS)来记录并转化为电信号;
3、主流两类方案
1)随着视觉、图像处理的蓬勃发展,可以说一款智能产品上必然配备摄像头(机器人、自动驾驶、手机、平板、电脑),摄像头技术已经是相当成熟,根据产品设计用途不一样,演变出两类技术方案:
1、USB接口 - 一般是模组形式,有标准规范,集成度高(图像处理模块都统一集成在模组中,大大降低开发者开发门槛,即插即用),用户只需要设置常规参数(分辨率、帧率等等);相当于串口命令控制的WIFI/BT模组(无需WIFI/BT驱动);
2、MIPI接口 - 一般只有CMOS传感器,图像处理模块集成在SOC,因此开发难度会更大,但灵活性最好,相当于USB/PCie接口的WIFI/BT芯片(需要WIFI/BT驱动);
2)USB摄像头和MIPI摄像头对比
1、https://ask.csdn.net/questions/9162944
3)总的来说本质上都是采集图像(技术相同,封装不同),USB摄像头方便易用,MIPI摄像头高度定制;
4、USB接口的camera(低复杂度)
USB摄像头优势在于即插即用,但集成度高灵活性低,成本也较高;
1)USB camera规范
硬件规范:USB_Video_Example 1.5.pdf
通用软件规范:UVC 1.5 Class specification.pdf
厂商需要跟进以上规范来设计自己的模组
2)舜鑫, SX-M003M-V1.0(USB)


3)USB camera的逻辑框图
USB摄像头规范里的内部结构

1、一个USB摄像头必定有一个VideoControl接口,用于控制。有0个或多个VideoStreaming接口,用于传输视频。
1)可以看到,USB摄像头内部集成比较完善,实现在不同平台即插即用!
2)这个是USB摄像头协议规定的,厂商设计之初要根据规范要求来,因此才能即插即用!
2、在VideoControl内部,有多个Unit或Terminal,上一个Unit或Terminal的数据,流向下一个Unit或Terminal,多个Unit或Terminal组成一个完整的UVC功能设备。
1)Terminal:位于边界,用于联通外界。有:IT(Input Terminal)、OT(Output Terminal)、CT(Camera Terminal)。
2)Unit:位于VideoControl内部,用来进行各种控制
SU:Selector Unit(选择单元),从多路输入中选择一路,比如设备支持多种输入源,可以通过SU进行选择切换
PU:Processing Unit(处理单元),用于调整亮度、对比度、色度等,有如下控制功能:
-
User Controls
- Brightness 背光
- Hue 色度
- Saturation 饱和度
- Sharpness 锐度
- Gamma 伽马
- Digital Multiplier (Zoom) 数字放大
-
Auto Controls
- White Balance Temperature 白平衡色温
- White Balance Component 白平衡组件
- Backlight Compensation 背光补偿
- Contrast 对比度
-
Other
- Gain 增益
- Power Line Frequency 电源线频率
- Analog Video Standard 模拟视频标准
- Analog Video Lock Status 模拟视频锁状态
EU:Encoding Unit(编码单元),对采集所得的数据进行个性化处理的功能。编码单元控制编码器的属性,该编码器对通过它流式传输的视频进行编码。它具有如下功能:
XU:Extension Unit(扩展单元),厂家可以在XU上提供自定义的操作,模型如下:
5、MIPI-CSI-2接口的camera(高复杂度)
1)注意MIPI是协议,不是接口,它规定了一系列占用体积小且拥有传输速度高 的接口;
2)通常介绍摄像头时直接使用MIPI来表示使用MIPI-CSI接口;
1)MIPI协议介绍

1、MIPI指的是一类接口,针对移动设备(手机/平板等,移动设备的特点是传输距离短、集成度和传输速度尽可能高,必然是因为当前没有合适的选择,才去重新设计!)设计的一系列标准接口,比如MIPI协议的各类接口在手机内部的应用如下:

2、MIPI-CSI-2协议是MIPI联盟协议的子协议(常用D-PHY),专门针对高清摄像头芯片的接口而设计,D-PHY如下

3、MIPI-CSI-2插槽

3)D-PHY接口典型图例如下:

对于摄像头,D-PHY接口仅仅是用来传递数据:
- 摄像头发送数据,它被称为:CSI Transmitter
- 主控接收数据,它被称为:CSI Receiver
- 主控通过I2C接口发送控制命令,它被称为:CCI Master(CCI名为Camera Control Interface)
- 摄像头接收I2C接口控制命令,它被称为:CCI Slave
与图像传输接口 HDMI/VBI类似,都是复合类传输接口,包含两类接口(数据传输接口、控制接口)
4)MIPI CSI-2使用案例

2)MIPI-CSI-2 camera硬件结构
1、逻辑框图(D-PHY)

MIPI摄像头

2、OV5640(MIPI+内置ISP)
OV5640是OmniVision推出的一款高性能CMOS图像传感器,具备高分辨率、低功耗和优异成像质量,广泛应用于智能手机、安防监控、医疗成像等领域。

1、camera的三大模块:
1)image sensor core (摄像头的基本传感器)
1、摄像头部分通常包含一个图像传感器,如CMOS(互补金属氧化物半导体)或CCD(电荷耦合器件),它们负责将光线转换为电信号。在选择摄像头模块时,要考虑其分辨率、帧率、感光度以及色彩深度等参数,以满足应用需求。
2、sensor可以调什么参数?ISO、光圈值、白平衡等
2)image sensor process (图像处理模块,可以集成在模组,也可以集成在SOC,也可以同时集成,功能互补)
1、摄像头可能还包括ISP(图像信号处理器)来预处理图像数据,如白平衡、曝光控制和噪声消除等,OV5640有内置ISP。
2、模组端的ISP可以调什么参数?图像白平衡、去马赛克、去噪、颜色空间转换、色调重建等
3)image output interface(图像输出模块 - DVP/MIPI接口)
1、摄像头接口DVP/MIPI对比 - 相当于PCI/PCIe的关系
https://blog.csdn.net/qq_40732350/article/details/88554497
2、DVP并口一般用于低速传输,一些没有MIPI接口的MCU可以使用GPIO根据DVP协议造出波形;
3、MIPI接口用于高速传输,需要CPU带有MIPI控制器;
2、VCM (Voice Coil Motor)
https://zhuanlan.zhihu.com/p/37332613
4、OV5640是一款经典摄像头模组,相关资料也比较多
1)手册解读:https://blog.csdn.net/weixin_42502089/article/details/151262462
2)驱动设计:https://blog.csdn.net/weixin_42502089/article/details/151262462
3)OV5640摄像头显示设计(DVP): https://zhuanlan.zhihu.com/p/1981320237094827549
3、GC2063(MIPI+内置ISP)
1)基本介绍:https://blog.csdn.net/gitblog_06681/article/details/143339597
2)GC2063 是一款高质量的 1080P CMOS 图像传感器,适用于安防摄像头产品、数码相机产品以及手机摄像头应用。
3)逻辑框图(与OV5640是类似的),GC2063也内置ISP模块;

3)RK3568 camera方案
1)整体框架

抓图顺序:
1)摄像头的初始化(通过CCI配置Sensor的寄存器,设置输出格式、分辨率、输出速率),使能MIPI-CSI-2/D-PHY;
2)配置主控板的ISP模块(颜色空间转换、缩放、裁剪、旋转等),指定输出到内存/显存的通路(MP主通道、SP自身通道);
3)输出到内存供显示模块使用;
2)主控端ISP2.1
1、主控端ISP2.1处理流程 - 流程非常长,功能强大,涉及多个IP硬件模块处理 - 这也是为什么要用到subdev和media子系统管理

2、ISP在相机系统中占有核心主导的地位,是构成相机的重要设备。ISP 通过一系列数字图像处理算法完成对数字图像的效果处理。换言之涉及算法的厂商一般会闭源,只提供接口供开发者使用;
3)MI(Memory Interface)

1)MI模块提供多种途径将摄像头获取的图像存放到内存DDR,提供给显示模块读取使用;
4)全志V853 camera方案
https://docs.aw-ol.com/v853/soft/soft_camera/
1)Camera通路框架(使用VIN camera驱动框架)

2)Camera架构-芯片手册

它的处理过程分为:
- 输入Parser:格式解析
- 主控端ISP:Image Signal Processor,即图像信号处理器,用于处理图像信号传感器输出的图像信号
- VIPP: Video Input Post Processor(视频输入后处理器),能对图片进行缩小和打水印处理。VIPP支持bayer raw data经过ISP处理后再缩小,也支持对一般的YUV格式的sensor图像直接缩小。
6、多camera方案
【嵌入式视觉处理】基于RK3588的多摄像头输入系统设计:硬件架构、驱动开发与智能场景应用