首页 文学文摘 时政新闻 科技科普 经济法律 健康生活 管理财经 教育教学 文化艺术 社科历史

Exynos4412 MIPI摄像头接口研究

作者:杨向荣 来源:电子技术与软件工程

摘 要

在智能手机的各种功能中,摄像头所起的分量越来越重,一个手机上摄像头的数量从一个到两个,以后可能会更多;像素上也呈上升趋势,从最开始的11万,到200万到现在的500万;在接口方面,有ITU接口和MIPI-CSI接口,高像素的摄像头都采用MIPI-CSI接口,本文从软硬件方面介绍如何使用Exynos4412的MIPI-CSI接口,出现异常时如何分析排查问题。

【关键词】Exynos4412 摄像头 MIPI CSI

1 硬件

市面的摄像头一般都做成模组,由镜头、滤镜、CMOS传感器、PCB板和加强筋组成,和应用处理器的接口有ITU和MIPI两种,一般像素超过500万的摄像头都产用MIPI接口,它是CSI(camera 串行接口)接口,本文中所使用三星电机生产的GT-I9103模组,其内置CMOS传感器(Sensor)为三星电子的S5K4ECGX芯片,有效分辨率为2608(H)X1960(V),是500万摄像头。

硬件连接主要包括供电和信号线,其中camera模组供电有3组,分别是1.2V的sensor内核供电,1.8V的GPIO供电,自动对焦马达的2.8V供电。camera模组和Exynos4412相连的主要是MIPI CSI接口及控制引脚,本设计中的选用2线的MIPI接口,也就是1对差分时钟线加两对差分数据线,sensor的控制采用IIC总线,5M_EN使能模组,高电平有效,RESET信号为复位模组使用,低电平有效,为保持同步,camera模组的时钟由Exynos4412提供。

2 软件

摄像头的驱动主要分为两部分,一部分由模组厂家或者sensor厂家提供的初始化代码,通常是一段数组,通过IIC总线来控制,用于设置sensor寄存器,使用时一般不需要修改,如需调整,也由模组厂家完成;另外一部分是应用处理器端的代码,这部分需要各个平台自行开发。本文的重点是应用处理器端的驱动代码。Exynos4412的MIPI接口,其寄存器有:CSIS_CONTROL: 目标摄像头的参数, CSIS_DPHYCTRL:CSI物理连接线的设置, CSIS_CONFIG:目标摄像头的数据时序配置,CSIS_DPHYSTS: CSI物理连接线的状态,只读,CSIS_INTMSK:用于屏蔽不需要的中断,CSIS_INTSRC:中断源寄存器,写1清除, CSIC_RESOL:设置摄像头图像分辨率, CSIS_PKTDATA:数据包信息,只读。除了CSI接口寄存器,还需要配置FIMC相关寄存器,其主要也是配置CSIS相关寄存器。为能直观研究MIPI接口,本文选用预览模式,软件流程主要分为LCD显示初始化,MIPI初始化和FIMC初始化三部分。正常的情况,就能在LCD上显示摄像头采集到的数据。

3 异常分析及处理

所谓的异常,是指没有在LCD显示出camera采集到的图片,本文主要研究摄像头端的异常。分析的思路主要可从以下几个方面着手:

3.1 硬件物理相关

(1)连接是否正确,如是否插到位,方向是否正确;

(2)供电是否正常,这个可用万用表量;

(3)Reset,Enable等引脚是否正常,可用万用表;

(4)给camera提供的时钟是否在要求的范围内,S5K4ECGX的工作时钟要求是24~54MHz,当超出此范围时,sensor工作异常,这个可用示波器测量;

3.2 软件配置相关(MIPI)寄存器

当检查硬件都没有问题时,就考虑MIPI配置是否正确。分析手段主要是通过示波器看波形是否满足协议要求。MIPI CSI协议中定义的物理层数据规定一个完整的包由开始标志、包头、数据、包尾、结束标志位组成,其中包头又由数据ID、数据长度、ECC校验码构成,包尾是CRC循环冗余校验码。第一步检查信号线上是否有数据,如果没有数据,则检查IIC是否已正确发送摄像头输出指令,如果有了MIPI信号而没有图像,我们需要分析MIPI数据是否满足时序要求。

首先看MIPI信号的切换模式是否正确,总线从LP状态切换到HS模式时,Line0线上电平电平为LP-11-->LP-01-->LP-00,LP-xx的意思为Dp和Dn的电平,如Dp信号高为1,低为0,当进入HS后,经过一定稳定的时间后才能开始传输图像数据,这个时间在协议里定义为THS-PREPARE和THS-ZERO, 同时协议中规这些时间参数是可调的,观测GT-I9103的MIPI信号,可测量出THS-PREPARE=86nS, THS-ZERO=196nS,而在Exynos4412中配置参数的是THS-SETTLE,其值为: THS-PREPARE+THS-ZERO,那么THS-SETTLE的范围就应在[86,282],根据Exynos4412用户手册提供的的表格,在PCLK=160MHz时,寄存器设置的值对应的时间如表:从表中知道,当设置为1的时候,最大值小于门限,MIPI寄存器会报错;但值大于20时,最小值大于门限,MIPI寄存器也会报错。所以我们设置的值应该在2-19之间,厂家推荐值为7,如表1。

4 结论

随着技术的发展,MIPI信号的速度带宽越来越大,MIPI接口超高像素的摄像头并将成为手机设计的必须品。通过本文的研究,能有效的掌握MIPI摄像头在智能手机上的设计及驱动开发,当遇到异常时,能通过使用示波器有效分析排除,解决问题。

参考文献

[1]Exynos4412 User's Manual Revision 0.20.

作者简介

杨向荣(1982-),男,浙江省宁海县人。工程硕士学历。现为三星半导体(中国)研究开发有限公司工程师。主要研究方向为智能手机。

作者单位

三星半导体(中国)研究开发有限公司 浙江省杭州市 310052