海思Hi35XX系列(四)VI视频输入

一、概述

视频输入(VI)模块实现的功能:通过MIPI Rx(含MIPI接口、LVDS接口和HISPI接 口),SLVS-EC,BT.1120,BT.656,BT.601,DC 等接口接收视频数据。VI将接收到的 数据存入到指定的内存区域,VI(Video Input)内嵌ISP图像处理单元,可以对接收到的原始视频图像数据进行处理,实现视频数据的采集。

VI 分成两个物理子模块:捕获子模块VICAP和处理子模块VIPROC组成。其中:

  • VICAP完成多路视频输入的数据捕获功能,并将捕获的数据存放到DDR或者在 线送给VIPROC。VIPORC用以支持离线模式(从DDR读取数据)或者在线模式 (从VICAP接收在线)视频数据处理。
  • VIPROC有两个物理模块,可以同时支持两路数据处理或者在线双核模式并行处 理一路数据。

功能框图

VI 在软件层次上划分4个部分,如图3-1所示。

VI 从软件上划分了输入设备(DEV),输入PIPE(图示为物理PIPE,虚拟PIPE只包含 ISP_BE)、物理通道(PHY_CHN)、扩展通道(EXT_CHN)四个层级。各芯片的设 备、PIPE、通道个数差异如表所示。

二、接口

1、MIPI Rx

移动行业处理器接口MIPI Rx(Mobile Industry Processor Interface Receiver),通过低电 压差分信号接收原始视频数据(BAYER RGB数据),并将其转化为DC(Digital Camera)时序后传递给下一级模块VICAP(Video Capture)。

MIPI Rx 支持 MIPI D-PHY、LVDS(Low-Voltage Differential Signal)、 HiSPi(High Speed Serial Pixel Interface)等串行视频信号输入,串行视频接口可以提供更高的传输 带宽,增强传输的稳定性。

MIPI Rx 包含combo-PHY 和Controller 两部分,功能框图及在系统中的位置如图10-18 所示。

  1. MIPI: mobile industry processor interface,移动工业处理器接口
  2. MIPI接口由1组差分clock和1-4组差分信号线组成
  3. MIPI和LVDS虽然都是差分对信号,但是不兼容,不能直接对接
  4. MIPI的架构层次更分明,广泛应用在手机平板等领域中,可以认为MIPI是LVDS的升级版
  5. MIPI的数据线组数越多带宽越大、clock频率越高带宽越大(牺牲抗干扰和距离)
  6. MIPI和LVDS和并口之间均可以互相转换,但是需要专门的电平转换芯片

2、LVDS

  1. low voltage differential signal,低电压差分信号
  2. 接口由1组差分clock和若干组差分信号线组成
  3. LVDS主要用于视频传输的2个领域:camera和主控、LCD和主控
  4. LVDS利用差分抗干扰能力,提升clock频率从而提升带宽,传输距离也更远
  5. LVDS的数据线组数越多带宽越大、clock频率越高带宽越大(牺牲抗干扰和距离)
  6. 并口和LVDS之间可以互转,但是需要专门的电平转换芯片(类似于232和485)

3、其他

并口Sensor

  1. OV9712和AR0130都是并口的
  2. 并口的接口定义:参考AR0130的原理图pdf
  3. 并口传输的是CMOS电平信号(重点是非差分)
  4. 并口sensor属于较低端老旧的,新型高像素的都是MIPI/LVDS/HISPI等差分信号的

SLVS-EC

SLVS-EC接口由SONY公司定义,用于高帧率和高分辨率图像采集,它可以将高速串 行的数据转化为DC(Digital Camera)时序后传递给下一级模块VICAP(Video Capture)。

SLVS-EC串行视频接口可以提供更高的传输带宽,更低的功耗,在组包方式上,数据 的冗余度也更低。在应用中SLVS-EC接口提供了更加可靠和稳定的传输。

SLVS-EC接口包含PHY和Controller两部分,功能框图及在系统中的位置如图10-35 所示。

MIPI Tx

The Display Serial Interface(DSI)接口是移动行业处理器接口联盟(Mobile Industry Processor Interface alliance, MIPI 联盟)定义的一种高速串行接口,主要用于处理器和 显示模块之间的连接。Camera Serial Interface 2(CSI-2)是 MIPI联盟定义的另一种高 速接口,主要用于图像采集模块和处理器之间的连接。

MIPI Tx接口实现的是DSI接 口和CSI-2 接口的发送端,支持MIPI D-PHY V1.2串行信号输出。

