目录

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

前言

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

控制信号常用I2C、SPI,I2C用的最多
数据信号常用的有MIPI、LVDS、HISPI、并口

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

DVP(并口)

以AR0130为例

控制信号通过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一致

并口传输的是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手册中如下

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

由于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屏幕连接的方式

    如图右上角所示

    如上图,
  • 应用层只关心数据怎么传输
  • 协议层关心数据传输遵守什么样的协议
    如这一帧是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结构就非常复杂,如果双方的层次不能对上就无法直接对接
于是有些公司就会专门去出这样的电平转换芯片专门对接

海思3518E开发笔记4.2——sensor数据交互接口(MIPI、LVDS、DVP并口),以AR0130和OV9712为例相关推荐

  1. 海思3518E开发笔记1.1——HI3518E方案整体架构介绍

    目录 前言 硬件 软件 前言 在做一个项目之前,需要对这个项目在一个比较高的高度进行了解. 如,硬件构成.软件是裸机的还是带操作系统的,带操作系统的是怎么样一个开发流程. 得对项目由打到校进行了解,知 ...

  2. 海思3518E开发笔记1.6——rootfs及其启动流程分析

    3518E的根文件系统 /etc/fstab fs-version group profile udev init rcS S00devs S01udev S80network S90hibernat ...

  3. 海思3518E开发笔记2.5——海思VI(video input)模块详解

    目录 海思video input模块架构介绍 海思video input模块功能介绍 结构体说明 函数调用关系 流程分析 step 1: mipi configure step 2: configur ...

  4. 海思3518E开发笔记1.5——flash分区及uboot、kernel、rootfs烧写并部署

    目录 规划分区 烧写流程 tftp更新并重新烧写uboot的命令序列 tftp更新并重新烧写kernel的命令序列 tftp更新并重新烧写rootfs的命令序列: 裸机烧录uboot 什么是裸机 烧录 ...

  5. 海思3518E开发笔记2.7——海思VENC(Video Encode)模块详解

    目录 海思Video Encode模块架构介绍 海思Video Encode相关概念 码率控制 海思Video Encode模块功能介绍 编码通道 ROI 裁剪编码 函数调用关系 相关数据结构 流程分 ...

  6. 海思Hi3518EV100开发(1)——Sensor驱动

    本文是一篇转载,虽然平台不大一样,应该差别不大.原文地址为:https://yq.aliyun.com/articles/542505?spm=a2c4e.11153940.0.0.7a522e13Y ...

  7. Hi3559av100安装linux,海思hi3559AV100开发板参数规格介绍

    海思hi3559AV100开发板调试参数资料介绍: 处理器内核: 双核 arm Cortex A73@1.8GHz,32KB I-Cache, 64KB D-Cache /512KB L2 cache ...

  8. 海思SD3403开发板学习(一)

    海思SD3403开发板学习系列:一 简介 文章目录 海思SD3403开发板学习系列:一 简介 一.3403开发板 二.性能介绍 1.简介 2.主要特点 3.性能参数 一.3403开发板 SD3043标 ...

  9. 海思软件开发入门篇 (一)

    标题 海思软件开发入门篇 (一)   (第一次写博客,有错别字与写的不好的地方敬请谅解.)   加过很多群,也逛过很多论坛,很多人在问,第一次接触海思不知道从而入手,的确,现在一个SDK动不动上G,还 ...

最新文章

  1. PKUWC 2018 滚粗记
  2. 7.1 pdo 宝塔面板php_CentOS 7.6下宝塔面板 PHP7.2安装sqlsrv扩展
  3. extjs5(05--主界面上加入顶部和底部区域)
  4. 【clickhouse】clickhouse 表引擎之 Merge
  5. Freeview%20Play是什么
  6. 手机上删掉的照片怎么找回来?
  7. 无法检测的新型 Linux 恶意软件利用 Dogecoin API 攻击 Docker 服务器
  8. web中缓存的几种方式
  9. nachos-虚拟内存管理
  10. 计算机无法同步,win7系统电脑无法同步时间的解决方法
  11. 2020辽宁国家公务员考试申论模拟题:过度医疗
  12. Google的“神秘链接”
  13. 列表解析式与生成器表达式
  14. 神经网络架构搜索——可微分搜索(Latency-DARTS)
  15. Linux:用户与群组管理
  16. 台湾安格推出的用于TYPEC转VGA HDMI音视频多功能扩展坞方案选型和方案设计|USB-C转VGA HDMI类扩展器方案选型和方案讲解
  17. 编程语言排行榜没有html,TIOBE:2019年12月全球编程语言排行榜
  18. 修改Wordpress固定链接导致页面无法无法访问的解决办法
  19. 单个c类网最多可以管理多少台计算机,在一个C类网络中,最多可以容纳( )台主机。...
  20. 840D sl(QT)使用ocx外部控件

热门文章

  1. 在Linux上搭建PHP条形码阅读器
  2. 什么是PunkBuster,我可以卸载它吗?
  3. php excel 样式,PHPExcel样式控制
  4. 大数据在发电厂的应用_首例违反生活垃圾焚烧发电厂自动监测数据应用管理规定的违法企业被查处...
  5. C#使用winform做一个开关小游戏
  6. 限时赠票 | 2018 TOKENSKY 区块链大会 - 首尔站
  7. 2023最新考研计划清单
  8. linux chrome 安装vysor1_8_3
  9. iapp怎么调用java模块_iapp利用java调用图库
  10. ig9icd64.dll引起的奔溃问题的解决