瑞芯微Rockchip开发者社区
直播中

王莉

7年用户 1323经验值
私信 关注
[经验]

RK3399摄像头架构分析

调试一款新的 camera sensor 就是按照上一章添加了,不管 你是 mipi 接口的还是 cif 并口的sensor,都是差不多的,主要不一样的就是 在于 cam_board_rk3399.xml 的配置

一、我们先分析下 mipi 接口的

Mipi raw 和 mipi yuv 的区别,简单说就是 raw sensor ,就是我们的sensor 上面是没有 isp 的,直接提供 sensor采集到的原始图像数据传给我们的 RK3399 的isp 来进行处理

Mipi yuv 就是相反了, sensor 端就有 isp 将原始图像数据转化为 yuv格式的数据,然后直接传到 RK3399 ,直接就可以显示这类的,不需要 3399 的 isp 处理

优缺点: raw sensor 因为现在的 3399 这些 cpu 处理能力很强,就可以做到很大的分辨率,像华为手机的就更牛逼了达到 4000万,但是 cpu原厂是没有公开 isp 代码的,调试效果,必须推动 芯片原厂支持才行!那就得很长开发时间!

Yuv sensor 因为自身带芯片处理图像,就可以直接让供应商来调效果,但是因为一般的外置的 isp 处理能力有限,现在最多只能支持500万分辨率的 sensor

还有更多的优缺点请百度

RK3399 摄像头架构分析

分为 HAL 层和 kernel层

Kernel 主要是 rk 芯片端的 camera 系统的驱动代码

kernel/drivers/media/video/rk_camsys

相关的头文件

include\media\camsys_head.h

Kernel 部分基本不用动,RK 原厂已经弄好

重点我们修改的还是 hal 层

| hardware\rockchip\camera

CameraHal CameraHal源码

Config Camera配置文件信息及isp库

SiliconImage ISP库相关头文件信息

isi\drv Sensor驱动源码

我们调试的 sensor 代码就是放到这里的

HM5532\calib Sensor模组tunning参数 ,效果文件

HM5532\source 就是具体的 sensor 初始化 寄存器等的代码

看下我们修改的注册配置 cam_board_rk3399.xml

请看 网盘的 cam_board_rk3399_read.xml

一些问题排查

开机模组注册失败

Logcat | grep Cam*

看打印是否connect

否则就要检查 gpio ,i2c 通道

很重要一点就是供电问题,不仅仅要上电,而且每路电要正确,特别是 dvdd不正确,就会出现打开摄像头,没报错,就是黑屏,就要根据sensor datasheet检查这一路的电是否正确

打开连接上但是黑屏,上面说的 dvdd ,还有就是检查cam_board.xml 里面的phyindex 配的是0 还是1,mipi rx 那组对应的为0 ,

RX/TX 那组对应为1;

还有可以将 mclk 降为 12M

二、DVP接口

总体和 mipi的差不多,就是 在 cam_board_rk3399.xml 中要改下

参考网盘

cam_board_r.xml

直接对比下就知道

1.jpg

其他也就一样的。

原作者:荣敢飞

更多回帖

发帖
×
20
完善资料,
赚取积分