摄像头驱动CAMERA SENSOR调试流程

原文地址:https://blog.csdn.net/fanx9339/article/details/109478588

【CAMERA SENSOR调试流程】

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

【MIPI部分】

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


   
   
  1. MIPI_MCLK         MCLOCK时钟信号
  2. MIPI_D0P            MIPI数据线第 1对LANE的差分信号的 P
  3. MIPI_D0N           MIPI数据线第 1对LANE的差分信号的N极
  4. ... ...
  5. MIPI_D3P           MIPI数据线第 4对LANE的差分信号的 P
  6. MIPI_D3N           MIPI数据线第 4对LANE的差分信号的N极
  7. /* 一个MIPI一般带1-4路LANE */
  8. MIPI_CKP           MIPI通信的时钟信号 P
  9. MIPI_CKN           MIPI通信的时钟信号N极

 

【IIC部分】

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


   
   
  1. IIC_SDA           IIC数据线
  2. IIC_SCK           IIC时钟线

【电源部分】

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


   
   
  1. AVDD           模拟用电压,一般为 2.8v
  2. DVDD           数字电压,一般为 1.2V
  3. IOVDD           芯片引脚出来的电压,一般为 1.8v

【控制部分】

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


   
   
  1. RST               复位引脚
  2. PWDN           power开关引脚

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

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


   
   
  1. sensor0:sensor @0 {
  2. device_type = "sensor0";
  3. sensor0_mname = "ov9281_mipi";
  4. sensor0_twi_cci_id = < 2>;
  5. sensor0_twi_addr = < 0xC0>;
  6. sensor0_mclk_id = < 1>;
  7. sensor0_pos = "rear";
  8. sensor0_isp_used = < 1>;
  9. sensor0_fmt = < 1>;
  10. sensor0_stby_mode = < 0>;
  11. sensor0_vflip = < 0>;
  12. sensor0_hflip = < 0>;
  13. sensor0_iovdd-supply = <&reg_dldo2>;
  14. sensor0_iovdd_vol = < 1800000>;
  15. sensor0_avdd-supply = <&reg_dldo3>;
  16. sensor0_avdd_vol = < 2800000>;
  17. sensor0_dvdd-supply = <&reg_eldo2>;
  18. sensor0_dvdd_vol = < 1200000>;
  19. sensor0_power_en = <>;
  20. sensor0_reset = <&pio PE 7 1 0 1 0>;
  21. status = "okay";
  22. };

【第二步】复制当前芯片平台的一个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

 

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值