技术分享 | i.MX8M Plus开发板支持ov5640

描述

在安防、工业物联、机器人、多媒体等领域的产品开发过程中,都需要进行图像采集,这要求硬件具备摄像头接口来实现。

 

i.MX 8M Plus是NXP推出的一款具有高可靠性,适合用于机器学习和视觉、高级多媒体和工业物联网的处理器。启扬IAC-IMX8MP-Kit开发板基于NXP i.MX8M Plus四核Arm Cortex-A53处理器,主频达1.6GHz,同时集成了神经网络加速单元(NPU),提供高达2.3TOPS的计算能力;集成了双图像处理单元ISP,输入速率高达375M像素/s,分辨率可达12MPix/s,支持两路摄像头输入,集成的ISP可处理高动态范围(HDR)的快速多重曝光、图像增强等复杂的图像处理任务。

启i.MX8M Plus开发板引出两路MIPI-Camera接口,支持两路摄像头同时输入,应用于多领域实现图像采集功能。

开发板

根据官方资料,i.MX8M Plus支持ov5640、ov2775和basler camera,本次将简单了解如何在i.MX8M Plus开发板上测试ov5640摄像头模块。

 

ov5640摄像头模块简介

OV5640是豪威科技生产的500W像素的CMOS图像传感器,最高支持2624*1964分辨率(物理尺寸),对应2592*1944(图像尺寸)。该传感器内部集成了图像处理的电路,包括自动曝光控制(AEC)、自动白平衡( AWB) 等。同时该传感器支持LED补光、 MIPI(移动产业处理器接口,多用于手机等)输出接口和DVP(数字视频并行,在设计HDMI显示时,就用的这个)输出接口选择、 ISP(图像信号处理)以及自动聚焦控制(AFC)等功能。

 

开发板摄像头接口原理图

查看源码以及开发板原理图文件开发板开发板开发板

 

参考原理图,当前的evk使用gpio4_IO0作为power down pin,gpio4_IO1作为reset pin,但是让我们看一下i.mx8mp-evk.dts文件

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
ov5640_1: ov5640_mipi@3c {

               compatible = "ovti,ov5640";

               reg = <0x3c>;

               pinctrl-names = "default";

               pinctrl-0 = <&pinctrl_csi0_pwn>, <&pinctrl_csi0_rst>, <&pinctrl_csi_mclk>;

               clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;

               clock-names = "xclk";

               assigned-clocks = <&clk IMX8MP_CLK_IPP_DO_CLKO2>;

               assigned-clock-parents = <&clk IMX8MP_CLK_24M>;

               assigned-clock-rates = <24000000>;

               csi_id = <0>;

               powerdown-gpios = <&gpio4 1 GPIO_ACTIVE_HIGH>;

               reset-gpios = <&gpio4 0 GPIO_ACTIVE_LOW>;

               mclk = <24000000>;

               mclk_source = <0>;

               mipi_csi;

               status = "disabled";

 

               port {

                       ov5640_mipi_1_ep: endpoint {

                               remote-endpoint = <&mipi_csi1_ep>;

                               data-lanes = <1 2>;

                               clock-lanes = <0>;

                       };

               };

        };

 

如果想把I2C3连接到ov5640上,要按照原理图的定义,改变掉电针和复位针。

  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
&i2c3 {       

      /delete-node/ov2775_mipi@36;

}; 

&ov5640_1 {

       pinctrl-0 = <&pinctrl_csi1_pwn>, <&pinctrl_csi1_rst>, <&pinctrl_csi_mclk>;
     

        csi_id = <1>;        

        status = "okay";

};

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分