第十二章:将hi3818e上的镜头更换为OV9712

1、参考文档

       查看SDK中相应文档,重点是SoC对Sensor的支持。

       Hi3518E V200R001C01SPC030\00.hardware\chip\document_cn\Hi3518EV200经济型HD IP Camera SoC产品简介.pdf。

2、更换板子上的摄像头为OV9712

       首先先要将摄像头更换为ov9712,排线插到板子上的排座的时候,要固定好。

3、配置脚本。

       这里更换摄像头的时候并不需要对内核和uboot进行修改。当内核挂载根文件系统之后,再去执行文件系统的配置文件时,就需要我们关注了,在系统执行load3518e脚本的时候,会传入sensor的类型。

       load3518e是被根文件系统中的/etc目录下的profile所调用,至于这个文件是做啥的,不懂的小伙伴可以百度一下。

       profile中会进入到/ko文件夹中,执行load3518e并传入相应的参数,启动不同的摄像头。                    第十二章:将hi3818e上的镜头更换为OV9712

       将来load3518e脚本中的SNS_TYPE就被配置成了ar0130,那么SNS_TYPE在脚本中的insert_sns()函数会判断SNS_TYPE来配置相应的摄像头参数。配置的方法是调用海思自带的hinm工具来对寄存器进行配置(如配置管脚复用功能)。

       所以将ar0130改成ov9712,就可以完成对配置脚本的修改。                        第十二章:将hi3818e上的镜头更换为OV9712

4、程序测试

       可以使用上一章测试ORTP库的移植的代码来测试摄像头,但是还是需要进行修改。

       修改/mpp/sample目录下的makefile.param文件,将里面的SENSOR_TYPE修改成OV9712                        第十二章:将hi3818e上的镜头更换为OV9712

       一开始画面应该是糊的,主要是镜头没有调整。这时候通过旋转镜头来调整摄像头成像效果。

       接下来了解一下Sensor接口引脚复用设置。

5、查看引脚定义框图

       Hi3518E V200R001C01SPC030\00.hardware\chip\document_cn\Hi3518EV20X/Hi3516CV200经济型HD IP Camera Soc用户指南.pdf。
       查看第二章的的硬件-273LD-TFBGA

                第十二章:将hi3818e上的镜头更换为OV9712

       在load3518e的配置文件里面,当insert_sns()函数判断完sensor类型之后,就好调用himm工具来配置管脚复用。

                        第十二章:将hi3818e上的镜头更换为OV9712

       例如:如果配置I2C0_SCL?

       首先查看用户手册,找到复用寄存器这一章,了解到找到复用寄存器基地址为 0x200F_0000,然后再找到I2C0_SCL管脚复用寄存器。发现需要将0x200F0000地址配置为0x2即可。                                    第十二章:将hi3818e上的镜头更换为OV9712
                      第十二章:将hi3818e上的镜头更换为OV9712

       注:除了调整管脚复用以外,还需要注意sensor clk寄存器的设置。

                    第十二章:将hi3818e上的镜头更换为OV9712