参考资料:极客笔记 侵权联删
Camera sensor状态机:
状态机: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(待机) 下电时序,一般跟上电时序相反:Camera sensor clock:
VTPinxelClk和OutputPixelClock: VTPinxelClk:帧率、行曝光时间、行读出时间有关,高通平台这样叫。sensor内部使用的时钟,Video Timing Clock OutputPixelClock:sensor读出mipi的速率,Mipi传输使用的时钟 计算方式: 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 分辨率,超高清分辨率