东芝MIPI解码TC358746AXBG和OV6211使用及配置

Camera Sensor常见的接口类型:

1、有并口信号(D0~D7、PCLK、HSYNC、VSYNC),一般的处理器有DCMI接口,如ST32F207x系列,直接相连就可以使用。

2、MIPI接口信号DCN/DCP、D0N/D0P~D4N/D4P,需解码芯片将MIPI信号解出并口信号,再送给处理器。MIPI芯片东芝TC358746AXBG, Sensor用的OV6211。

调试的时候注意I2C器件地址,一开始用的是0x0e(write)/0x1f(red)就是不通,后面改成0x1c(write)/0x1d(red)就可以了,后续这名字上也有点区别TC358746AXBG和TC358746XBG,一个带A,一个不带A,带A的估计是新产品,不带A的应属旧产品。主要在以前公司用的旧产品用的是0x0e,就没仔细看,搞了半天才知道这地方有鬼。

24M RAW10 1Line 解码参数配置:

#if 1      //TC358746AXBG config
// PLL_CLK = input_clk *[(PLL_FBD+1) / (PLL_PRD+1)] * [1/2^FRS]
// PLL_CLK =  24M * [(191+1)/(2+1)] * [1/2^3] = 192M
// sys_clk =  pclk = PLL_CLK /8 = 192/8 = 24M
// MclkRef = PLL_CLK/2 = 192/2 = 96M
// ppi_clk = PLL_CLK/2 =192/2 = 96M
// MCLK  = MclkRef /[(1+1)+(1+1)] = 96/4 = 24M
//mipi chip ID 0x4401
   if((DCMI_SingleRandomRead_MIPI(0x0000,&temp2)!=0) & (temp2 == 0x4401))
         return 0xff;
     SCCB_WriteWord_MIPI(0x0002, 0x0001);  //bit[0] software reset ,bit[1]sleep
     Delay_ms(10);
     SCCB_WriteWord_MIPI(0x0002, 0x0000);
     SCCB_WriteWord_MIPI(0x0016, 0x20bf);  //PLL_PRD[15:12] = 0x02 + 1 = 2 + 1 =3 ; PLL_FBD[8:0] = 0xbf + 1 = 191 + 1 = 192
     SCCB_WriteWord_MIPI(0x0018, 0x0c03);
     SCCB_WriteWord_MIPI(0x0018, 0x0c13);//bit[0] PLL en,bit[1]PLL normal operaion,bit[4] pll clk en,bit[11:10] HSCK range
     SCCB_WriteWord_MIPI(0x0020, 0x0028);//bit[1:0] sys_clk=pclk= PLL_CLK /8 = 24M,bit[3:2] MclkRef = PLL_CLK/2 = 96M,bit[5:4]ppi_clk =PLL_CLK/2=96M
     SCCB_WriteWord_MIPI(0x0022, 0x0500); //word count
     SCCB_WriteWord_MIPI(0x0060, 0x000f); //MIPI PHY Time Delay Register
     SCCB_WriteWord_MIPI(0x0006, 0x0000); //FiFo Control Register
     SCCB_WriteWord_MIPI(0x0008, 0x0011);  //Data Format Control Register.bit[7:4] :0-RAW8;1-RAW10
     SCCB_WriteWord_MIPI(0x0004, 0x8040);  //Configuration Control Register(pclk¡¢VS¡¢HS¡)

     SCCB_WriteWord_MIPI(0x000c, 0x0101);  //output MCLK = MclkRef /[(mclk_high + 1) + (mclk_low + 1)] = 96/[(1+1)+(1+1)]=24M
     SCCB_WriteWord_MIPI(0x000e, 0xfff0);  //GPIO ENBALE
     SCCB_WriteWord_MIPI(0x0010, 0x0000);  //GPIO Direction
#endif

TC358746AXBG-SCH:格式输出设置的是RAW10,实际使用的时候只需高8bit,最低2bit可以不接,GPIO0输出时钟XVCLK(就是MCLK)给Sensor。

OV6211-SCH:

1、Sensor的输入时钟可有两个选择:

(a)、要么同MIPI IC 同一路时钟,也就是说一时钟上挂两个设备,虽然实验测试没问题,但建议不这样做,防止两个设备互相干扰,倘若两个设备工作时钟需同步,那么从源时钟输出分别到两个设备时钟输入口的路径还得严格控制等长。

(b)、要么由TC358746AXBG芯片的GPIO0输出时钟给Sensor,本例用的就是这个方式。

注意图中的MOS管不能用普通的三极管(如S9013)替代,因为红外LED的瞬间脉冲电流比较大,其瞬间电流取决于Strobe的脉冲及限流电阻R2。

实际使用中瞬间电流达到500mA,S9013的集电极Ic电流最大也只能到500mA,S9014更小,仅有100mA,IRLM2402 脉冲电流范围可达7.4A,持续电流1.2A。

所以IRLM2402满足设计需求。

时间: 2024-11-03 01:17:24

东芝MIPI解码TC358746AXBG和OV6211使用及配置的相关文章

Netty编解码框架分析