MIPI Tx 包含模拟PHY和Controller 两部分,功能框图及在系统中的位置如图10-38所 示。

三、ISP

需要ISP模块的原因有2个方面:第一是镜头和Sensor的物理缺陷(不完美),第二是拍摄的光线条件多样,镜头和Sensor需要根据环境做适应(就像人眼要通过瞳孔缩放,适应环境明暗一样)。

功能简介

Hi3559AV100 ISP 模块支持标准的Sensor 图像数据处理,包括自动白平衡、自动曝 光、Demosaic、坏点矫正及镜头阴影矫正等基本功能,也支持WDR、DRC、降噪等高 级处理功能。

Hi3559AV100 ISP 主要支持的图像处理功能如下:
  • 支持黑电平校正
  • 支持静态以及动态坏点校正,坏点簇矫正
  • 支持bayer降噪
  • 支持固定噪声消除
  • 支持demosaic处理
  • 支持紫边校正(CAC)
  • 支持gamma校正
  • 支持动态范围压缩(DRC)
  • 支持Sensor内部合成宽动态功能(Sensor Built-in WDR)
  • 最大支持4合1 宽动态功能(WDR)
  • 支持自动白平衡
  • 支持自动曝光
  • 支持3A相关统计信息输出
  • 支持镜头阴影校正
  • 支持图像锐化
  • 支持数字防抖
  • 支持自动去雾处理
  • 支持颜色三维查找表增强
  • 支持局部对比度增强
  • 支持亮度着色
  • 支持3D降噪
处理能力以及其他功能:
  • 最大支持14 bit bayer 数据输入
  • Built-in WDR 最大支持16 bit bayer 数据输入
  • 支持最大图像分辨率8192×8192
  • 支持最小图像分辨率120×120(AF关闭时)
  • 最小水平消隐区64像素
  • 最小垂直消隐区40行
  • 最高频率:600MHz

功能框图

ISP 的功能结构图如图11-1、图11-2、图11-3所示。此图与本文中提到的ISP_FE均代指 ISP pipeline 中 FPN(不包含)之前的部分,ISP_BE均代指ISP pipeline 中FPN(包 含)之后的部分。

说明:

  • 图中 SHARPEN1相对SHARPEN没有uv 参考功能。
  • 本章节中的DIS都是指2轴DIS(2Dof)
  • 本章节中的loglut1是指preloglut。

四、DEV 和 Chn

1、DEV绑定关系

MIPI 和DEV的绑定关系。Hi3559AV100/Hi3519AV100/Hi3516AV300/Hi3516DV300/Hi3516CV500/Hi3559V20 0/Hi3556V200/Hi3516EV200 的 Dev 与 MIPI 绑定关系是固定的,不能动态修改绑 定关系。

DEV和前端时序输入的接口有约束关系。例如Hi3559AV100前端需要接入 BT.1120,且选择了第0组BT.1120管脚,PIPE应该和DEV5绑定,才能正常接收 数据。

Hi3559AV100 DEV 和时序输入接口的约束关系如表3-2所示。

2、物理通道(PHY_CHN)、扩展通道(EXT_CHN)

物理通道(Physical channel)

可以理解为有一个sensor输入就会有一个物理通道与之对应

视频扩展通道(Extend channel)

扩展通道是物理通道的扩展,扩展通道具备缩放、裁剪、鱼眼矫正功能,它通过绑定 物理通道,将物理通道输出作为自己的输入,然后输出用户设置的目标图像。

相关推荐
dayouziei2 小时前
java的类加载机制的学习
java·学习
励志成为嵌入式工程师3 小时前
c语言简单编程练习9
c语言·开发语言·算法·vim
Peter_chq3 小时前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
hairenjing11234 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word
hikktn5 小时前
如何在 Rust 中实现内存安全:与 C/C++ 的对比分析
c语言·安全·rust
观音山保我别报错5 小时前
C语言扫雷小游戏
c语言·开发语言·算法
dsywws5 小时前
Linux学习笔记之vim入门
linux·笔记·学习
模拟IC攻城狮6 小时前
华为海思招聘-芯片与器件设计工程师-模拟芯片方向- 机试题-真题套题题目——共8套(每套四十题)
嵌入式硬件·华为·硬件架构·芯片
IT B业生6 小时前
51单片机教程(六)- LED流水灯
单片机·嵌入式硬件·51单片机
晨曦_子画6 小时前
3种最难学习和最容易学习的 3 种编程语言
学习