天天看点

海思3518E开发笔记4.2——sensor数据交互接口(MIPI、LVDS、DVP并口),以AR0130和OV9712为例前言DVP(并口)LVDSMIPI(MIPI-CSI2)总结

目录

  • 前言
  • DVP(并口)
  • LVDS
  • MIPI(MIPI-CSI2)
  • 总结

前言

摄像头是一个独立的芯片,和主控芯片是弧线独立的,两者通过接口进行交互,交互的信息有控制信号和数据信号

控制信号常用I2C、SPI,I2C用的最多

数据信号常用的有MIPI、LVDS、HISPI、并口

本文主要介绍数据交互接口

DVP(并口)

以AR0130为例

海思3518E开发笔记4.2——sensor数据交互接口(MIPI、LVDS、DVP并口),以AR0130和OV9712为例前言DVP(并口)LVDSMIPI(MIPI-CSI2)总结

控制信号通过I2C两根总线进行传递

时钟信号通过

SENSOR_CLK

传递,对AR0130来说它是输入线,对HI3518E来说是输出线

通过时钟控制同步异步是非常常见的,通过时钟控制,可以让从设备工作在主设备的CLOCK之下。

如果没有CLC,那么双方就是异步通信的。比如串口没有CLC,就是异步通信的;SPI就是同步通信的。

注意,这个SENSOR_CLK和I2C的CLC无关

数据引脚在图片右侧。

由于引脚是复用的,于是在VIU功能以外还被用作其他功能。(可以看到左边写的是MIPIxxxxx)。

可以看到数据通信线有12根,可以看出AR0130是一个12位数据并行口。采集到的图像信息就是通过这12根线传过来的

下面还有三根信号线。是对于AR0130是输出引脚,对于hi3518E是输入引脚。

这15根就是AR0130输出给hi3518E的。

VIU_HS、VIU_VS,是AR0130给HI3518E的,用于行同步和场同步。

  • SENSOR_CLK是HI3518E给AR0130,让AR0130内部CPU运行的时钟信号。
  • VIU_CLK是跟图像有关的时钟信号

以上就是以AR0130为例,介绍的并口sensor

为什么叫bin口?

数据线有多根并行的就叫并口,所有采用并口的sensor都是类似的。

下面看一下OV9712,它的数据线是从2-11,一共10根,10位并行口,大体和AR0130一致

海思3518E开发笔记4.2——sensor数据交互接口(MIPI、LVDS、DVP并口),以AR0130和OV9712为例前言DVP(并口)LVDSMIPI(MIPI-CSI2)总结

并口传输的是CMOS电平信号(重点是非差分)

并口的sensor属于比较低端老旧的,新型高像素的都是MIPI/LVDS/HISPI等差分信号的

差分信号与单端信号

LVDS

Low Voltage Differential Signal(低电压差分信号)

电压很低,1v左右,消耗资源少,差分信号保证抗干扰能力。

LVDS的接口和并口的不太一样,没有I2C、CLK

接口由1组差分clock和若干组差分信号线组成,既然有CLK,那么LVDS就是同步信号

LVDS的控制信号和数据信号复用接口,CLK是用于同步。既然是复用的,LVDS的协议中也一定有区分控制信号和数据信号的方法。

LVDS主要用于视频传输的两个领域:

  • camera和主控——视频采集
  • LCD和主控——视频显示

视频采集和视频显示是互相可逆的过程,技术、难点也是类似的。

LVDS利用差分抗干扰能力,提升clock频率从而提升贷款,传输举例也更远

LVDS的时钟频率可以非常高,但是并口的不行,HI3518E手册中如下

海思3518E开发笔记4.2——sensor数据交互接口(MIPI、LVDS、DVP并口),以AR0130和OV9712为例前言DVP(并口)LVDSMIPI(MIPI-CSI2)总结

频率越高干扰就严重,排线就不能太长,长了视频变形严重

由于LVDS频率可以很高的特点,即使LVDS只有两组信号线,那也可以比12线并口的传输速率高

LVDS本身支持多种设置,数据线组数不固定

数据线组数越多带宽(同时间传输的数据量)越大

clock频率越高带宽越大(牺牲抗干扰和距离)

并口和LVDS之间可以互转,但是需要专门的电平转换芯片,类似232和485。一般不会这么干,这样会明显增加成本

MIPI(MIPI-CSI2)

LVDS的sensor存在但是不是非常常用,一般MIPI接口的sensor会用的比较多

Mobile Industry Processor Interface(移动工业处理器接口)

MIPI是由ARM和一系列手机公司成立的联盟,目的是为了将手机内部的接口如摄像头、显示屏接口、射频/基带接口等标准化,从而减少手机设计的复杂程度和增加设计灵活性,增加兼容性。

MIPI中,比较成熟的接口有DSI(显示器接口)和CSI(摄像头接口)。对于我个人而言,要研究的就是摄像头接口,业内常用的是CSI2

  • MIPI-CSI2是手机主控和外部摄像机连接的方式
  • MIPI-DSI2是手机主控和LCD屏幕连接的方式
    海思3518E开发笔记4.2——sensor数据交互接口(MIPI、LVDS、DVP并口),以AR0130和OV9712为例前言DVP(并口)LVDSMIPI(MIPI-CSI2)总结
    如图右上角所示
    海思3518E开发笔记4.2——sensor数据交互接口(MIPI、LVDS、DVP并口),以AR0130和OV9712为例前言DVP(并口)LVDSMIPI(MIPI-CSI2)总结
    如上图,
  • 应用层只关心数据怎么传输
  • 协议层关心数据传输遵守什么样的协议

    如这一帧是I帧还是P帧,大端还是小端,就在这里定。

    MIPI接口的协议层就定了1组差分CLOCK和1-4组差分信号线组成,而LVDS没有非常明确的规定,MIPI一定再1-4组之内

  • Lane管理,关心具体数据如何在1-4条差分信号线中分配
  • PHY Layer关心具体布线

MIPI和LVDS虽然都是差分对信号,但是不兼容,不能直接对接

相较于LVDS,MIPI的架构层次更分明,广泛应用再手机平板等领域中,可以认为MIPI是LVDS的升级版

MIPI的数据线组数越多带宽(同时间传输的数据量)越大

clock频率越高带宽越大(牺牲抗干扰和距离)

DVP(并口)和LVDS和MIPI,两两之间可以互转,但是需要专门的电平转换芯片。一般不会这么干,这样会明显增加成本

总结

  • 老旧的、低端的、数据量小的就用单端信号(DVP(并口))
  • 新的、高端的、数据量大的都用差分信号(LVSD、MIPI)

稍微复杂的通信协议,物理层、协议层、应用层都得对接才行

比如MIPI的架构就非常复杂,LVDS的层次就没那么多,他们就不能直接对接。

再比如USB、ethernet结构就非常复杂,如果双方的层次不能对上就无法直接对接

于是有些公司就会专门去出这样的电平转换芯片专门对接