1. 背景 1.1. 编解码技术 通常我们也习惯将编码(Encode)称为序列化(serialization),它将对象序列化为字节数组,用于网络传输.数据持久化或者其它用途. 反之,解码(Decode)/反序列化(deserialization)把从网络.磁盘等读取的字节数组还原成原始对象(通常是原始对象的拷贝),以方便后续的业务逻辑操作. 进行远程跨进程服务调用时(例如RPC调用),需要使用特定的编解码技术,对需要进行网络传输的对象做编码或者解码,以便完成远程调用. 1.2. 常用的编解码框

RK 平台 MIPI 点屏注意事项

2019-10-14 关键字:rk3288 MIPI 点屏 rk 平台关于 MIPI 屏幕的点屏流程已经非常完善了,基本上只要确定了硬件没问题.接线没问题.屏幕没问题,再稍稍配置一下 dtsi 里的参数就可以的了. MIPI 点屏流程大致可以概括为以下几步: 1.确认硬件环境: 2.确认相关接口管脚: 3.配置屏幕背光 dts: 4.配置 MIPI 屏幕参数: 5.屏幕显示效果调校. 1.确认硬件环境 确认硬件环境这个活理论上来说是由硬件人员来提供保证的,大多数软件人员都不懂这块的知识,只能相信

Bitmap详解与Bitmap的内存优化

感觉这里的排版看着更舒服些 Bitmap详解与Bitmap的内存优化 一.Bitmap: Bitmap是Android系统中的图像处理的最重要类之一.用它可以获取图像文件信息,进行图像剪切.旋转.缩放等操作,并可以指定格式保存图像文件. 常用方法: + public void recycle() // 回收位图占用的内存空间,把位图标记为Dead + public final boolean isRecycled() //判断位图内存是否已释放 + public final int getWid

嵌入式linux 项目开发(一)——CGIC编程

嵌入式linux 项目开发(一)--CGIC编程 一.CGIC简介 1.CGI简介 CGI(Common Gateway Interface)是外部应用扩展应用程序与WWW服务器交互的一个标准接口.按照CGI标准编写的外部扩展应用程序可以处理客户端浏览器输入的数据,从而完成客户端与服务器的交互操作.而CGI规范就定义了Web服务器如何向扩展应用程序发送消息,在收到扩展应用程序的信息后又如何进行处理等内容.通 过CGI可以提供许多静态的HTML网页无法实现的功能,比如搜索引擎.基于Web的数据库访

深度揭秘乱码问题背后的原因及解决方式

做Web开发的IT人,如果工作中没遇到过几次乱码的问题,估计都不好意思说自己是开发工程师. :) 而乱码问题也是各种各样,有保存到数据库中是乱码的,有在服务端接收到参数是乱码的,有在后台返回到客户端时候出现乱码的…… 这形形色色的乱码问题,如果处理起来不得要领,着实会让开发人员费不少工夫. 本文,将从乱码的产生原因,应用服务器内部对参数的处理各方面详解原理及解决方案. 1 编码 在开发中,只要有IO的地方,都会涉及到编码.例如下面的代码: System.out.println( "Hello 中

Hi3520 SDK 在ubuntu下安装说明

Hi3520 SDK 安装以及升级使用说明 序 1.先明确文中的几个概念. 主片: 多片级联应用中,指PCI主片. 从片: 多片级联应用中,指PCI从片. 主arm:指双核中的arm11. 从arm:指双核中的arm9. 2.第六章 FAQ,新增如何调整主从arm MMZ和os内存,实现16D1编码 or 16D1解码. 3.2009-12-15,精简内存,减少了从arm os内存,调整了16-bit mmz分配. 第一章 Hi3520 SDK V1.x.x.x 版本升级操作说明 如果您是首次安

处理中文乱码

1 前台到后台 1.1 GET 对于GET请求中url出现中文字符时,尽量要提前用URLEncoder.encode(str,”utf-8”)编码一下: 此时,后台能起到解码作用的只有1中的URIEncoding=“UTF-8”配置,request.setCharacterEncoding(“UTF-8”)只对POST请求有效: URL中的PathInfo和QueryString字符串的编码和解码由浏览器和应用服务器的配置决定,程序中不能设置 1.2 POST 表单中的参数值对是通过reques

Bitmap具体解释与Bitmap的内存优化

感觉这里的排版看着更舒服些 Bitmap具体解释与Bitmap的内存优化 一.Bitmap: Bitmap是Android系统中的图像处理的最重要类之中的一个.用它能够获取图像文件信息,进行图像剪切.旋转.缩放等操作.并能够指定格式保存图像文件. 常常用法: + public void recycle() // 回收位图占用的内存空间.把位图标记为Dead + public final boolean isRecycled() //推断位图内存是否已释放 + public final int g

Android大图加载内存优化(如何防止OutOfMemory)

一.简介 移动设备不断发展的今天,有的人认为内存已经足够大了,不用再管什么内存优化,Java是虚拟机可以帮我维护内存.其实内存空间资源还是很宝贵的,不管手机内存有多大,系统分配给单个应用的内存空间还是很有限的大致有16M,64M,128M等.在Android中加载大图会非常消耗系统资源,16M的图片大致可以存储3张1024X1536质量为ARGB_8888的图片,这里边还不包含其它Object所占的资源.软件在系统上运行,环境是很复杂的,可能测试的时候有限的测试次数上没有发现内存泄漏问题,但是在