我是靠谱客的博主 魁梧路灯,最近开发中收集的这篇文章主要介绍摄像头驱动CAMERA SENSOR调试流程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

【CAMERA SENSOR调试流程】

一、查看原理图,确认camera sensor的通讯接口,一般为MIPI居多。一个camera 类型的MIPI接口也不复杂,由这几个信号组成:

【MIPI部分】

用于给CPU发送图像帧数据,分为高速模式和控制模式,高速模式用于图像帧数据发送,电压很低,功耗略高,电压在200mv左右。控制模式,电压在1.2V左右。又分别叫做HS(high speed)模式和LP(lower power)模式。

MIPI_MCLK         MCLOCK时钟信号

MIPI_D0P            MIPI数据线第1对LANE的差分信号的P极

MIPI_D0N           MIPI数据线第1对LANE的差分信号的N极

... ...

MIPI_D3P           MIPI数据线第4对LANE的差分信号的P极

MIPI_D3N           MIPI数据线第4对LANE的差分信号的N极

/* 一个MIPI一般带1-4路LANE */

MIPI_CKP           MIPI通信的时钟信号P极

MIPI_CKN           MIPI通信的时钟信号N极

 

【IIC部分】

CPU用IIC来操作读写camera sensor的寄存器

IIC_SDA           IIC数据线

IIC_SCK           IIC时钟线

【电源部分】

用来给camera sensor供电,一般有以下几路电压

AVDD           模拟用电压,一般为2.8v

DVDD           数字电压,一般为1.2V

IOVDD           芯片引脚出来的电压,一般为1.8v

【控制部分】

用来控制camera sensor开关机,复位

RST               复位引脚

PWDN           power开关引脚

===========================================================================================

【第一步】先确认IIC 设备地址,不要搞错!然后配置使用了哪一路CSI,配置好CSI的clk id,配置好电源,这个一般是写在dts设备树中,以下是一个例子:

sensor0:sensor@0 {
device_type = "sensor0";
sensor0_mname = "ov9281_mipi";
sensor0_twi_cci_id = <2>;
sensor0_twi_addr = <0xC0>;
sensor0_mclk_id = <1>;
sensor0_pos = "rear";
sensor0_isp_used = <1>;
sensor0_fmt = <1>;
sensor0_stby_mode = <0>;
sensor0_vflip = <0>;
sensor0_hflip = <0>;
sensor0_iovdd-supply = <&reg_dldo2>;
sensor0_iovdd_vol = <1800000>;
sensor0_avdd-supply = <&reg_dldo3>;
sensor0_avdd_vol = <2800000>;
sensor0_dvdd-supply = <&reg_eldo2>;
sensor0_dvdd_vol = <1200000>;
sensor0_power_en = <>;
sensor0_reset = <&pio PE 7 1 0 1 0>;
status = "okay";
};

【第二步】复制当前芯片平台的一个sensor驱动,在该基础上修改自己的sensor配置(各平台接口不一样),主要是修改一下几个方法:

 

1.寄存器初始化列表,这个可以请sensor fae提供。

2.设置sensor的winsize分辨率信息,像素时钟,MIPI速度等。

3.power接口,参考sensor的规格书上下电时序修改好。

4.stream接口,打开关闭图像数据采集传输,直接查阅规格书,设置相应的寄存器即可。

 

这两个阶段如果碰到IIC,MIPI不通,可以用示波器确认IIC,MIPI信号是否正常产生,示波器测量的幅值如果是在200mv左右,那么说明已经进入了HS模式,在发送视频帧了。

软件的基本操作就是【上电/power ON】-->【开启视频流/stream ON】。以下举例ov9281_mipi.c驱动代码:

代码参考:sources/kernel/driver/sensor/ov9281_mipi.c

 

【第三步】安卓camera.cfg配置

 

这里的配置各个平台方案不一样,主要是配置前置后置,设备节点信息。以下以全志平台为例:

文件参考:sources/kernel/driver/sensor/camera.cfg

 

最后

以上就是魁梧路灯为你收集整理的摄像头驱动CAMERA SENSOR调试流程的全部内容,希望文章能够帮你解决摄像头驱动CAMERA SENSOR调试流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部