Camera基础知识三

参考资料:极客笔记
侵权联删
 

Camera sensor状态机:

0
状态机:POWER OFF、hardware standby、software、streaming
没电的时候就是power off状态,上电了进入hardware standby状态,xshutdown也就是reset,进入software standby状态。PLL寄存器配置进去之后就进入streaming状态
 

Camera时序:

以ov13b10为例:
摄像头三路电分为VDDIO、VDDA、DVDD
DVDD:表示数字电压,给芯片的数字信号供电,主要给 ISP 供电,一般是作为Core VDD,即Sensor的核心电源,在目前市面上的Sensor已经是SOC居多了。 这些Sensor内部集成ISP,在2M的Sensor中很多还集成了MCU或DSP,为了降低核心模块的功耗,采取了降低电压的方法,一般是采用1.7V~1.9V(典型值为1.8V)供电,所以独立出一组电源来。
AVDD:模拟电压,给芯片中的模拟器件供电,比如camera供电就要用到AVDD,也是相对于DVDD区别出来的,主要给感光区和 ADC 部分供电,CMOS Sensor的像素点采集图像,以及作为Sensor进行ADC的电源,一般2.3V~3.0V(根据Sensor不同,典型值为2.8V)。
DOVDD或者VDDIO:数字 IO 电源主要给 I2C 部分供电。是Sensor的IO口电源,为Sensor提供足够的驱动能力,还为外部环境兼容提供更宽的选择,比如Micron1.3M和2M的Sensor中其DOVDD可以是1.7V~3.1V
Rest脚:用于复位和初始化
MCLK脚: 即MasterClock脚,可由外部晶振或平台端提供
有的sensor单独有个 PDN脚:Camera工作状态控制:1.normol work(工作) 2.standby(待机)
0
下电时序,一般跟上电时序相反:
0
 

Camera sensor clock:

VTPinxelClk和OutputPixelClock:
VTPinxelClk:帧率、行曝光时间、行读出时间有关,高通平台这样叫。sensor内部使用的时钟,Video Timing Clock
OutputPixelClock:sensor读出mipi的速率,Mipi传输使用的时钟
0
计算方式:
VTPixelClock = FrameLengthLines x LineLengthPixelClock x FPS
OutputPixelClock = DateRatePerLane x Lane number / BitWidth
 
举例:比如1920x1280 30fps raw10 4lane 1.6992Gbps(可从FAE直接拿到的)
OutputPixelClock = 1.6692Gbps x4 /10 = 679680000
MIPI Clock =DateRatePerLane / 2 = 1.6692 /2 = 849.2Mbps(差分信号,上升沿和下降沿都可采样)
现在camx代码,VTPixelClock不需要填写
OutputPixelClock影响平台端的接收数据,一般不能直接从FAE哪里得到
 

Camera sensor分辨率:

常见分辨率如下:
  • 640x480:VGA 分辨率
  • 800x600:SVGA 分辨率
  • 1024x768:XGA 分辨率
  • 1280x720:HD 分辨率,也称为 720p
  • 1920x1080:Full HD 分辨率,也称为 1080p,2MP
  • 2560x1440:QHD 分辨率
  • 3840x2160:与4096x2160都称为4K分辨率,8MP
  • 7680x4320:8K 分辨率,超高清分辨率
降低分辨率的几种方式:
下采样:
0
Binning:
0
Binning模式保留了所有的像素点信息,还原度更高
 
Output Image Window:
0
0
X0_offset和Y0_offset对应的就是x_addr_start和y_addr_start,以及x_addr_end和y_addr_end
X0_offset和Y0_offset就是x_start、y_start和分辨率决定的
 

Camera Sensor Framerate:

FPS:sensor每秒输出多少帧图像
FPS = VTPixelClock / frameLengthLines / LineLengthPixelClock
frameLengthLines(VTS,ov叫法):对应sensor实际寄存器值,VTOTAL
LineLengthPixelClock(HTS,也是ov叫法):对应sensor实际寄存器值,HTOTAL
0
 

Camera Sensor Exposure:

VTPixelClock:处理一个pixel时间
LineReadoutTime = LineLengthPixelClock / VTPixelClock,读出一行的时间,包含Blanking
ExposureTime : sensor曝光时间
LineCount = ExposureTime / LineReadoutTime
注:LineCount <= FrameLengthLines - offset(4,6,8)
 
卷帘门曝光如下:
0
frame time:读一行开始到开始读下一帧第一行开始
曝光时间必须小于帧长,曝光是可以重叠的
 
 
 
posted @ 2024-03-27 23:29  lethe1203  阅读(439)  评论(0编辑  收藏  举报